本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將節點新增至 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叢集
登入 AWS Management Console 並在 https://console.aws.amazon.com/elasticache/
開啟 ElastiCache 主控台。 -
從導覽窗格中,選擇 Valkey 叢集或 Redis OSS叢集 。
隨即顯示執行該引擎的叢集清單。
-
選擇您要為其新增節點的叢集名稱,而非叢集名稱左側的方塊。
對於未啟用複寫的 Redis OSS叢集,下列為真:
-
它正在執行 Redis OSS,而非叢集 Redis OSS。
-
它具有零個碎片。
如果叢集有任何碎片,該叢集就已經啟用複寫,因此您可以繼續 將節點新增至 ElastiCache 叢集 (主控台)。
-
-
選擇 Add replication (新增複寫)。
-
在 Add Replication (新增複寫) 中,為這個已啟用複寫的叢集輸入說明。
-
選擇新增。
只要叢集的狀態回到「可用」,您就可以繼續下一個程序並新增複本至叢集。
將節點新增至 ElastiCache 叢集 (主控台)
下列程序可用來將節點新增至叢集。
登入 AWS Management Console 並在 https://console.aws.amazon.com/elasticache/
開啟 ElastiCache 主控台。 -
在導覽窗格中,選擇您要為其新增節點之叢集所執行的引擎。
接著會出現執行所選引擎的叢集清單。
-
從叢集清單中,針對您要新增節點的叢集,選擇其名稱。
如果您的叢集是 Valkey 或 Redis OSS(啟用叢集模式) 叢集,請參閱 在 Valkey 或 Redis 中擴展叢集 OSS(已啟用叢集模式)。
如果您的叢集是具有零碎片的 Valkey 或 Redis OSS(停用叢集模式) 叢集,請先完成 的步驟若要將複寫新增至沒有碎片的 Valkey 或 Redis OSS叢集。
-
選擇 Add node (新增節點)。
-
完成 Add Node (新增節點) 對話方塊中請求的資訊。
-
選擇 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 (描述) 索引標籤,並檢查顯示多少待定的建立或刪除項目。待定建立和待定刪除項目不能同時存在。
-
選擇 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-nodes5
\ --apply-immediately
針對 Windows:
aws elasticache modify-cache-cluster ^ --cache-cluster-id
my-cluster
^ --num-cache-nodes5
^ --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-count4
\ --apply-immediately
針對 Windows:
aws elasticache increase-replica-count ^ --replication-group-id
my-replication-group
^ --new-replica-count4
^ --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)
-
使用下列參數呼叫
IncreaseReplicaCount
API操作:-
ReplicationGroupId
您想為其新增節點的叢集 ID。 -
NewReplicaCount
NewReplicaCount
參數可指定套用修改之後您要在此叢集中使用的節點數。若要新增節點至此叢集,NewReplicaCount
必須大於此叢集中的目前節點數。如果此值小於目前的節點數量,請使用DecreaseReplicaCount
API搭配要從叢集中移除的節點數量。 -
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)
-
使用下列參數呼叫
ModifyCacheCluster
API操作:-
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
。