減少碎片中的複本數量 - Amazon ElastiCache (雷迪斯 OSS)

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

減少碎片中的複本數量

您可以減少 Redis OSS (已啟用叢集模式) 或 Redis OSS (叢集模式已停用) 複寫群組中的複本數目:

  • 對於 Redis OSS (叢集模式已停用),如果啟用異地同步備份,您可以將複本數減少為 1;如果未啟用,則可以將複本數減少為零。

  • 對於 Redis OSS (已啟用叢集模式),您可以將複本數目減少為零。但是,若主要節點失敗,您將無法容錯移轉至複本。

您可以使用 AWS Management Console、 AWS CLI 或 ElastiCache API 來減少節點群組 (碎片) 或複寫群組中的複本數目。

使用 AWS Management Console

下列程序會使用主控台來減少 Redis OSS (已啟用叢集模式) 複寫群組中的複本數目。

若要減少 Redis OSS 碎片中的複本數目
  1. 請登入 AWS Management Console 並開啟 ElastiCache 主控台,網址為 https://console.aws.amazon.com/elasticache/

  2. 在瀏覽窗格中,選擇 Redis OSS,然後選擇要從中刪除複本的複寫群組名稱。

  3. ​選擇每個您欲從其中移除複本節點的碎片方塊。

  4. 選擇 Delete replicas (刪除複本)

  5. 完成 Delete Replicas from Shards (從碎片刪除複本) 頁面:

    1. 針對 New number of replicas/shard (新的複本/碎片數),輸入您希望所選取碎片擁有的複本數。該數字必須等於或大於 1。我們建議您為每個碎片設定至少兩個複本,做為運作的最低需求。

    2. 選擇 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-count 1 \ --apply-immediately

針對 Windows:

aws elasticache decrease-replica-count ^ --replication-group-id sample-repl-group ^ --new-replica-count 1 ^ --apply-immediately

以下範例透過從節點群組移除兩個指定複本 (00010003),來減少複寫群組 sample-repl-group 中的複本數。

若為 Linux、macOS 或 Unix:

aws elasticache decrease-replica-count \ --replication-group-id sample-repl-group \ --replicas-to-remove 0001,0003 \ --apply-immediately

針對 Windows:

aws elasticache decrease-replica-count ^ --replication-group-id sample-repl-group ^ --replicas-to-remove 0001,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) 會為每個新複本選擇可用區域。

重要

您必須包含一個 (並且只能一個) NewReplicaCountReplicasToRemoveReplicaConfiguration 參數。

以下範例會使用 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>

以下範例透過從節點群組移除兩個指定複本 (00010003),來減少複寫群組 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中的。