本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
减少分区中的副本数量
您可以减少 Valkey 或 Redis OSS(已启用集群模式)分片中的副本数量,或 Valkey 或 Redis OSS(已禁用集群模式)复制组中的副本数量:
-
对于 Valkey 或 Redis OSS(已禁用集群模式),如果启用了多可用区,则可以将副本数量减少到 1 个;如果未启用,则可以将副本数量减少到 0。
-
对于 Valkey 或 Redis OSS(已启用集群模式),您可以将副本数量减少到 0。但是,如果您的主节点发生故障,则无法故障转移到副本。
您可以使用 Amazon Web Services Management Console、 Amazon CLI 或 ElastiCache API 来减少节点组(分片)或复制组中的副本数量。
使用 Amazon Web Services Management Console
以下过程使用控制台减少 Valkey 或 Redis OSS(已启用集群模式)复制组中的副本数量。
减少 Valkey 或 Redis OSS 分片中的副本数量
-
登录 Amazon Web Services Management Console 并打开 ElastiCache 控制台,网址为 https://console.aws.amazon.com/elasticache/
。 -
在导航窗格中,选择 Valkey 或 Redis OSS,然后选择要从其中删除副本的复制组的名称。
-
选中要从其中删除副本的每个分片对应的框。
-
选择 Delete replicas (删除副本)。
-
完成 Delete Replicas from Shards (从分片中删除副本) 页面:
-
对于 New number of replicas/shard (新副本/分片数量),输入您希望选定的分片应具有的副本数量。此数字必须大于或等于 1。我们建议每个分片使用至少两个副本作为有效的最小值。
-
选择 Delete (删除) 以删除副本,或选择 Cancel (取消) 以取消该操作。
-
重要
-
如果您未指定要删除的副本节点,则对 ElastiCache 于 Redis,OSS 会自动选择要删除的副本节点。在这样做的同时, ElastiCache 对于 Redis,OSS 会尝试为您的复制组保留多可用区架构,然后保留与主副本的复制延迟最小的副本。
-
无法删除复制组中的主节点。如果指定主节点进行删除,此操作会失败并显示指示已选中主节点进行删除的错误事件。
使用 Amazon CLI
要减少 Valkey 或 Redis OSS 分片中的副本数量,请使用带有以下参数的 decrease-replica-count 命令:
-
--replication-group-id– 必需。确定要在其中减少副本数量的复制组。 -
--apply-immediately或--no-apply-immediately– 必需。指定是立即减少副本数量 (--apply-immediately) 还是在下一维护时段减少副本数量 (--no-apply-immediately)。当前不支持--no-apply-immediately。 -
--new-replica-count– 可选。指定希望的副本节点数。--new-replica-count的值必须为小于节点组中的当前副本数量的有效值。有关允许的最小值,请参阅减少分区中的副本数量。如果--new-replica-count的值不满足此要求,则调用失败。 -
--replicas-to-remove– 可选。包含 IDs 指定要移除的副本节点的节点列表。 -
--replica-configuration– 可选。允许您单独地为每个节点组设置副本和可用区的数量。对您希望单独配置其中每个节点组的 Valkey 或 Redis OSS(已启用集群模式)组使用此参数。--replica-configuration具有三位可选成员:-
NodeGroupId– 您要配置的节点组的四位数 ID。对于 Valkey 或 Redis OSS(已禁用集群模式)复制组,分片 ID 始终为0001。若要查找 Valkey 或 Redis OSS(已启用集群模式)节点组(分片)ID,请参阅 查找分区的 ID。 -
NewReplicaCount– 指定希望的副本节点数的可选参数。NewReplicaCount的值必须为小于节点组中的当前副本数量的有效值。有关允许的最小值,请参阅减少分区中的副本数量。如果NewReplicaCount的值不满足此要求,则调用失败。 -
PreferredAvailabilityZones–PreferredAvailabilityZone字符串的列表,指定复制组的节点所在的可用区。PreferredAvailabilityZone值的数字必须等于NewReplicaCount的值再加上 1 以形成主节点。如果省略该成员,--replica-configuration则 ElastiCache 对于 Redis,OSS 会为每个新副本选择可用区。
-
重要
您必须包含且只能包含 --new-replica-count、--replicas-to-remove 或 --replica-configuration 参数之一。
以下示例使用 --new-replica-count 将复制组 sample-repl-group 中的副本数量减少为 1 个。在完成此示例后,每个节点组中将有一个副本。无论是具有单个节点组的 Valkey 或 Redis OSS(已禁用集群模式)复制组,还是具多个节点组的 Valkey 或 Redis OSS(已禁用集群模式)复制组,此数字都适用。
对于 Linux、macOS 或 Unix:
aws elasticache decrease-replica-count --replication-group-idsample-repl-group\ --new-replica-count1\ --apply-immediately
对于 Windows:
aws elasticache decrease-replica-count ^ --replication-group-idsample-repl-group^ --new-replica-count1^ --apply-immediately
以下示例通过从节点组中删除两个指定的副本(0001 和 0003)来减少复制 sample-repl-group 中的副本数量。
对于 Linux、macOS 或 Unix:
aws elasticache decrease-replica-count \ --replication-group-idsample-repl-group\ --replicas-to-remove0001,0003\ --apply-immediately
对于 Windows:
aws elasticache decrease-replica-count ^ --replication-group-idsample-repl-group^ --replicas-to-remove0001,0003\ --apply-immediately
以下示例使用 --replica-configuration 将复制组 sample-repl-group 中的副本数量减少为两个指定节点组指定的值。假定存在多个节点组,则这是一个 Valkey 或 Redis OSS(已启用集群模式)复制组。指定可选 PreferredAvailabilityZones 时,所列可用区的数量必须等于 NewReplicaCount 的值再加上 1。此方法适用于由 NodeGroupId 标识的组的主节点。
对于 Linux、macOS 或 Unix:
aws elasticache decrease-replica-count \ --replication-group-idsample-repl-group\ --replica-configuration \ NodeGroupId=0001,NewReplicaCount=1,PreferredAvailabilityZones=us-east-1a,us-east-1c\ NodeGroupId=0003,NewReplicaCount=2,PreferredAvailabilityZones=us-east-1a,us-east-1b,us-east-1c\ --apply-immediately
对于 Windows:
aws elasticache decrease-replica-count ^ --replication-group-idsample-repl-group^ --replica-configuration ^ NodeGroupId=0001,NewReplicaCount=2,PreferredAvailabilityZones=us-east-1a,us-east-1c^ NodeGroupId=0003,NewReplicaCount=3,PreferredAvailabilityZones=us-east-1a,us-east-1b,us-east-1c\ --apply-immediately
有关使用 CLI 减少副本数量的更多信息,请参阅 Amazon ElastiCache 命令行参考decrease-replica-count中的。
使用 ElastiCache API
要减少 Valkey 或 Redis OSS 分片中的副本数量,请使用带有以下参数的 DecreaseReplicaCount 操作:
-
ReplicationGroupId– 必需。确定要在其中减少副本数量的复制组。 -
ApplyImmediately– 必需。指定是立即减少副本数量 (ApplyImmediately=True) 还是在下一维护时段减少副本数量 (ApplyImmediately=False)。当前不支持ApplyImmediately=False。 -
NewReplicaCount– 可选。指定希望的副本节点数。NewReplicaCount的值必须为小于节点组中的当前副本数量的有效值。有关允许的最小值,请参阅减少分区中的副本数量。如果--new-replica-count的值不满足此要求,则调用失败。 -
ReplicasToRemove– 可选。包含 IDs指定要移除的副本节点的节点列表。 -
ReplicaConfiguration– 可选。包含节点组列表,这些节点组允许您单独地为每个节点组设置副本和可用区的数量。对您希望单独配置其中每个节点组的 Valkey 或 Redis OSS(已启用集群模式)组使用此参数。ReplicaConfiguraion具有三位可选成员:-
NodeGroupId– 您要配置的节点组的四位数 ID。对于 Valkey 或 Redis OSS(已禁用集群模式)复制组,节点组 ID 始终为0001。若要查找 Valkey 或 Redis OSS(已启用集群模式)节点组(分片)ID,请参阅 查找分区的 ID。 -
NewReplicaCount– 您希望在此操作结束时此节点组中所具有的副本数量。如果启用了多可用区,则此值必须小于当前副本数量(最少为 1 个);如果未启用具有自动故障转移功能的多可用区,则此值为 0。如果此值大于或等于节点组中的当前副本数量,则调用失败并返回异常。 -
PreferredAvailabilityZones–PreferredAvailabilityZone字符串的列表,指定复制组的节点所在的可用区。PreferredAvailabilityZone值的数字必须等于NewReplicaCount的值再加上 1 以形成主节点。如果省略该成员,ReplicaConfiguration则 ElastiCache 对于 Redis,OSS 会为每个新副本选择可用区。
-
重要
您必须包含且只能包含 NewReplicaCount、ReplicasToRemove 或 ReplicaConfiguration 参数之一。
以下示例使用 NewReplicaCount 将复制组 sample-repl-group 中的副本数量减少为 1 个。在完成此示例后,每个节点组中将有一个副本。无论是具有单个节点组的 Valkey 或 Redis OSS(已禁用集群模式)复制组,还是具多个节点组的 Valkey 或 Redis OSS(已禁用集群模式)复制组,此数字都适用。
https://elasticache.us-west-2.amazonaws.com/ ?Action=DecreaseReplicaCount &ApplyImmediately=True &NewReplicaCount=1 &ReplicationGroupId=sample-repl-group &Version=2015-02-02 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20150202T192317Z &X-Amz-Credential=<credential>
以下示例通过从节点组中删除两个指定的副本(0001 和 0003)来减少复制 sample-repl-group 中的副本数量。
https://elasticache.us-west-2.amazonaws.com/ ?Action=DecreaseReplicaCount &ApplyImmediately=True &ReplicasToRemove.ReplicaToRemove.1=0001 &ReplicasToRemove.ReplicaToRemove.2=0003 &ReplicationGroupId=sample-repl-group &Version=2015-02-02 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20150202T192317Z &X-Amz-Credential=<credential>
以下示例使用 ReplicaConfiguration 将复制组 sample-repl-group 中的副本数量减少为两个指定节点组指定的值。假定存在多个节点组,则这是一个 Valkey 或 Redis OSS(已启用集群模式)复制组。指定可选 PreferredAvailabilityZones 时,所列可用区的数量必须等于 NewReplicaCount 的值再加上 1。此方法适用于由 NodeGroupId 标识的组的主节点。
https://elasticache.us-west-2.amazonaws.com/ ?Action=DecreaseReplicaCount &ApplyImmediately=True &ReplicaConfiguration.ConfigureShard.1.NodeGroupId=0001 &ReplicaConfiguration.ConfigureShard.1.NewReplicaCount=1 &ReplicaConfiguration.ConfigureShard.1.PreferredAvailabilityZones.PreferredAvailabilityZone.1=us-east-1a &ReplicaConfiguration.ConfigureShard.1.PreferredAvailabilityZones.PreferredAvailabilityZone.2=us-east-1c &ReplicaConfiguration.ConfigureShard.2.NodeGroupId=0003 &ReplicaConfiguration.ConfigureShard.2.NewReplicaCount=2 &ReplicaConfiguration.ConfigureShard.2.PreferredAvailabilityZones.PreferredAvailabilityZone.1=us-east-1a &ReplicaConfiguration.ConfigureShard.2.PreferredAvailabilityZones.PreferredAvailabilityZone.2=us-east-1b &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 参考DecreaseReplicaCount中的。