Persistent Disk の非同期レプリケーションについて


Persistent Disk 非同期レプリケーション(PD 非同期レプリケーション)は、短い目標復旧時点(RPO)と短い目標復旧時間(RTO)のブロック ストレージ レプリケーションにより、リージョン間でのアクティブ / パッシブ障害復旧(DR)に対応できます。

PD 非同期レプリケーションは、2 つのリージョン間でデータの非同期レプリケーションを提供するストレージ オプションです。万一リージョンが停止した場合、PD 非同期レプリケーションを使用すると、データをセカンダリ リージョンにフェイルオーバーし、そのリージョンでワークロードを再起動できます。

PD 非同期レプリケーションを使用すると、ワークロード レベルではなく、インフラストラクチャ レベルで Compute Engine ワークロードのレプリケーションを管理できます。

概要

Persistent Disk 非同期レプリケーションは、実行中のワークロードにアタッチされているディスク(プライマリ ディスク)から、別のリージョンにある別のディスクにデータを複製します。複製されたデータを受信するディスクをセカンダリ ディスクと呼びます。

プライマリ ディスクが配置されているリージョンをプライマリ リージョンといいます。セカンダリ ディスクが配置されているリージョンはセカンダリ リージョンといいます。プライマリ リージョンとセカンダリ リージョンはリージョンペアと呼ばれます。

ディスク要件を満たすすべてのディスクをメインディスクとして使用できます。プライマリ ディスクを取得したら、プライマリ ディスクを参照するセカンダリ ディスクを作成して、プライマリ ディスクからディスクをセカンダリ ディスクにレプリケーションを開始できます。

プライマリ ディスクからのレプリケーションを停止し、後でレプリケーションを再開する場合は、新しいセカンダリ ディスクを作成してレプリケーションを再開する必要があります。

整合性グループ

整合性グループを使用すると、複数のディスクで障害復旧(DR)と DR のテストを実行できます。整合性グループは次の処理を行うリソース ポリシーです。

  • プライマリ ディスク間のレプリケーションを調整し、すべてのディスクに共通の時点のレプリケーション データが含まれるようにします。これは DR に使用されます。
  • セカンダリ ディスクのディスク クローンを調整し、すべてのディスク クローンに、DR ドリルに使用される共通の時点のデータが含まれるようにします。

複数のディスク間でレプリケーション期間を調整する場合は、プライマリ ディスクを整合性グループに追加します。複数のディスクのクローンを作成し、それらのクローンに共通の時点のデータを含める場合は、セカンダリ ディスクを整合性グループに追加します。整合性グループはレプリケーションまたはクローン作成に使用できますが、両方を同時に使用することはできません。

プライマリ ディスクを整合性グループに追加する場合は、レプリケーションを開始する前にディスクを整合性グループに追加する必要があります。セカンダリ ディスクはいつでも整合性グループに追加できます。

フェイルオーバーとフェイルバック

プライマリ リージョンでサービスが停止した場合、サービス停止を特定し、セカンダリ リージョンのセカンダリ ディスクを使用してワークロードをフェイルオーバーで再起動します。これはお客様の責任で行う必要があります。PD 非同期レプリケーションでは、サービス停止のモニタリングは行いません。サービス停止を特定するには、RPO 指標ヘルスチェック、アプリケーション固有の指標を使用するか、Cloud カスタマーケアに連絡します。

フェイルオーバー プロセスには、次のタスクが含まれます。

  1. レプリケーションを停止します。
  2. セカンダリ ディスクをセカンダリ リージョンの VM にアタッチします。

ディスクをフェイルオーバーしたら、セカンダリ リージョンでアプリケーション ワークロードを検証して再起動し、アプリケーションへのアクセスに使用されるネットワーク アドレスをセカンダリ リージョンを指すように再構成する必要があります。

プライマリ リージョンからセカンダリ リージョンにフェイルオーバーした後、セカンダリ リージョンがアクティブなプライマリ リージョンになります。サービス停止または障害が解決したら、フェイルバックを開始して、元のセカンダリ リージョン(機能するプライマリ リージョン)から元のプライマリ リージョンへのレプリケーションを開始できます。必要に応じてこのプロセスを繰り返し、ワークロードを元のプライマリ リージョンに戻すこともできます。

