本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
减少分区中的副本数量
您可以减少 Valkey 或 Redis 分片中的副本数量(已启用集群模式),也可以减少 Valkey 或 RedisOSS(已禁用集群模式)的复制组中的副本数量:OSS
-
对于 Valkey 或 RedisOSS(已禁用集群模式),如果启用了多可用区,则可以将副本数量减少到一个;如果未启用多可用区,则可以将副本数量减少到零。
-
对于 Valkey 或 RedisOSS(已启用集群模式),您可以将副本数量减少到零。但是,如果您的主节点发生故障,则无法故障转移到副本。
您可以使用 AWS Management Console、 AWS CLI 或 ElastiCache API来减少节点组(分片)或复制组中的副本数量。
使用 AWS Management Console
以下过程使用控制台减少 Valkey 或 RedisOSS(已启用集群模式)复制组中的副本数量。
减少 Valkey 或 Redis 分片中的副本数量 OSS
-
登录 AWS 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 (RedisOSS) 会自动选择要删除的副本节点。在这样做的同时, ElastiCache (RedisOSS) 会尝试为您的复制组保留多可用区架构,然后保留与主副本的复制延迟最小的副本。
-
无法删除复制组中的主节点。如果指定主节点进行删除,此操作会失败并显示指示已选中主节点进行删除的错误事件。
使用 AWS 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 或 RedisOSS(已启用集群模式)组,请使用此参数。--replica-configuration
具有三位可选成员:-
NodeGroupId
– 您要配置的节点组的四位数 ID。对于 Valkey 或 RedisOSS(已禁用集群模式)复制组,分片 ID 始终为。0001
要查找 Valkey 或 RedisOSS(已启用集群模式)节点组(分片)的 ID,请参阅。查找分区的 ID -
NewReplicaCount
– 指定希望的副本节点数的可选参数。NewReplicaCount
的值必须为小于节点组中的当前副本数量的有效值。有关允许的最小值,请参阅减少分区中的副本数量。如果NewReplicaCount
的值不满足此要求,则调用失败。 -
PreferredAvailabilityZones
–PreferredAvailabilityZone
字符串的列表,指定复制组的节点所在的可用区。PreferredAvailabilityZone
值的数字必须等于NewReplicaCount
的值再加上 1 以形成主节点。如果省略--replica-configuration
该成员, ElastiCache (RedisOSS) 将为每个新副本选择可用区。
-
重要
您必须包含且只能包含 --new-replica-count
、--replicas-to-remove
或 --replica-configuration
参数之一。
以下示例使用 --new-replica-count
将复制组 sample-repl-group
中的副本数量减少为 1 个。在完成此示例后,每个节点组中将有一个副本。无论是具有单节点组的 Valkey 或 RedisOSS(已禁用集群模式)组,还是具有多个节点组的 Valkey 或 RedisOSS(已启用集群模式)组,此数字都适用。
对于 Linux、macOS 或 Unix:
aws elasticache decrease-replica-count --replication-group-id
sample-repl-group
\ --new-replica-count1
\ --apply-immediately
对于 Windows:
aws elasticache decrease-replica-count ^ --replication-group-id
sample-repl-group
^ --new-replica-count1
^ --apply-immediately
以下示例通过从节点组中删除两个指定的副本(0001
和 0003
)来减少复制 sample-repl-group
中的副本数量。
对于 Linux、macOS 或 Unix:
aws elasticache decrease-replica-count \ --replication-group-id
sample-repl-group
\ --replicas-to-remove0001
,0003
\ --apply-immediately
对于 Windows:
aws elasticache decrease-replica-count ^ --replication-group-id
sample-repl-group
^ --replicas-to-remove0001
,0003
\ --apply-immediately
以下示例使用 --replica-configuration
将复制组 sample-repl-group
中的副本数量减少为两个指定节点组指定的值。假设有多个节点组,则这是一个 Valkey 或 RedisOSS(已启用集群模式)复制组。指定可选 PreferredAvailabilityZones
时,所列可用区的数量必须等于 NewReplicaCount
的值再加上 1。此方法适用于由 NodeGroupId
标识的组的主节点。
对于 Linux、macOS 或 Unix:
aws elasticache decrease-replica-count \ --replication-group-id
sample-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-id
sample-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 或 RedisOSS(已启用集群模式)组,请使用此参数。ReplicaConfiguraion
具有三位可选成员:-
NodeGroupId
– 您要配置的节点组的四位数 ID。对于 Valkey 或 RedisOSS(已禁用集群模式)复制组,节点组 ID 始终为。0001
要查找 Valkey 或 RedisOSS(已启用集群模式)节点组(分片)的 ID,请参阅。查找分区的 ID -
NewReplicaCount
– 您希望在此操作结束时此节点组中所具有的副本数量。如果启用了多可用区,则此值必须小于当前副本数量(最少为 1 个);如果未启用具有自动故障转移功能的多可用区,则此值为 0。如果此值大于或等于节点组中的当前副本数量,则调用失败并返回异常。 -
PreferredAvailabilityZones
–PreferredAvailabilityZone
字符串的列表,指定复制组的节点所在的可用区。PreferredAvailabilityZone
值的数字必须等于NewReplicaCount
的值再加上 1 以形成主节点。如果省略ReplicaConfiguration
该成员, ElastiCache (RedisOSS) 将为每个新副本选择可用区。
-
重要
您必须包含且只能包含 NewReplicaCount
、ReplicasToRemove
或 ReplicaConfiguration
参数之一。
以下示例使用 NewReplicaCount
将复制组 sample-repl-group
中的副本数量减少为 1 个。在完成此示例后,每个节点组中将有一个副本。无论是具有单节点组的 Valkey 或 RedisOSS(已禁用集群模式)组,还是具有多个节点组的 Valkey 或 RedisOSS(已启用集群模式)组,此数字都适用。
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 或 RedisOSS(已启用集群模式)复制组。指定可选 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中的。