本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用现有集群创建复制组
可用的集群是现有的单节点 Valkey 或 Redis OSS 集群。当前,Valkey 或 Redis OSS(已启用集群模式)不支持使用可用的单节点集群创建具有副本的集群。如果您要创建 Valkey 或 Redis OSS(已启用集群模式)集群,请参阅创建 Valkey 或 RedisOSS(已启用集群模式)集群(控制台)。
下面的程序只适用于您具有单节点 Valkey 或 Redis OSS(已禁用集群模式)集群的情况。该集群的节点将成为新集群中的主节点。如果您没有可用作新集群的主集群的 Valkey 或 Redis OSS(已禁用集群模式)集群,请参阅从头开始创建 Valkey 或 Redis OSS 复制组。
使用现有集群创建复制组(控制台)
请参阅主题使用 ElastiCache Amazon Web Services Management Console。
使用可用 Valkey 或 Redis OSS 缓存集群创建复制组(Amazon CLI)
使用 Amazon CLI 时,在将可用 Valkey 或 Redis OSS 缓存集群用作主集群时,可使用只读副本通过两个步骤创建复制组。
使用 Amazon CLI 时,您会创建一个复制组,它使用 CLI 命令 create-replication-group
指定可用的独立节点作为集群的主节点 --primary-cluster-id
,还指定您希望集群中包含的节点数。包括以下参数。
- --replication-group-id
正在创建的复制组的名称。此参数的值用作所添加节点的名称的基础,方法是向
--replication-group-id
末尾添加一个连续的 3 位数。例如,sample-repl-group-001
。Valkey 或 Redis OSS(已禁用集群模式)复制组命名约束如下:
必须包含 1 – 40 个字母数字字符或连字符。
必须以字母开头。
不能包含两个连续连字符。
不能以连字符结束。
- --replication-group-description
复制组的描述。
- --num-node-groups
您希望此集群中包含的节点数。此值包含主节点。此参数的最大值为 6。
- --primary-cluster-id
要用作此复制组中主节点的可用 Valkey 或 Redis OSS(已禁用集群模式)集群的节点的名称。
以下命令通过将可用 Valkey 或 Redis OSS(已禁用集群模式)集群 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-clusters3
\ --primary-cluster-idredis01
对于 Windows:
aws elasticache create-replication-group ^ --replication-group-id
sample-repl-group
^ --replication-group-description"demo cluster with replicas"
^ --num-cache-clusters3
^ --primary-cluster-idredis01
有关其他信息和可能要使用的参数,请参阅 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-idsample-repl-group
对于 Windows:
aws elasticache create-cache-cluster ^ --cache-cluster-id
my-replica01
^ --replication-group-idsample-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 时,您会创建一个复制组,该复制组使用 CLI 命令 (CreateReplicationGroup
) 指定可用独立节点作为集群的主节点 (PrimaryClusterId
),还会指定您希望集群中包含的节点数。包括以下参数。
- ReplicationGroupId
正在创建的复制组的名称。此参数的值用作所添加节点的名称的基础,方法是向
ReplicationGroupId
末尾添加一个连续的 3 位数。例如,sample-repl-group-001
。Valkey 或 Redis OSS(已禁用集群模式)复制组命名约束如下:
必须包含 1 – 40 个字母数字字符或连字符。
必须以字母开头。
不能包含两个连续连字符。
不能以连字符结束。
- ReplicationGroupDescription
有副本的集群的描述。
- NumCacheClusters
您希望此集群中包含的节点数。此值包含主节点。此参数的最大值为 6。
- PrimaryClusterId
要用作此集群中主节点的可用 Valkey 或 Redis OSS(已禁用集群模式)集群的名称。
以下命令通过将可用 Valkey 或 Redis OSS(已禁用集群模式)集群 redis01
用作复制组的主节点来创建具有副本的集群 sample-repl-group
。它将创建 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 个只读副本,并确保包含以下参数。
- 缓存集群 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。