手動容錯移轉至主要或次要執行個體

本文說明如何手動容錯移轉主要或次要執行個體。

主要和次要執行個體的高可用性

AlloyDB for PostgreSQL 支援主要和次要執行個體的高可用性。

主要執行個體的高可用性

為確保高可用性 (HA),每個 AlloyDB 主要執行個體都有一個常態啟用的節點和一個待命節點,且這兩個節點位於不同區域。如果作用中節點無法使用,AlloyDB 會自動容錯移轉主要執行個體至待命節點,使待命節點成為新的作用中節點。

您可以隨時手動將主要執行個體容錯移轉至待命節點,即使作用中節點運作正常也沒問題。啟動手動容錯移轉時,AlloyDB 會執行下列操作:

  1. 讓主要節點離線。

  2. 將待命節點變成新的有效節點。

  3. 重新啟用先前的有效節點,做為新的待命節點。

手動容錯移轉會交換主要執行個體節點的有效和待命角色。您可以隨時觸發手動容錯移轉,讓系統執行這項交換作業。

舉例來說,假設您有一個主要執行個體,其作用中和待命節點分別位於 us-central1-aus-central1-b 區域。us-central1-a 發生中斷時,系統會觸發自動容錯移轉,導致 us-central1-b 區域代管作用中節點。如果希望將作用中節點保留在 us-central1-a 區域,可以手動啟動容錯移轉,讓 AlloyDB 將主要執行個體節點換回停機前的所在位置。

執行維護作業時,高可用性主要執行個體和基本執行個體通常只會短暫停機,時間不到一秒。手動容錯移轉是有意執行的受控程序,因此不適用於模擬非預期的硬體或網路故障。您可以使用錯誤注入功能,測試主要執行個體的高可用性

次要執行個體的高可用性

AlloyDB 提供次要執行個體的高可用性,支援災難復原,並在次要執行個體無法使用時減少停機時間。

根據預設,HA 會在次要執行個體上設定。

AlloyDB 次要執行個體包含下列節點:

  • 可回應要求的有效次要節點
  • 待命次要節點

主動和待命節點位於區域中的兩個不同可用區。如果 AlloyDB 偵測到有效節點無法使用,有效節點會容錯移轉至待命節點,由待命節點做為新的有效節點。然後將資料重新導向至新的作用中節點。這項程序稱為「容錯移轉」

事前準備

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

    如果您不具備上述任一角色,請與機構管理員聯絡,並要求存取權。

對主要執行個體執行手動容錯移轉

主控台

  1. 前往「Clusters」(叢集) 頁面。

前往「Clusters」(叢集)

  1. 在「資源名稱」欄中,按一下叢集名稱。

  2. 在「Instances in your cluster」(叢集中的執行個體) 部分,開啟主要執行個體的「Instance actions menu」(執行個體動作選單)

  3. 按一下「容錯移轉」

  4. 在隨即顯示的對話方塊中,輸入執行個體的 ID。

  5. 按一下「觸發容錯移轉」

gcloud

執行 gcloud alloydb instances failover 指令:

gcloud alloydb instances failover INSTANCE_ID \
    --region=REGION_ID \
    --cluster=CLUSTER_ID \
    --project=PROJECT_ID

更改下列內容:

  • INSTANCE_ID:執行個體的 ID。
  • REGION_ID:執行個體所在的區域。
  • CLUSTER_ID:執行個體所在的叢集 ID。
  • PROJECT_ID:叢集所在專案的 ID。

如要確認容錯移轉是否正常運作,請按照下列步驟操作:

  1. 執行容錯移轉前,請記下主要執行個體節點的可用區

  2. 執行容錯移轉後,請記下兩個節點的新區域。

  3. 確認作用中和待命節點的區域已互換。

在次要執行個體上執行手動容錯移轉

手動容錯移轉次要執行個體的步驟,與手動容錯移轉主要執行個體的步驟類似。

如要手動容錯移轉次要叢集,請按照下列步驟操作:

控制台

  1. 前往 Google Cloud 控制台的「Clusters」(叢集) 頁面。

    前往「Clusters」(叢集)

  2. 在「資源名稱」欄中,按一下次要叢集的名稱。

  3. 在「總覽」頁面中,前往「叢集中的執行個體」部分,選擇次要執行個體,然後按一下「容錯移轉」

  4. 在隨即顯示的對話方塊中輸入執行個體 ID,然後按一下「觸發容錯移轉」

gcloud

如要使用 gcloud CLI,您可以安裝及初始化 Google Cloud CLI,也可以使用 Cloud Shell

使用 gcloud alloydb instances failover 指令,強制次要執行個體容錯移轉其待命狀態。

 gcloud alloydb instances failover SECONDARY_INSTANCE_ID \
 --cluster=SECONDARY_CLUSTER_ID \
 --region=REGION_ID \
 --project=PROJECT_ID

更改下列內容:

  • SECONDARY_INSTANCE_ID:要容錯移轉的次要執行個體 ID。
  • SECONDARY_CLUSTER_ID:次要執行個體關聯的次要叢集 ID。
  • REGION_ID:次要執行個體所在區域的 ID,例如 us-central1
  • PROJECT_ID:次要叢集專案的 ID。

後續步驟