用于 Redis 的 Amazon ElastiCache
ElastiCache for Redis 用户指南 (API 版本 2015-02-02)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

增加分片中的副本数量

您可以将一个 Redis (已启用集群模式)分片或 Redis (已禁用集群模式)复制组中的副本数量最多增加到 5 个。可使用 AWS 管理控制台、AWS CLI 或 ElastiCache API 完成此操作。

使用 AWS 管理控制台

以下过程使用控制台增加 Redis (已启用集群模式)复制组中的副本数量。

增加 Redis 分片中的副本数量

  1. 登录 AWS 管理控制台 并通过以下网址打开 ElastiCache 控制台:https://console.amazonaws.cn/elasticache/

  2. 在导航窗格中,选择 Redis,然后选择要将副本添加到的复制组的名称。

  3. 选中要将副本添加到的每个分片对应的框。

  4. 选择 Add replicas (添加副本)

  5. 完成 Add Replicas to Shards (将副本添加到分片) 页面:

    • 对于 New number of replicas/shard (新副本/分片数量),输入您希望所有选定的分片应具有的副本数量。此值必须大于或造型 Current Number of Replicas per shard (每个分片的当前副本数量) 且小于或等于 5。我们建议使用至少两个副本作为有效的最小值。

    • 对于 Availability Zones (可用区),选择 No preference (无首选项) 以让 ElastiCache 为每个新副本选择可用区,或者选择 Specify Availability Zones (指定可用区) 以为每个新副本选择可用区。

      如果选择 Specify Availability Zones (指定可用区),对于每个新副本,请使用列表指定可用区。

  6. 选择 Add (添加) 以添加副本,或选择 Cancel (取消) 以取消该操作。

使用 AWS CLI

要增加 Redis 分片中的副本数量,请使用带有以下参数的 increase-replica-count 命令:

  • --replication-group-id – 是必需的。确定要在其中增加副本数量的复制组。

  • --apply-immediately--no-apply-immediately – 是必需的。指定是立即增加副本数量 (--apply-immediately) 还是在下一维护时段增加副本数量 (--no-apply-immediately)。当前不支持 --no-apply-immediately

  • --new-replica-count – 可选。指定完成时所希望的副本节点数量(最多 5 个)。对于 Redis (已禁用集群模式)复制组(其中仅有一个节点组)或 Redis (已启用集群模式)组(您希望其中的所有节点组均有相同的副本数量)使用此参数。如果此值小于或等于节点组中的当前副本数量,则调用失败并返回异常。

  • --replica-configuration – 可选。允许您单独地为每个节点组设置副本和可用区的数量。对于 Redis (已启用集群模式)组(您希望在其中单独地配置每个节点组)使用此参数。

    --replica-configuration 具有三位可选成员:

    • NodeGroupId – 您要配置的节点组的四位数 ID。对于 Redis (已禁用集群模式)复制组,分片 ID 始终为 0001。要查找 Redis (已启用集群模式)节点组(分片)ID,请参阅查找分片 ID

    • NewReplicaCount – 您希望在此操作结束时此节点组中所具有副本数量。此值必须大于当前副本数量,最多为 5 个。如果此值小于或等于节点组中的当前副本数量,则调用失败并返回异常。

    • PreferredAvailabilityZonesPreferredAvailabilityZone 字符串的列表,指定复制组的节点即将所在的可用区。PreferredAvailabilityZone 值的数字必须等于 NewReplicaCount 的值再加上 1 以形成主节点。如果忽略此 --replica-configuration 的成员,ElastiCache for Redis 会为每个新副本选择可用区。

重要

您必须在调用中包含 --new-replica-count--replica-configuration 参数,但不能同时包含这两项。

以下示例将复制组 sample-repl-group 中的副本数量增加到 3 个。在完成此示例后,每个节点组中将有 3 个副本。无论这是带单个节点组的 Redis (已禁用集群模式)组还是带多个节点组的 Redis (已启用集群模式)组,此数字都适用。

对于 Linux, OS X, or Unix:

aws elasticache increase-replica-count \ --replication-group-id sample-repl-group \ --new-replica-count 3 \ --apply-immediately

对于 Windows:

aws elasticache increase-replica-count ^ --replication-group-id sample-repl-group ^ --new-replica-count 3 ^ --apply-immediately

以下示例将复制组 sample-repl-group 中的副本数量增加到两个指定节点组指定的值。假定存在多个节点组,则这是一个 Redis (已启用集群模式)复制组。指定可选 PreferredAvailabilityZones 时,所列可用区的数量必须等于 NewReplicaCount 的值再加上 1。此方法适用于由 NodeGroupId 标识的组的主节点。

对于 Linux, OS X, or Unix:

aws elasticache increase-replica-count \ --replication-group-id sample-repl-group \ --replica-configuration \ NodeGroupId=0001,NewReplicaCount=2,PreferredAvailabilityZones=us-east-1a,us-east-1c,us-east-1b \ NodeGroupId=0003,NewReplicaCount=3,PreferredAvailabilityZones=us-east-1a,us-east-1b,us-east-1c,us-east-1c \ --apply-immediately

对于 Windows:

