本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
从 ElastiCache 集群中移除节点
您可以使用、或,从 Valkey、Memcached 或 Redis OSS 集群中 Amazon Web Services Management Console删除节点。 Amazon CLI ElastiCache API
注意
每次更改您的 Memcached 集群中的节点数时,您必须至少重新映射部分键空间,以便它映射到正确的节点。有关对 Memcached 集群进行负载均衡的更多详细信息,请参阅配置 ElastiCache 客户端以实现高效负载均衡(Memcached)。
从集群中移除节点(控制台)
登录 Amazon Web Services Management Console 并打开 ElastiCache 控制台,网址为 https://console.aws.amazon.com/elasticache/
。 -
从右上角的列表中,选择要从中移除节点的集群的 Amazon 区域。
-
在导航窗格中,选择在您要删除节点的集群上运行的引擎。
此时会显示运行所选引擎的集群的列表。
-
从集群列表中,选择要从中删除节点的集群的名称。
此时会显示集群节点的列表。
-
选择要删除的节点的节点 ID 左侧的复选框。使用 ElastiCache 控制台时,一次只能删除一个节点,因此选择多个节点表明您无法使用删除节点按钮。
此时将显示删除节点页面。
-
要删除节点,请完成删除节点页面,然后选择删除节点。要保留节点,请选择取消。
重要
使用 Valkey 或 Redis 时OSS,如果您要删除的节点会导致集群不再符合多可用区标准,请务必先清除 “多可用区” 复选框,然后再删除该节点。如果清除多可用区复选框,则可以选择启用自动故障转移。
场景 | 待处理的操作 | 新建请求 | 结果 |
---|---|---|---|
方案 1 |
删除 |
删除 |
新的删除请求(待处理或立即)将替换待处理的删除请求。 例如,如果节点 0001、0003 和 0007 处于等待删除状态,同时发出了删除节点 0002 和 0004 的新请求,则只删除节点 0002 和 0004。节点 0001、0003 和 0007 不会被删除。 |
方案 2 |
删除 |
创建 |
新的创建请求(待处理或立即)将替换待处理的删除请求。 例如,如果节点 0001、0003 和 0007 处于等待删除状态,同时发出了创建节点的新请求,则会创建一个新节点,节点 0001、0003 和 0007 不会被删除。 |
方案三 |
创建 |
删除 |
新的删除请求(待处理或立即)将替换待处理的创建请求。 例如,如果存在创建两个节点的待处理请求,同时发出了删除节点 0003 的新请求,则不会创建新节点,节点 0003 会被删除。 |
方案 4 |
创建 |
创建 |
新创建请求将添加到待处理创建请求中。 例如,如果存在创建两个节点的待处理请求,同时发出了创建三个节点的新请求,则新请求将添加到待处理请求中,并将创建五个节点。 重要如果新创建请求设置为 Apply Immediately - Yes(立即应用 – 是),则立即执行所有创建请求。如果新创建请求设置为 Apply Immediately - No(立即应用 – 否),则所有创建请求为待处理。 |
要确定哪些操作处于待处理状态,请选择 Description(描述)选项卡,然后查看显示了多少待处理的创建或删除操作。您不能同时拥有待处理的创建操作和待处理的删除操作。
-
确定要IDs移除的节点。有关更多信息,请参阅 查看 ElastiCache 集群的详细信息。
-
使用带有要移除的节点列表的
decrease-replica-count
CLI操作,如以下示例所示。要使用命令行界面从集群中移除节点,请结合以下参数使用命令
decrease-replica-count
:-
--replication-group-id
要从其中删除节点的复制组的 ID。 -
--new-replica-count
--new-replica-count
参数指定应用修改后此集群中应有的节点的数量。 -
--replicas-to-remove
要从IDs该集群中移除的节点的列表。 -
--apply-immediately
或--no-apply-immediately
指定是立即移除这些节点还是在下一维护时段移除这些节点。 -
--region
指定要从中移除节点的集群 Amazon 区域。
注意
您只能在调用此操作时传递
--replicas-to-remove
或者--new-replica-count
参数。对于 Linux、macOS 或 Unix:
aws elasticache decrease-replica-count \ --replication-group-id
my-replication-group
\ --new-replica-count2
\ --regionus-east-2
\ --apply-immediately对于 Windows:
aws elasticache decrease-replica-count ^ --replication-group-id
my-replication-group
^ --new-replica-count3
^ --regionus-east-2
^ --apply-immediately此操作生成的输出类似于以下内容(JSON格式):
{ "ReplicationGroup": { "ReplicationGroupId": "node-test", "Description": "node-test" }, "Status": "modifying", "PendingModifiedValues": {}, "MemberClusters": [ "node-test-001", "node-test-002", "node-test-003", "node-test-004", "node-test-005", "node-test-006" ], "NodeGroups": [ { "NodeGroupId": "0001", "Status": "modifying", "PrimaryEndpoint": { "Address": "node-test.zzzzzz.ng.0001.usw2.cache.amazonaws.com", "Port": 6379 }, "ReaderEndpoint": { "Address": "node-test-ro.zzzzzz.ng.0001.usw2.cache.amazonaws.com", "Port": 6379 }, "NodeGroupMembers": [ { "CacheClusterId": "node-test-001", "CacheNodeId": "0001", "ReadEndpoint": { "Address": "node-test-001.zzzzzz.0001.usw2.cache.amazonaws.com", "Port": 6379 }, "PreferredAvailabilityZone": "us-west-2a", "CurrentRole": "primary" }, { "CacheClusterId": "node-test-002", "CacheNodeId": "0001", "ReadEndpoint": { "Address": "node-test-002.zzzzzz.0001.usw2.cache.amazonaws.com", "Port": 6379 }, "PreferredAvailabilityZone": "us-west-2c", "CurrentRole": "replica" }, { "CacheClusterId": "node-test-003", "CacheNodeId": "0001", "ReadEndpoint": { "Address": "node-test-003.zzzzzz.0001.usw2.cache.amazonaws.com", "Port": 6379 }, "PreferredAvailabilityZone": "us-west-2b", "CurrentRole": "replica" }, { "CacheClusterId": "node-test-004", "CacheNodeId": "0001", "ReadEndpoint": { "Address": "node-test-004.zzzzzz.0001.usw2.cache.amazonaws.com", "Port": 6379 }, "PreferredAvailabilityZone": "us-west-2c", "CurrentRole": "replica" }, { "CacheClusterId": "node-test-005", "CacheNodeId": "0001", "ReadEndpoint": { "Address": "node-test-005.zzzzzz.0001.usw2.cache.amazonaws.com", "Port": 6379 }, "PreferredAvailabilityZone": "us-west-2b", "CurrentRole": "replica" }, { "CacheClusterId": "node-test-006", "CacheNodeId": "0001", "ReadEndpoint": { "Address": "node-test-006.zzzzzz.0001.usw2.cache.amazonaws.com", "Port": 6379 }, "PreferredAvailabilityZone": "us-west-2b", "CurrentRole": "replica" } ] } ], "SnapshottingClusterId": "node-test-002", "AutomaticFailover": "enabled", "MultiAZ": "enabled", "SnapshotRetentionLimit": 1, "SnapshotWindow": "07:30-08:30", "ClusterEnabled": false, "CacheNodeType": "cache.r5.large", "DataTiering": "disabled", "TransitEncryptionEnabled": false, "AtRestEncryptionEnabled": false, "ARN": "arn:aws:elasticache:us-west-2:123456789012:replicationgroup:node-test" } }
-
或者,您也可以调用 decrease-replica-count
,而不必传递 --new-replica-count
参数,您可以传递 --replicas-to-remove
参数,如下所示:
对于 Linux、macOS 或 Unix:
aws elasticache decrease-replica-count \ --replication-group-id
my-replication-group
\ --replicas-to-removenode-test-003
\ --regionus-east-2
\ --apply-immediately
对于 Windows:
aws elasticache decrease-replica-count ^ --replication-group-id
my-replication-group
^ --replicas-to-removenode-test-003
^ --regionus-east-2
^ --apply-immediately
有关更多信息,请参阅 Amazon CLI 主题decrease-replica-count
。
要使用删除节点 ElastiCache API,请使用复制组 ID 和要移除的节点列表调用DecreaseReplicaCount
API操作,如下所示:
-
ReplicationGroupId
要从其中删除节点的复制组的 ID。 -
ReplicasToRemove
ReplicasToRemove
参数指定应用修改后此集群中应有的节点的数量。 -
ApplyImmediately
指定是立即移除这些节点还是在下一维护时段移除这些节点。 -
Region
指定要从中移除节点的集群 Amazon 区域。
以下示例从集群 my-cluster 中立即删除节点 0004 和 0005。
https://elasticache.us-west-2.amazonaws.com/ ?Action=DecreaseReplicaCount &ReplicationGroupId=my-replication-group &ApplyImmediately=true &ReplicasToRemove=node-test-003 &Region us-east-2 &Version=2014-12-01 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20141201T220302Z &X-Amz-Algorithm=&AWS;4-HMAC-SHA256 &X-Amz-Date=20141201T220302Z &X-Amz-SignedHeaders=Host &X-Amz-Expires=20141201T220302Z &X-Amz-Credential=<credential> &X-Amz-Signature=<signature>
有关更多信息,请参阅 ElastiCache API主题DecreaseReplicaCount
。
要使用删除节点 ElastiCache API,请使用缓存集群 ID 和要移除的节点列表调用ModifyCacheCluster
API操作,如下所示:
-
CacheClusterId
要从其中删除节点的缓存集群的 ID。 -
NumCacheNodes
NumCacheNodes
参数指定应用修改后此集群中应有的节点的数量。 -
CacheNodeIdsToRemove.member.n
要从集群中IDs移除的节点列表。CacheNodeIdsToRemove.member.1=0004
CacheNodeIdsToRemove.member.1=0005
-
ApplyImmediately
指定是立即移除这些节点还是在下一维护时段移除这些节点。 -
Region
指定要从中移除节点的集群 Amazon 区域。
以下示例从集群 my-cluster 中立即删除节点 0004 和 0005。
https://elasticache.us-west-2.amazonaws.com/ ?Action=ModifyCacheCluster &CacheClusterId=my-cluster &ApplyImmediately=true &CacheNodeIdsToRemove.member.1=0004 &CacheNodeIdsToRemove.member.2=0005 &NumCacheNodes=3 &Region us-east-2 &Version=2014-12-01 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20141201T220302Z &X-Amz-Algorithm=&AWS;4-HMAC-SHA256 &X-Amz-Date=20141201T220302Z &X-Amz-SignedHeaders=Host &X-Amz-Expires=20141201T220302Z &X-Amz-Credential=<credential> &X-Amz-Signature=<signature>
有关更多信息,请参阅 ElastiCache API主题ModifyCacheCluster
。