

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Valkey または Redis OSS (クラスターモードが無効) のレプリカノードのスケーリング
<a name="Scaling.RedisReplGrps"></a>

レプリカノード (API/CLI では*レプリケーショングループ*) を含む Valkey または Redis OSS クラスターは、マルチ AZ と自動フェイルオーバーが有効になっているレプリケーションを通じて、高可用性を実現します。レプリカノードを含むクラスターは、最大 6 つの Valkey または Redis OSS ノードの論理的な集合であり、1 つのノード (プライマリ) は読み取りと書き込みの両方のリクエストに対応できます。クラスター内の他のすべてのノードは、プライマリの読み取り専用レプリカです。プライマリに書き込まれたデータはクラスターのすべてのリードレプリカに非同期でレプリケートされます。Valkey または Redis OSS (クラスターモードが無効) は、複数のクラスター間でのデータの分割をサポートしていないため、Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループの各ノードには、キャッシュデータセット全体が含まれます。Valkey または Redis OSS (クラスターモードが有効) クラスターは、最大 500 個のシャード間でのデータの分割をサポートします。

クラスターのデータ容量を変更するには、より大きいノードタイプにスケールアップするか、より小さいノードタイプにスケールダウンする必要があります。

クラスターの読み込みキャパシティーを変更するには、最大 5 のリードレプリカを追加するか、リードレプリカを削除します。

ElastiCache のスケールアッププロセスは、既存のデータをベストエフォートで保持するように設計されており、Valkey または Redis OSS レプリケーションが正常に実行される必要があります。レプリカを含む Valkey または Redis OSS クラスターの場合、Valkey または Redis OSS 用に十分なメモリを確保することをお勧めします。

