使用现有集群创建复制组 - 亚马逊 ElastiCache
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用现有集群创建复制组

可用集群是现有的单节点 Valkey 或 Redis OSS 集群。目前,Valkey 或 RedisOSS(已启用集群模式)不支持使用可用的单节点集群创建带有副本的集群。如果要创建 Valkey 或 RedisOSS(已启用集群模式)集群,请参阅。创建 Valkey 或 RedisOSS(已启用集群模式)集群(控制台)

只有当您拥有 Valkey 或 RedisOSS(已禁用集群模式)单节点集群时,才能使用以下步骤。该集群的节点将成为新集群中的主节点。如果您没有可用作新集群主集群的 Valkey 或 RedisOSS(已禁用集群模式)集群,请参阅。从头开始创建 Valkey 或 Redis OSS 复制组

使用现有集群创建复制组(控制台)

请参阅主题使用 ElastiCache Amazon Web Services Management Console

使用可用的 Valkey 或 Redis OSS 缓存集群创建复制组 ()Amazon CLI

在使用时,使用可用的 Valkey 或 Redis OSS 缓存集群作为主集群时,创建带有只读副本的复制组需要两个步骤。 Amazon CLI

使用时, Amazon CLI 您可以创建一个复制组,将可用的独立节点指定为集群的主节点,--primary-cluster-id并使用CLI命令指定集群中要包含的节点数create-replication-group。包括以下参数。

--replication-group-id

正在创建的复制组的名称。此参数的值用作所添加节点的名称的基础,方法是向 --replication-group-id 末尾添加一个连续的 3 位数。例如,sample-repl-group-001

Valkey 或 RedisOSS(已禁用集群模式)复制组命名限制如下:

  • 必须包含 1 – 40 个字母数字字符或连字符。

  • 必须以字母开头。

  • 不能包含两个连续连字符。

  • 不能以连字符结束。

--replication-group-description

复制组的描述。

--num-node-groups

您希望此集群中包含的节点数。此值包含主节点。此参数的最大值为 6。

--primary-cluster-id

要作为此复制组中主节点的可用 Valkey 或 RedisOSS(已禁用集群模式)集群节点的名称。

以下命令sample-repl-group使用可用的 Valkey 或 RedisOSS(已禁用集群模式)集群redis01作为复制组的主节点来创建复制组。它将创建 2 个为只读副本的新节点。redis01 的设置(即参数组、安全组、节点类型、引擎版本等)将应用于复制组中的所有节点。

对于 Linux、macOS 或 Unix:

aws elasticache create-replication-group \ --replication-group-id sample-repl-group \ --replication-group-description "demo cluster with replicas" \ --num-cache-clusters 3 \ --primary-cluster-id redis01

对于 Windows:

aws elasticache create-replication-group ^ --replication-group-id sample-repl-group ^ --replication-group-description "demo cluster with replicas" ^ --num-cache-clusters 3 ^ --primary-cluster-id redis01

有关您可能要使用的其他信息和参数,请参阅 Amazon CLI 主题 create-replication-group.

接下来,向复制组添加只读副本

创建复制组后,使用 create-cache-cluster 命令向复制组添加 1 到 5 个只读副本,并确保包含以下参数。

--cache-cluster-id

正在向复制组添加的集群的名称。

集群命名约束如下:

  • 必须包含 1 – 40 个字母数字字符或连字符。

  • 必须以字母开头。

  • 不能包含两个连续连字符。

  • 不能以连字符结束。

--replication-group-id

正在将此缓存集群添加到的复制组的名称。

对要添加到复制组的每个只读副本重复此命令,并仅更改 --cache-cluster-id 参数的值。

注意

请记住,一个复制组最多只能有五个只读副本。尝试向已有五个只读副本的复制组添加只读副本会导致操作失败。

以下代码将只读副本 my-replica01 添加到复制组 sample-repl-group。主集群的设置(参数组、安全组、节点类型等)将在节点添加到复制组时应用到节点。

对于 Linux、macOS 或 Unix:

aws elasticache create-cache-cluster \ --cache-cluster-id my-replica01 \ --replication-group-id sample-repl-group

