跨區域複製資料

本頁說明如何建立及管理次要執行個體,藉此使用跨區域複製功能。

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

建立次要執行個體

建立次要執行個體時,Memorystore for Valkey 會複製主要執行個體的某些設定,並套用為次要執行個體設定。詳情請參閱「執行個體設定」。

您可以使用Google Cloud 控制台或 Google Cloud CLI,在 Memorystore for Valkey 中建立次要執行個體。

控制台

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

    Memorystore for Valkey

  2. 按一下主要執行個體。主要執行個體是您要建立的次要執行個體的父項。

  3. 按一下側邊面板中的「次要執行個體」分頁標籤。

  4. 按一下「新增次要執行個體」

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

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

    2. 從「Region」(區域) 選單中,選取要放置次要執行個體的區域。

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

      • 如要將執行個體的所有分片和副本,分布在 Memorystore for Valkey 建立執行個體的區域內三個可用區,請選取「多個可用區」選項。

        舉例來說,如果您選取的區域是 us-central1,並選取「多區域」選項,則 Memorystore for Valkey 會將執行個體的分片和副本分散到 us-central1-aus-central1-b
        us-central1-c 可用區。如果可用區故障,執行個體中的節點會容錯移轉至副本。

      • 如要讓執行個體的所有分片和副本都位於 Memorystore for Valkey 建立執行個體的區域中,請選取「單一可用區」選項,然後從「可用區」選單中選取可用區。

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

    4. 從「副本」選單中,選取執行個體的副本數量 (每個分片)。您可以有零、一或兩個副本。

    5. 從「Network」(網路) 選單中,為執行個體選取網路。如要進一步瞭解 Memorystore for Valkey 的網路功能,請參閱「網路」。

  6. 按一下「新增次要執行個體」

gcloud

如要建立次要執行個體,請使用 gcloud memorystore instances create 指令。

gcloud memorystore instances create INSTANCE_ID \
--project=PROJECT_ID \
--location=REGION_ID \
--cross-instance-replication-config-role=secondary \
--psc-auto-connections=network=NETWORK,projectId=PROJECT_ID \
--primary-instance=PRIMARY_INSTANCE_PATH

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

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

例如:

gcloud memorystore instances create my-secondary-instance \
--project=my-project \
--location=us-central1 \
--cross-instance-replication-config-role=secondary \
--psc-auto-connections=network=projects/my-project/global/networks/default,projectId=my-project \
--primary-instance=projects/my-project/locations/us-central1/instances/my-primary-instance

查看次要執行個體

您可以使用Google Cloud 控制台或 Google Cloud CLI 查看次要執行個體的摘要資訊。

控制台

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

    Memorystore for Valkey

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

  3. 按一下次要執行個體。系統會顯示執行個體的摘要資訊。

gcloud

如要查看次要執行個體的相關資訊,包括列出複製群組中主要和次要執行個體的成員資格欄位,請使用 gcloud memorystore instances describe 指令。

gcloud memorystore instances describe INSTANCE_ID \
--project=PROJECT_ID \
--location=REGION_ID

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

  • INSTANCE_ID:次要執行個體的 ID
  • PROJECT_ID:包含次要執行個體的專案 ID
  • REGION_ID:次要執行個體所在的區域 ID

執行切換作業

切換作業可將次要執行個體升級為主要執行個體,以進行災難復原,藉此反轉主要和次要執行個體的角色。詳情請參閱「關於跨區域複製」。

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

控制台

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

    Memorystore for Valkey

  2. 按一下主要執行個體旁的展開箭頭。這個執行個體是您要切換的次要執行個體父項。

  3. 按一下次要執行個體。

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

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

切換完成後,您必須將應用程式重新連線至新的主要執行個體。

gcloud

如要執行切換作業,請使用 gcloud memorystore instances update 指令。

gcloud memorystore instances update INSTANCE_ID \
--project=PROJECT_ID \
--location=REGION_ID \
--clear-primary-instance \
--cross-instance-replication-config-role=primary \
--cross-instance-replication-config-secondary-instances=[instance=SECONDARY_INSTANCE_PATH]

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

  • INSTANCE_ID:您要透過切換作業升級為主要執行個體的次要執行個體 ID。
  • PROJECT_ID:包含次要執行個體的專案 ID。
  • REGION_ID:次要執行個體所在的區域 ID。
  • SECONDARY_INSTANCE_PATH:次要執行個體的路徑。例如:projects/my-project/locations/us-central1/instances/my-secondary-instance

    如果您有多個次要執行個體,請以半形逗號分隔各個執行個體。例如 [instance=projects/my-project/locations/us-central1/instances/my-first-secondary-instance,instance=projects/my-project/locations/europe-west1/instances/my-second-secondary-instance]

假設您有下列執行個體,且這些執行個體位於 my-project 專案中:

  • instance-1:這個主要執行個體位於 us-east1 區域。
  • instance-2:這個次要執行個體位於 asia-east1 區域。
  • instance-3:這個次要執行個體位於 southamerica-east1 區域。

您想反轉 instance-1instance-2 的角色,讓 instance-2 成為新的主要執行個體,而 instance-1 則成為次要執行個體。

