測試主要執行個體的高可用性

AlloyDB for PostgreSQL 提供區域和可用區執行個體類型。為確保高可用性 (HA),每個區域 AlloyDB 主要執行個體都有一個啟用中節點和一個待命節點,分別位於兩個不同的可用區。如果使用中的節點因任何原因而無法使用,AlloyDB 會自動將待命節點升級為新的使用中節點。

您可以插入錯誤,突然強制主要執行個體中的活動節點離線,藉此測試這項自動高可用性功能。AlloyDB 接著會啟動緊急高可用性程序,檢查主要執行個體的健康狀態,然後將待命節點重新指派為使用中節點。

故障插入也會啟動長時間執行的作業,在短暫間隔後,將先前的有效節點重新上線。該節點會成為主要執行個體的新備用節點。

如要快速切換主要執行個體節點的使用中和待命角色,請參閱「手動容錯移轉主要執行個體」。

事前準備

  • 您使用的 Google Cloud 專案必須啟用 AlloyDB 存取權。
  • 您必須在使用的 Google Cloud 專案中具備下列其中一個 IAM 角色:
    • roles/alloydb.admin (AlloyDB 管理員預先定義的 IAM 角色)
    • roles/owner (擁有者基本 IAM 角色)
    • roles/editor (編輯者基本 IAM 角色)

    如果您不具備上述任一角色,請向組織管理員要求存取權。

透過錯誤植入模擬服務中斷

如要測試主要執行個體的高可用性彈性,請使用 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。