フェイルバック プロセスには、次のタスクが含まれます。

  1. 新しいプライマリ リージョンと元のプライマリ リージョン間のレプリケーションを構成します。

    • 元のセカンダリ ディスクが新しいプライマリ ディスクになり、元のプライマリ リージョンの新しいセカンダリ ディスクに複製するように構成します。
    • 新しいプライマリ リージョンに新しい整合性グループ リソース ポリシーを作成すると、新しいプライマリ ディスク(元のセカンダリ ディスク)が元のプライマリ リージョンの新しいセカンダリ ディスク セットに一貫して複製できます。
  2. (省略可)最初のレプリケーションが完了したら、フェイルオーバー プロセスを繰り返して、ワークロードを元のプライマリ リージョンに戻すことができます。

ディスクの暗号化

プライマリ ディスクとセカンダリ ディスクは顧客指定の暗号鍵(CSEK)をサポートしていません。代わりに、Google 管理の暗号鍵または顧客管理の暗号鍵(CMEK)を使用してください。プライマリ ディスクで CMEK を使用する場合は、セカンダリ ディスクでも CMEK を使用する必要があります。両方のディスクで異なる CMEK を使用できます。

セカンダリ ディスクのカスタマイズ

セカンダリ ディスクを作成すると、説明、ディスクタイプ、ラベルなど、プライマリ ディスクのプロパティが継承されます。プライマリ ディスクがブートディスクの場合、セカンダリ ディスクはプライマリ ディスクのブート構成を継承します。ブート構成には、オペレーティング システム(OS)のアーキテクチャ、OS ライセンス、ゲスト OS 機能に関する情報が含まれます。

セカンダリ ディスクの特定のプロパティは、プライマリ ディスクとは異なるように変更できます。たとえば、プライマリ ディスクとセカンダリ ディスクのサイズと暗号鍵は同じにする必要がありますが、セカンダリ ディスクに追加のラベルを割り当てる場合があります。

ブートディスクの場合は、追加のゲスト OS の機能を指定して、セカンダリ ディスクで追加のセキュリティ オプションまたはネットワーク オプションを有効にできます。ただし、プライマリ ディスクのゲスト OS の機能を削除することはできません。Compute Engine は、指定した新機能をプライマリ ディスクの既存のゲスト OS の機能と統合します。

[GVNIC, UEFI_COMPATIBLE] のゲスト OS の機能を備えた disk-1 というブートディスクがあるとします。

disk-1 からセカンダリ ディスクを作成する場合は、追加機能のみを指定できます。UEFI_COMPATIBLE 機能と GVNIC 機能は削除できません。そのため、セカンダリ ディスクの作成時に MULTI_IP_SUBNET を指定すると、新しい機能がプライマリ ディスクの機能と統合されるため、セカンダリ ディスクのゲスト OS の機能は GVNICUEFI_COMPATIBLEMULTI_IP_SUBNET になります。

セカンダリ ディスクをカスタマイズする方法については、カスタム セカンダリ ディスクを作成するをご覧ください。

PD 非同期レプリケーションとリージョン永続ディスク

リージョン永続ディスクで PD 非同期レプリケーションを使用すると、高可用性(HA)と障害復旧(DR)を実現できます。

リージョン永続ディスクは、PD 非同期レプリケーション ディスクペアのプライマリ ディスクまたはセカンダリ ディスクとして使用できます。ディスクペアは、セカンダリ ディスクに複製されるプライマリ ディスクです。

リージョン ディスクがプライマリ ディスクとして使用されている場合、プライマリ ディスクのゾーンの 1 つが停止しても、レプリケーションは中断されません。リージョンのプライマリ ディスクは、正常なゾーンからセカンダリ ディスクへのレプリケーションを続行します。