如要這麼做,請使用下列程式碼:

gcloud memorystore instances update instance-2 \
--project=my-project \
--location=asia-east1 \
--clear-primary-instance \
--cross-instance-replication-config-role=primary \
--cross-instance-replication-config-secondary-instances=[instance=projects/my-project/locations/us-east1/instances/instance-1,instance=projects/my-project/locations/southamerica-east1/instances/instance-3]

切換完成後,您必須將應用程式重新連線至新的主要執行個體。

卸載次要執行個體

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

您可以使用 Google Cloud 控制台或 Google Cloud CLI 分離次要執行個體。

卸載次要執行個體

本節說明如何將次要執行個體從主要執行個體卸載。

控制台

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

    Memorystore for Valkey

  2. 按一下主要執行個體。這是次要執行個體的父項,您要從主要執行個體卸載次要執行個體。

  3. 按一下側邊面板中的「次要執行個體」分頁標籤。

  4. 找到要從主要執行個體分離的次要執行個體,然後選取 ID 旁的核取方塊。

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

  6. 在「Detach secondary instance?」(要卸離次要執行個體嗎?) 對話方塊中,輸入次要執行個體的 ID,然後按一下「Detach」(卸離)

gcloud

如要卸離次要執行個體,請使用 gcloud memorystore instances update 指令。

gcloud memorystore instances update INSTANCE_ID \
--project=PROJECT_ID \
--location=REGION_ID \
--cross-instance-replication-config-role=none \
--clear-primary-instance

更改下列內容:

  • INSTANCE_ID:要分離的次要執行個體 ID
  • PROJECT_ID:包含次要執行個體的專案 ID
  • REGION_ID:次要執行個體所在的區域

卸載多個次要執行個體

本節說明如何從主要執行個體中分離多個次要執行個體。您也可以使用本節中的程序,將無法使用的次要執行個體從主要執行個體中分離。

控制台

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

    Memorystore for Valkey

  2. 按一下主要執行個體。這是次要執行個體的父項,您要從主要執行個體卸載次要執行個體。

  3. 按一下側邊面板中的「次要執行個體」分頁標籤。

  4. 選取要從主要執行個體卸離的次要執行個體 ID 旁邊的核取方塊。

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

  6. 在「要卸載次要執行個體嗎?」對話方塊中,執行下列操作:

    1. 輸入次要執行個體的 ID。請使用半形逗號分隔 ID。

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

gcloud

如要卸離多個次要執行個體,請使用 gcloud memorystore instances update 指令。

gcloud memorystore instances update PRIMARY_INSTANCE_ID \
--project=PROJECT_ID \
--location=PRIMARY_INSTANCE_REGION_ID \
--remove-cross-instance-replication-config-secondary-instances=[instance=SECONDARY_INSTANCES] \
--cross-instance-replication-config-role=none

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

  • PRIMARY_INSTANCE_ID:主要執行個體的 ID。
  • PROJECT_ID:包含次要執行個體的專案 ID。
  • PRIMARY_INSTANCE_REGION_ID:主要執行個體所在的區域 ID。
  • SECONDARY_INSTANCES:要分離的次要執行個體。請使用半形逗號分隔執行個體 ID。每個次要執行個體都必須採用 projects/PROJECT_ID/locations/SECONDARY_INSTANCE_REGION_ID/instances/INSTANCE_ID 格式。

例如:

gcloud memorystore instances update my-primary-instance \
--project=my-project \
--location=us-central1 \
--remove-cross-instance-replication-config-secondary-instances=[instance=projects/my-project/locations/us-west4/instances/my-secondary-instance-1,instance=projects/my-project/locations/asia-southeast2/instances/my-secondary-instance-2] \
--cross-instance-replication-config-role=none

您也可以指定不要卸載的執行個體清單,從主要執行個體卸載次要執行個體。如果您未將執行個體納入這份清單,Memorystore for Valkey 會將其分離。

假設您有下列次要執行個體:

  • instance-1:這個執行個體位於 us-east1 區域。
  • instance-2:這個執行個體位於 asia-east1 區域。

您想從「my-primary-instance」卸載兩個次要執行個體。這個主要執行個體位於 us-central1 區域,且包含在 my-project 專案中。

如要卸載次要執行個體,請使用下列程式碼:

gcloud memorystore instances update my-primary-instance \
--project=my-project \
--location=us-central1 \
--cross-instance-replication-config-secondary-instances=[]
--cross-instance-replication-config-role=none

在本例中,由於空值 [] 已指派給 --cross-instance-replication-config-secondary-instances 參數,因此 Memorystore for Valkey 會將所有次要執行個體從主要執行個體中分離。

更新執行個體設定

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

更新主要執行個體的設定

您必須在主要執行個體上變更下列設定。完成後,Memorystore for Valkey 會將變更同步至次要執行個體。

更新次要執行個體的設定

您必須在次要執行個體上變更下列設定:

刪除使用跨區域複寫的執行個體

本節說明如何刪除使用跨區域複製功能的主要和次要執行個體。

刪除主要執行個體

如要刪除主要執行個體,請按照下列步驟操作:

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

為避免意外刪除,您無法同時刪除主要和次要執行個體。

刪除次要執行個體

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