使用跨区域复制

本页面介绍了如何通过创建和使用次要集群来使用跨区域复制。

如需从概念上大致了解跨区域复制,请参阅跨区域复制简介

创建次要集群

创建次要集群时,Memorystore for Redis Cluster 会复制一些主集群设置并将其作为次要集群设置应用。如需了解详情,请参阅集群设置

您可以使用Google Cloud 控制台或 Google Cloud CLI 在 Memorystore for Redis 集群中创建辅助集群。

控制台

  1. 在 Google Cloud 控制台中,前往 Memorystore for Redis 集群页面。

    Memorystore for Redis Cluster

  2. 点击主集群。主集群是您要创建的辅助集群的父集群。

  3. 在侧边栏中,点击次要集群标签页。

  4. 点击添加次要集群

  5. 添加次要集群窗口中,进行以下更改:

    1. 集群 ID 字段中,输入您要创建的次要集群的 ID。ID 的长度必须介于 1 到 63 个字符之间,且只能使用小写字母、数字或连字符。必须以小写字母开头,以小写字母或数字结尾,并且在其区域中是唯一的。

    2. 区域菜单中,选择您希望辅助集群所在的区域。

    3. 可用区级可用性部分中,选择以下选项之一:

      • 如果您希望集群的所有分片和副本都分布在 Memorystore for Redis 集群创建集群的区域的三个可用区内,请选择多可用区选项。

        例如,如果您选择的区域为 us-central1,并选择多可用区选项,则 Memorystore for Redis 集群会将集群的分片和副本分布在 us-central1-aus-central1-bus-central1-c 可用区中。如果发生可用区故障,集群中的节点将故障切换到副本。

      • 如果您希望集群的所有分片和副本都位于 Memorystore for Redis 集群创建集群的区域中的一个可用区内,请选择单个可用区选项,然后从可用区菜单中选择可用区。

        通过使用单个可用区,您可以降低网络费用。不过,如果发生可用区级故障,则不会进行故障切换。

    4. 副本菜单中,选择集群的副本数量(每个分片)。您可以有 0 个、1 个或 2 个副本。

    5. 网络菜单中,为集群选择一个网络。如需详细了解 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 集群页面。

    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 集群页面。

    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 集群页面。

    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 集群页面。

    Memorystore for Redis Cluster

  2. 点击主集群。这是您要从主集群分离的次要集群的父级。

  3. 在侧边栏中,点击次要集群标签页。

  4. 选中要从主集群分离的次要集群的 ID 旁边的复选框。

  5. 点击从主账号中分离

  6. 分离次要集群?对话框中,执行以下操作:

    1. 输入次要集群的 ID。使用英文逗号分隔 ID。

    2. 点击分离

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 集群会将更改同步到辅助集群。

更新辅助集群上的设置

您必须在次要集群上更改以下设置:

删除使用跨区域复制的集群

本部分介绍了如何删除使用跨区域复制的主集群和辅助集群。

删除主集群

如需删除主集群,请执行以下操作:

  1. 分离删除所有次要集群。
  2. 如需删除主集群,请按照删除集群中的说明操作。

为防止意外删除,您无法同时删除主集群和辅助集群。

删除次要集群

如需删除辅助集群,请按照删除集群中的说明操作。对于集群 ID,请使用次要集群的 ID。