本頁面說明如何建立及使用次要叢集,藉此進行 AlloyDB for PostgreSQL 跨區域複製。
如需跨區域複製的概念總覽,請參閱「關於跨區域複製」。
事前準備
- 您使用的 Google Cloud 專案必須啟用 AlloyDB 存取權。
- 您必須在使用的 Google Cloud 專案中具備下列任一 IAM 角色:
roles/alloydb.admin(AlloyDB 管理員預先定義的 IAM 角色)roles/owner(擁有者基本 IAM 角色)roles/editor(編輯者基本 IAM 角色)
如果您不具備上述任一角色,請與組織管理員聯絡,並要求存取權。
建立次要叢集
建立次要叢集時,AlloyDB 會將主要叢集的部分設定 (包括時間點復原 (PITR) 和備份設定) 複製並套用至次要叢集。建立次要叢集後,AlloyDB 不會將任何讀取集區執行個體新增至次要叢集,無論主要叢集上有多少讀取集區執行個體。
如果您在建立次要叢集後更新主要叢集設定,次要叢集不會套用這些變更。不過,您可以手動更新次要叢集,取得主要叢集的最新設定。
一個主要叢集最多可以有五個次要叢集。所有次要叢集都會從單一主要執行個體複製資料。如果升級次要叢集,該叢集就會成為獨立的主要叢集。
下圖說明如何在 us-east4 中升級名為 cluster-2 的次要叢集:

