使用可用 Redis(已禁用集群模式)集群创建复制组 - Amazon ElastiCache for Redis
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

使用可用 Redis(已禁用集群模式)集群创建复制组

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

下面的程序只适用于您具有单节点 Redis(已禁用集群模式)集群的情况。该集群的节点将成为新集群中的主节点。如果您没有可用作新集群的主集群的 Redis(已禁用集群模式)集群,请参阅 从头创建 Redis 复制组

使用可用 Redis 集群创建复制组(控制台)

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

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

使用 Amazon CLI 时,在将可用 Redis 缓存集群用作主集群时,可使用只读副本通过两个步骤创建复制组。

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

--replication-group-id

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

Redis(已禁用集群模式)复制组命名约束如下:

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

  • 必须以字母开头。

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

  • 不能以连字符结束。

--replication-group-description

复制组的描述.

--num-node-groups

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

--primary-cluster-id

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

以下命令通过将可用 Redis(已禁用集群模式)集群 redis01 用作复制组的主节点来创建复制组 sample-repl-group。它将创建 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 主题:

将副本添加到独立 Redis(已禁用集群模式)集群 (ElastiCache API)

在使用 ElastiCache API 时,您会创建一个复制组,该复制组使用 CLI 命令 (CreateReplicationGroup) 指定可用独立节点作为集群的主节点 (PrimaryClusterId),还会指定您希望集群中包含的节点数。包括以下参数。

ReplicationGroupId

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

Redis(已禁用集群模式)复制组命名约束如下:

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

  • 必须以字母开头。

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

  • 不能以连字符结束。

ReplicationGroupDescription

有副本的集群的描述。

NumCacheClusters

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

PrimaryClusterId

要用作此集群中主节点的可用 Redis(已禁用集群模式)集群的名称。

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

https://elasticache.us-west-2.amazonaws.com/ ?Action=CreateReplicationGroup &Engine=redis &EngineVersion=3.2.4 &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 个只读副本,并确保包含以下参数。

缓存集群 ID

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

集群命名约束如下:

  • 必须包含 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。