Azure Cosmos DB for PostgreSQL の可用性ゾーンの停止の回復性

適用対象: Azure Cosmos DB for PostgreSQL (PostgreSQL の Citus データベース拡張機能を利用)

多くの Azure リージョンには可用性ゾーンがあります。 可用性ゾーン (AZ) は、リージョン内のデータセンターの分離されたグループです。 可用性ゾーンは、リージョン内の他の可用性ゾーンに接続する待機時間が短くなる程度に近距離です。 ラウンドトリップ待ち時間が 2 ミリ秒未満の高パフォーマンス ネットワークによって接続されます。

同時に、可用性ゾーンは、ローカルの停止や天候の影響を複数のゾーンが受ける確率を下げる程度に遠距離です。 可用性ゾーンは、独立した電源、冷却、ネットワーク インフラストラクチャを備えています。 これらは、あるゾーンで障害が発生した場合に、さまざまな Azure サービスにわたって残りのゾーンがリージョンのサービスをサポートするように設計されています。

Azure Cosmos DB for PostgreSQL は、信頼性とディザスター リカバリーを向上させるために可用性ゾーンをサポートしています。 可用性ゾーンの利点は、Azure Cosmos DB for PostgreSQL クラスターで高可用性が有効になっているかどうかによって異なります。

リージョンのサービス コンポーネントに対する可用性ゾーン停止の回復性

サポートされている各 Azure リージョンには、個々のクラスターに属さないが、マネージド サービスを実行する上で重要な部分である Azure Cosmos DB for PostgreSQL サービス コンポーネントが多数存在します。 これらのコンポーネントを使用すると、新しいクラスターのプロビジョニングや既存のクラスターのスケーリングなどのすべての管理操作と、ノードの正常性の監視などのすべての内部操作を継続的に実行できます。

Azure リージョンで可用性ゾーンがサポートされているときは、これらのサービス コンポーネントがすべて AZ 冗長になるように構成されます。 これは、すべての Azure Cosmos DB for PostgreSQL サービス コンポーネントが 1 つの AZ の停止を持ちこたえること、つまり単一の AZ 停止に対する回復性があることを意味します。

クラスターが高可用性で構成されていてもいなくても、その継続的な操作はこれらのサービス コンポーネントによって異なります。 サービス コンポーネントの AZ 冗長性は、Azure Cosmos DB for PostgreSQL の可用性ゾーン停止の回復性のクリティカルな要素です。

高可用性がある場合とない場合の、可用性ゾーンの停止がクラスターに与える影響

クラスター内のすべてのノードは、1 つの可用性ゾーンにプロビジョニングされます。 優先 AZ 設定を使用すると、すべてのクラスター ノードを、アプリケーションがデプロイされているのと同じ可用性ゾーンに配置できます。 すべてのノードを同じ AZ に設定すると、ノード間の待機時間が短くなるため、クラスター全体のパフォーマンスが向上します。

クラスターで高可用性 (HA) が有効になっているときは、すべてのプライマリ ノードが 1 つの AZ に作成され、すべてのスタンバイ ノードが別の AZ にプロビジョニングされます。 ノードは、次のイベント中に可用性ゾーン間を移動できます。

  • プライマリ HA 対応ノードでエラーが発生する。 この場合、プライマリ ノードのスタンバイが新しいプライマリになり、スタンバイ ノードの AZ がそのプライマリ ノードの新しい AZ になります。
  • 予定メンテナンス イベントがクラスターで発生する。 メンテナンスの終了時に、クラスター内のすべてのプライマリ ノードが同じ AZ に配置されます。

高可用性が有効になって "いる" 場合、AZ の停止中もクラスターを引き続き使用できます。このとき、影響を受ける AZ 内のプライマリ ノードでフェールオーバーが発生する可能性があります。 高可用性がクラスターで有効になって "いない" 場合、ノードがデプロイされている AZ の停止のみがクラスターの可用性に影響します。

Azure portal を使用するか、REST API などのプログラムによる方法を使用して、各プライマリ ノードの可用性ゾーンをいつでも確認できます。

可用性ゾーンの回復性のベネフィットを得るには、Azure Cosmos DB for PostgreSQL が AZ 停止の回復性用に構成されている Azure リージョンの 1 つにクラスターが存在する必要があります。

次のステップ