aws elasticache increase-replica-count ^ --replication-group-id sample-repl-group ^ --replica-configuration ^ NodeGroupId=0001,NewReplicaCount=2,PreferredAvailabilityZones=us-east-1a,us-east-1c,us-east-1b ^ NodeGroupId=0003,NewReplicaCount=3,PreferredAvailabilityZones=us-east-1a,us-east-1b,us-east-1c,us-east-1c \ --apply-immediately

有关使用 CLI 增加副本数量的更多信息,请参阅 Amazon ElastiCache 命令行参考 中的 increase-replica-count

使用 ElastiCache API

要增加 Redis 分片中的副本数量,请使用带有以下参数的 IncreaseReplicaCount 操作:

  • ReplicationGroupId – 是必需的。确定要在其中增加副本数量的复制组。

  • ApplyImmediately – 是必需的。指定是立即增加副本数量 (ApplyImmediately=True) 还是在下一维护时段增加副本数量 (ApplyImmediately=False)。当前不支持 ApplyImmediately=False

  • NewReplicaCount – 可选。指定完成时所希望的副本节点数量(最多 5 个)。对于 Redis (已禁用集群模式)复制组(其中仅有一个节点组)或 Redis (已启用集群模式)组(您希望其中的所有节点组均有相同的副本数量)使用此参数。如果此值小于或等于节点组中的当前副本数量,则调用失败并返回异常。

  • ReplicaConfiguration – 可选。允许您单独地为每个节点组设置副本和可用区的数量。对于 Redis (已启用集群模式)组(您希望在其中单独地配置每个节点组)使用此参数。

    ReplicaConfiguraion 具有三位可选成员:

    • NodeGroupId – 您要配置的节点组的四位数 ID。对于 Redis (已禁用集群模式)复制组,节点组(分片)ID 始终为 0001。要查找 Redis (已启用集群模式)节点组(分片)ID,请参阅查找分片 ID

    • NewReplicaCount – 您希望在此操作结束时此节点组中所具有副本数量。此值必须大于当前副本数量,且最多为 5 个。如果此值小于或等于节点组中的当前副本数量,则调用失败并返回异常。

    • PreferredAvailabilityZonesPreferredAvailabilityZone 字符串的列表,指定复制组的节点即将所在的可用区。PreferredAvailabilityZone 值的数字必须等于 NewReplicaCount 的值再加上 1 以形成主节点。如果忽略此 ReplicaConfiguration 的成员,ElastiCache for Redis 会为每个新副本选择可用区。

重要

您必须在调用中包含 NewReplicaCountReplicaConfiguration 参数,但不能同时包含这两项。

以下示例将复制组 sample-repl-group 中的副本数量增加到 3 个。在完成此示例后,每个节点组中将有 3 个副本。无论这是带单个节点组的 Redis (已禁用集群模式)组还是带多个节点组的 Redis (已启用集群模式)组,此数字都适用。

https://elasticache.us-west-2.amazonaws.com/ ?Action=IncreaseReplicaCount &ApplyImmediately=True &NewReplicaCount=3 &ReplicationGroupId=sample-repl-group &Version=2015-02-02 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20150202T192317Z &X-Amz-Credential=<credential>

以下示例将复制组 sample-repl-group 中的副本数量增加到两个指定节点组指定的值。假定存在多个节点组,则这是一个 Redis (已启用集群模式)复制组。指定可选 PreferredAvailabilityZones 时,所列可用区的数量必须等于 NewReplicaCount 的值再加上 1。此方法适用于由 NodeGroupId 标识的组的主节点。

https://elasticache.us-west-2.amazonaws.com/ ?Action=IncreaseReplicaCount &ApplyImmediately=True &ReplicaConfiguration.ConfigureShard.1.NodeGroupId=0001 &ReplicaConfiguration.ConfigureShard.1.NewReplicaCount=2 &ReplicaConfiguration.ConfigureShard.1.PreferredAvailabilityZones.PreferredAvailabilityZone.1=us-east-1a &ReplicaConfiguration.ConfigureShard.1.PreferredAvailabilityZones.PreferredAvailabilityZone.2=us-east-1c &ReplicaConfiguration.ConfigureShard.1.PreferredAvailabilityZones.PreferredAvailabilityZone.3=us-east-1b &ReplicaConfiguration.ConfigureShard.2.NodeGroupId=0003 &ReplicaConfiguration.ConfigureShard.2.NewReplicaCount=3 &ReplicaConfiguration.ConfigureShard.2.PreferredAvailabilityZones.PreferredAvailabilityZone.1=us-east-1a &ReplicaConfiguration.ConfigureShard.2.PreferredAvailabilityZones.PreferredAvailabilityZone.2=us-east-1b &ReplicaConfiguration.ConfigureShard.2.PreferredAvailabilityZones.PreferredAvailabilityZone.3=us-east-1c &ReplicaConfiguration.ConfigureShard.2.PreferredAvailabilityZones.PreferredAvailabilityZone.4=us-east-1c &ReplicationGroupId=sample-repl-group &Version=2015-02-02 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20150202T192317Z &X-Amz-Credential=<credential>

有关使用 API 增加副本数量的更多信息,请参阅 Amazon ElastiCache API Reference 中的 IncreaseReplicaCount