本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用现有集群创建复制组
可用集群是现有的单节点 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-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,您可以创建一个复制组,将可用的独立节点指定为集群的主节点,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.