將節點新增至 ElastiCache 叢集 - Amazon ElastiCache

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

將節點新增至 ElastiCache 叢集

將節點新增至 Memcached 叢集時,會增加叢集的分割區數。當您變更叢集中的分割區數量時,您必須重新對應一些鍵空間,以讓它們對應到正確的節點。重新對應鍵空間時,會暫時增加叢集的快取未命中數。如需詳細資訊,請參閱設定您的 ElastiCache 用戶端以進行有效的負載平衡 (Memcached)

若要重新設定您的 Valkey 或 Redis OSS(啟用叢集模式) 叢集,請參閱 在 Valkey 或 Redis 中擴展叢集 OSS(已啟用叢集模式)

您可以使用 ElastiCache 管理主控台、 AWS CLI 或 ElastiCache API 將節點新增至叢集。

如果您想要將節點新增至單一節點 Valkey 或 Redis OSS(停用叢集模式) 叢集 (未啟用複寫),則這是一個兩步驟程序:首先新增複寫,然後新增複本節點。

下列程序會將複寫新增至未啟用複寫OSS的單節點 Valkey 或 Redis。當您新增複寫時,現有節點會變成已啟用複寫之叢集中的主要節點。新增複寫之後,您即可新增最多 5 個複本節點至該叢集。

若要將複寫新增至沒有碎片的 Valkey 或 Redis OSS叢集
  1. 登入 AWS Management Console 並在 https://console.aws.amazon.com/elasticache/開啟 ElastiCache 主控台。

  2. 從導覽窗格中,選擇 Valkey 叢集Redis OSS叢集

    隨即顯示執行該引擎的叢集清單。

  3. 選擇您要為其新增節點的叢集名稱,而非叢集名稱左側的方塊。

    對於未啟用複寫的 Redis OSS叢集,下列為真:

  4. 選擇 Add replication (新增複寫)

  5. Add Replication (新增複寫) 中,為這個已啟用複寫的叢集輸入說明。

  6. 選擇新增

    只要叢集的狀態回到「可用」,您就可以繼續下一個程序並新增複本至叢集。

將節點新增至 ElastiCache 叢集 (主控台)

下列程序可用來將節點新增至叢集。

  1. 登入 AWS Management Console 並在 https://console.aws.amazon.com/elasticache/開啟 ElastiCache 主控台。

  2. 在導覽窗格中,選擇您要為其新增節點之叢集所執行的引擎。

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

  3. 從叢集清單中,針對您要新增節點的叢集,選擇其名稱。

    如果您的叢集是 Valkey 或 Redis OSS(啟用叢集模式) 叢集,請參閱 在 Valkey 或 Redis 中擴展叢集 OSS(已啟用叢集模式)

    如果您的叢集是具有零碎片的 Valkey 或 Redis OSS(停用叢集模式) 叢集,請先完成 的步驟若要將複寫新增至沒有碎片的 Valkey 或 Redis OSS叢集

  4. 選擇 Add node (新增節點)

  5. 完成 Add Node (新增節點) 對話方塊中請求的資訊。

  6. 選擇 Apply Immediately - Yes (立即套用 - 是) 按鈕可立即新增此節點;或選擇 No (否),在此叢集的下一個維護時段期間,新增此節點。

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

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

  7. 選擇 Add (新增) 按鈕。

    在一段時間之後,新的節點應會顯示在節點清單中,且狀態為 creating (建立中)。如果並未顯示,請重新整理瀏覽器頁面。如果節點狀態變更為「可用」,新的節點即可供使用。

若要使用 將節點新增至叢集 AWS CLI,請使用 AWS CLI 操作modify-cache-cluster搭配下列參數:

  • --cache-cluster-id 您想為其新增節點的快取叢集 ID。

  • --num-cache-nodes --num-cache-nodes 參數可指定套用修改之後您要在此叢集中使用的節點數。若要新增節點至此叢集,--num-cache-nodes 必須大於此叢集中的目前節點數。如果此值小於目前的節點數量, ElastiCache 會預期要從叢集中移除的參數cache-node-ids-to-remove和節點清單。如需詳細資訊,請參閱AWS CLI 搭配 使用 ElastiCache

  • --apply-immediately--no-apply-immediately 指定是否要立即新增這些節點,或等到下個維護時段再新增。

若為 Linux、macOS 或 Unix:

aws elasticache modify-cache-cluster \ --cache-cluster-id my-cluster \ --num-cache-nodes 5 \ --apply-immediately

針對 Windows:

aws elasticache modify-cache-cluster ^ --cache-cluster-id my-cluster ^ --num-cache-nodes 5 ^ --apply-immediately

此操作會產生類似下列 (JSON 格式) 的輸出:

