本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
減少碎片中的複本數量
您可以減少 Redis OSS (已啟用叢集模式) 或 Redis OSS (叢集模式已停用) 複寫群組中的複本數目:
-
對於 Redis OSS (叢集模式已停用),如果啟用異地同步備份,您可以將複本數減少為 1;如果未啟用,則可以將複本數減少為零。
-
對於 Redis OSS (已啟用叢集模式),您可以將複本數目減少為零。但是,若主要節點失敗,您將無法容錯移轉至複本。
您可以使用 AWS Management Console、 AWS CLI 或 ElastiCache API 來減少節點群組 (碎片) 或複寫群組中的複本數目。
使用 AWS Management Console
下列程序會使用主控台來減少 Redis OSS (已啟用叢集模式) 複寫群組中的複本數目。
若要減少 Redis OSS 碎片中的複本數目
-
請登入 AWS Management Console 並開啟 ElastiCache 主控台,網址為 https://console.aws.amazon.com/elasticache/
。 -
在瀏覽窗格中,選擇 Redis OSS,然後選擇要從中刪除複本的複寫群組名稱。
-
選擇每個您欲從其中移除複本節點的碎片方塊。
-
選擇 Delete replicas (刪除複本)。
-
完成 Delete Replicas from Shards (從碎片刪除複本) 頁面:
-
針對 New number of replicas/shard (新的複本/碎片數),輸入您希望所選取碎片擁有的複本數。該數字必須等於或大於 1。我們建議您為每個碎片設定至少兩個複本,做為運作的最低需求。
-
選擇 Delete (刪除) 以刪除複本,或選擇 Cancel (取消) 以取消操作。
-
重要
-
如果您未指定要刪除的複本節點, ElastiCache (Redis OSS) 會自動選取要刪除的複本節點。這樣做時, ElastiCache (Redis OSS) 會嘗試保留複寫群組的異地同步備份架構,然後保留與主複寫延遲最小的複本。
-
您無法刪除複寫群組中的主節點。若您指定刪除主要節點,操作會失敗並出現錯誤,指出已選取主要節點進行刪除。
使用 AWS CLI
若要減少 Redis OSS 碎片中的複本數目,請使用具有下列參數的decrease-replica-count
命令:
-
--replication-group-id
- 必要項目。識別您希望減少複本數的複寫群組。 -
--apply-immediately
或--no-apply-immediately
- 必要項目。指定是否要立即減少複本計數 (--apply-immediately
),或是在下一次維護時間時進行 (--no-apply-immediately
)。目前不支援--no-apply-immediately
。 -
--new-replica-count
- 選用。指定您希望的複本節點數量。--new-replica-count
的值必須為有效值,小於節點群組中目前的數量。如需了解最低允許值,請參閱減少碎片中的複本數量。若--new-replica-count
的值不符合此需求,呼叫便會失敗。 -
--replicas-to-remove
- 選用。包含節點 ID 清單,指定要移除的複本節點。 -
--replica-configuration
- 選用。允許您為每個節點群組分別設定複本數及可用區域。針對您要個別設定每個節點群組的 Redis OSS (已啟用叢集模式) 群組使用此參數。--replica-configuration
有三個選用成員:-
NodeGroupId
- 待設定節點群組的四位數 ID。對於 Redis OSS (叢集模式停用) 複寫群組,碎片識別碼一律為。0001
若要尋找 Redis OSS (已啟用叢集模式) 節點群組 (碎片的) 識別碼,請參閱。尋找碎片的 ID -
NewReplicaCount
- 選用參數,指定您希望的複本節點數。NewReplicaCount
的值必須為有效值,小於節點群組中目前的數量。如需了解最低允許值,請參閱減少碎片中的複本數量。若NewReplicaCount
的值不符合此需求,呼叫便會失敗。 -
PreferredAvailabilityZones
-PreferredAvailabilityZone
字串的清單,指定複寫群組節點所在的可用區域。PreferredAvailabilityZone
值的數量必須等於NewReplicaCount
+ 1 的值,以包含主要節點。如果省略的--replica-configuration
這個成員, ElastiCache (Redis OSS) 會為每個新複本選擇可用區域。
-
重要
您必須包含一個 (並且只能一個) --new-replica-count
、--replicas-to-remove
或 --replica-configuration
參數。
以下範例會使用 --new-replica-count
將複寫群組 sample-repl-group
中的複本數減少至一。範例完成時,每個節點群組中都會有一個複本。無論這是具有單一節點群組的 Redis OSS (叢集模式停用) 群組,還是具有多個節點群組的 Redis OSS (啟用叢集模式) 群組,都會套用此數字。
若為 Linux、macOS 或 Unix:
aws elasticache decrease-replica-count --replication-group-id
sample-repl-group
\ --new-replica-count1
\ --apply-immediately
針對 Windows:
aws elasticache decrease-replica-count ^ --replication-group-id
sample-repl-group
^ --new-replica-count1
^ --apply-immediately
以下範例透過從節點群組移除兩個指定複本 (0001
與 0003
),來減少複寫群組 sample-repl-group
中的複本數。
若為 Linux、macOS 或 Unix:
aws elasticache decrease-replica-count \ --replication-group-id
sample-repl-group
\ --replicas-to-remove0001
,0003
\ --apply-immediately
針對 Windows:
aws elasticache decrease-replica-count ^ --replication-group-id
sample-repl-group
^ --replicas-to-remove0001
,0003
\ --apply-immediately
以下範例會使用 --replica-configuration
將複寫群組 sample-repl-group
中的複本數減少到為兩個指定節點群組指定的值。假設有多個節點群組,這是 Redis OSS (已啟用叢集模式) 複寫群組。當指定選用的 PreferredAvailabilityZones
時,所列出的可用區域數量必須等於 NewReplicaCount
+ 1 的值。此方法可涵蓋由 NodeGroupId
識別群組的主要節點。
若為 Linux、macOS 或 Unix:
aws elasticache decrease-replica-count \ --replication-group-id
sample-repl-group
\ --replica-configuration \ NodeGroupId=0001
,NewReplicaCount=1
,PreferredAvailabilityZones=us-east-1a
,us-east-1c
\ NodeGroupId=0003
,NewReplicaCount=2
,PreferredAvailabilityZones=us-east-1a
,us-east-1b
,us-east-1c
\ --apply-immediately
針對 Windows:
aws elasticache decrease-replica-count ^ --replication-group-id
sample-repl-group
^ --replica-configuration ^ NodeGroupId=0001
,NewReplicaCount=2
,PreferredAvailabilityZones=us-east-1a
,us-east-1c
^ NodeGroupId=0003
,NewReplicaCount=3
,PreferredAvailabilityZones=us-east-1a
,us-east-1b
,us-east-1c
\ --apply-immediately
如需有關使用 CLI 減少複本數目的詳細資訊,請參閱 Amazon ElastiCache 命令列參考decrease-replica-count中的。
應用 ElastiCache 程式介面
若要減少 Redis OSS 碎片中的複本數目,請使用具有下列參數的DecreaseReplicaCount
動作:
-
ReplicationGroupId
- 必要項目。識別您希望減少複本數的複寫群組。 -
ApplyImmediately
- 必要項目。指定是否要立即減少複本計數 (ApplyImmediately=True
),或是在下一次維護時間時進行 (ApplyImmediately=False
)。目前不支援ApplyImmediately=False
。 -
NewReplicaCount
- 選用。指定您希望的複本節點數量。NewReplicaCount
的值必須為有效值,小於節點群組中目前的數量。如需了解最低允許值,請參閱減少碎片中的複本數量。若--new-replica-count
的值不符合此需求,呼叫便會失敗。 -
ReplicasToRemove
- 選用。包含節點 ID 清單,指定要移除的複本節點。 -
ReplicaConfiguration
- 選用。包含節點群組清單,允許您為每個節點群組分別設定複本數及可用區域。針對您要個別設定每個節點群組的 Redis OSS (已啟用叢集模式) 群組使用此參數。ReplicaConfiguraion
有三個選用成員:-
NodeGroupId
- 待設定節點群組的四位數 ID。對於 Redis OSS (叢集模式已停用) 複寫群組,節點群組識別碼一律為。0001
若要尋找 Redis OSS (已啟用叢集模式) 節點群組 (碎片的) 識別碼,請參閱。尋找碎片的 ID -
NewReplicaCount
- 此作業結束後,您希望此節點群組中擁有的複本數。若已啟用多個可用區,該值必須小於目前的複本數,且其最小值為 1;若未啟用具備自動容錯移轉的多個可用區,則最小值為 0。若此值不小於目前節點群組中的複本數,則呼叫會失敗並附帶異常。 -
PreferredAvailabilityZones
-PreferredAvailabilityZone
字串的清單,指定複寫群組節點所在的可用區域。PreferredAvailabilityZone
值的數量必須等於NewReplicaCount
+ 1 的值,以包含主要節點。如果省略的ReplicaConfiguration
這個成員, ElastiCache (Redis OSS) 會為每個新複本選擇可用區域。
-
重要
您必須包含一個 (並且只能一個) NewReplicaCount
、ReplicasToRemove
或 ReplicaConfiguration
參數。
以下範例會使用 NewReplicaCount
將複寫群組 sample-repl-group
中的複本數減少至一。範例完成時,每個節點群組中都會有一個複本。無論這是具有單一節點群組的 Redis OSS (叢集模式停用) 群組,還是具有多個節點群組的 Redis OSS (啟用叢集模式) 群組,都會套用此數字。
https://elasticache.us-west-2.amazonaws.com/ ?Action=DecreaseReplicaCount &ApplyImmediately=True &NewReplicaCount=1 &ReplicationGroupId=sample-repl-group &Version=2015-02-02 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20150202T192317Z &X-Amz-Credential=<credential>
以下範例透過從節點群組移除兩個指定複本 (0001
與 0003
),來減少複寫群組 sample-repl-group
中的複本數。
https://elasticache.us-west-2.amazonaws.com/ ?Action=DecreaseReplicaCount &ApplyImmediately=True &ReplicasToRemove.ReplicaToRemove.1=0001 &ReplicasToRemove.ReplicaToRemove.2=0003 &ReplicationGroupId=sample-repl-group &Version=2015-02-02 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20150202T192317Z &X-Amz-Credential=<credential>
以下範例會使用 ReplicaConfiguration
將複寫群組 sample-repl-group
中的複本數減少到為兩個指定節點群組指定的值。假設有多個節點群組,這是 Redis OSS (已啟用叢集模式) 複寫群組。當指定選用的 PreferredAvailabilityZones
時,所列出的可用區域數量必須等於 NewReplicaCount
+ 1 的值。此方法可涵蓋由 NodeGroupId
識別群組的主要節點。
https://elasticache.us-west-2.amazonaws.com/ ?Action=DecreaseReplicaCount &ApplyImmediately=True &ReplicaConfiguration.ConfigureShard.1.NodeGroupId=0001 &ReplicaConfiguration.ConfigureShard.1.NewReplicaCount=1 &ReplicaConfiguration.ConfigureShard.1.PreferredAvailabilityZones.PreferredAvailabilityZone.1=us-east-1a &ReplicaConfiguration.ConfigureShard.1.PreferredAvailabilityZones.PreferredAvailabilityZone.2=us-east-1c &ReplicaConfiguration.ConfigureShard.2.NodeGroupId=0003 &ReplicaConfiguration.ConfigureShard.2.NewReplicaCount=2 &ReplicaConfiguration.ConfigureShard.2.PreferredAvailabilityZones.PreferredAvailabilityZone.1=us-east-1a &ReplicaConfiguration.ConfigureShard.2.PreferredAvailabilityZones.PreferredAvailabilityZone.2=us-east-1b &ReplicaConfiguration.ConfigureShard.2.PreferredAvailabilityZones.PreferredAvailabilityZone.4=us-east-1c &ReplicationGroupId=sample-repl-group &Version=2015-02-02 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20150202T192317Z &X-Amz-Credential=<credential>
如需有關使用 API 減少複本數目的詳細資訊,請參閱 Amazon ElastiCache API 參考DecreaseReplicaCount中的。