ゾーン レプリケーションとリージョン レプリケーションを使用してデータを保護する

ドキュメントのバージョンを選択してください。

このページでは、AlloyDB Omni Premium Availability のリファレンス アーキテクチャについて説明します。このアーキテクチャには、リージョン内のゾーン レプリケーションを使用したデータ保護(高可用性)が含まれており、広範囲な地理的境界を越えた非同期ストリーミングを使用した障害復旧(DR)保護が追加されています。

このリファレンス アーキテクチャは、次のユースケースに最適です。

  • ミッション クリティカルなアプリケーションには、ゾーン保護に加えてリージョン保護が必要です。

この可用性リファレンス アーキテクチャでは、HA 用にリージョン内に、DR 用にリージョン間に読み取りレプリカが組み込まれています。このマルチリージョン デプロイにより、広範囲にわたる停電や大規模な自然災害などの重大な中断から保護されます。

可用性リファレンス アーキテクチャの考慮事項

この可用性リファレンス アーキテクチャを評価する際は、次の要素を考慮してください。

  • リージョン内およびリージョン間のネットワーク レイテンシと帯域幅
  • データベースとアプリケーション サーバーの地理的な配置
  • 読み取り専用ワークロードをレプリカにオフロードする戦略
  • リモート DR リージョンに高可用性をデプロイする

特にリージョン アプリケーション サーバーを使用する場合は、読み取り専用ロード バランシングが必要になることがあります。これにより、リクエストが最も近いデータベースに転送され、レスポンスが最速になります。詳細については、従来のマルチリージョン アプリケーション ロードバランサへのリクエストの転送をご覧ください。

クロスリージョン レプリケーションでは、トランザクション負荷やネットワーク容量によってレプリケーションの遅延が増加しないよう、追加のモニタリングが必要になることがあります。

DR を成功させるには、DR テストを徹底的に実施してください。アプリケーション サーバーとデータベースの間に高レイテンシのネットワーク接続がある場合は、アプリケーションの機能とスループットをテストすることが重要です。

リージョン内 HA とクロスリージョン DR のアーキテクチャ

図 1 は、3 つのアベイラビリティ ゾーンと 2 つのリージョンに 3 つの読み取りレプリカ スタンバイ データベースがある、推奨 HA / DR 構成です。

バックアップとクロスリージョン高可用性オプションを備えた AlloyDB Omni

図 1: バックアップとクロスリージョン高可用性オプションを備えた AlloyDB Omni。

図 1 に示すように、ローカル(同じリージョン内)レプリカへの同期ストリーミング レプリケーションは高可用性を、地理的に離れたリモート レプリカへの非同期ストリーミング レプリケーションはリージョン障害復旧保護を提供します。構成全体おいて、読み取り / 書き込みオペレーションを実行できるのはプライマリ インスタンスのみです。他のレプリカは読み取りクエリを処理できます。

プライマリからリージョン内レプリカへのレプリケーションは同期モードで構成し、クロスリージョン レプリカへのレプリケーションは非同期モードで構成して、レイテンシがプライマリの書き込みパフォーマンスに影響しないようにします。リージョンの障害が発生した場合、この設定では RPO がゼロにならない可能性があります。ただし、障害発生時の RTO は短縮できます。プライマリ データベースがトランザクションを commit する前に、リモート スタンバイ データベースからの確認応答を待つ必要がないためです。

追加のクロスリージョン バックアップで読み取りレプリカ データベースからバックアップを作成すれば、プライマリ データベースから作成されたバックアップに冗長性を追加できます。

リードレプリカのバックアップ

Kubernetes の Deployment を使用する場合、代替リージョンのセカンダリ デプロイが追加のバックアップで自動的に設定されます。Kubernetes の Deployment 以外を使用する場合は、ビジネスニーズに合わせてバックアップをデプロイできます。次の点を考慮してください。

  • リモート バックアップがリージョン障害の影響を受ける可能性がある場合は、代替リージョンで追加のバックアップを開始する必要があります。
  • バックアップの冗長性が必要な場合は、リージョン リードレプリカのバックアップを作成する必要があります。

マルチゾーンの可用性をサポートするリードレプリカのロケーション

Kubernetes の Deployment 以外では、プライマリで障害が発生した場合にプライマリのロールを引き継ぐ特定のリードレプリカを選択できます。AlloyDB Omni Kubernetes Operator は、ゾーン内のノードの配置と、Pod をデプロイするノードを自動的に処理します。配置に影響する構成オプション(Pod アフィニティや許容範囲など)の一部は、AlloyDB Omni Operator を使用したデプロイに使用されるデータベース構成で使用できます。

HA のみから HA と DR のアーキテクチャへの移行

Kubernetes の Deployment 以外の場合は、新しいリージョンに新しいスタンバイを構築し、この構成を Patroni クラスタ構成に追加する必要があります。Kubernetes の Deployment の場合、セカンダリ データベース クラスタと呼ばれる新しいリージョン Kubernetes デプロイを構築し、データセンター間のレプリケーションを有効にする必要があります。

実装

可用性リファレンス アーキテクチャを選択する場合は、次のメリット、制限事項、オプションに注意してください。

利点

  • ゾーンとインスタンスの障害から保護する
  • リージョンの障害から保護する
  • データベースでリージョン障害が発生した場合に RTO を短縮する

制限事項

  • 同期レプリケーションを使用すると、リージョン リカバリの RPO を短縮できますが、このアプローチではトランザクション パフォーマンスのレイテンシが増加します。DR とリモート リージョン レプリケーションでは、非同期レプリケーションのみを使用することをおすすめします。
  • 同期モードで PostgreSQL WAL ストリーミングを構成すると、通常のオペレーションまたは一般的なフェイルオーバーでデータ損失(RPO=0)が発生しません。ただし、このアプローチでは、すべてのスタンバイ インスタンスが失われたり、プライマリから到達不能になったりした直後にプライマリが再起動されるなど、特定の二重障害の状況でのデータ損失を防ぐことはできません。

データ保護オプション

次のステップ