跨區域複製資料

本頁說明如何建立及使用次要叢集,藉此進行跨區域複製。

如需跨區域複製的概念總覽,請參閱「關於跨區域複製」。

建立次要叢集

建立次要叢集時,Memorystore for Redis Cluster 會複製並套用部分主要叢集設定,做為次要叢集設定。詳情請參閱「叢集設定」。

您可以使用Google Cloud 控制台或 Google Cloud CLI,在 Memorystore for Redis Cluster 中建立次要叢集。

控制台

  1. 前往 Google Cloud 控制台的「Memorystore for Redis Cluster」頁面。

    Memorystore for Redis Cluster

  2. 按一下主要叢集。主要叢集是您要建立的次要叢集的父項。

  3. 在側邊面板中,按一下「次要叢集」分頁標籤。

  4. 按一下「新增次要叢集」

  5. 在「新增次要叢集」視窗中,進行下列變更:

    1. 在「叢集 ID」欄位中,輸入您要建立的次要叢集 ID。ID 長度必須介於 1 至 63 個字元之間,且只能使用小寫字母、數字或連字號。開頭須為小寫英文字母,結尾須為小寫英文字母或數字,且在所屬區域中不得重複。

    2. 從「Region」(地區) 選單中,選取要放置次要叢集的地區。

    3. 在「可用區供應情形」部分,選取下列其中一個選項:

      • 如要將叢集的所有分片和副本分布於 Memorystore for Redis Cluster 建立叢集的區域內三個可用區,請選取「多區域」選項。

        舉例來說,如果您選取的區域是 us-central1,並選取「多區域」選項,則 Memorystore for Redis Cluster 會將叢集的碎片和副本分配到 us-central1-aus-central1-bus-central1-c 區域。如果可用區故障,叢集中的節點會容錯移轉至副本。

      • 如要將叢集的所有分片和副本都放在 Memorystore for Redis Cluster 建立叢集的區域內,請選取「單一區域」選項,然後從「區域」選單中選取區域。

        使用單一可用區可降低網路費用。不過,如果可用區發生故障,系統不會執行容錯移轉。

    4. 從「Replicas」(備用資源) 選單中,選取叢集的備用資源數量 (每個分片)。您可以有零、一或兩個副本。

    5. 從「Network」(網路) 選單中,選取叢集的網路。如要進一步瞭解 Memorystore for Redis Cluster 的網路,請參閱網路總覽

  6. 按一下「新增次要叢集」

gcloud

如要建立次要叢集,請使用 gcloud redis clusters create 指令。

gcloud redis clusters create CLUSTER_ID \
--project=PROJECT_ID \
--region=REGION_ID \
--cross-cluster-replication-role=secondary \
--network=NETWORK \
--primary-cluster=PRIMARY_CLUSTER_PATH

請將下列項目改為對應的值:

  • CLUSTER_ID:您要建立的次要叢集 ID。 ID 長度須介於 1 至 63 個字元之間,而且只能使用小寫英文字母、數字或連字號。開頭須為小寫英文字母,結尾須為小寫英文字母或數字,且在所屬區域中不得重複。
  • PROJECT_ID:您要在其中建立次要叢集的專案 ID。這與主要叢集所在的專案相同。
  • REGION_ID:您要讓次要叢集所在的區域 ID。
  • NETWORK:用於建立叢集的網路。格式必須為 projects/NETWORK_PROJECT_ID/global/networks/NETWORK_ID。您使用的網路 ID 必須與服務連線政策使用的網路 ID 相符。否則無法建立次要叢集。
  • PRIMARY_CLUSTER_PATH:主要叢集的路徑。例如:projects/my-project/locations/us-central1/clusters/my-primary-cluster。 只要不是次要叢集,您就可以選擇專案中的任何叢集做為主要叢集。

例如:

gcloud redis clusters create my-secondary-cluster \
--project=my-project \
--region=asia-east1 \
--cross-cluster-replication-role=secondary \
--network=projects/my-project/global/networks/default
--primary-cluster=projects/my-project/locations/us-central1/clusters/my-primary-cluster

查看次要叢集

您可以使用Google Cloud 控制台或 Google Cloud CLI 查看次要叢集的摘要資訊。

控制台

  1. 前往 Google Cloud 控制台的「Memorystore for Redis Cluster」頁面。

    Memorystore for Redis Cluster

  2. 按一下主要叢集旁的展開箭頭,這個叢集是您要查看資訊的次要叢集的父項。

  3. 按一下次要叢集。畫面上會顯示叢集的摘要資訊。

gcloud

如要查看次要叢集的相關資訊,包括列出複製群組中主要和次要叢集的成員欄位,請使用 gcloud redis clusters describe 指令。

gcloud redis clusters describe CLUSTER_ID \
--region=REGION_ID \

請將下列項目改為對應的值:

  • CLUSTER_ID:次要叢集的 ID
  • REGION_ID:次要叢集所在的區域 ID

執行切換作業

切換作業可將次要叢集升級為主要叢集,以進行災難復原,藉此反轉主要和次要叢集的角色。

您可以使用 Google Cloud 控制台或 Google Cloud CLI 執行切換作業。

