このドキュメントでは、非同期レプリケーションを開始および停止する方法について説明します。
非同期レプリケーションは、低 RPO、低 RTO の障害復旧に対して有効です。非同期レプリケーションの詳細については、非同期レプリケーションについてをご覧ください。
制限事項
- プライマリ ディスクは、一度に 1 つのセカンダリ ディスクにのみ複製できます。
- レプリケーションが停止すると、同じディスクへのレプリケーションを再開できなくなります。新しいセカンダリ ディスクを作成して、レプリケーションを再開する必要があります。
- レプリケーションのプロセス中にセカンダリ ディスクを接続、削除、スナップショットすることはできません。
- リージョン ディスクをセカンダリ ディスクとして使用していて、セカンダリ ディスクのゾーンの 1 つでゾーンが停止した場合、プライマリ ディスクからセカンダリ ディスクへのレプリケーションは失敗します。
始める前に
- 複数のディスク間でレプリケーションを調整する必要がある場合は、整合性グループを作成します。
- プライマリ ディスクを作成します。
- セカンダリ ディスクを作成します。
-
まだ設定していない場合は、認証を設定します。認証とは、 Google Cloud サービスと API にアクセスするために ID を確認するプロセスです。ローカル開発環境からコードまたはサンプルを実行するには、次のいずれかのオプションを選択して Compute Engine に対する認証を行います。
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Google Cloud コンソールで、[非同期レプリケーション] ページに移動します。
レプリケーションを開始するセカンダリ ディスクの名前をクリックします。
[レプリケーションを開始] をクリックします。[レプリケーションの開始] ウィンドウが開きます。
[レプリケーションを開始] をクリックします。
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
: セカンダリ ディスクの名前。Google Cloud コンソールで、[非同期レプリケーション] ページに移動します。
レプリケーションを停止するプライマリ ディスクまたはセカンダリ ディスクの名前をクリックします。[ディスクの管理] ページが開きます。
[レプリケーションを終了] をクリックします。[レプリケーションの終了] ウィンドウが開きます。
[レプリケーションを終了] をクリックします。
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 コンソールで、[非同期レプリケーション] ページに移動します。
[整合性グループ] タブをクリックします。
レプリケーションを停止する整合性グループの名前をクリックします。[整合性グループの管理] ページが開きます。
[レプリケーションを終了] をクリックします。[レプリケーションの終了] ウィンドウが開きます。
[レプリケーションを終了] をクリックします。
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
- フェイルオーバーとフェイルバックの方法を学習する。
- 非同期レプリケーションのパフォーマンスをモニタリングする方法を確認する。
Terraform
ローカル開発環境でこのページの Terraform サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。
詳細については Set up authentication for a local development environment をご覧ください。
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
詳細については、 Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。
レプリケーションを開始
Google Cloud コンソール、Google Cloud CLI、REST、または Terraform を使用してレプリケーションを開始します。
コンソール
gcloud
gcloud compute disks start-async-replication
コマンドを使用してレプリケーションを開始します。gcloud compute disks start-async-replication PRIMARY_DISK_NAME \ --PRIMARY_LOCATION_FLAG=PRIMARY_LOCATION \ --secondary-disk=SECONDARY_DISK_NAME \ --SECONDARY_LOCATION_FLAG=SECONDARY_LOCATION \ --secondary-disk-project=SECONDARY_PROJECT
次のように置き換えます。
Go
Java
Node.js
Python
REST
次のいずれかの方法でレプリケーションを開始します。
次のように置き換えます。
Terraform
プライマリ ディスクとセカンダリ ディスクの間のレプリケーションを開始するには、
compute_disk_async_replication
リソースを使用します。Terraform 構成を適用または削除する方法については、基本的な Terraform コマンドをご覧ください。
レプリケーションを停止
単一のプライマリ ディスクまたはセカンダリ ディスク、または整合性グループ内のすべてのディスクのレプリケーションを停止できます。整合性グループ内の単一ディスクのレプリケーションを停止すると、そのディスクのレプリケーション時間は、整合性グループ内の他のディスクと同期しなくなります。
レプリケーションの停止は、フェイルオーバーとフェイルバックのシナリオで実行されます。レプリケーションを停止すると、同じセカンダリ ディスクへのレプリケーションを再開できません。レプリケーションを再開するには、新しいセカンダリ ディスクを作成して最初からやり直す必要があります。
ディスクのレプリケーションを停止すると、ディスクのレプリケーション状態は
STOPPED
に変わります。ディスクのレプリケーション ペア内の他のディスク(対応するプライマリ ディスクまたはセカンダリ ディスク)のレプリケーション状態は、後でSTOPPED
に更新されます。時間差を回避して、他のディスクのレプリケーション状態をすぐにSTOPPED
に更新する場合は、他のディスクのレプリケーションも手動で停止する必要があります。両方のディスクでレプリケーションを停止しても、レプリケーションの停止時刻には影響せず、ディスクのレプリケーション状態にのみ影響します。単一ディスクのレプリケーションを停止する
Google Cloud コンソール、Google Cloud CLI、または REST を使用して、単一ディスクのレプリケーションを停止します。
コンソール
次の方法でレプリケーションを停止します。
gcloud
gcloud compute disks stop-async-replication
コマンドを使用してレプリケーションを停止します。gcloud compute disks stop-async-replication DISK_NAME \ --LOCATION_FLAG=LOCATION
次のように置き換えます。
Go
Java
Node.js
Python
REST
次のいずれかの方法でレプリケーションを停止します。
次のように置き換えます。
Terraform
プライマリ ディスクとセカンダリ ディスクでレプリケーションを停止するには、
compute_disk_async_replication
リソースを削除します。整合性グループのレプリケーションを停止する
Google Cloud コンソール、Google Cloud CLI、または REST を使用して、整合性グループ内のすべてのディスクのレプリケーションを停止します。
コンソール
整合性グループ内のすべてのディスクのレプリケーションを停止するには、次の操作を行います。
gcloud
gcloud compute disks stop-group-async-replication
コマンドを使用して、整合性グループ内のすべてのディスクのレプリケーションを停止します。gcloud compute disks stop-group-async-replication CONSISTENCY_GROUP \ --LOCATION_FLAG=LOCATION
次のように置き換えます。
Go
Java
Node.js
Python
REST
次のいずれかの方法で、整合性グループ内のすべてのディスクのレプリケーションを停止します。
次のように置き換えます。
次のステップ
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-07-11 UTC。
-