Redis 用 Amazon ElastiCache
Redis 用 ElastiCache ユーザーガイド (API バージョン 2015-02-02)

シャードのレプリカの数を減らす

Redis (クラスターモードが有効) のシャード、または Redis (クラスターモードが無効) のレプリケーショングループの数を減らすことができます。

  • Redis (クラスターモードが無効) で、レプリカの数を、マルチ AZ と自動フェイルオーバーが有効な場合は 1 まで、有効でない場合はゼロまで減らすことができます。

  • Redis (クラスターモードが有効) で、レプリカの数をゼロまで減らすことができます。ただし、プライマリノードが失敗した場合はレプリカにフェイルオーバーできません。

AWS マネジメントコンソール、AWS CLI、または ElastiCache API を使用して、ノードグループ (シャード)、またはレプリケーショングループのレプリカの数を減らせます。

AWS マネジメントコンソール の使用

次の手順では、Redis (クラスターモードが有効) レプリケーショングループのレプリカの数を減らすためにコンソールを使用します。

Redis シャードのレプリカの数を減らすには

  1. AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://console.aws.amazon.com/elasticache/)を開きます。

  2. ナビゲーションペインで、[Redis] を選択し、レプリカを減らすレプリケーショングループの名前を選択します。

  3. レプリカノードを削除する各シャードのチェックボックスをオンにします

  4. [Delete replicas (レプリカの削除)] を選択します。

  5. [Delete Replicas from Shards (シャードからのレプリカの削除)] ページを完了します。

    1. [New number of replicas/shard (シャード当たりの新しいレプリカ数)] に、選択したシャードが持つようになるレプリカの数を入力します。この数は、1 以上にする必要があります。最小の実行として、レプリカを少なくともシャードあたり 2 つにすることをお勧めします。

    2. [Delete (削除)] を選択してレプリカを削除するか、[Cancel (キャンセル)] を選択してオペレーションをキャンセルします。

重要

  • 削除するレプリカノードを指定しない場合、Redis 用 ElastiCache が削除するレプリカノードを自動的に選択します。そのようにする場合、Redis 用 ElastiCache は、マスターを使用してレプリケーション遅延を最小にしてレプリカを保持し、レプリケーショングループのマルチ AZ アーキテクチャを保持しようとします。

  • レプリケーショングループのプライマリノード、またはマスターノードを削除することはできません。プライマリノードを削除するように指定すると、オペレーションは失敗し、プライマリノードが削除のために選択されたことを示すエラーイベントが示されます。

AWS CLI の使用

Redis シャードでレプリカの数を減らすには、以下のパラメータを設定して 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 (クラスターモードが有効) グループに使用します。

    --replica-configuration には 3 つのオプションのメンバーがあります。

    • NodeGroupId – 設定するノードグループの 4 桁の ID。Redis (クラスターモードが無効) レプリケーショングループのシャード ID は、常に 0001 です。Redis (クラスターモードが有効) ノードグループ (シャード) の ID を見つけるには、シャードの ID を見つける を参照してください。

    • NewReplicaCount – レプリカノードの数を指定するオプションのパラメータ。NewReplicaCount の値は、ノードグループの現在のレプリカの数よりも小さい有効な値である必要があります。最小許容値については、「シャードのレプリカの数を減らす」を参照してください。NewReplicaCount の値がこの要件を満たさない場合、呼び出しは失敗します。

    • PreferredAvailabilityZones – レプリケーショングループのノードが存在するアベイラビリティーゾーンを指定する PreferredAvailabilityZone 文字列のリスト。PreferredAvailabilityZone 値の数は、プライマリノードに対応する NewReplicaCount に 1 を足した数と等しい必要があります。--replica-configuration のこのメンバーを省略すると、新しいレプリカごとに、Redis 用 ElastiCache がアベイラビリティーゾーンを選択します。

重要

--new-replica-count--replicas-to-remove、または --replica-configuration パラメータのいずれか 1 つのみを含める必要があります。

次の例では、--new-replica-count を使用して、sample-repl-group レプリケーショングループのレプリカの数を 1 個に減らします。この例が終了すると、各ノードグループのレプリカは 1 個になります。この数は、単一ノードグループを持つ Redis (クラスターモードが無効) グループ、または、複数ノードグループを持つ Redis (クラスターモードが有効) グループのどちらにも適用されます。

