arrow_back

永続ディスクの作成

参加 ログイン
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

永続ディスクの作成

Lab 30分 universal_currency_alt クレジット: 1 show_chart 入門
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP004

Google Cloud セルフペース ラボ

概要

Compute Engine を使用すると、Google のインフラストラクチャ上で仮想マシンを作成して実行できます。Linux の主なディストリビューション(Debian、Ubuntu、SUSE、Red Hat、CoreOS)や Windows Server など、さまざまなオペレーティング システム上で仮想マシンを作成できます。

Compute Engine では、仮想マシン インスタンス用のプライマリ ストレージとして永続ディスクが提供されます。物理的なハードドライブと同様、永続ディスクはマシンの他の部分から独立しています。仮想マシン インスタンスを削除しても永続ディスク上のデータは消えず、永続ディスクを別のインスタンスにアタッチすればそのまま使えます。

注: 永続ディスクには次の 2 つの種類があります。

  • 標準永続ディスク
  • SSD 永続ディスク
ストレージ オプションで 2 つの違いを確認できます。また、種類ごとに容量制限があります。詳細については、永続ディスクに関するドキュメントをご覧ください。

このハンズオンラボでは、永続ディスクを作成して仮想マシンにアタッチする方法を学びます。

学習内容

  • 新しい VM インスタンスを作成し、永続ディスクをアタッチする
  • 永続ディスクをフォーマットしてマウントする

要件

  • Linux の標準的なテキスト エディタ(vimemacsnano など)の使用経験があると役に立ちます

設定と要件

[ラボを開始] ボタンをクリックする前に

こちらの手順をお読みください。ラボの時間は記録されており、一時停止することはできません。[ラボを開始] をクリックするとスタートするタイマーは、Google Cloud のリソースを利用できる時間を示しています。

このハンズオンラボでは、シミュレーションやデモ環境ではなく、実際のクラウド環境を使ってご自身でラボのアクティビティを行うことができます。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。

このラボを完了するためには、下記が必要です。

  • 標準的なインターネット ブラウザ(Chrome を推奨)
注: このラボの実行には、シークレット モードまたはシークレット ブラウジング ウィンドウを使用してください。これにより、個人アカウントと受講者アカウント間の競合を防ぎ、個人アカウントに追加料金が発生することを防ぎます。
  • ラボを完了するために十分な時間を確保してください。ラボをいったん開始すると一時停止することはできません。
注: すでに個人の Google Cloud アカウントやプロジェクトをお持ちの場合でも、このラボでは使用しないでください。アカウントへの追加料金が発生する可能性があります。

