从集群中移除节点 - 用于 Redis 的 Amazon ElastiCache
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

从集群中移除节点

您可以使用 AWS 管理控制台、AWS CLI 或 ElastiCache API 从集群中删除节点。

使用 AWS 管理控制台

(控制台)从集群中移除节点

  1. 登录 AWS 管理控制台并通过以下网址打开 ElastiCache 控制台:https://console.amazonaws.cn/elasticache/

  2. 从右上角的列表中,选择要从中删除节点的集群所在的 AWS 区域。

  3. 在导航窗格中,选择在您要删除节点的集群上运行的引擎。

    此时会显示运行所选引擎的集群的列表。

  4. 从集群列表中,选择要从中删除节点的集群的名称。

    此时会显示集群节点的列表。

  5. 选择要删除的节点的节点 ID 左侧的复选框。使用 ElastiCache 控制台时,一次只能删除一个节点,因此选择多个节点表明您无法使用删除节点按钮。

    此时将显示删除节点页面。

  6. 要删除节点,请完成删除节点页面,然后选择删除节点。要保留节点,请选择取消

    重要

    如果删除节点导致集群不再符合多可用区标准,请确保首先清除多可用区复选框,然后删除该节点。如果清除多可用区复选框,则可以选择启用自动故障转移

新的添加和删除请求对待处理请求的影响
方案 待处理的操作 新请求 结果

场景 1

Delete

Delete

新的待处理或即时删除请求会取代待处理删除操作。

例如,如果节点 0001、0003 和 0007 是待处理删除,并且发出了删除节点 0002 和 0004 的新请求,则仅删除节点 0002 和 0004。不会删除节点 0001、0003 和 0007。

场景 2

Delete

创建

新的待处理或即时创建请求会取代待处理删除操作。

例如,如果节点 0001、0003 和 0007 是待处理删除,并且发出了创建节点的新请求,则将创建新节点,而且不会删除节点 0001、0003 和 0007。

场景 3

创建

Delete

新的待处理或即时删除请求会取代待处理创建操作。

例如,如果有一个创建两个节点的待处理请求,并且发出了删除节点 0003 的新请求,则不会创建任何新节点,而且将删除节点 0003。

场景 4

创建

创建

新的创建请求会添加到待处理创建请求。

例如,如果有一个创建两个节点的待处理请求,并且发出了创建三个节点的新请求,新请求会添加到待处理请求中,而且将创建五个节点。

重要

如果新的创建请求设置为 Apply Immediately - Yes (立即应用 - 是),则会立即执行所有创建请求。如果新的创建请求设置为 Apply Immediately - No (立即应用 - 否),所有创建请求将进入待处理状态。

要确定待处理的操作,请选择 Description (描述) 选项卡,然后查看所显示的待处理的创建或删除操作数。您不能同时拥有待处理的创建和删除操作。


	   图像:“Cluster description (集群描述)”选项卡

