このリファレンス アーキテクチャは、次のユースケースに最適です。
- ミッション クリティカルなアプリケーションには、ゾーン保護に加えてリージョン保護が必要です。
この可用性リファレンス アーキテクチャでは、HA 用にリージョン内に、DR 用にリージョン間に読み取りレプリカが組み込まれています。このマルチリージョン デプロイにより、広範囲にわたる停電や大規模な自然災害などの重大な中断から保護されます。
可用性リファレンス アーキテクチャの考慮事項
この可用性リファレンス アーキテクチャを評価する際は、次の要素を考慮してください。
- リージョン内およびリージョン間のネットワーク レイテンシと帯域幅
- データベースとアプリケーション サーバーの地理的な配置
- 読み取り専用ワークロードをレプリカにオフロードする戦略
- リモート DR リージョンに高可用性をデプロイする
特にリージョン アプリケーション サーバーを使用する場合は、読み取り専用ロード バランシングが必要になることがあります。これにより、リクエストが最も近いデータベースに転送され、レスポンスが最速になります。詳細については、従来のマルチリージョン アプリケーション ロードバランサへのリクエストの転送をご覧ください。
クロスリージョン レプリケーションでは、トランザクション負荷やネットワーク容量によってレプリケーションの遅延が増加しないよう、追加のモニタリングが必要になることがあります。
DR を成功させるには、DR テストを徹底的に実施してください。アプリケーション サーバーとデータベースの間に高レイテンシのネットワーク接続がある場合は、アプリケーションの機能とスループットをテストすることが重要です。
リージョン内 HA とクロスリージョン DR のアーキテクチャ
図 1 は、3 つのアベイラビリティ ゾーンと 2 つのリージョンに 3 つの読み取りレプリカ スタンバイ データベースがある、推奨 HA / DR 構成です。
図 1: バックアップとクロスリージョン高可用性オプションを備えた AlloyDB Omni。
図 1 に示すように、ローカル(同じリージョン内)レプリカへの同期ストリーミング レプリケーションは高可用性を、地理的に離れたリモート レプリカへの非同期ストリーミング レプリケーションはリージョン障害復旧保護を提供します。構成全体おいて、読み取り / 書き込みオペレーションを実行できるのはプライマリ インスタンスのみです。他のレプリカは読み取りクエリを処理できます。
プライマリからリージョン内レプリカへのレプリケーションは同期モードで構成し、クロスリージョン レプリカへのレプリケーションは非同期モードで構成して、レイテンシがプライマリの書き込みパフォーマンスに影響しないようにします。リージョンの障害が発生した場合、この設定では RPO がゼロにならない可能性があります。ただし、障害発生時の RTO は短縮できます。プライマリ データベースがトランザクションを commit する前に、リモート スタンバイ データベースからの確認応答を待つ必要がないためです。
追加のクロスリージョン バックアップで読み取りレプリカ データベースからバックアップを作成すれば、プライマリ データベースから作成されたバックアップに冗長性を追加できます。
リードレプリカのバックアップ
Kubernetes デプロイを使用する場合、代替リージョンのセカンダリ デプロイが追加のバックアップで自動的に設定されます。Kubernetes 以外のデプロイを使用する場合は、ビジネスニーズに合わせてバックアップをデプロイできます。次の点を考慮してください。
- リモート バックアップがリージョン障害の影響を受ける可能性がある場合は、代替リージョンで追加のバックアップを開始する必要があります。
- バックアップの冗長性が必要な場合は、リージョン リードレプリカのバックアップを作成する必要があります。
マルチゾーンの可用性をサポートするリードレプリカのロケーション
Kubernetes 以外のデプロイでは、プライマリで障害が発生した場合にプライマリのロールを引き継ぐ特定のリードレプリカを選択できます。AlloyDB Omni Kubernetes Operator は、ゾーン内のノードの配置と、Pod をデプロイするノードを自動的に処理します。配置に影響する構成オプション(Pod アフィニティや許容範囲など)の一部は、AlloyDB Omni Operator を使用したデプロイに使用されるデータベース構成で使用できます。
HA のみから HA と DR のアーキテクチャへの移行
Kubernetes 以外のデプロイの場合は、新しいリージョンに新しいスタンバイを構築し、この構成を Patroni クラスタ構成に追加する必要があります。Kubernetes デプロイの場合、セカンダリ データベース クラスタと呼ばれる新しいリージョン Kubernetes デプロイを構築し、データセンター間のレプリケーションを有効にする必要があります。
実装
可用性リファレンス アーキテクチャを選択する場合は、次のメリット、制限事項、オプションに注意してください。
利点
- ゾーンとインスタンスの障害から保護する
- リージョンの障害から保護する
- データベースでリージョン障害が発生した場合に RTO を短縮する
制限事項
- 同期レプリケーションを使用すると、リージョン リカバリの RPO を短縮できますが、このアプローチではトランザクション パフォーマンスのレイテンシが増加します。DR とリモート リージョン レプリケーションでは、非同期レプリケーションのみを使用することをおすすめします。
- 同期モードで PostgreSQL WAL ストリーミングを構成すると、通常のオペレーションまたは一般的なフェイルオーバーでデータ損失(
RPO=0
)が発生しません。ただし、このアプローチでは、すべてのスタンバイ インスタンスが失われたり、プライマリから到達不能になったりした直後にプライマリが再起動されるなど、特定の二重障害の状況でのデータ損失を防ぐことはできません。
データ保護オプション
- バックアップと復元オプションの標準可用性アーキテクチャ。
- 高可用性オプションの拡張可用性アーキテクチャ。
次のステップ
- AlloyDB Omni 可用性リファレンス アーキテクチャの概要。
- AlloyDB Omni の標準可用性。
- AlloyDB Omni の拡張可用性。
- クロスデータセンター レプリケーションを使用する。
- 従来のマルチリージョン アプリケーション ロードバランサへのリクエストの転送。