Linux, macOS, or 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

次の例では、ノードグループから 2 つの指定されたレプリカ (00010003) を削除して、sample-repl-group レプリケーショングループのレプリカの数を減らします。

Linux, macOS, or 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 レプリケーショングループで、レプリカの数を、2 つの指定されたノードグループの指定値に減らします。複数のノードグループがある場合、これは Redis (クラスターモードが有効) レプリケーショングループです。オプションの PreferredAvailabilityZones を指定する場合、リストされているアベイラビリティーゾーンの数は、NewReplicaCount に 1 以上を足した値と等しい必要があります。このアプローチは、NodeGroupId で指定されるグループのプライマリノードに対応します。

Linux, macOS, or 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 Command Line Reference の、「decrease-replica-count」を参照してください。

ElastiCache API の使用

Redis シャードでレプリカの数を減らすには、以下のパラメータを設定して DecreaseReplicaCount アクションを使用します。

  • ReplicationGroupId – 必須レプリカの数を減らすレプリケーショングループを指定します。

  • ApplyImmediately – 必須レプリカの数をすぐに減らすか (ApplyImmediately=True)、次のメンテナンスウィンドウで減らすか (ApplyImmediately=False) を指定します。現在、ApplyImmediately=False はサポートされていません。

  • NewReplicaCount – オプションレプリカノードの数を指定します。NewReplicaCount の値は、ノードグループの現在のレプリカの数よりも小さい有効な値である必要があります。最小許容値については、「シャードのレプリカの数を減らす」を参照してください。--new-replica-count の値がこの要件を満たさない場合、呼び出しは失敗します。

  • ReplicasToRemove – オプション削除するレプリカノードを指定するノード ID のリストが含まれます。

  • ReplicaConfiguration – オプション各ノードグループのレプリカの数およびアベイラビリティーゾーンを個別に設定するノードグループのリストが含まれます。このパラメータを、各ノードグループを個別に設定する Redis (クラスターモードが有効) グループに使用します。

    ReplicaConfiguraion には 3 つのオプションのメンバーがあります。

    • NodeGroupId – 設定するノードグループの 4 桁の ID。Redis (クラスターモードが無効) レプリケーショングループのノードグループ ID は、常に 0001 です。Redis (クラスターモードが有効) ノードグループ (シャード) の ID を見つけるには、シャードの ID を見つける を参照してください。

    • NewReplicaCount – このノードグループの、このオペレーションの最後のレプリカの数。この値は、マルチ AZ と自動フェイルオーバーが有効な場合は最小 1、マルチ AZ と自動フェイルオーバーが有効でない場合は最小 0 で、現在のレプリカの数よりも小さくする必要があります。この値がノードグループの現在のレプリカの数より小さくない場合、呼び出しは失敗し、例外が発生します。

    • PreferredAvailabilityZones – レプリケーショングループのノードが存在するアベイラビリティーゾーンを指定する PreferredAvailabilityZone 文字列のリスト。PreferredAvailabilityZone 値の数は、プライマリノードに対応する NewReplicaCount に 1 を足した数と等しい必要があります。ReplicaConfiguration のこのメンバーを省略すると、新しいレプリカごとに、Redis 用 ElastiCache がアベイラビリティーゾーンを選択します。

重要

NewReplicaCountReplicasToRemove、または ReplicaConfiguration パラメータのいずれか 1 つのみを含める必要があります。

次の例では、NewReplicaCount を使用して、sample-repl-group レプリケーショングループのレプリカの数を 1 個に減らします。この例が終了すると、各ノードグループのレプリカは 1 個になります。この数は、単一ノードグループを持つ Redis (クラスターモードが無効) グループ、または、複数ノードグループを持つ Redis (クラスターモードが有効) グループのどちらにも適用されます。

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>

次の例では、ノードグループから 2 つの指定されたレプリカ (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 レプリケーショングループで、レプリカの数を、2 つの指定されたノードグループの指定値に減らします。複数のノードグループがある場合、これは Redis (クラスターモードが有効) レプリケーショングループです。オプションの 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 Reference の、「DecreaseReplicaCount」を参照してください。