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

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

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

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

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

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

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

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

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

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

--replication-group-id

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

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

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

  • 必须以字母开头。

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

  • 不能以连字符结束。

--replication-group-description

复制组的描述。

--num-node-groups

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

--primary-cluster-id

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

以下命令sample-repl-group使用可用的 Redis OSS(已禁用集群模式)集群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 主题:

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

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

ReplicationGroupId

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

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

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

  • 必须以字母开头。

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

  • 不能以连字符结束。

ReplicationGroupDescription

有副本的集群的描述。

NumCacheClusters

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

PrimaryClusterId

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

以下命令sample-repl-group使用可用的 Redis OSS(已禁用集群模式)集群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。