圖 1. 升級次要叢集的範例。
如要建立 AlloyDB 次要叢集和次要執行個體,請按照下列步驟操作:
根據預設,AlloyDB 會在建立次要執行個體時,使用與主要執行個體相同的機器設定。不過,如果您在建立次要執行個體後向上擴充主要執行個體,AlloyDB 不會自動向上擴充次要執行個體,您必須手動擴充。
控制台
前往 Google Cloud 控制台的「Clusters」(叢集) 頁面。
按一下「資源名稱」欄中的叢集。
在「總覽」頁面中,按一下「建立次要叢集」。
設定次要叢集:
- 在「叢集 ID」欄位中,輸入次要叢集的資源 ID。
- 為次要叢集選取與主要叢集區域不同的區域。
- 選取預設的 Google 代管加密或客戶自行管理的金鑰 (CMEK),做為加密次要叢集的加密方法。
如要使用 CMEK 金鑰加密這個叢集,請按照下列步驟操作:
- 按一下「進階加密選項」。
- 選取「客戶自行管理的加密金鑰 (CMEK)」。
從顯示的選單中選取客戶管理的金鑰。
Google Cloud 控制台會將這份清單限制為與新叢集位於相同Google Cloud 專案和區域的金鑰。
如要使用不在清單中的金鑰,請按照下列步驟操作:
- 按一下「找不到金鑰嗎?」輸入金鑰資源名稱。
- 在「金鑰資源名稱」欄位中輸入資源名稱。
- 按一下 [儲存]。
- 按一下「繼續」。
搭配使用 CMEK 金鑰與 AlloyDB 時,需要進行一些額外設定。詳情請參閱「使用 CMEK」一文。
如果相關聯的主要執行個體是以 CMEK 金鑰加密,次要叢集也必須以 CMEK 金鑰加密。
設定次要執行個體。在「Instance ID」(執行個體 ID) 欄位中,輸入次要執行個體的資源 ID。資源 ID 在叢集中不得重複。
點選「建立叢集」。
gcloud
如要使用 gcloud CLI,可以安裝並初始化 Google Cloud CLI,也可以使用 Cloud Shell。
使用 gcloud alloydb clusters create-secondary 指令。
gcloud alloydb clusters create-secondary SECONDARY_CLUSTER_ID \ --region=REGION_ID \ --primary-cluster=projects/PROJECT_ID/locations/LOCATION_ID/clusters/ PRIMARY_CLUSTER_IDgcloud alloydb instances create-secondary SECONDARY_INSTANCE_ID \ --cluster=SECONDARY_CLUSTER_ID \ --region=REGION_ID
更改下列內容:
SECONDARY_CLUSTER_ID:要建立的次要叢集 ID。SECONDARY_INSTANCE_ID:要建立的次要執行個體 ID。REGION_ID:次要叢集區域的 ID,例如us-central1。PROJECT_ID:次要叢集專案的 ID。LOCATION_ID:主要叢集所在位置,例如us-central1。PRIMARY_CLUSTER_ID:次要叢集相關聯的主要叢集 ID。SECONDARY_CLUSTER_ID:次要執行個體相關聯的次要叢集 ID。ALLOWED_PSC_PROJECTS(選用):以半形逗號分隔的專案 ID 或專案編號清單,用於允許存取執行個體,例如my-project-1、12345、my-project-n。如果叢集使用 Private Service Connect 做為連線至執行個體的方法,則必須設定允許的專案或編號清單。--no-enable-automated-backup(選用):停用在次要叢集上建立自動備份。
如要建立啟用 Private Service Connect 的次要執行個體,請新增 allowed-psc-projects 標記,設定以半形逗號分隔的專案 ID 或專案編號清單,允許存取執行個體,例如 my-project-1、12345 和 my-project-n。
gcloud alloydb clusters create-secondary SECONDARY_CLUSTER_ID \ --region=REGION_ID \ --primary-cluster=projects/PROJECT_ID/locations/LOCATION_ID/clusters/ PRIMARY_CLUSTER_ID \gcloud alloydb instances create-secondary SECONDARY_INSTANCE_ID \ --cluster=SECONDARY_CLUSTER_ID \ --region=REGION_ID \ --allowed-psc-projects=ALLOWED_PSC_PROJECTS
更改下列內容:
ALLOWED_PSC_PROJECTS(選用):以半形逗號分隔的專案 ID 或專案編號清單,您要允許這些專案存取執行個體,例如my-project-1、12345和my-project-n。 如果叢集使用 Private Service Connect 做為連線至執行個體的方法,您必須設定允許的專案或號碼清單。
如要為啟用公開 IP 的叢集建立次要執行個體,請新增 --assign-inbound-public-ip=ASSIGN_IPV4 參數。
gcloud alloydb instances create-secondary SECONDARY_INSTANCE_ID \
--cluster=SECONDARY_CLUSTER_ID \
--region=REGION_ID \
--assign-inbound-public-ip=ASSIGN_IPV4(選用) 將以半形逗號分隔的 CIDR 區塊清單 (例如 64.233.160.0/16) 傳遞至 --authorized-external-networks 參數,即可在執行個體上設定授權的外部網路。
查看次要叢集
如要查看 AlloyDB 次要叢集的詳細資訊,請按照下列步驟操作:
前往 Google Cloud 控制台的「Clusters」(叢集) 頁面。
在「資源名稱」欄中,按一下次要叢集。
在「總覽」頁面中,查看次要叢集的所有詳細資料。
更新次要執行個體
您可以更新次要執行個體,新增、修改或刪除資料庫標記。您也可以調整次要執行個體的機型。
在次要執行個體上設定資料庫旗標
如要新增、修改或刪除資料庫旗標,請完成下列步驟:
控制台
前往 Google Cloud 控制台的「Clusters」(叢集) 頁面。
在「資源名稱」欄中,按一下要修改的次要叢集。
在「總覽」頁面中,前往「叢集內的執行個體」,選取次要執行個體,然後點選「編輯次要節點」。
從執行個體新增、修改或刪除資料庫旗標:
新增旗標
- 如要為執行個體新增資料庫旗標,請按一下「新增旗標」。
- 從「New database flag」(新的資料庫標記) 清單中選取標記。
- 提供旗標值。
- 按一下 [完成]。
修改旗標
- 如要修改執行個體中的資料庫旗標,請展開資料庫旗標,然後在「編輯資料庫旗標」專區中修改現有旗標的值。
- 按一下 [完成]。
刪除標記
- 如要從執行個體刪除資料庫旗標,請選取旗標,然後按一下刪除圖示。
- 按一下 [完成]。
按一下「更新次要電子郵件地址」。
gcloud
使用 gcloud alloydb instances update 指令變更次要執行個體的資料庫旗標。
gcloud alloydb instances update SECONDARY_INSTANCE_ID \
--database-flags FLAGS_LIST \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID更改下列內容:
SECONDARY_INSTANCE_ID:次要執行個體的 ID。FLAGS_LIST:以半形逗號分隔的一或多個資料庫旗標規格清單。每個規格都包含標記名稱、等號 (=) 和要指派給標記的值。如果資料庫旗標不接受值,請提供旗標名稱,後面加上等號 (=)。REGION_ID:次要執行個體所在的區域,例如us-central1。CLUSTER_ID:次要執行個體所在的叢集 ID。PROJECT_ID:次要叢集所在的專案 ID。
調整次要執行個體的機型
如要調整次要執行個體的機型,請完成下列步驟:
控制台
前往 Google Cloud 控制台的「Clusters」(叢集) 頁面。
在「資源名稱」欄中,按一下要修改的次要叢集。
在「總覽」頁面中,前往「叢集內的執行個體」部分,然後按一下「編輯次要節點」。
請注意,如果頁面回報叢集「狀態」為「維護」,則無法執行這項動作。「狀態」變更為「就緒」後,即可再次使用這項動作。
選取機型。
按一下「更新次要電子郵件地址」。
gcloud
使用 gcloud alloydb instances
update 指令變更次要執行個體的機型。
gcloud alloydb instances update SECONDARY_INSTANCE_ID \
--cpu-count=CPU_COUNT \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID更改下列內容:
SECONDARY_INSTANCE_ID:要更新的次要執行個體 ID。CPU_COUNT:執行個體所需的 vCPU 數量。 有效值包括:2(2 個 vCPU,16 GB RAM)4(4 個 vCPU,32 GB RAM)8(8 個 vCPU,64 GB RAM)16(16 個 vCPU,128 GB RAM)32(32 個 vCPU,256 GB RAM)64(64 個 vCPU,512 GB RAM)
REGION_ID:執行個體所在的區域。
CLUSTER_ID:執行個體所在的叢集 ID。
PROJECT_ID:叢集所在的專案 ID。
如果指令傳回的錯誤訊息包含「invalid cluster state MAINTENANCE」字串,表示叢集正在進行例行維護。這會暫時禁止重新設定執行個體。叢集返回 READY 狀態後,請再次執行指令。
如要查看叢集狀態,請參閱「查看叢集詳細資料」。
在次要叢集中新增讀取集區執行個體
如要在次要叢集中新增讀取集區執行個體,請按照下列步驟操作:
前往 Google Cloud 控制台的「Clusters」(叢集) 頁面。
在「資源名稱」欄中,按一下要新增讀取集區執行個體的次要叢集。
在「總覽」頁面中,前往「叢集中的執行個體」部分,然後按一下「新增讀取集區」。
設定讀取集區執行個體:
- 在「Read pool instance ID」(讀取集區執行個體 ID) 欄位中,輸入讀取集區執行個體的 ID。
- 在「節點計數」欄位中,輸入節點計數。 讀取集區執行個體中的節點數決定了執行個體的整體運算能力。叢集內所有讀取集區執行個體最多可有 20 個節點。
- 選取機型。
選用:為執行個體設定自訂旗標。針對每個標記執行下列操作:
- 按一下「新增旗標」。
- 從「New database flag」(新的資料庫標記) 清單中選取標記。
- 提供旗標值。
- 按一下 [完成]。
按一下「新增讀取集區」。
升級次要叢集
升級次要叢集前,請先執行下列步驟,確認次要叢集已套用主要叢集提供的所有交易:
- 停止對主要叢集的所有寫入作業。
完成下列步驟,檢查次要叢集的複製狀態:
前往 Google Cloud 控制台的「Clusters」(叢集) 頁面。
在叢集清單中,按一下要升級的次要叢集名稱。
在叢集詳細資料頁面中,按一下「監控」。
在「監控」清單中,選取次要執行個體。清單中會顯示「次要:INSTANCE_NAME」。
在指標清單中,找出「從主要執行個體複製時的延遲時間」圖表。
確認圖表顯示的延遲時間極短。
延遲值為
0最為理想。如果延遲時間超過0,您仍可升級次要叢集,但可能會遺失主要叢集已提交的近期交易。在指標清單中,找到「複寫狀態」圖表。
確認圖表中代表的所有節點都有
streaming值。
如要將次要叢集升級為主要叢集,請按照下列步驟操作:
控制台
前往 Google Cloud 控制台的「Clusters」(叢集) 頁面。
在「資源名稱」欄中,按一下要升級為主要叢集的次要叢集。
在「總覽」頁面中,按一下「升級叢集」。
在隨即顯示的對話方塊中,輸入次要叢集 ID,確認要升級叢集。
點選「升級」。
叢集升級後,「總覽」頁面的「類型:次要叢集 (可用性高)」欄位會更新為「類型:高可用性叢集 (具備讀取集區)」。
gcloud
使用 gcloud alloydb clusters promote 指令:
gcloud alloydb clusters promote SECONDARY_CLUSTER_ID \
--region=REGION_ID \
--project=PROJECT_ID \更改下列內容:
SECONDARY_CLUSTER_ID:要升級的次要叢集 ID。REGION_ID:次要叢集區域的 ID,例如us-central1。PROJECT_ID:次要叢集專案的 ID。
執行切換作業
執行切換作業前,請先確認主要和次要執行個體所屬的所有區域都處於連線狀態,且執行個體運作正常。詳情請參閱「使用 AlloyDB 系統洞察資訊主頁監控執行個體」。
如果您有多個次要叢集,執行切換作業時會發生下列變更:
- 接收切換指令的次要叢集會成為主要叢集。
- 先前的主要叢集會變成次要叢集,並從新的主要叢集複製資料。
- 所有其他次要叢集都會改為從新的主要叢集複製資料。
下圖說明從 us-central1 中的 cluster-1 切換至 us-east4 中的 cluster-2:

圖 2:以下範例說明如何切換至兩個次要叢集之一。
如要執行切換作業,請按照下列步驟操作:
控制台
前往 Google Cloud 控制台的「Clusters」(叢集) 頁面。
在「資源名稱」欄中,按一下要切換為主要叢集的次要叢集。
在「總覽」頁面上,按一下「切換」。
在隨即顯示的對話方塊中,輸入次要叢集 ID,確認要切換叢集。
按一下「切換」。
叢集切換完成後,「總覽」頁面上的「類型:次要叢集」欄位會更新為「叢集類型:主要叢集」和「叢集類型:次要叢集」。
gcloud
使用 gcloud alloydb clusters switchover 指令:
gcloud alloydb clusters switchover SECONDARY_CLUSTER_ID \
--region=REGION_ID \
--project=PROJECT_ID \更改下列內容:
SECONDARY_CLUSTER_ID:要升級的次要叢集 ID。REGION_ID:次要叢集區域的 ID,例如us-central1。PROJECT_ID:次要叢集專案的 ID。