自動クロスリージョン フェイルオーバーのための Private Service Connect のヘルスチェックについて

Private Service Connect のヘルスチェックを使用すると、サービス プロデューサーは、Private Service Connect バックエンドを使用するサービス コンシューマーの自動クロスリージョン フェイルオーバーをサポートするヘルス状態を定義できます。これらの健全性状態は、サービス プロデューサーのバックエンド(VM またはネットワーク エンドポイント)の集約された健全性に基づいており、レスポンスの失敗から健全性を推測する外れ値検出よりも正確なフェイルオーバー シグナルをコンシューマーに提供します。

クロスリージョン フェイルオーバーを有効にするには、サービス プロデューサーとコンシューマーの両方がマルチリージョン デプロイを使用する必要があります。Private Service Connect のヘルスチェックを構成すると、公開された各リージョン サービスのヘルス状態がコンシューマーのロードバランサに自動的に伝播されます。あるリージョンのサービス インスタンスが異常な状態になると、コンシューマーのロードバランサはそのサービスへのトラフィックの転送を停止し、代わりに別のリージョンの正常なサービス インスタンスにトラフィックを転送します。

デプロイの要件

自動フェイルオーバーに Private Service Connect ヘルスを使用するには、このセクションで説明するように、サービス プロデューサーとサービス コンシューマーの両方がマルチリージョン デプロイ用にリソースを構成する必要があります。ロードバランサとバックエンドのタイプの要件の詳細については、仕様をご覧ください。

プロデューサーの構成:

コンシューマーの構成:

この例は、複数のリージョンで公開されているサービスに接続するコンシューマー グローバル外部アプリケーション ロードバランサを示しています。サポートされているグローバルまたはクロスリージョン ロードバランサを使用してマルチリージョン サービスにアクセスすると、サービス コンシューマーは Private Service Connect のヘルスチェックを利用して、クロスリージョン フェイルオーバーを自動的に行うことができます(クリックして拡大)。

Private Service Connect のヘルス コンポーネント

Private Service Connect のヘルスチェックは、次のコンポーネントを使用して、自動クロスリージョン フェイルオーバーをサポートします。

複数のヘルスソース(それぞれにヘルス集計ポリシーが設定されている)が複合ヘルスチェックで結合され、ヘルス デスティネーションが更新されます。

この図は、Private Service Connect の健全性の主要コンポーネントを示しています。ヘルス集計ポリシーは、ヘルスソースが正常とみなされる条件を定義します。個々のヘルスソースの健全性状態は、複合ヘルスチェックによって 1 つの状態に統合され、結果はヘルス宛先に配信されます。

ヘルス集計ポリシー

ヘルス集約ポリシーは、バックエンド サービスが正常とみなされるために満たす必要のある条件を定義するために作成するリソースです。ポリシーは、定期的なヘルスチェックによって決定されたバックエンド サービスのバックエンド(インスタンス グループ内の VM または NEG 内のネットワーク エンドポイント)のヘルス状態を集約します。

次の 2 つの構成可能な条件が満たされている場合、バックエンド サービスは正常とみなされます。

  • 正常なエンドポイントの割合: 正常である必要があるバックエンドの最小割合。デフォルトは 60% です。

  • 正常なエンドポイントの最小数: 正常でなければならないバックエンドの最小数。デフォルト値は 1 です。

たとえば、バックエンド サービスのバックエンドの 75% 以上が正常で、正常なバックエンドが 3 つ以上あることを指定するポリシーを作成できます。正常なバックエンドの数がこれらのしきい値のいずれかを下回ると、バックエンド サービスは異常とみなされます。

健康に関する情報源

ヘルスソースは、複合ヘルスチェックの一部として、単一のバックエンド サービスの健全性を集計に使用できるようにするリソースです。ヘルスソースを作成するときに、次の項目を指定します。

  • モニタリングするバックエンド サービス
  • バックエンド サービスの健全性を判断するヘルス集計ポリシー

ヘルスソースは、ヘルス集約ポリシーで定義された条件を使用して、関連付けられたバックエンド サービスのヘルス状態を判断します。

複合ヘルスチェック

複合ヘルスチェックは、1 つ以上のヘルスソースのヘルス状態を集計して、リージョンで公開されたサービスの単一の複合ヘルス状態を生成するリソースです。関連付けられた各ヘルスソースが正常な場合、公開されたサービスは正常とみなされます。ヘルスソースのいずれかが異常な場合、サービスは異常と見なされます。

健康エリア

ヘルス宛先は、複合ヘルスチェックから最終的な複合ヘルス状態を受け取ります。公開されたサービスの場合、ヘルスチェックの宛先はプロデューサーのロードバランサの転送ルールです。ヘルス状態は、この転送ルールに接続するコンシューマー ロードバランサに自動的に伝播されます。

仕様

Private Service Connect の健全性の仕様は次のとおりです。

  • 動作:

    • バックエンド サービス内の個々のバックエンドの状態は、標準のヘルスチェックによって判断されます。
    • 構成可能なヘルス集約ポリシーは、個々のバックエンドのヘルスに基づいて、バックエンド サービスの全体的なヘルス状態を決定します。
    • 複合ヘルスチェックは、ヘルスソースとして構成された 1 つ以上のバックエンド サービスのヘルス状態を集約し、複合ヘルス状態を作成します。
    • 複合ヘルス ステータスは、公開サービスの転送ルールであるヘルス宛先に提供されます。
    • 複合ヘルス状態は、接続されたコンシューマー ロードバランサに自動的に伝播されます。異常な状態は、リージョン間の自動フェイルオーバーをトリガーします。
  • 構成:

制限事項

Private Service Connect のヘルスチェックには次の制限があります。

  • Private Service Connect のヘルスチェックによって生成された複合ヘルス状態は、コンシューマー ロードバランサでのみ確認でき、ログで確認することはできません。
  • バックエンド サービスや、それらが参照する転送ルールなど、すべての Private Service Connect ヘルス リソースは、同じプロジェクトに存在する必要があります。
  • あるサービスの複合ヘルス状態を別のサービスのヘルスソースとして使用することはできません。
  • 接続されているコンシューマーに影響を与えないヘルスチェック構成をテストするモードはありません。構成された複合ヘルスチェックは、フェイルオーバーを直ちにトリガーできます。
  • Private Service Connect のヘルスチェックは、公開サービスにアクセスする Private Service Connect バックエンドのみをサポートします。

料金

Private Service Connect のヘルスチェックの使用に追加料金はかかりません。ただし、VPC ネットワーク内のリソースとネットワーク トラフィックについては課金されます。

詳細については、VPC の料金をご覧ください。

次のステップ