使用 AWS CLI

  1. 识别 IDs 的节点。有关更多信息,请参阅查看 集群的详细信息

  2. modify-cache-cluster CLI 操作与要删除的节点列表一起使用,如下例所示。

    要使用命令行界面从集群中移除节点,请结合以下参数使用命令 modify-cache-cluster

    • --cache-cluster-id 要从其中删除节点的缓存集群的 ID。

    • --num-cache-nodes --num-cache-nodes 参数指定应用修改后此集群中应有的节点的数量。

    • --cache-node-ids-to-remove 节点列表 IDs 您要从此群集中删除的。

    • --apply-immediately--no-apply-immediately 指定是立即移除这些节点还是在下一维护时段移除这些节点。

    • --region 指定要从其中删除节点的集群的 AWS 区域。

    以下示例从集群 my-cluster 中立即删除节点 0001。

    对于 Linux, OS X, or Unix:

    aws elasticache modify-cache-cluster \ --cache-cluster-id my-cluster \ --num-cache-nodes 2 \ --cache-node-ids-to-remove 0001 \ --region us-east-2 \ --apply-immediately

    对于 Windows:

    aws elasticache modify-cache-cluster ^ --cache-cluster-id my-cluster ^ --num-cache-nodes 2 ^ --cache-node-ids-to-remove 0001 ^ --region us-east-2 ^ --apply-immediately

    此操作生成类似于下述信息的输出 (JSON 格式):

    { "CacheClusters": [ { "SecurityGroups": [ { "Status": "active", "SecurityGroupId": "sg-dbe93fa2" } ], "ClientDownloadLandingPage": "https://console.aws.amazon.com/elasticache/home#client-download:", "AuthTokenEnabled": false, "CacheSubnetGroupName": "default", "SnapshotWindow": "12:30-13:30", "AutoMinorVersionUpgrade": true, "CacheClusterCreateTime": "2018-02-26T21:13:24.250Z", "CacheClusterStatus": "available", "AtRestEncryptionEnabled": false, "PreferredAvailabilityZone": "us-west-2a", "TransitEncryptionEnabled": false, "ReplicationGroupId": "my-cluster2", "Engine": "redis", "PreferredMaintenanceWindow": "sun:08:30-sun:09:30", "CacheClusterId": "my-cluster2-001", "PendingModifiedValues": {}, "CacheNodeType": "cache.r4.large", "CacheParameterGroup": { "CacheNodeIdsToReboot": [], "ParameterApplyStatus": "in-sync", "CacheParameterGroupName": "default.redis3.2" }, "SnapshotRetentionLimit": 0, "EngineVersion": "3.2.10", "CacheSecurityGroups": [], "NumCacheNodes": 1 }, { "SecurityGroups": [ { "Status": "active", "SecurityGroupId": "sg-dbe93fa2" } ], "ClientDownloadLandingPage": "https://console.aws.amazon.com/elasticache/home#client-download:", "AuthTokenEnabled": false, "CacheSubnetGroupName": "default", "SnapshotWindow": "12:30-13:30", "AutoMinorVersionUpgrade": true, "CacheClusterCreateTime": "2018-02-26T21:13:24.250Z", "CacheClusterStatus": "available", "AtRestEncryptionEnabled": false, "PreferredAvailabilityZone": "us-west-2b", "TransitEncryptionEnabled": false, "ReplicationGroupId": "my-cluster2", "Engine": "redis", "PreferredMaintenanceWindow": "sun:08:30-sun:09:30", "CacheClusterId": "my-cluster2-002", "PendingModifiedValues": {}, "CacheNodeType": "cache.r4.large", "CacheParameterGroup": { "CacheNodeIdsToReboot": [], "ParameterApplyStatus": "in-sync", "CacheParameterGroupName": "default.redis3.2" }, "SnapshotRetentionLimit": 0, "EngineVersion": "3.2.10", "CacheSecurityGroups": [], "NumCacheNodes": 1 }, { "SecurityGroups": [ { "Status": "active", "SecurityGroupId": "sg-dbe93fa2" } ], "ClientDownloadLandingPage": "https://console.aws.amazon.com/elasticache/home#client-download:", "AuthTokenEnabled": false, "CacheSubnetGroupName": "default", "SnapshotWindow": "12:30-13:30", "AutoMinorVersionUpgrade": true, "CacheClusterCreateTime": "2018-02-26T21:13:24.250Z", "CacheClusterStatus": "available", "AtRestEncryptionEnabled": false, "PreferredAvailabilityZone": "us-west-2c", "TransitEncryptionEnabled": false, "ReplicationGroupId": "my-cluster2", "Engine": "redis", "PreferredMaintenanceWindow": "sun:08:30-sun:09:30", "CacheClusterId": "my-cluster2-003", "PendingModifiedValues": {}, "CacheNodeType": "cache.r4.large", "CacheParameterGroup": { "CacheNodeIdsToReboot": [], "ParameterApplyStatus": "in-sync", "CacheParameterGroupName": "default.redis3.2" }, "SnapshotRetentionLimit": 0, "EngineVersion": "3.2.10", "CacheSecurityGroups": [], "NumCacheNodes": 1 }, { "CacheClusterStatus": "available", "SecurityGroups": [ { "Status": "active", "SecurityGroupId": "sg-dbe93fa2" } ], "ClientDownloadLandingPage": "https://console.aws.amazon.com/elasticache/home#client-download:", "Engine": "redis", "PreferredMaintenanceWindow": "wed:12:00-wed:13:00", "CacheSubnetGroupName": "default", "SnapshotWindow": "08:30-09:30", "TransitEncryptionEnabled": false, "AtRestEncryptionEnabled": false, "CacheClusterId": "my-cluster1", "CacheClusterCreateTime": "2018-02-26T21:06:43.420Z", "PreferredAvailabilityZone": "us-west-2c", "AuthTokenEnabled": false, "PendingModifiedValues": {}, "CacheNodeType": "cache.r4.large", "CacheParameterGroup": { "CacheNodeIdsToReboot": [], "ParameterApplyStatus": "in-sync", "CacheParameterGroupName": "default.redis3.2" }, "SnapshotRetentionLimit": 0, "AutoMinorVersionUpgrade": true, "EngineVersion": "3.2.10", "CacheSecurityGroups": [], "NumCacheNodes": 1 } ] }

有关更多信息,请参阅 AWS CLI 主题 describe-cache-clustermodify-cache-cluster

使用 ElastiCache API

要使用 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=AWS4-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