增加分区中的副本数量 - ElastiCache 适用于 Redis 的 Amazon
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

增加分区中的副本数量

您可以将 Redis(已启用集群模式)分区或 Redis(已禁用集群模式)复制组中的副本数量最多增加到 5 个。您可以使用 Amazon Web Services Management Console、Amazon CLI 或 ElastiCache API 执行此操作。

使用 Amazon Web Services Management Console

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

增加 Redis 分片中的副本数量
  1. 登录 Amazon Web Services Management Console 并打开 ElastiCache 控制台 (https://console.aws.amazon.com/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 (取消) 以取消该操作。

使用 Amazon 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、macOS 或 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、macOS 或 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 参考中的 IncreaseReplicaCount