リージョン ディスクがセカンダリ ディスクとして使用されている場合、セカンダリ ディスクのゾーンの 1 つが停止すると、レプリケーションが一時停止されます。この場合、レプリケーションはセカンダリ ディスクの正常なゾーンで続行されません。ただしリージョン ディスクをセカンダリ ディスクとして使用すると、セカンダリ ディスクが新しいプライマリ ディスクになったときのフェイルオーバーに備えて、ゾーン間の HA 用にワークロードを準備できます。

制限事項

  • PD 非同期レプリケーションは、バランス Persistent Disk とパフォーマンス(SSD)Persistent Disk でのみサポートされています。
  • 読み取り専用ディスクとマルチライター ディスクはサポートされていません。
  • 各ディスクの最大サイズは 32 TiB です。
  • 各プロジェクトのディスクペアは、リージョンペアごとに最大 1,000 個まで設定できます。

    たとえば、特定のプロジェクト project-1 には、アイオワ州とオレゴン州のリージョンペアに最大 1,000 個のディスクペアを設定できます。project-1 では、ベルギーとフランクフルトのリージョンペアに最大 1,000 個のディスクペアを含めることもできます。

サポートされているリージョン

PD 非同期レプリケーションは、次の大陸のすべてのリージョンで利用できます。

  • アジア(インドネシアを除く)
  • ヨーロッパ
  • 北アメリカ
  • オセアニア

特定のリージョンのプライマリ ディスクを、同じ大陸内で使用可能なリージョンのセカンダリ ディスクに複製できます。つまり、同じ大陸内の任意の 2 つのリージョンからリージョンペアを作成できます。

たとえば、フランクフルト(europe-west3)にプライマリ ディスクがあるとします。このディスクはヨーロッパの任意のセカンダリ ディスクに複製できますが、北米のリージョンには複製できません。

Compute Engine のすべてのリージョンの完全なリストについては、利用可能なゾーンとリージョンをご覧ください。

パフォーマンス

目標復旧ポイント(RPO)またはデータがセカンダリ サイトで使用可能になるまでの遅延時間は、ディスクの変更率によって異なります。通常 PD 非同期レプリケーションでは、目標 RPO が 1 分で、ディスク ブロックが 4 KB のブロック粒度で複製され、1 分あたり最大 2 GB の圧縮された変更ブロックでデータが複製されます。特定のブロックがレプリケーション イベント間で複数回変更された場合は、最新の変更のみがセカンダリ ディスクに複製されます。ディスクの変更率が高い場合、RPO は 1 分を超えることがあり、通常はディスクの変更率が高くなると増加します。RPO は構成できません。

次のシナリオでは、RPO が 1 分を超えることがあります。

  • ディスク レプリケーションの開始時。最初のレプリケーション中に、PD 非同期レプリケーションではプライマリ ディスク上の使用済みブロックをすべてセカンダリ ディスクに複製します。Cloud Monitoring で disk/async_replication/time_since_last_replication 指標が使用可能になると、初期レプリケーションは完了です。
  • ディスクの変更率が、1 分あたりの圧縮された変更ブロックの 2 GB より大きい場合。ディスクの変更が急増した後で、その後のレプリケーション サイクルの RPO が 1 分を超えることがあります。これは、レプリケーションが追いつくまでです。
  • ディスクのレプリケーション中に VM からディスクを切断した場合や、VM を再起動した場合。VM から切断されたレプリケーションを実施しているディスクでは、RPO が一時的に最大 5 分間増加することがあります。

ディスクの RPO を確認する方法については、Persistent Disk の非同期レプリケーションのパフォーマンス指標をご覧ください。

フェイルオーバー中の目標復旧時間(RTO)は、ワークロードを新しいリージョンにフェイルオーバーする際に関連するさまざまなタスクの完了にかかる時間によって異なります。レプリケーションの停止や、セカンダリ リージョンの VM へのディスクのアタッチなどのタスクは、数分で完了します。セカンダリ リージョンで VM を実行することで、RTO を短縮できます。これにより、フェイルオーバーが発生したときに VM が起動するのを待つ必要がなくなります。

次のステップ