ラボを開始して Google Cloud コンソールにログインする方法

  1. [ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。 左側の [ラボの詳細] パネルには、以下が表示されます。

    • [Google コンソールを開く] ボタン
    • 残り時間
    • このラボで使用する必要がある一時的な認証情報
    • このラボを行うために必要なその他の情報(ある場合)
  2. [Google コンソールを開く] をクリックします。 ラボでリソースが起動し、別のタブで [ログイン] ページが表示されます。

    ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。

    注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。
  3. 必要に応じて、[ラボの詳細] パネルから [ユーザー名] をコピーして [ログイン] ダイアログに貼り付けます。[次へ] をクリックします。

  4. [ラボの詳細] パネルから [パスワード] をコピーして [ようこそ] ダイアログに貼り付けます。[次へ] をクリックします。

    重要: 認証情報は左側のパネルに表示されたものを使用してください。Google Cloud Skills Boost の認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
  5. その後次のように進みます。

    • 利用規約に同意してください。
    • 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
    • 無料トライアルには登録しないでください。

その後このタブで Cloud Console が開きます。

注: 左上にある [ナビゲーション メニュー] をクリックすると、Google Cloud のプロダクトやサービスのリストが含まれるメニューが表示されます。 ナビゲーション メニュー アイコン

Cloud Shell をアクティブにする

Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。

  1. Google Cloud コンソールの上部にある「Cloud Shell をアクティブにする」アイコン 「Cloud Shell をアクティブにする」アイコン をクリックします。

接続した時点で認証が完了しており、プロジェクトに各自の PROJECT_ID が設定されます。出力には、このセッションの PROJECT_ID を宣言する次の行が含まれています。

Your Cloud Platform project in this session is set to YOUR_PROJECT_ID

gcloud は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。

  1. (省略可)次のコマンドを使用すると、有効なアカウント名を一覧表示できます。
gcloud auth list
  1. [承認] をクリックします。

  2. 出力は次のようになります。

出力:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (省略可)次のコマンドを使用すると、プロジェクト ID を一覧表示できます。
gcloud config list project

出力:

[core] project = <project_ID>

出力例:

[core] project = qwiklabs-gcp-44776a13dea667a6 注: Google Cloud における gcloud ドキュメントの全文については、gcloud CLI の概要ガイドをご覧ください。

リージョンとゾーンを設定する

  1. このラボのプロジェクトのリージョンとゾーンを設定します。
gcloud config set compute/zone {{{project_0.default_zone | Zone}}} gcloud config set compute/region {{{project_0.default_region | Region}}}
  1. リージョンの変数を作成します。
export REGION={{{project_0.default_region | Region}}}
  1. ゾーンの変数を作成します。
export ZONE={{{project_0.default_zone | Zone}}}

詳しくは、リージョンとゾーンのドキュメントをご確認ください。

注: 自分のマシンで gcloud を実行する場合はセッション間で config 設定が維持されますが、Cloud Shell で実行する場合はセッションごと、または再接続するたびに設定する必要があります。

タスク 1. 新しいインスタンスを作成する

まず、ブートディスクのみを備えた仮想マシン インスタンスを Compute Engine で作成します。

注: 詳細については、別のラボで仮想マシン インスタンスを作成するか、Compute Engine のドキュメントをご覧ください。
  1. Cloud Shell のコマンドラインで gcloud コマンドを使い、gcelab という名前の仮想マシン インスタンスを新しく作成します。
gcloud compute instances create gcelab --zone $ZONE --machine-type e2-standard-2

出力例:

Created [...]. NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS gcelab {{{project_0.default_zone | Zone}}} e2-standard-2 10.240.X.X X.X.X.X RUNNING

新しく作成した仮想マシン インスタンスには、ブートディスクとしてデフォルトの永続ディスク(10 GB)が付与されます。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。

指定したゾーンに新しいインスタンスを作成する

タスク 2. 新しい永続ディスクを作成する

注: このディスクを前のステップで作成した仮想マシン インスタンスにアタッチする場合は、両方のリソースを同じゾーン内に配置する必要があります。
  1. Cloud Shell のコマンドラインで次のコマンドを実行し、mydisk という名前のディスクを新しく作成します。
gcloud compute disks create mydisk --size=200GB \ --zone $ZONE

出力:

NAME ZONE SIZE_GB TYPE STATUS mydisk {{{project_0.default_zone | Zone}}} 200 pd-standard READY

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。

指定したゾーンに新しい永続ディスクを作成する

タスク 3. ディスクをアタッチする

永続ディスクをアタッチする

ディスクは実行中の仮想マシンにアタッチできます。新しく作成したディスク(mydisk)を先ほど作成した仮想マシン インスタンス(gcelab)にアタッチしてみましょう。

  1. ディスクをアタッチするには次のコマンドを実行します。
gcloud compute instances attach-disk gcelab --disk mydisk --zone $ZONE

出力:

Updated [https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-d12e3215bb368ac5/zones/{{{project_0.default_zone | Zone}}}/instances/gcelab].

これで作業は完了です。

仮想マシンから永続ディスクを探す

永続ディスクは仮想マシン インスタンスでブロック デバイスとして使用できるようになりました。見てみましょう。

  1. 仮想マシンに SSH でアクセスします。
gcloud compute ssh gcelab --zone $ZONE

出力:

WARNING: The public SSH key file for gcloud does not exist. WARNING: The private SSH key file for gcloud does not exist. WARNING: You do not have an SSH key for gcloud. WARNING: SSH keygen will be executed to generate a key. This tool needs to create the directory [/home/gcpstaging8246_student/.ssh] before being able to generate SSH keys. Do you want to continue (Y/n)? y
  1. プロンプトが表示されたら Y キーを押して先に進みます。
  2. RSA 鍵ペアのパスフレーズを要求するプロンプトが表示されたら、何も入力しないで Enter キーを押し(パスフレーズなし)、その後もう 1 度 Enter キーを押して確定します。

出力:

Generating public/private rsa key pair. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/gcpstaging8246_student/.ssh/google_compute_en gine. Your public key has been saved in /home/gcpstaging8246_student/.ssh/google_compute_engine .pub. The key fingerprint is: 6c:04:bf:29:95:0d:93:bc:fe:00:2c:85:86:f8:7a:53 gcpstaging8246_student@cs-6000-devshell-v m-dbb9559d-4412-4801-ad8c-bdaf885541a9 The key's randomart image is: +---[RSA 2048]----+ | . . ...o. | |. . o .oo= | | . . o =.. | | . E o+.o | | . . ..oS | |. o oo | | . . o | | . | | | +-----------------+ Updating project ssh metadata...\Updated [https://www.googleapis.com/compute/v1/projects/ qwiklabs-gcp-d12e3215bb368ac5]. Updating project ssh metadata...done. Waiting for SSH key to propagate. Warning: Permanently added 'compute.7714273689800906026' (ECDSA) to the list of known hosts. Linux gcelab 4.9.0-4-amd64 #1 SMP Debian 4.9.51-1 (2017-09-28) x86_64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law.
  1. /dev/disk/by-id/ でディスク デバイスのリストを表示し、先ほどアタッチしたディスクを見つけます。
ls -l /dev/disk/by-id/

出力:

lrwxrwxrwx 1 root root 9 Feb 27 02:24 google-persistent-disk-0 -> ../../sda lrwxrwxrwx 1 root root 10 Feb 27 02:24 google-persistent-disk-0-part1 -> ../../sda1 lrwxrwxrwx 1 root root 9 Feb 27 02:25 google-persistent-disk-1 -> ../../sdb lrwxrwxrwx 1 root root 9 Feb 27 02:24 scsi-0Google_PersistentDisk_persistent-disk-0 -> ../../sda lrwxrwxrwx 1 root root 10 Feb 27 02:24 scsi-0Google_PersistentDisk_persistent-disk-0-part1 -> ../../sda1 lrwxrwxrwx 1 root root 9 Feb 27 02:25 scsi-0Google_PersistentDisk_persistent-disk-1 -> ../../sdb

ディスクが見つかりました。デフォルトの名前は次のとおりです。

scsi-0Google_PersistentDisk_persistent-disk-1.

注: デバイス名を変更する場合は、ディスクをアタッチする際に device-name パラメータを指定します。以下は、デバイス名を指定してディスクをアタッチするコマンドの例です。

gcloud compute instances attach-disk gcelab --disk mydisk --device-name <デバイス名> --zone $ZONE

永続ディスクをフォーマットしてマウントする

ブロック デバイスを見つけたら、次の Linux ユーティリティを使ってパーティション作成、フォーマット、マウントを行います。

  • mkfs: ファイルシステムを作成
  • mount: ファイルシステムに接続
  1. マウント ポイントを作成します。
sudo mkdir /mnt/mydisk
  1. 次に、mkfs ツールを使用して、1 つの ext4 ファイルシステムが含まれるようにディスクをフォーマットします。このコマンドを実行すると、指定したディスク上のデータはすべて削除されます。
sudo mkfs.ext4 -F -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/disk/by-id/scsi-0Google_PersistentDisk_persistent-disk-1

以下は、出力の最後の数行です。

Allocating group tables: done Writing inode tables: done Creating journal (262144 blocks): done Writing superblocks and filesystem accounting information: done
  1. 次に、mount ツールを使用し、discard オプションを有効にして、ディスクをインスタンスにマウントします。
sudo mount -o discard,defaults /dev/disk/by-id/scsi-0Google_PersistentDisk_persistent-disk-1 /mnt/mydisk

これで作業は完了です。

再起動時にディスクが自動でマウントされるようにする

デフォルトでは、仮想マシンを再起動するとディスクは再マウントされません。再起動したときに自動でディスクが再マウントされるようにするには、/etc/fstab にエントリを追加する必要があります。

  1. nano エディタで /etc/fstab を編集用に開きます。
sudo nano /etc/fstab
  1. 次の行を "UUID=..." で始まる行の下に追加します。
/dev/disk/by-id/scsi-0Google_PersistentDisk_persistent-disk-1 /mnt/mydisk ext4 defaults 1 1

/etc/fstab の内容は次のようになります。

# /etc/fstab: 静的ファイル システム情報 UUID=12adc097-f36f-46f9-b377-b2a30cdf422f / ext4 rw,discard,errors=remount-ro,x-systemd.growfs 0 1 UUID=3A31-89F9 /boot/efi vfat defaults 0 0 /dev/disk/by-id/scsi-0Google_PersistentDisk_persistent-disk-1 /mnt/mydisk ext4 defaults 1 1
  1. Ctrl+O キー、Enter キー、Ctrl+X キーの順に押し、編集内容を保存してエディタを終了します。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。

永続ディスクをアタッチしてマウントする

タスク 4. 理解度テスト

クイズに挑戦して Google Cloud Platform に関する知識をチェックしましょう。

永続ディスクから別のリージョンにデータを移行するための次のステップを正しく並べ替えてください。

  1. ディスクをアタッチ
  2. ディスクを作成
  3. スナップショットを作成
  4. インスタンスを作成
  5. ファイル システムのマウントを解除

タスク 5. ローカル SSD

Compute Engine では、ローカル SSD をアタッチすることもできます。ローカル SSD は、マウントされている仮想マシンのインスタンスをホストするサーバーに物理的にアタッチされます。この密結合により、永続ディスクに比べて、優れたパフォーマンス、非常に高い 1 秒あたりの入出力オペレーション(IOPS)、非常に低いレイテンシが実現されます。

ローカル SSD のパフォーマンスは次のとおりです。

  • 1 ミリ秒未満のレイテンシ
  • 最大 680,000 回の読み取り IOP と 360,000 回の書き込み IOP

パフォーマンスは向上しますが、これには可用性、耐久性、柔軟性の面でトレードオフが伴います。具体的には、ローカル SSD ストレージが自動的には複製されず、ディスクにアクセスできなくなるホストエラーまたはユーザー設定エラーが発生すると、すべてのデータが失われる可能性があります。そのため、ユーザー側での予防措置として、データのバックアップを行う必要があります。

このラボでは、ローカル SSD に関する説明は行いません。

  • ローカル SSD のパフォーマンスを最大限に高めるには、NVMe をサポートする特殊な Linux イメージを使用する必要があります。ローカル SSD の詳細については、ローカル SSD のドキュメントをご覧ください。

お疲れさまでした

永続ディスクを作成する方法、永続ディスクを見つけて仮想マシン インスタンスにアタッチする方法、永続ディスクとローカル SSD の違いについて学びました。永続ディスクは、データベース サーバーの設定や構成に使用できます。

次のステップと詳細情報

Google Cloud トレーニングと認定資格

Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。

マニュアルの最終更新日: 2024 年 1 月 15 日

ラボの最終テスト日: 2024 年 1 月 15 日

Copyright 2024 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。