高可用性についてプライマリ インスタンスをテストする

AlloyDB for PostgreSQL には、リージョン インスタンス タイプとゾーン インスタンス タイプがあります。高可用性(HA)を確保するため、リージョン AlloyDB プライマリ インスタンスには、2 つの異なるゾーンに配置されたアクティブ ノードとスタンバイ ノードの両方があります。なんらかの理由でアクティブ ノードが使用できなくなった場合、AlloyDB はスタンバイ ノードを自動的に昇格させて新しいアクティブ ノードにします。

この自動 HA 機能をテストするには、フォールト インジェクションを使用して、プライマリ インスタンスのアクティブ ノードを強制的にオフラインにします。AlloyDB は、緊急 HA プロシージャを開始してプライマリ インスタンスの状態を確認し、スタンバイ ノードをアクティブ ノードに切り替えます。

また、フォールト インジェクションは、以前のアクティブ ノードをすぐにオンラインに戻す長時間実行オペレーションも開始します。このノードは、プライマリ インスタンスの新しいスタンバイ ノードになります。

プライマリ インスタンスのノードのアクティブ ロールとスタンバイ ロールをより迅速に切り替える方法については、プライマリ インスタンスを手動でフェイルオーバーするをご覧ください。

始める前に

  • 使用している Google Cloud プロジェクトで AlloyDB へのアクセスが有効になっている必要があります。
  • 使用している Google Cloud プロジェクトに、次のいずれかの IAM ロールが必要です。
    • roles/alloydb.admin(AlloyDB 管理者の IAM 事前定義ロール)
    • roles/owner(オーナーの IAM 基本ロール)
    • roles/editor(編集者の IAM 基本ロール)

    これらのロールが付与されていない場合は、アクセス権を付与するよう組織管理者に依頼してください。

フォールト インジェクションで停止をシミュレートする

アクティブ ノードを強制的にシャットダウンしてプライマリ インスタンスの HA 復元力をテストするには、gcloud alloydb instances inject-fault コマンドを使用します。長時間実行オペレーションが完了すると、AlloyDB はノードを復元します。

gcloud alloydb instances inject-fault INSTANCE_ID \
    --fault-type=stop-vm \
    --region=REGION_ID \
    --cluster=CLUSTER_ID \
    --project=PROJECT_ID
  • INSTANCE_ID: インスタンスの ID。
  • REGION_ID: インスタンスが配置されるリージョン。
  • CLUSTER_ID: インスタンスが配置されているクラスタの ID。
  • PROJECT_ID: クラスタが配置されるプロジェクトの ID。