控制台

  1. 前往 Google Cloud 控制台的「Memorystore for Redis Cluster」頁面。

    Memorystore for Redis Cluster

  2. 按一下主要叢集旁的展開箭頭,這個叢集是您要切換的次要叢集的父項。

  3. 按一下次要叢集。

  4. 按一下「升級為主要」

  5. 在「要將次要叢集升級為主要叢集嗎?」對話方塊中,輸入次要叢集的 ID,然後按一下「升級」

切換完成後,您必須將應用程式重新連線至新的主要叢集。

gcloud

如要執行切換作業,請使用 gcloud redis clusters switchover 指令。

gcloud redis clusters switchover CLUSTER_ID \
--project=PROJECT_ID \
--region=REGION_ID \

請將下列項目改為對應的值:

  • CLUSTER_ID:要切換的次要叢集 ID
  • PROJECT_ID:您的專案 ID
  • REGION_ID:次要叢集所在的區域 ID

切換完成後,您必須將應用程式重新連線至新的主要叢集。

卸離次要叢集

從主要叢集卸載一或多個次要叢集後,這些叢集就會成為功能完整的獨立叢集,允許讀取和寫入作業。詳情請參閱「如何使用跨區域複製功能」。

您可以使用 Google Cloud 控制台或 Google Cloud CLI 分離次要叢集。

卸載次要叢集

本節說明如何將次要叢集從主要叢集卸離。

控制台

  1. 前往 Google Cloud 控制台的「Memorystore for Redis Cluster」頁面。

    Memorystore for Redis Cluster

  2. 按一下主要叢集。這是次要叢集的父項,您要從主要叢集卸載次要叢集。

  3. 在側邊面板中,按一下「次要叢集」分頁標籤。

  4. 找出要從主要叢集分離的次要叢集,然後選取 ID 旁的核取方塊。

  5. 按一下「從主要資源卸載」

  6. 在「要卸載次要叢集嗎?」對話方塊中,輸入次要叢集的 ID,然後按一下「卸載」

gcloud

如要分離次要叢集,請使用 gcloud redis clusters detach 指令。

gcloud redis clusters detach CLUSTER_ID \
--project=PROJECT_ID \
--region=REGION_ID

請將下列項目改為對應的值:

  • CLUSTER_ID:要分離的次要叢集 ID
  • PROJECT_ID:您的專案 ID
  • REGION_ID:次要叢集所在的區域 ID

卸載多個次要叢集

本節說明如何從主要叢集卸載多個次要叢集。您也可以使用本節中的程序,將無法使用的次要叢集從主要叢集卸載。

控制台

  1. 前往 Google Cloud 控制台的「Memorystore for Redis Cluster」頁面。

    Memorystore for Redis Cluster

  2. 按一下主要叢集。這是次要叢集的父項,您要從主要叢集卸離次要叢集。

  3. 在側邊面板中,按一下「次要叢集」分頁標籤。

  4. 找出要從主要叢集卸載的次要叢集 ID,然後選取旁邊的核取方塊。

  5. 按一下「從主要資源卸載」

  6. 在「Detach secondary clusters?」(要卸載次要叢集嗎?) 對話方塊中,執行下列操作:

    1. 輸入次要叢集的 ID。請使用半形逗號分隔 ID。

    2. 按一下「Detach」(卸離)

gcloud

如要分離多個次要叢集,請使用 gcloud redis clusters detach-secondaries 指令。

gcloud redis clusters detach-secondaries PRIMARY_CLUSTER_ID \
--clusters-to-detach=SECONDARY_CLUSTERS \
--project=PROJECT_ID \
--region=PRIMARY_CLUSTER_REGION_ID

請將下列項目改為對應的值:

  • PRIMARY_CLUSTER_ID:主要叢集的 ID。
  • SECONDARY_CLUSTERS:要分離的次要叢集。請使用半形逗號分隔叢集 ID。每個次要叢集都必須採用以下格式:projects/PROJECT_ID/locations/REGION_ID/clusters/CLUSTER_ID
  • PROJECT_ID:您的專案 ID。
  • PRIMARY_CLUSTER_REGION:主要叢集所在的區域 ID。

例如:

gcloud redis clusters detach-secondaries my-primary-cluster \
--clusters-to-detach=projects/my-project/locations/us-west4/clusters/my-secondary-cluster-1,projects/my-project/locations/asia-southeast2/clusters/my-secondary-cluster-2  \
--project=my-project \
--region=us-central1

更新叢集設定

本節提供更新叢集設定的連結。更新叢集設定的程序會因您變更主要叢集或次要叢集的設定而異。如要進一步瞭解如何更新設定,請參閱「叢集設定」。

更新主要叢集的設定

您必須變更主要叢集的下列設定。完成後,Memorystore for Redis Cluster 會將變更同步至次要叢集。

更新次要叢集的設定

您必須變更次要叢集上的下列設定:

刪除使用跨區域複製的叢集

本節說明如何刪除使用跨區域複寫功能的主要和次要叢集。

刪除主要叢集

如要刪除主要叢集,請按照下列步驟操作:

  1. 卸載刪除所有次要叢集。
  2. 如要刪除主要叢集,請按照「刪除叢集」一文中的操作說明進行。

為避免意外刪除,您無法同時刪除主要和次要叢集。

刪除次要叢集

如要刪除次要叢集,請按照「刪除叢集」一文中的操作說明進行。叢集 ID 請使用次要叢集的 ID。