このページでは、リージョン永続ディスク ストレージ リソースを追加および管理する方法について説明します。リージョン ディスクのステータスを確認するには、compute
disks describe DISK_NAME
コマンドで --region NEW_DISK_REGION
フラグを指定するか、compute.regionDisks.list
コマンドを使用します。
始める前に
- このガイドのコマンドラインの例を使用する場合、以下を行ってください。
- gcloud コマンドライン ツールの最新バージョンをインストールするか、最新バージョンに更新します。
- デフォルトのリージョンとゾーンを設定します。
- このガイドの API の例を使用する場合、API アクセスを設定します。
- 永続ディスクの種類別の違いを理解します。
- リージョン永続ディスクのフェイルオーバーについて確認します。
制限事項
リージョン永続ディスクには、次の制限があります。
- リージョン永続ディスクはブートディスクとして使用できません。
- リージョン永続ディスクは、スナップショットからは作成できる一方、イメージからは作成できません。
- リージョン標準永続ディスクの最小サイズは 200 GB です。
- メモリ最適化マシンタイプまたはコンピューティング最適化マシンタイプではリージョン永続ディスクを使用できません。
- リージョン永続ディスクをサイズ変更する場合、大きくすることだけが可能です。永続ディスクのサイズを小さくすることはできません。
- ゾーン永続ディスクのパフォーマンスには違いがあります。詳細については、ブロック ストレージのパフォーマンスをご覧ください。
インスタンスへのリージョン永続ディスクの追加
リージョン永続ディスクを作成し、インスタンスにアタッチします。インスタンスがない場合は、まず新しいインスタンスを作成して起動する必要があります。インスタンスは、ディスクと同じリージョンに作成する必要があります。
Console
まずリージョン永続ディスクを作成してから、既存のインスタンスに接続する必要があります。リージョン永続ディスクはフェイルオーバー中に強制接続できないため、ブートディスクとしては作成できません。
リージョン永続ディスクを作成します。
Google Cloud Console で、[ディスク] ページに移動します。
プロジェクトを選択します。
[ディスクを作成] をクリックします。
[名前] でディスクの名前を指定します。
[タイプ] でディスクのタイプを選択します。
[リージョン内でこのディスクを複製] チェックボックスをオンにします。
リージョンを選択します。
インスタンスの作成時に同じリージョンを選択する必要があるため、リージョンをメモしておきます。
そのリージョン内の 2 つのゾーンを選択し、[OK] をクリックします。
ゾーンは 2 つ選択する必要があります。いずれかのゾーンのインスタンスにディスクを接続する必要があるため、選択したゾーンをメモしておきます。
[ソースの種類] を選択します。
[暗号化] を選択します。
[作成] をクリックしてディスクの作成を終了します。
リージョン永続ディスクを作成したら、それをインスタンスにアタッチします。
インスタンスにディスクを接続するとき、ディスクがすでに別のインスタンスに接続されている場合はエラー メッセージが表示されることがあります。場合によっては、[既存のディスクを接続] をクリックした後に [ディスクを強制接続する] チェックボックスをオンにして、ディスクをインスタンスに強制アタッチする必要があります。
新しいディスクをインスタンスにアタッチしたら、ディスクをフォーマットしてマウントする必要があります。こうすることで、オペレーティング システムが保存容量を使用できるようになります。
gcloud
gcloud
コマンドライン ツールを使用して、リージョン永続ディスクを作成してアタッチします。
リージョン永続ディスクを作成するには、
compute disks create
コマンドを使用します。スループットや IOPS を上げるためにリージョン SSD 永続ディスクが必要な場合は、--type
フラグでpd-ssd
を指定します。gcloud compute disks create DISK_NAME \ --size DISK_SIZE \ --type DISK_TYPE \ --region REGION \ --replica-zones ZONE1,ZONE2
以下を置き換えます。
DISK_NAME
: 新しいディスクの名前。DISK_SIZE
: 新しいディスクのサイズ(GB)。DISK_TYPE
: 永続ディスクの種類。例:pd-ssd
REGION
: リージョン ディスクが配置されるリージョン。例:europe-west1
。ZONE1
、ZONE2
: 2 つのディスク レプリカが配置されるリージョン内のゾーン。
ゾーンは 2 つ選択する必要があります。例:europe-west1-a,europe-west1-b
。
ディスクを作成したら、実行中または停止しているインスタンスにアタッチします。
compute instances attach-disk
コマンドを使用して、--disk
フラグを指定します。gcloud compute instances attach-disk INSTANCE_NAME \ --disk DISK_NAME
以下を置き換えます。
INSTANCE_NAME
: 新しいリージョン永続ディスクを追加するインスタンスの名前。DISK_NAME
: インスタンスにアタッチする新しいディスクの名前。
新しいディスクを作成してインスタンスにアタッチしたら、ディスクをフォーマットしてマウントする必要があります。こうすることで、オペレーティング システムが保存容量を使用できるようになります。
API
API で、POST リクエストを作成してリージョン永続ディスクを作ります。
compute.regionDisks.insert
リクエストの本文で、ディスクのname
とreplicaZones
プロパティを指定して新しいディスクを初期化します。空のディスクを作成するには、イメージやスナップショットのソースを指定しないでください。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/disks { "name": "DISK_NAME", "replicaZones": [ "projects/PROJECT_ID/zones/ZONE1", "projects/PROJECT_ID/zones/ZONE2" ], }
以下を置き換えます。
PROJECT_ID
: プロジェクト IDDISK_NAME
: 新しいディスクの名前[ZONE1
、ZONE2
: 新しいディスクのレプリカが配置されるゾーン。
API で
compute.instances.attachDisk
メソッドに対する POST リクエストを作成し、作成した永続ディスクへの URL をリクエストの本文に含めます。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/attachDisk { "source": "/projects/PROJECT_ID/regions/REGION/disks/DISK_NAME" }
以下を置き換えます。
PROJECT_ID
: プロジェクト IDZONE
: インスタンスの場所INSTANCE_NAME
: 新しい永続ディスクを追加するインスタンスの名前DISK_NAME
: 新しいディスクの名前
新しいディスクを作成してインスタンスにアタッチしたら、ディスクをフォーマットしてマウントする必要があります。こうすることで、オペレーティング システムが保存容量を使用できるようになります。
リージョン永続ディスクのサイズ変更
リージョン永続ディスクを持つインスタンスで追加の保存容量、IOPS、スループットが必要な場合は、ディスクのサイズを変更できます。データを固有のボリュームに分離する必要がある場合は、インスタンス用に複数のセカンダリ ディスクを作成します。実行中のインスタンスに接続しているかどうかにかかわらず、いつでもディスクをサイズ変更できます。
リージョン永続ディスクをサイズ変更するためのコマンドは、標準永続ディスクのサイズ変更のコマンドと同じですが、リージョン用の追加のフラグがあります。
Console
リージョン永続ディスクのサイズを変更します。
Google Cloud Console で、[ディスク] ページに移動します。
サイズを変更するディスクを選択します。
ページ上部の [編集] をクリックします。
ディスクのサイズを GB 単位で入力します。
ディスクサイズの拡張のみ行えます。ディスクサイズの縮小はできません。
[保存] をクリックします。
ディスクをサイズ変更したら、オペレーティング システムが追加の容量にアクセスできるように、ファイル システムをサイズ変更する必要があります。
ディスクのリストに新しいディスクサイズが表示されます。
gcloud
gcloud
ツールで、compute disks resize
コマンドを使用します。--size
フラグには必要なディスクサイズ(GB)、--region
フラグにはディスクが配置されるリージョンを指定します。
gcloud compute disks resize DISK_NAME \
--region REGION \
--size DISK_SIZE
以下を置き換えます。
DISK_NAME
: サイズ変更するディスクの名前REGION
: ディスクが配置されるリージョンDISK_SIZE
: ディスクの新しいサイズ(GB)
ディスクをサイズ変更したら、オペレーティング システムが追加の容量にアクセスできるように、ファイル システムをサイズ変更する必要があります。
API
API で、compute.regionDisks.resize
メソッドに対して POST
リクエストを作成します。リクエストの本文で sizeGb
パラメータを指定し、必要なディスクサイズ(GB 単位)に設定します。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/disks/DISK_NAME/resize
{
"sizeGb": "DISK_SIZE"
}
以下を置き換えます。
PROJECT_ID
: プロジェクト IDREGION
: ディスクが配置されるリージョンDISK_NAME
: サイズ変更するディスクの名前DISK_SIZE
: ディスクの新しいサイズ(GB)
ディスクをサイズ変更したら、オペレーティング システムが追加の容量にアクセスできるように、ファイル システムをサイズ変更する必要があります。
複数のインスタンス間での読み取り専用永続ディスクの共有
非ブート永続ディスクを複数の仮想マシン インスタンスに読み取り専用モードでアタッチし、複数インスタンス間で静的データを共有できます。1 つの永続ディスクの静的データを複数インスタンスで共有することは、個別インスタンス固有のディスクにデータをレプリケートするよりもコストがかかりません。
複数のインスタンスで動的記憶領域を共有する必要がある場合は、次のいずれかのオプションを使用できます。
- インスタンスを Cloud Storage に接続する。
- インスタンスを Filestore に接続する。
- Compute Engine 上にネットワーク ファイル サーバーを作成する。
複数のインスタンスで共有したいデータを含む永続ディスクがある場合は、読み取り / 書き込みインスタンスとの接続を切断し、1 つ以上のインスタンスに読み取り専用モードでアタッチします。
コンソール
Google Cloud Console で、[VM インスタンス] ページに移動します。
ディスクを接続するインスタンスの名前をクリックします。インスタンスの詳細ページが開きます。
インスタンス詳細ページの一番上で [編集] をクリックします。
[追加ディスク] セクションで、[既存のディスクを接続] をクリックします。
リストからリージョン永続ディスクを選択します。
[モード] セクションで、[読み取り専用] を選択します。
[完了] をクリックします。
インスタンスの詳細ページの一番下にある [保存] をクリックして変更内容をインスタンスに適用します。
インスタンスに接続して、ディスクをマウントします。
このプロセスを繰り返して、他のインスタンスに読み取り専用モードでディスクを追加します。
gcloud
gcloud
ツールで compute instances attach-disk
コマンドを実行し、ro
オプションで --mode
フラグを指定します。
gcloud beta compute instances attach-disk INSTANCE_NAME --disk DISK_NAME \
--disk-scope regional --mode ro
以下を置き換えます。
INSTANCE_NAME
: 永続ディスクを接続するインスタンスの名前DISK_NAME
: 接続するディスクの名前
ディスクを接続した後、インスタンスに接続してディスクをマウントします。
読み取り専用モードでディスクを追加するインスタンスごとに、このコマンドを繰り返します。
API
API で、compute.instances.attachDisk
メソッドに対して POST
リクエストを作成します。リクエストの本文で、mode
パラメータに READ_ONLY
を指定します。
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/attachDisk
{
"source": "regions/REGION/disks/DISK_NAME",
"mode": "READ_ONLY"
}
以下を置き換えます。
PROJECT_ID
: プロジェクト IDZONE
: インスタンスのゾーンINSTANCE_NAME
: 永続ディスクを接続するインスタンスの名前REGION
: ディスクが配置されるリージョンDISK_NAME
: 接続するディスクの名前
ディスクを接続した後、インスタンスに接続してディスクをマウントします。
ディスクを読み取り専用モードで追加するインスタンスごとにこのリクエストを繰り返します。
ゾーン永続ディスクのリージョン永続ディスクへの移行
既存のゾーン永続ディスクをリージョン永続ディスクに変換するには、現在の永続ディスクのスナップショットを作成し、スナップショットからリージョン永続ディスクを作成します。
gcloud
gcloud
ツールで、compute disks snapshot
コマンドを使用し、--zone
フラグと --snapshot-names
フラグを指定します。
gcloud compute disks snapshot DISK_NAME \
--zone ZONE \
--snapshot-names SNAPSHOT_DISK_NAME
以下を置き換えます。
DISK_NAME
: スナップショットを作成するディスクの名前ZONE
: ソース ゾーンディスクが配置されている場所SNAPSHOT_DISK_NAME
: 新しいスナップショットが作成されるディスクの名前
compute disks create
を使用して、ゾーンディスクのスナップショットからリージョン ディスクを作成します。ディスク名、--region
、--replica-zones
、--source-snapshot
の各フラグを指定します。
gcloud compute disks create DISK_NAME \
--region REGION \
--replica-zones ZONE1,ZONE2 \
--source-snapshot SNAPSHOT_DISK_NAME
以下を置き換えます。
DISK_NAME
: 新しいディスクの名前REGION
: ディスクが配置されるリージョンZONE1
、ZONE2
: 新しいリージョン永続ディスクのレプリカが存在するゾーンSNAPSHOT_DISK_NAME
: ソース スナップショット ディスクの名前
同じ方法を使用して、リージョン ディスクをゾーンディスクに移行できます。
API
API で、compute.disk.createSnapshot
メソッドに対して POST
リクエストを作成して、ディスクのスナップショットを作ります。リクエストの本文で、ディスクが存在する場所の zone
、スナップショットを作成する disk
の名前、createSnapshot
を指定します。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/disks/DISK_NAME/createSnapshot
以下を置き換えます。
PROJECT_ID
: プロジェクト IDZONE
: ディスクが配置されるゾーンDISK_NAME
: スナップショットを作成するディスクの名前
API で、POST リクエストを作成してリージョン永続ディスクを作ります。compute.regionDisks.insert
リクエストの本文で、新しいディスクを初期化して、ディスク名とレプリカのゾーンのプロパティを指定します。これはデータディスクのため、空のディスクを作成する sourceImage
プロパティは含めないでください。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/disks
{
"name": "DISK_NAME",
"sourceSnapshot": "global/snapshots/SNAPSHOT_NAME",
"replicaZones": [
"projects/PROJECT_ID/zones/ZONE1",
"projects/PROJECT_ID/zones/ZONE2"
],
}
以下を置き換えます。
PROJECT_ID
: プロジェクト IDREGION
: ディスクが配置されるリージョンDISK_NAME
: 新しいディスクの名前SNAPSHOT_NAME
: 復元するスナップショットZONE1
、ZONE2
: 新しいリージョン永続ディスクのレプリカが存在するゾーン
次のステップ
- 永続ディスクの料金体系を確認する。
- 永続ディスクのスナップショットを作成する方法を学習する。
- インスタンス グループを使用してインスタンスを作成する。
- Google Cloud で復元性の高いスケーラブルなウェブ アプリケーションを構築する。
- Google Cloud 障害復旧クックブックを参照する。