このドキュメントでは、Persistent Disk 非同期レプリケーション(PD 非同期レプリケーション)を開始および停止する方法について説明します。
PD 非同期レプリケーションは、低 RPO、低 RTO の障害復旧に役立ちます。非同期レプリケーションの詳細については、Persistent Disk の非同期レプリケーションについてをご覧ください。
制限事項
- プライマリ ディスクは、一度に 1 つのセカンダリ ディスクにのみ複製できます。
- レプリケーションが停止すると、同じディスクへのレプリケーションを再開できなくなります。新しいセカンダリ ディスクを作成して、レプリケーションを再開する必要があります。
- レプリケーションのプロセス中にセカンダリ ディスクを接続、削除、スナップショットすることはできません。
- リージョン ディスクをセカンダリ ディスクとして使用していて、セカンダリ ディスクのゾーンの 1 つでゾーンが停止した場合、プライマリ ディスクからセカンダリ ディスクへのレプリケーションは失敗します。
始める前に
- 複数のディスク間でレプリケーションを調整する必要がある場合は、整合性グループを作成します。
- プライマリ ディスクを作成します。
- セカンダリ ディスクを作成します。
-
まだ設定していない場合は、認証を設定します。認証とは、Google Cloud サービスと API にアクセスするために ID を確認するプロセスです。ローカル開発環境からコードまたはサンプルを実行するには、次のいずれかのオプションを選択して Compute Engine に対する認証を行います。
Select the tab for how you plan to use the samples on this page:
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
詳細については、 Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。
-
レプリケーションを開始
Google Cloud コンソール、Google Cloud CLI、または REST を使用してレプリケーションを開始します。
Google Cloud コンソールで、[非同期レプリケーション] ページに移動します。
レプリケーションを開始するセカンダリ ディスクの名前をクリックします。
[レプリケーションを開始] をクリックします。[レプリケーションの開始] ウィンドウが開きます。
[レプリケーションを開始] をクリックします。
gcloud compute disks start-async-replication
コマンドを使用してレプリケーションを開始します。
gcloud compute disks start-async-replicationPRIMARY_DISK_NAME \ --PRIMARY_LOCATION_FLAG =PRIMARY_LOCATION \ --secondary-disk=SECONDARY_DISK_NAME \ --SECONDARY_LOCATION_FLAG =SECONDARY_LOCATION \ --secondary-disk-project=SECONDARY_PROJECT
次のように置き換えます。
PRIMARY_DISK_NAME
: プライマリ ディスクの名前。PRIMARY_LOCATION_FLAG
: プライマリ ディスクのロケーション フラグ。リージョン ディスクの場合は、--region
を使用します。ゾーンディスクの場合は、--zone
を使用します。PRIMARY_LOCATION
: プライマリ ディスクのリージョンまたはゾーン。リージョン ディスクの場合は、リージョンを使用します。ゾーンディスクの場合は、ゾーンを使用します。SECONDARY_DISK_NAME
: セカンダリ ディスクの名前。SECONDARY_LOCATION_FLAG
: セカンダリ ディスクのロケーション フラグ。リージョン ディスクの場合は、--secondary-disk-region
を使用します。ゾーンディスクの場合は、--secondary-disk-zone
を使用します。SECONDARY_LOCATION
: セカンダリ ディスクのリージョンまたはゾーン。リージョン ディスクの場合は、リージョンを使用します。ゾーンディスクの場合は、ゾーンを使用します。SECONDARY_PROJECT
: セカンダリ ディスクを含むプロジェクト。
次のいずれかの方法でレプリケーションを開始します。
disks.startAsyncReplication
メソッドを使用して、ゾーンディスクのレプリケーションを開始します。POST https://compute.googleapis.com/compute/v1/projects/
PRIMARY_DISK_PROJECT /zones/PRIMARY_LOCATION /disks/PRIMARY_DISK_NAME /startAsyncReplication { "asyncSecondaryDisk": "projects/SECONDARY_DISK_PROJECT /SECONDARY_LOCATION_PARAMETER /SECONDARY_LOCATION /disks/SECONDARY_DISK_NAME " }regionDisks.startAsyncReplication
メソッドを使用して、リージョン ディスクのレプリケーションを開始します。POST https://compute.googleapis.com/compute/v1/projects/
PRIMARY_DISK_PROJECT /regions/PRIMARY_LOCATION /regionDisks/PRIMARY_DISK_NAME /startAsyncReplication { "asyncSecondaryDisk": "projects/SECONDARY_DISK_PROJECT /SECONDARY_LOCATION_PARAMETER /SECONDARY_LOCATION /disks/SECONDARY_DISK_NAME " }
次のように置き換えます。
PRIMARY_DISK_PROJECT
: プライマリ ディスクを含むプロジェクト。PRIMARY_LOCATION
: プライマリ ディスクのリージョンまたはゾーン。リージョン ディスクの場合は、リージョンを使用します。ゾーンディスクの場合は、ゾーンを使用します。PRIMARY_DISK_NAME
: プライマリ ディスクの名前。SECONDARY_DISK_PROJECT
: セカンダリ ディスクを含むプロジェクト。SECONDARY_LOCATION_PARAMETER
: セカンダリ ディスクのロケーション パラメータ。リージョン ディスクの場合は、regions
を使用します。ゾーンディスクの場合は、zones
を使用します。SECONDARY_LOCATION
: セカンダリ ディスクのリージョンまたはゾーン。リージョン ディスクの場合は、リージョンを使用します。ゾーンディスクの場合は、ゾーンを使用します。SECONDARY_DISK_NAME
: セカンダリ ディスクの名前。
レプリケーションを停止
単一のプライマリ ディスクまたはセカンダリ ディスク、または整合性グループ内のすべてのディスクのレプリケーションを停止できます。整合性グループ内の単一ディスクのレプリケーションを停止すると、そのディスクのレプリケーション時間は、整合性グループ内の他のディスクと同期しなくなります。
レプリケーションの停止は、フェイルオーバーとフェイルバックのシナリオで実行されます。レプリケーションを停止すると、同じセカンダリ ディスクへのレプリケーションを再開できません。レプリケーションを再開するには、新しいセカンダリ ディスクを作成して最初からやり直す必要があります。
ディスクのレプリケーションを停止すると、ディスクのレプリケーション状態は STOPPED
に変わります。ディスクのレプリケーション ペア内の他のディスク(対応するプライマリ ディスクまたはセカンダリ ディスク)のレプリケーション状態は、後で STOPPED
に更新されます。時間差を回避して、他のディスクのレプリケーション状態をすぐに STOPPED
に更新する場合は、他のディスクのレプリケーションも手動で停止する必要があります。両方のディスクでレプリケーションを停止しても、レプリケーションの停止時刻には影響せず、ディスクのレプリケーション状態にのみ影響します。
単一ディスクのレプリケーションを停止する
Google Cloud コンソール、Google Cloud CLI、または REST を使用して、単一ディスクのレプリケーションを停止します。
次の方法でレプリケーションを停止します。
Google Cloud コンソールで、[非同期レプリケーション] ページに移動します。
レプリケーションを停止するプライマリ ディスクまたはセカンダリ ディスクの名前をクリックします。[ディスクの管理] ページが開きます。
[レプリケーションを終了] をクリックします。[レプリケーションの終了] ウィンドウが開きます。
[レプリケーションを終了] をクリックします。
gcloud compute disks stop-async-replication
コマンドを使用してレプリケーションを停止します。
gcloud compute disks stop-async-replicationDISK_NAME \ --LOCATION_FLAG =LOCATION
次のように置き換えます。
DISK_NAME
: ディスクの名前。LOCATION_FLAG
: ディスクのロケーション フラグ。リージョン ディスクの場合は、--region
を使用します。ゾーンディスクの場合は、--zone
を使用します。LOCATION
: ディスクのリージョンまたはゾーン。リージョン ディスクの場合は、リージョンを使用します。ゾーンディスクの場合は、ゾーンを使用します。
次のいずれかの方法でレプリケーションを停止します。
disks.stopAsyncReplication
メソッドを使用して、ゾーンディスクのレプリケーションを停止します。POST https://compute.googleapis.com/compute/v1/projects/
PROJECT /zones/LOCATION /disks/DISK_NAME /stopAsyncReplication { }regionDisks.stopAsyncReplication
メソッドを使用して、リージョン ディスクのレプリケーションを停止します。POST https://compute.googleapis.com/compute/v1/projects/
PROJECT /regions/LOCATION /regionDisks/DISK_NAME /stopAsyncReplication { }
次のように置き換えます。
PROJECT
: ディスクを含むプロジェクト。DISK_NAME
: ディスクの名前。LOCATION
: ディスクのゾーンまたはリージョン。ゾーンディスクの場合は、ゾーンを使用します。リージョン ディスクの場合は、リージョンを使用します。
整合性グループのレプリケーションを停止する
Google Cloud コンソール、Google Cloud CLI、または REST を使用して、整合性グループ内のすべてのディスクのレプリケーションを停止します。
整合性グループ内のすべてのディスクのレプリケーションを停止するには、次の操作を行います。
Google Cloud コンソールで、[非同期レプリケーション] ページに移動します。
[整合性グループ] タブをクリックします。
レプリケーションを停止する整合性グループの名前をクリックします。[整合性グループの管理] ページが開きます。
[レプリケーションを終了] をクリックします。[レプリケーションの終了] ウィンドウが開きます。
[レプリケーションを終了] をクリックします。
gcloud compute disks stop-group-async-replication
コマンドを使用して、整合性グループ内のすべてのディスクのレプリケーションを停止します。
gcloud compute disks stop-group-async-replicationCONSISTENCY_GROUP \ --LOCATION_FLAG =LOCATION
次のように置き換えます。
CONSISTENCY_GROUP
: 整合性グループの URL。例:projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME
LOCATION_FLAG
: 整合性グループ内のディスクのロケーション フラグ。リージョン ディスクの場合は、--region
を使用します。ゾーンディスクの場合は、--zone
を使用します。LOCATION
: ディスクのリージョンまたはゾーン。リージョン ディスクの場合は、リージョンを使用します。ゾーンディスクの場合は、ゾーンを使用します。
次のいずれかの方法で、整合性グループ内のすべてのディスクのレプリケーションを停止します。
disks.stopGroupAsyncReplication
メソッドを使用して、ゾーンディスクのレプリケーションを停止します。POST https://compute.googleapis.com/compute/v1/projects/
PROJECT /zones/LOCATION /disks/stopGroupAsyncReplication { "resourcePolicy": "CONSISTENCY_GROUP " }regionDisks.stopGroupAsyncReplication
メソッドを使用して、リージョン ディスクのレプリケーションを停止します。POST https://compute.googleapis.com/compute/v1/projects/
PROJECT /regions/LOCATION /regionDisks/DISK_NAME /stopAsyncReplication { "resourcePolicy": "CONSISTENCY_GROUP " }
次のように置き換えます。
DISK_NAME
: ディスクの名前LOCATION
: ディスクのゾーンまたはリージョン。ゾーンディスクの場合は、ゾーンを使用します。リージョン ディスクの場合は、リージョンを使用します。CONSISTENCY_GROUP
: 整合性グループの URL。例:projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME
次のステップ
- フェイルオーバーとフェイルバックの方法を学習する。
- Persistent Disk 非同期レプリケーションのパフォーマンスをモニタリングする方法を確認する。