從 ElastiCache 叢集移除節點 - Amazon ElastiCache

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

從 ElastiCache 叢集移除節點

您可以使用 OSS、 或 ,從 Valkey、Redis AWS Management Console AWS CLI或 Memcached 叢集中刪除節點 ElastiCache API。

注意

每當您變更 Memcached 叢集中的節點數量時,必須至少重新對應一些索引鍵空間,使其對應到正確的節點。如需有關負載平衡 Memcached 叢集的詳細資訊,請參閱設定您的 ElastiCache 用戶端以進行有效的負載平衡 (Memcached)

從叢集中移除節點 (主控台)
  1. 登入 AWS Management Console 並在 https://console.aws.amazon.com/elasticache/開啟 ElastiCache 主控台。

  2. 從右上角的清單中,選擇要從中移除節點的叢集 AWS 區域。

  3. 在導覽窗格中,選擇您要從中移除節點之叢集所執行的引擎。

    接著會出現執行所選引擎的叢集清單。

  4. 在叢集清單中,選擇您要從中移除節點的叢集名稱。

    接著會出現叢集的節點清單。

  5. 選擇您要移除之節點的節點 ID 旁的方塊。使用ElastiCache 主控台一次只能刪除一個節點,因此選擇多個節點表示無法使用刪除節點按鈕。

    Delete Node (刪除節點) 頁面隨即出現。

  6. 若要刪除節點,請完成 Delete Node (刪除節點) 頁面,然後選擇 Delete Node (刪除節點)。如要保留節點,請選擇 Cancel (取消)

    重要

    使用 Valkey 或 Redis OSS,如果您刪除叢集中不再符合多可用區域標準的節點結果,請務必先清除多可用區域核取方塊,然後刪除節點。如果清除 Multi-AZ (多個可用區) 核取方塊,您可以選擇啟用 Auto failover (自動容錯移轉)

新增和移除請求對待定請求的影響
案例 待定作業 新請求 結果

案例 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 (描述) 索引標籤,並檢查顯示多少待定的建立或刪除項目。待定建立和待定刪除項目不能同時存在。

  1. 識別您要移除IDs的節點。如需詳細資訊,請參閱檢視 ElastiCache 叢集的詳細資訊

  2. 使用 decrease-replica-countCLI操作搭配要移除的節點清單,如下列範例所示。

    若要使用命令列界面移除叢集中的節點,請搭配使用 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-count 2 \ --region us-east-2 \ --apply-immediately

    針對 Windows:

    aws elasticache decrease-replica-count ^ --replication-group-id my-replication-group ^ --new-replica-count 3 ^ --region us-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-remove node-test-003 \ --region us-east-2 \ --apply-immediately

針對 Windows:

aws elasticache decrease-replica-count ^ --replication-group-id my-replication-group ^ --replicas-to-remove node-test-003 ^ --region us-east-2 ^ --apply-immediately

如需詳細資訊,請參閱 AWS CLI 主題 decrease-replica-count

若要使用 移除節點 ElastiCache API,請使用複寫群組 ID 和要移除的節點清單呼叫 DecreaseReplicaCountAPI操作,如下所示:

  • 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 和要移除的節點清單呼叫 ModifyCacheClusterAPI操作,如下所示:

  • 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