**Topics**
+ [レプリカを含む Valkey または Redis OSS クラスターのスケールアップ](#Scaling.RedisReplGrps.ScaleUp)
+ [レプリカを含む Valkey または Redis OSS クラスターのスケールダウン](#Scaling.RedisReplGrps.ScaleDown)
+ [読み込みキャパシティーの増加](#Scaling.RedisReplGrps.ScaleOut)
+ [読み込みキャパシティーの削減](#Scaling.RedisReplGrps.ScaleIn)

**関連トピック**
+ [レプリケーショングループを使用する高可用性](Replication.md)
+ [レプリケーション: Valkey および Redis OSS クラスターモードの無効と有効](Replication.Redis-RedisCluster.md)
+ [Valkey および Redis OSS でマルチ AZ を使用して ElastiCache のダウンタイムを最小限に抑える](AutoFailover.md)
+ [Valkey または Redis OSS スナップショットを作成するのに十分なメモリがあることを確認する](BestPractices.BGSAVE.md)

**Topics**
+ [レプリカを含む Valkey または Redis OSS クラスターのスケールアップ](#Scaling.RedisReplGrps.ScaleUp)
+ [レプリカを含む Valkey または Redis OSS クラスターのスケールダウン](#Scaling.RedisReplGrps.ScaleDown)
+ [読み込みキャパシティーの増加](#Scaling.RedisReplGrps.ScaleOut)
+ [読み込みキャパシティーの削減](#Scaling.RedisReplGrps.ScaleIn)

## レプリカを含む Valkey または Redis OSS クラスターのスケールアップ
<a name="Scaling.RedisReplGrps.ScaleUp"></a>

Amazon ElastiCache では、コンソール、CLI、API を使用した Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループのスケールアップがサポートされています。

スケールアッププロセスが開始されると、ElastiCache によって以下の処理が実行されます。

1. 新しいノードタイプを使用して、レプリケーショングループを起動します。

1. 現行プライマリノードのすべてのデータを新しいプライマリノードにコピーします。

1. 新しいリードレプリカを新しいプライマリノードと同期させます。

1. 新しいノードを参照するように DNS エントリを更新します。このため、アプリケーションのエンドポイントを更新する必要はありません。Valkey 7.2 以降、Redis OSS 5.0.5 以降では、クラスターがオンラインのままで受信リクエストを処理している間に、自動フェイルオーバーが有効なクラスターをスケールできます。Redis OSS バージョン 4.0.10 以前では、DNS エントリが更新されている間、以前のバージョンのプライマリノードからの読み取りと書き込みが短時間中断することがあります。

1. 古いノード (CLI/API: レプリケーショングループ) を削除します。古いノードへの接続が切断されるため、古いノードからの読み書きが短時間 (数秒) 中断されるのが分かります。

このプロセスの所要時間はノードタイプとクラスターのデータ量によって異なります。

以下の表に示すように、クラスターの次のメンテナンス期間にエンジンのアップグレードがスケジュールされている場合、Valkey または Redis OSS のスケールアップオペレーションはブロックされます。


**ブロックされた Valkey または Redis OSS オペレーション**  


- **スケールアップ**
  - 即時のエンジンのアップグレード

- **エンジンのアップグレード**
  - 即時のスケールアップ

- **スケールアップとエンジンのアップグレード**
  - 即時のスケールアップ
  - 即時のエンジンのアップグレード



保留中のオペレーションによってブロックされている場合は、以下のいずれかを行うことができます。
+ **[すぐに適用]** チェックボックスをオフにして (CLI では `--no-apply-immediately`、API では `ApplyImmediately=false` を使用)、次のメンテナンス期間に Valkey または Redis OSS スケールアップオペレーションをスケジュールします。
+ Valkey または Redis OSS のスケールアップオペレーションを実行する次のメンテナンス期間 (またはその後) まで待ちます。
+ **[すぐに適用]** チェックボックスをオンにして (CLI では `--apply-immediately`、API では `ApplyImmediately=true` を使用)、このクラスターの変更に Valkey または Redis OSS エンジンのアップグレードを追加します。これにより、エンジンのアップグレードがすぐに実行されて、スケールアップオペレーションのブロックが解除されます。

以下のセクションでは、ElastiCache コンソール、、および ElastiCache ElastiCache API を使用して、レプリカを使用して Valkey AWS CLIまたは Redis OSS クラスターをスケールアップする方法について説明します。

**重要**  
パラメータグループが `reserved-memory` を使用して Valkey または Redis OSS のオーバーヘッド用のメモリを確保する場合、スケーリングを開始する前に、新しいノードタイプ用に適切な容量のメモリを確保するカスタムパラメータグループがあることを確認してください。または、`reserved-memory-percent` を使用するようにカスタムパラメータグループを変更し、新しいクラスターに対して、パラメータグループを使用することができます。  
`reserved-memory-percent` を使用している場合、これを行う必要はありません。  
詳細については、「[Valkey および Redis OSS の予約済みメモリを管理する](redis-memory-management.md)」を参照してください。

### レプリカを含む Valkey または Redis OSS クラスターのスケールアップ (コンソール)
<a name="Scaling.RedisReplGrps.ScaleUp.CON"></a>

より大きいノードタイプへのスケールアップにかかる時間はノードタイプと現在のクラスターのデータ量によって異なります。

以下のプロセスでは、ElastiCache コンソールを使用して、レプリカを含むクラスターをその現在のノードタイプから新しいより大きいノードタイプにスケーリングします。このプロセス中に、DNS エントリが更新されている間、プライマリノードからの他のバージョンの読み取りと書き込みが短時間中断される場合があります。5.0.6 バージョン以降で実行されているノードでは 1 秒未満のダウンタイム、古いバージョンでは数秒のダウンタイムが発生する場合があります。

**レプリカを含む Valkey または Redis OSS クラスターをスケールアップするには (コンソール)**

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

1. ナビゲーションペインで **[Valkey クラスター]** または **[Redis OSS クラスター]** を選択します。

1. クラスターのリストから、スケールアップするクラスターを選択します。このクラスターは、クラスター化された Valkey または Redis OSS エンジンではなく、Valkey または Redis OSS エンジンを実行している必要があります。

1. **[Modify]** (変更) を選択します。

1. [**Modify Cluster**] ウィザードで:

   1. **Node type** リストから、スケーリングするノードタイプを選択します。すべてのノードタイプがスケールダウンできるわけではないことに注意してください。

   1. `reserved-memory` を使用してメモリを管理している場合、[**Parameter Group**] リストから新しいノードタイプのために適切な容量のメモリを確保するカスタムパラメータグループを選択します。

1. スケールアッププロセスをすぐに実行する場合は、[**Apply immediately**] チェックボックスをオンにします。[**Apply immediately**] チェックボックスをオフのままにすると、スケールアッププロセスは、このクラスターの次のメンテナンス期間中に実行されます。

1. **[Modify]** (変更) を選択します。

1. クラスターのステータスが [*modifying*] から [*available*] に変わると、クラスターは新しいノードタイプにスケーリングされます。アプリケーションでエンドポイントを更新する必要はありません。

### Valkey または Redis OSS レプリケーショングループのスケールアップ (AWS CLI)
<a name="Scaling.RedisReplGrps.ScaleUp.CLI"></a>

次のプロセスでは、AWS CLIを使用して、レプリケーショングループを現在のノードタイプから新しいより大きいノードタイプにスケールします。このプロセスでは、ElastiCache は新しいノードを参照するように DNS エントリを更新します。このため、アプリケーションのエンドポイントを更新する必要はありません。Valkey 7.2 以降、Redis OSS 5.0.5 以降では、クラスターがオンラインのままで受信リクエストを処理している間に、自動フェイルオーバーが有効なクラスターをスケールできます。バージョン 4.0.10 以前では、DNS エントリが更新されている間、以前のバージョンのプライマリノードからの読み取りと書き込みが短時間中断することがあります。

より大きいノードタイプへのスケールアップにかかる時間はノードタイプと現在のクラスターのデータ量によって異なります。

**Valkey または Redis OSS レプリケーショングループをスケールアップするには (AWS CLI)**

1. 次のパラメータを指定して `list-allowed-node-type-modifications` コマンドを実行してAWS CLI、スケールアップできるノードタイプを決定します。
   + `--replication-group-id` – レプリケーショングループの名前。すべてのレプリケーショングループではなく特定のレプリケーショングループの定義を表示するには、このパラメータを使用します。

   Linux、macOS、Unix の場合:

   ```
   aws elasticache list-allowed-node-type-modifications \
   	    --replication-group-id {{my-repl-group}}
   ```

   Windows の場合:

   ```
   aws elasticache list-allowed-node-type-modifications ^
   	    --replication-group-id {{my-repl-group}}
   ```

   このオペレーションからの出力は以下のような JSON 形式になります。

   ```
   {
   	    "ScaleUpModifications": [
   	        "cache.m3.2xlarge", 
   	        "cache.m3.large", 
   	        "cache.m3.xlarge", 
   	        "cache.m4.10xlarge", 
   	        "cache.m4.2xlarge", 
   	        "cache.m4.4xlarge", 
   	        "cache.m4.large", 
   	        "cache.m4.xlarge", 
   	        "cache.r3.2xlarge", 
   	        "cache.r3.4xlarge", 
   	        "cache.r3.8xlarge", 
   	        "cache.r3.large", 
   	        "cache.r3.xlarge"
   	    ]
   	}
   ```

   詳細については、*AWS CLIリファレンス*の「[list-allowed-node-type-modifications](https://docs.aws.amazon.com/cli/latest/reference/elasticache/list-allowed-node-type-modifications.html)」を参照してください。

1. 次のパラメータを指定して `modify-replication-group` コマンドを使用して、AWS CLI現在のレプリケーショングループを新しいノードタイプにスケールアップします。
   + `--replication-group-id` – レプリケーショングループの名前。
   + `--cache-node-type` – このレプリケーショングループのクラスターの新しい、より大きいノードタイプ。この値は、前の手順で `list-allowed-node-type-modifications` コマンドによって返されるインスタンスタイプのいずれかである必要があります。
   + `--cache-parameter-group-name` – (オプション) `reserved-memory` を使用してクラスターの予約メモリを管理する場合は、このパラメータを使用します。新しいノードタイプ用の適切な容量のメモリを確保するカスタムキャッシュパラメータグループを指定します。`reserved-memory-percent` を使用している場合は、このパラメータを省略できます。
   + `--apply-immediately` – スケールアッププロセスがすぐに適用されるようにします。スケールアップオペレーションを次のメンテナンス期間に延期するには、`--no-apply-immediately` を使用します。

   Linux、macOS、Unix の場合:

   ```
   aws elasticache modify-replication-group \
   	    --replication-group-id {{my-repl-group}} \
   	    --cache-node-type {{cache.m3.xlarge}} \
   	    --cache-parameter-group-name {{redis32-m3-2xl}} \
   	    --apply-immediately
   ```

   Windows の場合:

   ```
   aws elasticache modify-replication-group ^
   	    --replication-group-id {{my-repl-group}} ^
   	    --cache-node-type {{cache.m3.xlarge}} ^
   	    --cache-parameter-group-name {{redis32-m3-2xl}} \
   	    --apply-immediately
   ```

   このコマンドからの出力は以下のような JSON 形式になります。

   ```
   {
   	"ReplicationGroup": {
   		"Status": "available",
   		"Description": "Some description",
   		"NodeGroups": [{
   			"Status": "available",
   			"NodeGroupMembers": [{
   					"CurrentRole": "primary",
   					"PreferredAvailabilityZone": "us-west-2b",
   					"CacheNodeId": "0001",
   					"ReadEndpoint": {
   						"Port": 6379,
   						"Address": "my-repl-group-001.8fdx4s.0001.usw2.cache.amazonaws.com"
   					},
   					"CacheClusterId": "my-repl-group-001"
   				},
   				{
   					"CurrentRole": "replica",
   					"PreferredAvailabilityZone": "us-west-2c",
   					"CacheNodeId": "0001",
   					"ReadEndpoint": {
   						"Port": 6379,
   						"Address": "my-repl-group-002.8fdx4s.0001.usw2.cache.amazonaws.com"
   					},
   					"CacheClusterId": "my-repl-group-002"
   				}
   			],
   			"NodeGroupId": "0001",
   			"PrimaryEndpoint": {
   				"Port": 6379,
   				"Address": "my-repl-group.8fdx4s.ng.0001.usw2.cache.amazonaws.com"
   			}
   		}],
   		"ReplicationGroupId": "my-repl-group",
   		"SnapshotRetentionLimit": 1,
   		"AutomaticFailover": "disabled",
   		"SnapshotWindow": "12:00-13:00",
   		"SnapshottingClusterId": "my-repl-group-002",
   		"MemberClusters": [
   			"my-repl-group-001",
   			"my-repl-group-002"
   		],
   		"PendingModifiedValues": {}
   	}
   }
   ```

   詳細については、*AWS CLIリファレンス*の「[modify-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/modify-replication-group.html)」を参照してください。

1. `--apply-immediately` パラメータを使用した場合は、次のパラメータを指定して `describe-replication-group` コマンドを使用してAWS CLIレプリケーショングループのステータスをモニタリングします。ステータスはまだ *[変更中]* ですが、5.0.6 バージョン以降で実行されているノードのダウンタイムは 1 秒未満であり、DNS エントリが更新されている間、プライマリノードからの古いバージョンの読み取りと書き込みが短時間中断する場合があります。
   + `--replication-group-id` – レプリケーショングループの名前。すべてのレプリケーショングループではなく特定のレプリケーショングループの定義を表示するには、このパラメータを使用します。

   Linux、macOS、Unix の場合:

   ```
   aws elasticache describe-replication-groups \
   	    --replication-group-id {{my-replication-group}}
   ```

   Windows の場合:

   ```
   aws elasticache describe-replication-groups ^
   	    --replication-group-id {{my-replication-group}}
   ```

   詳細については、*AWS CLIリファレンス*の「[describe-replication-groups](https://docs.aws.amazon.com/cli/latest/reference/elasticache/describe-replication-groups.html)」を参照してください。

### Valkey または Redis OSS レプリケーショングループのスケールアップ (ElastiCache API)
<a name="Scaling.RedisReplGrps.ScaleUp.API"></a>

以下のプロセスでは、ElastiCache API を使用して、レプリケーショングループをその現在のノードタイプから新しいより大きいノードタイプにスケーリングします。Valkey 7.2 以降、Redis OSS 5.0.5 以降では、クラスターがオンラインのままで受信リクエストを処理している間に、自動フェイルオーバーが有効なクラスターをスケールできます。Redis OSS バージョン 4.0.10 以前では、DNS エントリが更新されている間、以前のバージョンのプライマリノードからの読み取りと書き込みが短時間中断することがあります。

より大きいノードタイプへのスケールアップにかかる時間はノードタイプと現在のクラスターのデータ量によって異なります。

**Valkey または Redis OSS レプリケーショングループをスケールアップするには (ElastiCache API)**

1. 以下のパラメータを指定して ElastiCache API `ListAllowedNodeTypeModifications` アクションを使用することで、スケールアップできるノードタイプを調べます。
   + `ReplicationGroupId` – レプリケーショングループの名前。すべてのレプリケーショングループではなく特定のレプリケーショングループの定義を表示するには、このパラメータを使用します。

   ```
   https://elasticache.us-west-2.amazonaws.com/
   	   ?Action=ListAllowedNodeTypeModifications
   	   &ReplicationGroupId=MyReplGroup
   	   &Version=2015-02-02
   	   &SignatureVersion=4
   	   &SignatureMethod=HmacSHA256
   	   &Timestamp=20150202T192317Z
   	   &X-Amz-Credential=<credential>
   ```

   詳細については、*Amazon ElastiCache API リファレンス*の「[ListAllowedNodeTypeModifications](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ListAllowedNodeTypeModifications.html)」を参照してください。

1. 以下のパラメータを指定して `ModifyReplicationGroup` ElastiCache API アクションを使用することで、現在のレプリケーショングループを新しいノードタイプにスケールアップします。
   + `ReplicationGroupId` – レプリケーショングループの名前。
   + `CacheNodeType` – このレプリケーショングループのクラスターの新しい、より大きいノードタイプ。この値は、前の手順で `ListAllowedNodeTypeModifications` アクションによって返されるインスタンスタイプのいずれかである必要があります。
   + `CacheParameterGroupName` – (オプション) `reserved-memory` を使用してクラスターの予約メモリを管理する場合は、このパラメータを使用します。新しいノードタイプ用の適切な容量のメモリを確保するカスタムキャッシュパラメータグループを指定します。`reserved-memory-percent` を使用している場合は、このパラメータを省略できます。
   + `ApplyImmediately` – スケールアッププロセスがすぐに適用されるようにするには、`true` に設定します。スケールアッププロセスを次のメンテナンス期間に延期するには、`ApplyImmediately``=false` を使用します。

   ```
   https://elasticache.us-west-2.amazonaws.com/
   	   ?Action=ModifyReplicationGroup
   	   &ApplyImmediately=true
   	   &CacheNodeType=cache.m3.2xlarge
   	   &CacheParameterGroupName=redis32-m3-2xl
   	   &ReplicationGroupId=myReplGroup
   	   &SignatureVersion=4
   	   &SignatureMethod=HmacSHA256
   	   &Timestamp=20141201T220302Z
   	   &Version=2014-12-01
   	   &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>
   ```

   詳細については、*Amazon ElastiCache API リファレンス*の「[ModifyReplicationGroup](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyReplicationGroup.html)」を参照してください。

1. `ApplyImmediately``=true` を使用した場合、以下のパラメータを指定して ElastiCache API `DescribeReplicationGroups` アクションを使用することで、レプリケーショングループのステータスをモニタリングします。ステータスが [*modifying*] から [*available*] に変わると、スケールアップした新しいレプリケーショングループへの書き込みを開始できます。
   + `ReplicationGroupId` – レプリケーショングループの名前。すべてのレプリケーショングループではなく特定のレプリケーショングループの定義を表示するには、このパラメータを使用します。

   ```
   https://elasticache.us-west-2.amazonaws.com/
   	   ?Action=DescribeReplicationGroups
   	   &ReplicationGroupId=MyReplGroup
   	   &Version=2015-02-02
   	   &SignatureVersion=4
   	   &SignatureMethod=HmacSHA256
   	   &Timestamp=20150202T192317Z
   	   &X-Amz-Credential=<credential>
   ```

   詳細については、*Amazon ElastiCache API リファレンス*の「[DescribeReplicationGroups](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeReplicationGroups.html)」を参照してください。

## レプリカを含む Valkey または Redis OSS クラスターのスケールダウン
<a name="Scaling.RedisReplGrps.ScaleDown"></a>

以下のセクションでは、レプリカノードを含む Valkey または Redis OSS (クラスターモードが無効) クラスターをより小さいノードタイプにスケールダウンする方法について説明します。新しいより小さいノードタイプがデータとオーバーヘッドのすべてのニーズを満たすのに十分な容量であることを確認するのは、新しいクラスターを長期にわたり適切に運用するために重要です。詳細については、「[Valkey または Redis OSS スナップショットを作成するのに十分なメモリがあることを確認する](BestPractices.BGSAVE.md)」を参照してください。

**注記**  
r6gd ノードタイプを実行するクラスターでは、r6gd ノードファミリー内のノードサイズにのみスケールできます。

**重要**  
パラメータグループが `reserved-memory` を使用して Valkey または Redis OSS のオーバーヘッド用のメモリを確保する場合、スケーリングを開始する前に、新しいノードタイプ用に適切な容量のメモリを確保するカスタムパラメータグループがあることを確認してください。または、`reserved-memory-percent` を使用するようにカスタムパラメータグループを変更し、新しいクラスターに対して、パラメータグループを使用することができます。  
`reserved-memory-percent` を使用している場合、これを行う必要はありません。  
詳細については、「[Valkey および Redis OSS の予約済みメモリを管理する](redis-memory-management.md)」を参照してください。

**Topics**

### レプリカを含む Valkey または Redis OSS クラスターのスケールダウン (コンソール)
<a name="Scaling.RedisReplGrps.ScaleDown.CON"></a>

以下のプロセスでは、ElastiCache コンソールを使用して、レプリカノードを含む Valkey または Redis OSS クラスターをより小さいノードタイプにスケールします。

**レプリカノードを含む Valkey または Redis OSS クラスターをスケールダウンするには (コンソール)**

1. より小さいノードタイプがデータとオーバーヘッドのニーズを満たしていることを確認します。

1. パラメータグループが `reserved-memory` を使用して Valkey または Redis OSS のオーバーヘッド用のメモリを確保する場合、新しいノードタイプ用に適切な容量のメモリを確保するカスタムパラメータグループがあることを確認してください。

   または、`reserved-memory-percent` を使用するよう、カスタムパラメータグループを変更できます。詳細については、「[Valkey および Redis OSS の予約済みメモリを管理する](redis-memory-management.md)」を参照してください。

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

1. クラスターのリストから、スケールダウンするクラスターを選択します。このクラスターは、クラスター化された Valkey または Redis OSS エンジンではなく、Valkey または Redis OSS エンジンを実行している必要があります。

1. **[Modify]** (変更) を選択します。

1. [**Modify Cluster**] ウィザードで:

   1. [**ノードのタイプ**] リストから、スケールダウンするノードタイプを選択します。

   1. `reserved-memory` を使用してメモリを管理している場合、[**Parameter Group**] リストから新しいノードタイプのために適切な容量のメモリを確保するカスタムパラメータグループを選択します。

1. スケールダウンプロセスをすぐに実行する場合は、[**すぐに適用**] チェックボックスをオンにします。[**すぐに適用**] チェックボックスを選択しないままにすると、スケールダウンプロセスはこのクラスターの次のメンテナンスウィンドウ中に実行されます。

1. **[Modify]** (変更) を選択します。

1. クラスターのステータスが [*modifying*] から [*available*] に変わると、クラスターは新しいノードタイプにスケーリングされます。アプリケーションでエンドポイントを更新する必要はありません。

### Valkey または Redis OSS レプリケーショングループのスケールダウン (AWS CLI)
<a name="Scaling.RedisReplGrps.ScaleUp.CLI"></a>

次のプロセスでは、AWS CLIを使用して、レプリケーショングループを現在のノードタイプから新しいより小さいノードタイプにスケールします。このプロセスでは、ElastiCache は新しいノードを参照するように DNS エントリを更新します。このため、アプリケーションのエンドポイントを更新する必要はありません。Valkey 7.2 以降、Redis OSS 5.0.5 以降では、クラスターがオンラインのままで受信リクエストを処理している間に、自動フェイルオーバーが有効なクラスターをスケールできます。バージョン 4.0.10 以前では、DNS エントリが更新されている間、以前のバージョンのプライマリノードからの読み取りと書き込みが短時間中断することがあります。

ただし、リードレプリカクラスターからの読み取りは中断されません。

より小さいノードタイプへのスケールダウンにかかる時間はノードタイプと現在のクラスターのデータ量によって異なります。

**Valkey または Redis OSS レプリケーショングループをスケールダウンするには (AWS CLI)**

1. 次のパラメータを指定して `list-allowed-node-type-modifications` コマンドを実行してAWS CLI、スケールダウンできるノードタイプを決定します。
   + `--replication-group-id` – レプリケーショングループの名前。すべてのレプリケーショングループではなく特定のレプリケーショングループの定義を表示するには、このパラメータを使用します。

   Linux、macOS、Unix の場合:

   ```
   aws elasticache list-allowed-node-type-modifications \
   	    --replication-group-id {{my-repl-group}}
   ```

   Windows の場合:

   ```
   aws elasticache list-allowed-node-type-modifications ^
   	    --replication-group-id {{my-repl-group}}
   ```

   このオペレーションからの出力は以下のような JSON 形式になります。

   ```
   {
   	    "ScaleDownModifications": [
   	        "cache.m3.2xlarge", 
   	        "cache.m3.large", 
   	        "cache.m3.xlarge", 
   	        "cache.m4.10xlarge", 
   	        "cache.m4.2xlarge", 
   	        "cache.m4.4xlarge", 
   	        "cache.m4.large", 
   	        "cache.m4.xlarge", 
   	        "cache.r3.2xlarge", 
   	        "cache.r3.4xlarge", 
   	        "cache.r3.8xlarge", 
   	        "cache.r3.large", 
   	        "cache.r3.xlarge"
   	    ]
   	}
   ```

   詳細については、*AWS CLIリファレンス*の「[list-allowed-node-type-modifications](https://docs.aws.amazon.com/cli/latest/reference/elasticache/list-allowed-node-type-modifications.html)」を参照してください。

1. 次のパラメータを指定して `modify-replication-group` コマンドを使用して、AWS CLI現在のレプリケーショングループを新しいノードタイプにスケールアップします。
   + `--replication-group-id` – レプリケーショングループの名前。
   + `--cache-node-type` – このレプリケーショングループのクラスターの新しい、より小さいノードタイプ。この値は、前の手順で `list-allowed-node-type-modifications` コマンドによって返されるインスタンスタイプのいずれかである必要があります。
   + `--cache-parameter-group-name` – (オプション) `reserved-memory` を使用してクラスターの予約メモリを管理する場合は、このパラメータを使用します。新しいノードタイプ用の適切な容量のメモリを確保するカスタムキャッシュパラメータグループを指定します。`reserved-memory-percent` を使用している場合は、このパラメータを省略できます。
   + `--apply-immediately` – スケールアッププロセスがすぐに適用されるようにします。スケールアップオペレーションを次のメンテナンス期間に延期するには、`--no-apply-immediately` を使用します。

   Linux、macOS、Unix の場合:

   ```
   aws elasticache modify-replication-group \
   	    --replication-group-id {{my-repl-group}} \
   	    --cache-node-type {{cache.t2.small }} \
   	    --cache-parameter-group-name {{redis32-m3-2xl}} \
   	    --apply-immediately
   ```

   Windows の場合:

   ```
   aws elasticache modify-replication-group ^
   	    --replication-group-id {{my-repl-group}} ^
   	    --cache-node-type {{cache.t2.small }} ^
   	    --cache-parameter-group-name {{redis32-m3-2xl}} \
   	    --apply-immediately
   ```

   このコマンドからの出力は以下のような JSON 形式になります。

   ```
   {"ReplicationGroup": {
   	        "Status": "available", 
   	        "Description": "Some description", 
   	        "NodeGroups": [
   	            {
   	                "Status": "available", 
   	                "NodeGroupMembers": [
   	                    {
   	                        "CurrentRole": "primary", 
   	                        "PreferredAvailabilityZone": "us-west-2b", 
   	                        "CacheNodeId": "0001", 
   	                        "ReadEndpoint": {
   	                            "Port": 6379, 
   	                            "Address": "my-repl-group-001.8fdx4s.0001.usw2.cache.amazonaws.com"
   	                        }, 
   	                        "CacheClusterId": "my-repl-group-001"
   	                    }, 
   	                    {
   	                        "CurrentRole": "replica", 
   	                        "PreferredAvailabilityZone": "us-west-2c", 
   	                        "CacheNodeId": "0001", 
   	                        "ReadEndpoint": {
   	                            "Port": 6379, 
   	                            "Address": "my-repl-group-002.8fdx4s.0001.usw2.cache.amazonaws.com"
   	                        }, 
   	                        "CacheClusterId": "my-repl-group-002"
   	                    }
   	                ], 
   	                "NodeGroupId": "0001", 
   	                "PrimaryEndpoint": {
   	                    "Port": 6379, 
   	                    "Address": "my-repl-group.8fdx4s.ng.0001.usw2.cache.amazonaws.com"
   	                }
   	            }
   	        ], 
   	        "ReplicationGroupId": "my-repl-group", 
   	        "SnapshotRetentionLimit": 1, 
   	        "AutomaticFailover": "disabled", 
   	        "SnapshotWindow": "12:00-13:00", 
   	        "SnapshottingClusterId": "my-repl-group-002", 
   	        "MemberClusters": [
   	            "my-repl-group-001", 
   	            "my-repl-group-002", 
   	        ], 
   	        "PendingModifiedValues": {}
   	    }
   	}
   ```

   詳細については、*AWS CLIリファレンス*の「[modify-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/modify-replication-group.html)」を参照してください。

1. `--apply-immediately` パラメータを使用した場合は、次のパラメータを指定して `describe-replication-group` コマンドを使用してAWS CLIレプリケーショングループのステータスをモニタリングします。ステータスが *modifying* から *available* に変わると、スケールダウンした新しいレプリケーショングループへの書き込みを開始できます。
   + `--replication-group-id` – レプリケーショングループの名前。すべてのレプリケーショングループではなく特定のレプリケーショングループの定義を表示するには、このパラメータを使用します。

   Linux、macOS、Unix の場合:

   ```
   aws elasticache describe-replication-group \
   	    --replication-group-id {{my-replication-group}}
   ```

   Windows の場合:

   ```
   aws elasticache describe-replication-groups ^
   	    --replication-group-id {{my-replication-group}}
   ```

   詳細については、*AWS CLIリファレンス*の「[describe-replication-groups](https://docs.aws.amazon.com/cli/latest/reference/elasticache/describe-replication-groups.html)」を参照してください。

### Valkey または Redis OSS レプリケーショングループのスケールダウン (ElastiCache API)
<a name="Scaling.RedisReplGrps.ScaleDown.API"></a>

以下のプロセスでは、ElastiCache API を使用して、レプリケーショングループをその現在のノードタイプから新しいより小さいノードタイプにスケーリングします。このプロセスでは、ElastiCache は新しいノードを参照するように DNS エントリを更新します。このため、アプリケーションのエンドポイントを更新する必要はありません。Valkey 7.2 以降、Redis OSS 5.0.5 以降では、クラスターがオンラインのままで受信リクエストを処理している間に、自動フェイルオーバーが有効なクラスターをスケールできます。Redis OSS バージョン 4.0.10 以前では、DNS エントリが更新されている間、以前のバージョンのプライマリノードからの読み取りと書き込みが短時間中断することがあります。ただし、リードレプリカクラスターからの読み取りは中断されません。

より小さいノードタイプへのスケールダウンにかかる時間はノードタイプと現在のクラスターのデータ量によって異なります。

**Valkey または Redis OSS レプリケーショングループをスケールダウンするには (ElastiCache API)**

1. 以下のパラメータを指定して ElastiCache API `ListAllowedNodeTypeModifications` アクションを使用することで、スケールダウンできるノードタイプを調べます。
   + `ReplicationGroupId` – レプリケーショングループの名前。すべてのレプリケーショングループではなく特定のレプリケーショングループの定義を表示するには、このパラメータを使用します。

   ```
   https://elasticache.us-west-2.amazonaws.com/
   	   ?Action=ListAllowedNodeTypeModifications
   	   &ReplicationGroupId=MyReplGroup
   	   &Version=2015-02-02
   	   &SignatureVersion=4
   	   &SignatureMethod=HmacSHA256
   	   &Timestamp=20150202T192317Z
   	   &X-Amz-Credential=<credential>
   ```

   詳細については、*Amazon ElastiCache API リファレンス*の「[ListAllowedNodeTypeModifications](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ListAllowedNodeTypeModifications.html)」を参照してください。

1. 以下のパラメータを指定して `ModifyReplicationGroup` ElastiCache API アクションを使用することで、現在のレプリケーショングループを新しいノードタイプにスケールアップします。
   + `ReplicationGroupId` – レプリケーショングループの名前。
   + `CacheNodeType` – このレプリケーショングループのクラスターの新しい、より小さいノードタイプ。この値は、前の手順で `ListAllowedNodeTypeModifications` アクションによって返されるインスタンスタイプのいずれかである必要があります。
   + `CacheParameterGroupName` – (オプション) `reserved-memory` を使用してクラスターの予約メモリを管理する場合は、このパラメータを使用します。新しいノードタイプ用の適切な容量のメモリを確保するカスタムキャッシュパラメータグループを指定します。`reserved-memory-percent` を使用している場合は、このパラメータを省略できます。
   + `ApplyImmediately` – スケールアッププロセスがすぐに適用されるようにするには、`true` に設定します。スケールダウンプロセスを次のメンテナンスウィンドウに延期するには、`ApplyImmediately``=false` を使用します。

   ```
   https://elasticache.us-west-2.amazonaws.com/
   	   ?Action=ModifyReplicationGroup
   	   &ApplyImmediately=true
   	   &CacheNodeType=cache.m3.2xlarge
   	   &CacheParameterGroupName=redis32-m3-2xl
   	   &ReplicationGroupId=myReplGroup
   	   &SignatureVersion=4
   	   &SignatureMethod=HmacSHA256
   	   &Timestamp=20141201T220302Z
   	   &Version=2014-12-01
   	   &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>
   ```

   詳細については、*Amazon ElastiCache API リファレンス*の「[ModifyReplicationGroup](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyReplicationGroup.html)」を参照してください。

1. `ApplyImmediately``=true` を使用した場合、以下のパラメータを指定して ElastiCache API `DescribeReplicationGroups` アクションを使用することで、レプリケーショングループのステータスをモニタリングします。ステータスが *modifying* から *available* に変わると、スケールダウンした新しいレプリケーショングループへの書き込みを開始できます。
   + `ReplicationGroupId` – レプリケーショングループの名前。すべてのレプリケーショングループではなく特定のレプリケーショングループの定義を表示するには、このパラメータを使用します。

   ```
   https://elasticache.us-west-2.amazonaws.com/
   	   ?Action=DescribeReplicationGroups
   	   &ReplicationGroupId=MyReplGroup
   	   &Version=2015-02-02
   	   &SignatureVersion=4
   	   &SignatureMethod=HmacSHA256
   	   &Timestamp=20150202T192317Z
   	   &X-Amz-Credential=<credential>
   ```

   詳細については、*Amazon ElastiCache API リファレンス*の「[DescribeReplicationGroups](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeReplicationGroups.html)」を参照してください。

## 読み込みキャパシティーの増加
<a name="Scaling.RedisReplGrps.ScaleOut"></a>

読み込みキャパシティーを増やすには、Valkey または Redis OSS レプリケーショングループにリードレプリカ (最大 5 個) を追加します。

Valkey または Redis OSS クラスターの読み取り容量は、ElastiCache コンソール、、AWS CLIまたは ElastiCache API を使用してスケールできます。詳細については、「[Valkey または Redis OSS (クラスターモードが無効) のリードレプリカを追加する](Replication.AddReadReplica.md)」を参照してください。

## 読み込みキャパシティーの削減
<a name="Scaling.RedisReplGrps.ScaleIn"></a>

読み込みキャパシティーを減らすには、レプリカを含む Valkey または Redis OSS クラスター (API/CLI では*レプリケーショングループ*) から 1 つ以上のリードレプリカを削除します。クラスターで自動フェイルオーバーを備えたマルチ AZ が有効な場合は、最初にマルチ AZ を無効にしないと、最後のリードレプリカを削除することはできません。詳細については、「[レプリケーショングループの変更](Replication.Modify.md)」を参照してください。

詳細については、「[Valkey または Redis OSS (クラスターモードが無効) のリードレプリカを削除する](Replication.RemoveReadReplica.md)」を参照してください。