從 ElastiCache 叢集移除節點 - Amazon ElastiCache

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

從 ElastiCache 叢集移除節點

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

注意

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

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

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

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

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

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

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

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

    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. 找出您要移除的節點 ID。如需詳細資訊,請參閱檢視 ElastiCache 叢集的詳細資訊

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

    若要使用命令列界面移除叢集中的節點,請搭配使用 decrease-replica-count 命令與下列參數:

    • --replication-group-id 您想要從中移除節點的快取複寫群組 ID。

    • --new-replica-count --new-replica-count 參數可指定套用修改之後您要在此叢集中使用的節點數。

    • --replicas-to-remove 您要從這個叢集中移除的節點 ID 清單。

    • --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 與要移除的節點清單來呼叫 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 要從叢集中移除的節點 ID 清單。

    • 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