{ "CacheCluster": { "Engine": "memcached", "CacheParameterGroup": { "CacheNodeIdsToReboot": [], "CacheParameterGroupName": "default.memcached1.4", "ParameterApplyStatus": "in-sync" }, "CacheClusterId": "my-cluster", "PreferredAvailabilityZone": "us-west-2b", "ConfigurationEndpoint": { "Port": 11211, "Address": "rlh-mem000.7alc7bf-example.cfg.usw2.cache.amazonaws.com" }, "CacheSecurityGroups": [], "CacheClusterCreateTime": "2016-09-21T16:28:28.973Z", "AutoMinorVersionUpgrade": true, "CacheClusterStatus": "modifying", "NumCacheNodes": 2, "ClientDownloadLandingPage": "https://console.aws.amazon.com/elasticache/home#client-download:", "SecurityGroups": [ { "Status": "active", "SecurityGroupId": "sg-dbe93fa2" } ], "CacheSubnetGroupName": "default", "EngineVersion": "1.4.24", "PendingModifiedValues": { "NumCacheNodes": 5 }, "PreferredMaintenanceWindow": "sat:09:00-sat:10:00", "CacheNodeType": "cache.m3.medium", "DataTiering": "disabled", } }

如需詳細資訊,請參閱 AWS CLI 主題 modify-cache-cluster

如果您想要將節點新增至未啟用複寫的現有 Valkey 或 Redis OSS(停用叢集模式) 叢集,您必須先建立將現有叢集指定為主要叢集的複寫群組。如需詳細資訊,請參閱使用可用的 Valkey 或 Redis OSS快取叢集建立複寫群組 (AWS CLI)。複寫群組為「可用」之後,您即可繼續下列程序。

若要使用 將節點新增至叢集 AWS CLI,請使用 AWS CLI 操作increase-replica-count搭配下列參數:

  • --replication-group-id 您想為其新增節點的複寫群組 ID。

  • --new-replica-count 可指定套用修改之後您要在此複寫群組中使用的節點數。若要新增節點至此叢集,--new-replica-count 必須大於此叢集中的目前節點數。

  • --apply-immediately--no-apply-immediately 指定是否要立即新增這些節點,或等到下個維護時段再新增。

若為 Linux、macOS 或 Unix:

aws elasticache increase-replica-count \ --replication-group-id my-replication-group \ --new-replica-count 4 \ --apply-immediately

針對 Windows:

aws elasticache increase-replica-count ^ --replication-group-id my-replication-group ^ --new-replica-count 4 ^ --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" ], "NodeGroups": [ { "NodeGroupId": "0001", "Status": "modifying", "PrimaryEndpoint": { "Address": "node-test.zzzzzz.ng.0001.usw2.cache.amazonaws.com", "Port": 6379 }, "ReaderEndpoint": { "Address": "node-test.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" } ] } ], "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" } }

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

如果您想要將節點新增至未啟用複寫的現有 Valkey 或 Redis OSS(停用叢集模式) 叢集,您必須先建立將現有叢集指定為主要叢集的複寫群組。如需詳細資訊,請參閱將複本新增至獨立 Valkey 或 Redis OSS(停用叢集模式) 叢集 (ElastiCache API)。複寫群組為「可用」之後,您即可繼續下列程序。

將節點新增至叢集 (ElastiCache API)
  • 使用下列參數呼叫 IncreaseReplicaCountAPI操作:

    • ReplicationGroupId 您想為其新增節點的叢集 ID。

    • NewReplicaCount NewReplicaCount 參數可指定套用修改之後您要在此叢集中使用的節點數。若要新增節點至此叢集,NewReplicaCount 必須大於此叢集中的目前節點數。如果此值小於目前的節點數量,請使用 DecreaseReplicaCountAPI搭配要從叢集中移除的節點數量。

    • ApplyImmediately 指定是否要立即新增這些節點,或等到下個維護時段再新增。

    • Region 指定您要新增節點的叢集 AWS 區域。

    下列範例說明可將節點新增至叢集的呼叫。

    https://elasticache.us-west-2.amazonaws.com/ ?Action=IncreaseReplicaCount &ApplyImmediately=true &NumCacheNodes=4 &ReplicationGroupId=my-replication-group &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主題 IncreaseReplicaCount

將節點新增至叢集 (ElastiCache API)
  • 使用下列參數呼叫 ModifyCacheClusterAPI操作:

    • CacheClusterId 您想為其新增節點的叢集 ID。

    • NumCacheNodes NumCachNodes 參數可指定套用修改之後您要在此叢集中使用的節點數。若要新增節點至此叢集,NumCacheNodes 必須大於此叢集中的目前節點數。如果此值小於目前的節點數量, ElastiCache 會預期 參數CacheNodeIdsToRemove與要從叢集中移除的節點清單 (請參閱 搭配 Memcached ElastiCache API使用)。

    • ApplyImmediately 指定是否要立即新增這些節點,或等到下個維護時段再新增。

    • Region 指定您要新增節點的叢集 AWS 區域。

    下列範例說明可將節點新增至叢集的呼叫。

    https://elasticache.us-west-2.amazonaws.com/ ?Action=ModifyCacheCluster &ApplyImmediately=true &NumCacheNodes=5 &CacheClusterId=my-cluster &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