將節點新增至叢集 - Amazon ElastiCache (雷迪OSS斯)

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

將節點新增至叢集

若要重新設定 Redis OSS (已啟用叢集模式) 叢集,請參閱 在 Redis 中調整叢集 OSS (已啟用叢集模式)

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

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

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

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

  2. 在瀏覽窗格中,選擇 Redis 的 OSS 叢集。

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

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

    以下情況適用於未啟用複寫的 Redis OSS 叢集:

    • 它正在運行 Redis 的 OSS,而不是聚集 Redis 的 OSS。

    • 它具有零個碎片。

      如果叢集有任何碎片,該叢集就已經啟用複寫,因此您可以繼續 將節點新增至叢集 (主控台)

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

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

  6. 選擇新增

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

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

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

  1. 請登入 AWS Management Console 並開啟 ElastiCache 主控台,網址為 https://console.aws.amazon.com/elasticache/

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

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

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

    如果您的叢集是 Redis OSS (已啟用叢集模式) 叢集,請參閱。在 Redis 中調整叢集 OSS (已啟用叢集模式)

    如果您的叢集是具有零碎片的 Redis OSS (叢集模式已停用) 叢集,請先完成中的步驟。若要將複寫新增至沒有碎片的 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 (建立中)。如果並未顯示,請重新整理瀏覽器頁面。如果節點狀態變更為「可用」,新的節點即可供使用。

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

若要使用將節點新增至叢集 AWS CLI,請使用increase-replica-count具有下列參數的 AWS CLI 作業:

  • --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

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

若要將節點新增至叢集 (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