本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
从 ElastiCache 集群中移除节点
您可以使用、或,从 Valkey、Redis OSS 或 Memcached 集群中 AWS Management Console删除节点。 AWS CLI ElastiCache API
注意
每次更改您的 Memcached 集群中的节点数时,您必须至少重新映射部分键空间,以便它映射到正确的节点。有关对 Memcached 集群进行负载均衡的更多详细信息,请参阅配置您的 ElastiCache 客户端以实现高效的负载平衡 (Memcached)。
从集群中移除节点(控制台)
登录 AWS Management Console 并打开 ElastiCache 控制台,网址为 https://console.aws.amazon.com/elasticache/
。 -
从右上角的列表中,选择要从中移除节点的集群的 AWS 区域。
-
在导航窗格中,选择在您要删除节点的集群上运行的引擎。
此时会显示运行所选引擎的集群的列表。
-
从集群列表中,选择要从中删除节点的集群的名称。
此时会显示集群节点的列表。
-
选择要删除的节点的节点 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
指定要从中移除节点的集群 AWS 区域。
注意
您只能在调用此操作时传递
--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
有关更多信息,请参阅 AWS CLI 主题decrease-replica-count
。
要使用删除节点 ElastiCache API,请使用复制组 ID 和要移除的节点列表调用DecreaseReplicaCount
API操作,如下所示:
-
ReplicationGroupId
要从其中删除节点的复制组的 ID。 -
ReplicasToRemove
ReplicasToRemove
参数指定应用修改后此集群中应有的节点的数量。 -
ApplyImmediately
指定是立即移除这些节点还是在下一维护时段移除这些节点。 -
Region
指定要从中移除节点的集群 AWS 区域。
以下示例从集群 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
指定要从中移除节点的集群 AWS 区域。
以下示例从集群 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
。