GSP004

概要
Compute Engine を使用すると、Google のインフラストラクチャ上で仮想マシンを作成して実行できます。Linux の主なディストリビューション(Debian、Ubuntu、SUSE、Red Hat、CoreOS)や Windows Server など、さまざまなオペレーティング システム上で仮想マシンを作成できます。
Compute Engine では、仮想マシン インスタンス用のプライマリ ストレージとして永続ディスクが提供されます。物理的なハードドライブと同様、永続ディスクはマシンの他の部分から独立しています。仮想マシン インスタンスを削除しても永続ディスク上のデータは消えず、永続ディスクを別のインスタンスにアタッチすればそのまま使えます。
注: 永続ディスクには次の 2 つの種類があります。
ストレージ オプションで 2 つの違いを確認できます。また、種類ごとに容量制限があります。詳細については、永続ディスクに関するドキュメントをご覧ください。
このハンズオンラボでは、永続ディスクを作成して仮想マシンにアタッチする方法を学びます。
学習内容
- 新しい VM インスタンスを作成し、永続ディスクをアタッチする
- 永続ディスクをフォーマットしてマウントする
要件
- Linux の標準的なテキスト エディタ(
vim
、emacs
、nano
など)の使用経験があると役に立ちます
設定と要件
[ラボを開始] ボタンをクリックする前に
こちらの説明をお読みください。ラボには時間制限があり、一時停止することはできません。タイマーは、Google Cloud のリソースを利用できる時間を示しており、[ラボを開始] をクリックするとスタートします。
このハンズオンラボでは、シミュレーションやデモ環境ではなく実際のクラウド環境を使って、ラボのアクティビティを行います。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。
このラボを完了するためには、下記が必要です。
- 標準的なインターネット ブラウザ(Chrome を推奨)
注: このラボの実行には、シークレット モード(推奨)またはシークレット ブラウジング ウィンドウを使用してください。これにより、個人アカウントと受講者アカウント間の競合を防ぎ、個人アカウントに追加料金が発生しないようにすることができます。
- ラボを完了するための時間(開始後は一時停止できません)
注: このラボでは、受講者アカウントのみを使用してください。別の Google Cloud アカウントを使用すると、そのアカウントに料金が発生する可能性があります。
ラボを開始して Google Cloud コンソールにログインする方法
-
[ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるダイアログでお支払い方法を選択してください。
左側の [ラボの詳細] ペインには、以下が表示されます。
- [Google Cloud コンソールを開く] ボタン
- 残り時間
- このラボで使用する必要がある一時的な認証情報
- このラボを行うために必要なその他の情報(ある場合)
-
[Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウで開く] を選択します)。
ラボでリソースがスピンアップし、別のタブで [ログイン] ページが表示されます。
ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。
-
必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。
{{{user_0.username | "Username"}}}
[ラボの詳細] ペインでもユーザー名を確認できます。
-
[次へ] をクリックします。
-
以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。
{{{user_0.password | "Password"}}}
[ラボの詳細] ペインでもパスワードを確認できます。
-
[次へ] をクリックします。
重要: ラボで提供された認証情報を使用する必要があります。Google Cloud アカウントの認証情報は使用しないでください。
注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
-
その後次のように進みます。
- 利用規約に同意してください。
- 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
- 無料トライアルには登録しないでください。
その後、このタブで Google Cloud コンソールが開きます。
注: Google Cloud のプロダクトやサービスにアクセスするには、ナビゲーション メニューをクリックするか、[検索] フィールドにサービス名またはプロダクト名を入力します。
Cloud Shell をアクティブにする
Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。
-
Google Cloud コンソールの上部にある「Cloud Shell をアクティブにする」アイコン
をクリックします。
-
ウィンドウで次の操作を行います。
- Cloud Shell 情報ウィンドウで操作を進めます。
- Cloud Shell が認証情報を使用して Google Cloud API を呼び出すことを承認します。
接続した時点で認証が完了しており、プロジェクトに各自の Project_ID、 が設定されます。出力には、このセッションの PROJECT_ID を宣言する次の行が含まれています。
Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}
gcloud
は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。
- (省略可)次のコマンドを使用すると、有効なアカウント名を一覧表示できます。
gcloud auth list
- [承認] をクリックします。
出力:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
To set the active account, run:
$ gcloud config set account `ACCOUNT`
- (省略可)次のコマンドを使用すると、プロジェクト ID を一覧表示できます。
gcloud config list project
出力:
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
注: Google Cloud における gcloud
ドキュメントの全文については、gcloud CLI の概要ガイドをご覧ください。
リージョンとゾーンを設定する
- このラボのプロジェクトのリージョンとゾーンを設定します。
gcloud config set compute/zone {{{project_0.default_zone | Zone}}}
gcloud config set compute/region {{{project_0.default_region | Region}}}
- リージョンの変数を作成します。
export REGION={{{project_0.default_region | Region}}}
- ゾーンの変数を作成します。
export ZONE={{{project_0.default_zone | Zone}}}
詳しくは、リージョンとゾーンのドキュメントをご確認ください。
注: 自分のマシンで gcloud
を実行する場合はセッション間で config 設定が維持されますが、Cloud Shell で実行する場合はセッションごと、または再接続するたびに設定する必要があります。
タスク 1. 新しいインスタンスを作成する
まず、ブートディスクのみを備えた仮想マシン インスタンスを Compute Engine で作成します。
注: 詳細については、別のラボで仮想マシン インスタンスを作成するか、Compute Engine のドキュメントをご覧ください。
- 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. 新しい永続ディスクを作成する
注: このディスクを前のステップで作成した仮想マシン インスタンスにアタッチする場合は、両方のリソースを同じゾーン内に配置する必要があります。
- 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
)にアタッチしてみましょう。
- ディスクをアタッチするには次のコマンドを実行します。
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].
これで作業は完了です。
仮想マシンから永続ディスクを探す
永続ディスクは仮想マシン インスタンスでブロック デバイスとして使用できるようになりました。見てみましょう。
- 仮想マシンに 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
- プロンプトが表示されたら Y キーを押して先に進みます。
- 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.
-
/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
: ファイルシステムに接続
- マウント ポイントを作成します。
sudo mkdir /mnt/mydisk
- 次に、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
- 次に、mount ツールを使用し、
discard
オプションを有効にして、ディスクをインスタンスにマウントします。
sudo mount -o discard,defaults /dev/disk/by-id/scsi-0Google_PersistentDisk_persistent-disk-1 /mnt/mydisk
これで作業は完了です。
再起動時にディスクが自動でマウントされるようにする
デフォルトでは、仮想マシンを再起動するとディスクは再マウントされません。再起動したときに自動でディスクが再マウントされるようにするには、/etc/fstab
にエントリを追加する必要があります。
- nano エディタで
/etc/fstab
を編集用に開きます。
sudo nano /etc/fstab
- 次の行を "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
- Ctrl+O キー、Enter キー、Ctrl+X キーの順に押し、編集内容を保存してエディタを終了します。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
永続ディスクをアタッチしてマウントする
タスク 4. 理解度テスト
クイズに挑戦して Google Cloud Platform に関する知識をチェックしましょう。
永続ディスクから別のリージョンにデータを移行するための次のステップを正しく並べ替えてください。
- ディスクをアタッチ
- ディスクを作成
- スナップショットを作成
- インスタンスを作成
- ファイル システムのマウントを解除
タスク 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 2025 Google LLC. All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。