对于 Windows:

aws elasticache create-cache-cluster ^ --cache-cluster-id my-replica01 ^ --replication-group-id sample-repl-group

此命令的输出如下所示。

{ "ReplicationGroup": { "Status": "creating", "Description": "demo cluster with replicas", "ClusterEnabled": false, "ReplicationGroupId": "sample-repl-group", "SnapshotRetentionLimit": 1, "AutomaticFailover": "disabled", "SnapshotWindow": "00:00-01:00", "SnapshottingClusterId": "redis01", "MemberClusters": [ "sample-repl-group-001", "sample-repl-group-002", "redis01" ], "CacheNodeType": "cache.m4.large", "DataTiering": "disabled", "PendingModifiedValues": {} } }

有关更多信息,请参阅以下 Amazon CLI 主题:

向独立 Valkey 或 Redis(已禁用集群模式)集群添加副本 OSS () ElastiCache API

使用时 ElastiCache API,您可以创建一个复制组,将可用的独立节点指定为集群的主节点,PrimaryClusterId并使用CLI命令指定集群中要包含的节点数CreateReplicationGroup。包括以下参数。

ReplicationGroupId

正在创建的复制组的名称。此参数的值用作所添加节点的名称的基础,方法是向 ReplicationGroupId 末尾添加一个连续的 3 位数。例如,sample-repl-group-001

Valkey 或 RedisOSS(已禁用集群模式)复制组命名限制如下:

  • 必须包含 1 – 40 个字母数字字符或连字符。

  • 必须以字母开头。

  • 不能包含两个连续连字符。

  • 不能以连字符结束。

ReplicationGroupDescription

有副本的集群的描述。

NumCacheClusters

您希望此集群中包含的节点数。此值包含主节点。此参数的最大值为 6。

PrimaryClusterId

您要作为该集群中主节点的可用 Valkey 或 RedisOSS(已禁用集群模式)集群的名称。

以下命令sample-repl-group使用可用的 Valkey 或 RedisOSS(已禁用集群模式)集群redis01作为复制组的主节点,创建带有副本的集群。它将创建 2 个为只读副本的新节点。redis01 的设置(即参数组、安全组、节点类型、引擎版本等)将应用于复制组中的所有节点。

https://elasticache.us-west-2.amazonaws.com/ ?Action=CreateReplicationGroup &Engine=redis &EngineVersion=6.0 &ReplicationGroupDescription=Demo%20cluster%20with%20replicas &ReplicationGroupId=sample-repl-group &PrimaryClusterId=redis01 &Version=2015-02-02 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20150202T192317Z &X-Amz-Credential=<credential>

有关其他信息,请参阅 ElastiCache APL 主题:

接下来,向复制组添加只读副本

创建复制组后,使用 CreateCacheCluster 操作向复制组添加 1 到 5 个只读副本,并确保包含以下参数。

CacheClusterId

正在向复制组添加的集群的名称。

集群命名约束如下:

  • 必须包含 1 – 40 个字母数字字符或连字符。

  • 必须以字母开头。

  • 不能包含两个连续连字符。

  • 不能以连字符结束。

ReplicationGroupId

正在将此缓存集群添加到的复制组的名称。

对要添加到复制组的每个只读副本重复此操作,并仅更改 CacheClusterId 参数的值。

以下代码将只读副本 myReplica01 添加到复制组 myReplGroup。主集群的设置(参数组、安全组、节点类型等)将在节点添加到复制组时应用到节点。

https://elasticache.us-west-2.amazonaws.com/ ?Action=CreateCacheCluster &CacheClusterId=myReplica01 &ReplicationGroupId=myReplGroup &SignatureMethod=HmacSHA256 &SignatureVersion=4 &Version=2015-02-02 &X-Amz-Algorithm=&AWS;4-HMAC-SHA256 &X-Amz-Credential=[your-access-key-id]/20150202/us-west-2/elasticache/aws4_request &X-Amz-Date=20150202T170651Z &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date &X-Amz-Signature=[signature-value]

有关您可能要使用的其他信息和参数,请参阅 ElastiCache API主题 CreateCacheCluster.