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

PostgreSQL 適用的 AlloyDB 提供區域和可用區執行個體類型。為確保高可用性 (HA),每個區域 AlloyDB 主要執行個體都有一個常態啟用的節點和一個待命節點,分別位於兩個不同區域。如果作用中節點因故無法使用,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。