Amazon ElastiCache
用户指南 (API Version 2015-02-02)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

使用可用 Redis (已禁用集群模式)集群创建具有副本的集群

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

下面的流程只能在您拥有 Redis (已禁用集群模式)单节点集群时使用。该集群将成为新集群中的主集群。如果您没有可用作新集群的主集群的 Redis (已禁用集群模式)集群,请参阅从头开始创建具有副本的 Redis 集群

通过可用 Redis 集群创建具有副本的集群(控制台)

请参阅主题(控制台)向集群添加节点

通过可用 Redis 缓存集群(AWS CLI) 创建复制组

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

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

--replication-group-id

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

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

  • 必须包含 1 到 20 个字母数字字符或连字符。

  • 必须以字母开头。

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

  • 不能以连字符结尾。

--replication-group-description

复制组的描述.

--num-cache-clusters

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

--primary-cluster-id

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

如果要对此群集启用传输中加密或静态加密,请添加以下参数:

  • --transit-encryption-enabled

    如果要启用传输中加密,必须在 Amazon VPC 中创建群集,还必须包含参数 --cache-subnet-group

  • 需要提供 --auth-token 以及客户为 AUTH 令牌指定的字符串值 (密码),才能对此群集执行操作。

  • --at-rest-encryption-enabled

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

对于 Linux, OS X, or Unix:

aws elasticache create-replication-group \ --replication-group-id new-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 new-group ^ --replication-group-description "demo cluster with replicas" ^ --num-cache-clusters 3 ^ --primary-cluster-id redis01

有关其他信息和可能希望使用的参数,请参阅 AWS CLI 主题 create-replication-group

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

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

--cache-cluster-id

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

群集命名约束

  • 必须包含 1 到 20 个字母数字字符或连字符。

  • 必须以字母开头。

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

  • 不能以连字符结尾。

--replication-group-id

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

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

注意

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

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

对于 Linux, OS X, or Unix:

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

对于 Windows:

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

此命令的输出如下所示。

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

有关其他信息,请参阅 AWS CLI 主题:

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

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

ReplicationGroupId

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

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

  • 必须包含 1 到 20 个字母数字字符或连字符。

  • 必须以字母开头。

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

  • 不能以连字符结尾。

ReplicationGroupDescription

有副本的群集的描述。

NumCacheClusters

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

PrimaryClusterId

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

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

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

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

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

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

缓存集群 ID

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

群集命名约束

  • 必须包含 1 到 20 个字母数字字符或连字符。

  • 必须以字母开头。

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

  • 不能以连字符结尾。

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=AWS4-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