

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

# Valkey または Redis OSS (クラスターモードが有効) クラスターのスケーリング


クラスターの需要の変化に応じて Valkey または Redis OSS (クラスターモードが有効) クラスター内のシャード数を変更することで、パフォーマンスを向上させたりコストを削減したりできます。そのために、スケーリングプロセス中でもクラスターがリクエストを処理し続けることができる、オンライン水平スケーリングの使用をお勧めします。

クラスターを再スケーリングするかどうかの判断条件には、次のようなものがあります。
+ **メモリプレッシャー:**

  クラスター内のノードがメモリプレッシャーを受けている場合、より多くのリソースがより効率よくデータを保存してリクエストを処理するようにスケールアウトできます。

  ノードがメモリプレッシャーを受けているかどうかは、*FreeableMemory*、*SwapUsage* や *BytesUsedForCache* といったメトリクスをモニタリングすることで判断できます。
+ **CPU やネットワークボトルネック:**

  レイテンシーやスループットがクラスターの問題となっている場合、問題解決のためにスケールアウトが必要な場合があります。

  *CPUUtilization*、*NetworkBytesIn*、*NetworkBytesOut*、*CurrConnections*、および *NewConnections* といったメトリクスをモニタリングすることで、レイテンシーとスループットのレベルを監視できます。
+ **クラスターのサイズが大きすぎます:**

  現在のクラスターの需要からすると、スケールインを行ってもパフォーマンスに影響せず、コストも削減できます。

  *FreeableMemory*、*SwapUsage*、*BytesUsedForCache*、*CPUUtilization*、*NetworkBytesIn*、*NetworkBytesOut*、*CurrConnections* および *NewConnections* といったメトリクスを使用して、安全にスケールイン可能かどうかを判断するためにクラスターの使用を監視できます。

**パフォーマンスに対するスケーリングの影響**  
オフライン処理を使用してスケーリングすると、処理の大部分でクラスターがオフラインになるため、リクエストに対応できなくなります。オンラインメソッドを使用してスケーリングすると、スケーリングは大量の演算を行うオペレーションであるため、パフォーマンスがある程度低下します。その場合でも、クラスターはスケーリングオペレーション全体を通してリクエストに対応しつづけます。エクスペリエンスがどれほど低下するかは、通常の CPU 使用率とデータによって異なります。

Valkey または Redis OSS (クラスターモードが有効) クラスターをスケールするには、水平スケーリングと垂直スケーリングの 2 つの方法があります。
+ 水平スケーリングでは、ノードグループ (シャード) を追加または削除することで、レプリケーショングループ内のノードグループ (シャード) の数を変更できます。オンラインのリシャーディングプロセスでは、クラスターが着信リクエストの処理を継続しながら、スケールイン/スケールアウトが可能です。

  新しいクラスターで、古いクラスターと異なるスロットを設定します。オフラインメソッドに限られます。
+ 垂直スケーリング - ノードタイプを変更することで、クラスターのサイズを変更します。オンラインの垂直スケーリングでは、クラスターが着信リクエストの処理を継続しながら、スケールアップ/ダウンが可能です。

スケールインまたはスケールダウンによってクラスターのサイズとメモリ容量を減らす場合は、新しい構成にデータと Valkey または Redis OSS のオーバーヘッド用の十分なメモリがあることを確認します。

詳細については、「[ノードサイズの選択](CacheNodes.SelectSize.md)」を参照してください。

**Contents**
+ [

## Valkey または Redis OSS (クラスターモードが有効) のオフラインリシャーディング
](#redis-cluster-resharding-offline)
+ [

## Valkey または Redis OSS (クラスターモードが有効) のオンラインリシャーディング
](#redis-cluster-resharding-online)
  + [

### オンラインリシャーディングによるシャードの追加
](#redis-cluster-resharding-online-add)
  + [

### オンラインリシャーディングによるシャードの削除
](#redis-cluster-resharding-online-remove)
    + [

#### シャードの削除 (コンソール)
](#redis-cluster-resharding-online-remove-console)
    + [

#### シャードの削除 (AWS CLI)
](#redis-cluster-resharding-online-remove-cli)
    + [

#### シャードの削除（ElastiCache API）
](#redis-cluster-resharding-online-remove-api)
  + [

### オンラインのシャード再分散
](#redis-cluster-resharding-online-rebalance)
    + [

#### オンラインのシャード再分散 (コンソール)
](#redis-cluster-resharding-online-rebalance-console)
    + [

#### オンラインのシャード再分散 (AWS CLI)
](#redis-cluster-resharding-online-rebalance-cli)
    + [

#### オンラインのシャード再分散（ElastiCache API）
](#redis-cluster-resharding-online-rebalance-api)
+ [

# ノードタイプの変更によるオンライン垂直スケーリング
](redis-cluster-vertical-scaling.md)
  + [

## オンラインスケールアップ
](redis-cluster-vertical-scaling.md#redis-cluster-vertical-scaling-scaling-up)
    + [

### Valkey または Redis OSS クラスターのスケールアップ (コンソール)
](redis-cluster-vertical-scaling.md#redis-cluster-vertical-scaling-console)
    + [

### Valkey または Redis OSS クラスターのスケールアップ (AWS CLI)
](redis-cluster-vertical-scaling.md#Scaling.RedisStandalone.ScaleUp.CLI)
    + [

### Valkey または Redis OSS クラスターのスケールアップ (ElastiCache API)
](redis-cluster-vertical-scaling.md#VeticalScaling.RedisReplGrps.ScaleUp.API)
  + [

## オンラインスケールダウン
](redis-cluster-vertical-scaling.md#redis-cluster-vertical-scaling-scaling-down)
    + [

### Valkey または Redis OSS クラスターのスケールダウン (コンソール)
](redis-cluster-vertical-scaling.md#redis-cluster-vertical-scaling-down-console)
    + [

### Valkey または Redis OSS クラスターのスケールダウン (AWS CLI)
](redis-cluster-vertical-scaling.md#Scaling.RedisStandalone.ScaleDown.CLI)
    + [

### Valkey または Redis OSS クラスターのスケールダウン (ElastiCache API)
](redis-cluster-vertical-scaling.md#Scaling.Vertical.ScaleDown.API)

## Valkey または Redis OSS (クラスターモードが有効) のオフラインリシャーディング


オフラインのシャード再構成の主な利点は、レプリケーショングループからシャードを追加または削除する以上のことが行えることです。オフラインでリシャーディングと再分散を行うと、レプリケーショングループのシャード数を変更できるほか、次のことを実行できます。

**注記**  
オフラインリシャーディングは、データ階層化が有効になっている Valkey または Redis OSS クラスターではサポートされません。詳細については、「[ElastiCache のデータ階層化](data-tiering.md)」を参照してください。
+ レプリケーショングループのノードタイプを変更します。
+ レプリケーショングループ内の各ノードに、アベイラビリティーゾーンを指定します。
+ 新しいエンジンバージョンに更新します。
+ 各シャード内のレプリカノードの数を個別に指定します。
+ 各シャードにキースペースを指定します。

オフラインのシャード再構成の主な欠点は、クラスターが復元処理の開始からオフラインになり、アプリケーションのエンドポイントを更新するまで継続することです。クラスターがオフラインになる時間の長さは、クラスターのデータ量によって変わります。

**Valkey または Redis OSS (クラスターモードが有効) クラスターのシャードをオフラインで再構成するには**

1. 既存の Valkey または Redis OSS クラスターの手動バックアップを作成します。詳細については、「[手動バックアップの取得](backups-manual.md)」を参照してください。

1. バックアップから復元して新しいクラスターを作成します。詳細については、「[バックアップから新しいキャッシュへの復元](backups-restoring.md)」を参照してください。

1. アプリケーション内のエンドポイントを、新しいクラスターのエンドポイントに更新します。詳細については、「[ElastiCache での接続エンドポイントの検索](Endpoints.md)」を参照してください。

## Valkey または Redis OSS (クラスターモードが有効) のオンラインリシャーディング


ElastiCache Valkey 7.2 以降、Redis OSS バージョン 3.2.10 以降でオンラインリシャーディングとシャードの再分散を使用することで、Valkey または Redis OSS (クラスターモードが有効) をダウンタイムなしで動的にスケールできます。このアプローチでは、クラスターはスケーリングや再分散が処理中でもリクエストに対応し続けることができます。

以下を行うことができます。
+ **スケールアウト** – シャード (ノードグループ) を Valkey または Redis OSS (クラスターモードが有効) クラスター (レプリケーショングループ) に追加することで、読み込みおよび書き込みキャパシティーを増やすことができます。

  レプリケーショングループに 1 つ以上のシャードを追加する場合、それぞれの新しいノードのノード数は既存の最小のシャードのシャード数と同じです。
+ **スケールイン** – Valkey または Redis OSS (クラスターモードが有効) クラスターからシャードを削除することで、読み込みおよび書き込みキャパシティーを減らして、コストを削減します。
+ **再分散** – Valkey または Redis OSS (クラスターモードが有効) クラスター内のシャード間でキースペースを移動させ、シャード間でできるだけ均等に分散されるようにします。

次のことはできません。
+ **シャードを個別に構成:**

  シャードのキースペースを個別に指定することはできません。これを行うには、オフライン処理を使用する必要があります。

現在、ElastiCache のオンラインリシャーディングおよび再分散には、次の制限が適用されます。
+ このプロセスには Valkey 7.2 以降または Redis OSS 3.2.10 以降が必要です。エンジンバージョンのアップグレードについての詳細は、「[ElastiCache のバージョン管理](VersionManagement.md)」を参照してください。
+ スロットまたはキースペース、および大きなアイテムには制限があります。

  シャード内のキーのいずれかに大きなアイテムが含まれる場合、そのキーはスケールアウトまたは再分散の際に移行されません。この機能により、アンバランスなシャードになる可能性があります。

  シャード内のキーのいずれかに大きなアイテム (シリアル化後 256 MB より大きいアイテム) が含まれる場合、シャードはスケールイン時に削除されません。この機能により、一部のシャードは削除されない可能性があります。
+ スケールアウトの際、新しいシャードのノード数はいずれも、既存の最小のシャードのノード数と等しくなります。
+ スケールアウトの際、既存のすべてのシャードに共通するタグは、すべて新しいシャードにコピーされます。
+ グローバルデータストアクラスターをスケールアウトする場合、ElastiCache は既存のノードの 1 つから新しいノードに関数を自動的に複製しません。すべてのシャードが同じ関数を持つように、クラスターをスケールアウトした後に、新しいシャードに関数を読み込むことをお勧めします。

**注記**  
ElastiCache for Valkey 7.2 以降、ElastiCache for Redis OSS バージョン 7 以降の場合: クラスターをスケールアウトすると、ElastiCache は (ランダムに選択された) 既存のノードのいずれかにロードされた関数を新しいノードに自動的にレプリケートします。アプリケーションで[関数](https://valkey.io/topics/functions-intro/)を使用している場合は、スケールアウトする前に、クラスターがシャードによって異なる関数定義にならないように、すべての関数をすべてのシャードに読み込むことをお勧めします。

詳細については、「[オンラインクラスターのサイズ変更](best-practices-online-resharding.md)」を参照してください。

AWS マネジメントコンソール、AWS CLI、および ElastiCache API を使用して、Valkey または Redis OSS (クラスターモードが有効) クラスターを水平スケーリングまたは再分散できます。

### オンラインリシャーディングによるシャードの追加


、、または ElastiCache API を使用してAWS マネジメントコンソールAWS CLI、Valkey または Redis OSS (クラスターモードが有効) クラスターにシャードを追加できます。Valkey または Redis OSS (クラスターモードが有効) クラスターにシャードを追加すると、既存のシャードのすべてのタグが新しいシャードにコピーされます。

**Topics**

#### シャードの追加 (コンソール)
の使用AWS マネジメントコンソール

を使用してAWS マネジメントコンソール、1 つ以上のシャードを Valkey または Redis OSS (クラスターモードが有効) クラスターに追加できます。以下の手順では、このプロセスについて説明します。

**シャードを Valkey または Redis OSS (クラスターモードが有効) クラスターに追加するには**

1. ElastiCache コンソール ([https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/)) を開きます。

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

1. シャードを追加する Valkey または Redis OSS (クラスターモードが有効) クラスターの名前 (クラスター名の左にあるボックスではなく) を見つけて選択します。
**ヒント**  
Valkey または Redis OSS (クラスターモードが有効) では、**[モード]** 列に **[クラスター化された Valkey]** または **[クラスター化された Redis OSS]** が表示されます。

1. [**Add shard**] を選択します。

   1. [**追加するシャード数**] で、このクラスターに追加するシャード数を選択します。

   1. [**アベイラビリティーゾーン**] で、[**No preference**] または [**Specify availability zones**] を選択します。

   1. [**Specify availability zones**] を選択した場合は、各シャードのそれぞれのノードごとに、アベイラビリティゾーンのリストからノードのアベイラビリティーゾーンを選択します。

   1. **[Add]** (追加) を選択します。

#### シャードの追加 (AWS CLI)
の使用AWS CLI

以下のプロセスでは、AWS CLIを使用してシャードを追加し、Valkey または Redis OSS (クラスターモードが有効) クラスターでシャードを再構成する方法について説明します。

`modify-replication-group-shard-configuration` を使って以下のパラメータを使用します。

**パラメータ**
+ `--apply-immediately` – 必須。シャードの再構成オペレーションがすぐに開始するよう指定します。
+ `--replication-group-id` – 必須。シャードの再構成オペレーションをどのレプリケーショングループ (クラスター) で実行するかを指定します。
+ `--node-group-count` – 必須。オペレーションの完了時に存在するシャード (ノードグループ) 数を指定します。シャードを追加する場合、`--node-group-count` の値は現在のシャード数より大きくなければなりません。

  オプションで、`--resharding-configuration` を使用してレプリケーショングループ内の各ノードにアベイラビリティーゾーンを指定できます。
+ `--resharding-configuration` - オプション。レプリケーショングループの各シャードのそれぞれのノードに推奨される、アベイラビリティーゾーンのリスト。`--node-group-count` の値が現在のシャード数より大きい場合にのみ、このパラメータを使用します。シャード追加時にこのパラメータを省略すると、Amazon ElastiCache により新しいノードにアベイラビリティーゾーンが選択されます。

次の例では、Valkey または Redis OSS (クラスターモードが有効) クラスター `my-cluster` の 4 つのシャードでキースペースを再構成します。また、この例では、各シャードでそれぞれのノードのアベイラビリティーゾーンを指定しています。オペレーションはすぐに始まります。

**Example - シャードの追加**  
Linux、macOS、Unix の場合:  

```
aws elasticache modify-replication-group-shard-configuration \
    --replication-group-id my-cluster \
    --node-group-count 4 \
    --resharding-configuration \
        "PreferredAvailabilityZones=us-east-2a,us-east-2c" \
        "PreferredAvailabilityZones=us-east-2b,us-east-2a" \
        "PreferredAvailabilityZones=us-east-2c,us-east-2d" \
        "PreferredAvailabilityZones=us-east-2d,us-east-2c" \
    --apply-immediately
```
Windows の場合:  

```
aws elasticache modify-replication-group-shard-configuration ^
    --replication-group-id my-cluster ^
    --node-group-count 4 ^
    --resharding-configuration ^
        "PreferredAvailabilityZones=us-east-2a,us-east-2c" ^
        "PreferredAvailabilityZones=us-east-2b,us-east-2a" ^
        "PreferredAvailabilityZones=us-east-2c,us-east-2d" ^
        "PreferredAvailabilityZones=us-east-2d,us-east-2c" ^
    --apply-immediately
```

詳細については、AWS CLIドキュメントの[modify-replication-group-shard-configuration](https://docs.aws.amazon.com/cli/latest/reference/elasticache/modify-replication-group-shard-configuration.html)」を参照してください。

#### シャードの追加（ElastiCache API）
ElastiCache API の使用

`ModifyReplicationGroupShardConfiguration` オペレーションを使うことで、ElastiCache API を使用して Valkey または Redis OSS (クラスターモードが有効) クラスターのシャードをオンラインで再構成できます。

`ModifyReplicationGroupShardConfiguration` を使って以下のパラメータを使用します。

**パラメータ**
+ `ApplyImmediately=true` – 必須。シャードの再構成オペレーションがすぐに開始するよう指定します。
+ `ReplicationGroupId` – 必須。シャードの再構成オペレーションをどのレプリケーショングループ (クラスター) で実行するかを指定します。
+ `NodeGroupCount` – 必須。オペレーションの完了時に存在するシャード (ノードグループ) 数を指定します。シャードを追加する場合、`NodeGroupCount` の値は現在のシャード数より大きくなければなりません。

  オプションで、`ReshardingConfiguration` を使用してレプリケーショングループ内の各ノードにアベイラビリティーゾーンを指定できます。
+ `ReshardingConfiguration` - オプション。レプリケーショングループの各シャードのそれぞれのノードに推奨される、アベイラビリティーゾーンのリスト。`NodeGroupCount` の値が現在のシャード数より大きい場合にのみ、このパラメータを使用します。シャード追加時にこのパラメータを省略すると、Amazon ElastiCache により新しいノードにアベイラビリティーゾーンが選択されます。

以下のプロセスでは、ElastiCache API を使用してシャードを追加し、Valkey または Redis OSS (クラスターモードが有効) クラスターでシャードを再構成する方法について説明します。

**Example - シャードの追加**  
次の例では、Valkey または Redis OSS (クラスターモードが有効) クラスター `my-cluster` にノードグループを追加します。オペレーション完了時に合計 4 つのノードグループが存在することになります。また、この例では、各シャードでそれぞれのノードのアベイラビリティーゾーンを指定しています。オペレーションはすぐに始まります。  

```
https://elasticache.us-east-2.amazonaws.com/
    ?Action=ModifyReplicationGroupShardConfiguration
    &ApplyImmediately=true
    &NodeGroupCount=4
    &ReplicationGroupId=my-cluster
    &ReshardingConfiguration.ReshardingConfiguration.1.PreferredAvailabilityZones.AvailabilityZone.1=us-east-2a 
    &ReshardingConfiguration.ReshardingConfiguration.1.PreferredAvailabilityZones.AvailabilityZone.2=us-east-2c 
    &ReshardingConfiguration.ReshardingConfiguration.2.PreferredAvailabilityZones.AvailabilityZone.1=us-east-2b 
    &ReshardingConfiguration.ReshardingConfiguration.2.PreferredAvailabilityZones.AvailabilityZone.2=us-east-2a 
    &ReshardingConfiguration.ReshardingConfiguration.3.PreferredAvailabilityZones.AvailabilityZone.1=us-east-2c 
    &ReshardingConfiguration.ReshardingConfiguration.3.PreferredAvailabilityZones.AvailabilityZone.2=us-east-2d 
    &ReshardingConfiguration.ReshardingConfiguration.4.PreferredAvailabilityZones.AvailabilityZone.1=us-east-2d 
    &ReshardingConfiguration.ReshardingConfiguration.4.PreferredAvailabilityZones.AvailabilityZone.2=us-east-2c 
    &Version=2015-02-02
    &SignatureVersion=4
    &SignatureMethod=HmacSHA256
    &Timestamp=20171002T192317Z
    &X-Amz-Credential=<credential>
```

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

### オンラインリシャーディングによるシャードの削除


、、または ElastiCache API を使用してAWS マネジメントコンソールAWS CLI、Valkey または Redis OSS (クラスターモードが有効) クラスターからシャードを削除できます。

**Topics**
+ [

#### シャードの削除 (コンソール)
](#redis-cluster-resharding-online-remove-console)
+ [

#### シャードの削除 (AWS CLI)
](#redis-cluster-resharding-online-remove-cli)
+ [

#### シャードの削除（ElastiCache API）
](#redis-cluster-resharding-online-remove-api)

#### シャードの削除 (コンソール)
の使用AWS マネジメントコンソール

以下のプロセスでは、AWS マネジメントコンソールを使用してシャードを削除し、Valkey または Redis OSS (クラスターモードが有効) クラスターでシャードを再構成する方法について説明します。

レプリケーショングループからノードグループ (シャード) を削除する前に、ElastiCache はすべてのデータが残りのシャードに収まるようにします。データが収まる場合、指定したシャードはリクエストに応じてレプリケーショングループから削除されます。データが残りのノードグループに収まらない場合、プロセスは終了し、レプリケーショングループはリクエスト前と同じノードグループ設定のままになります。

を使用してAWS マネジメントコンソール、Valkey または Redis OSS (クラスターモードが有効) クラスターから 1 つ以上のシャードを削除できます。レプリケーショングループのすべてのシャードを削除することはできません。代わりに、レプリケーショングループを削除する必要があります。詳細については、「[レプリケーショングループの削除](Replication.DeletingRepGroup.md)」を参照してください。次の手順では、1 つ以上のシャードを削除する手順を説明します。

**Valkey または Redis OSS (クラスターモードが有効) クラスターからシャードを削除するには**

1. ElastiCache コンソール ([https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/)) を開きます。

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

1. シャードを削除する Valkey または Redis OSS (クラスターモードが有効) クラスターの名前 (クラスター名の左にあるボックスではなく) を見つけて選択します。
**ヒント**  
Valkey または Redis OSS (クラスターモードが有効) クラスターは、**[シャード]** 列で 1 以上の値を持ちます。

1. シャードの一覧から、削除する各シャードの名前の左にあるチェックボックスを選択します。

1. [**Delete shard**] を選択します。

#### シャードの削除 (AWS CLI)
の使用AWS CLI

以下のプロセスでは、AWS CLIを使用してシャードを削除し、Valkey または Redis OSS (クラスターモードが有効) クラスターでシャードを再構成する方法について説明します。

**重要**  
レプリケーショングループからノードグループ (シャード) を削除する前に、ElastiCache はすべてのデータが残りのシャードに収まるようにします。データが収まる場合、指定されたシャード (`--node-groups-to-remove`) はリクエストに応じてレプリケーショングループから削除され、キースペースは残りのシャードにマッピングされます。データが残りのノードグループに収まらない場合、プロセスは終了し、レプリケーショングループはリクエスト前と同じノードグループ設定のままになります。

を使用してAWS CLI、Valkey または Redis OSS (クラスターモードが有効) クラスターから 1 つ以上のシャードを削除できます。レプリケーショングループのすべてのシャードを削除することはできません。代わりに、レプリケーショングループを削除する必要があります。詳細については、「[レプリケーショングループの削除](Replication.DeletingRepGroup.md)」を参照してください。

`modify-replication-group-shard-configuration` を使って以下のパラメータを使用します。

**パラメータ**
+ `--apply-immediately` – 必須。シャードの再構成オペレーションがすぐに開始するよう指定します。
+ `--replication-group-id` – 必須。シャードの再構成オペレーションをどのレプリケーショングループ (クラスター) で実行するかを指定します。
+ `--node-group-count` – 必須。オペレーションの完了時に存在するシャード (ノードグループ) 数を指定します。シャードを削除する場合、`--node-group-count` の値は現在のシャード数より小さくなければなりません。

  
+ `--node-groups-to-remove` – `--node-group-count` が現在のノードグループ (シャード) 数より少ない場合は必須です。レプリケーショングループから削除するシャード (ノードグループ) ID の一覧。

次の手順では、1 つ以上のシャードを削除する手順を説明します。

**Example - シャードの削除**  
次の例では、Valkey または Redis OSS (クラスターモードが有効) クラスター `my-cluster` から 2 つのノードグループを削除します。オペレーション完了時に合計 2 つのノードグループが存在することになります。削除されたシャードのキースペースは、残りのシャード間で均等に分散されます。  
Linux、macOS、Unix の場合:  

```
aws elasticache modify-replication-group-shard-configuration \
    --replication-group-id my-cluster \
    --node-group-count 2 \
    --node-groups-to-remove "0002" "0003" \
    --apply-immediately
```
Windows の場合:  

```
aws elasticache modify-replication-group-shard-configuration ^
    --replication-group-id my-cluster ^
    --node-group-count 2 ^
    --node-groups-to-remove "0002" "0003" ^
    --apply-immediately
```

#### シャードの削除（ElastiCache API）
ElastiCache API の使用

`ModifyReplicationGroupShardConfiguration` オペレーションを使うことで、ElastiCache API を使用して Valkey または Redis OSS (クラスターモードが有効) クラスターのシャードをオンラインで再構成できます。

以下のプロセスでは、ElastiCache API を使用してシャードを削除し、Valkey または Redis OSS (クラスターモードが有効) クラスターでシャードを再構成する方法について説明します。

**重要**  
レプリケーショングループからノードグループ (シャード) を削除する前に、ElastiCache はすべてのデータが残りのシャードに収まるようにします。データが収まる場合、指定されたシャード (`NodeGroupsToRemove`) はリクエストに応じてレプリケーショングループから削除され、キースペースは残りのシャードにマッピングされます。データが残りのノードグループに収まらない場合、プロセスは終了し、レプリケーショングループはリクエスト前と同じノードグループ設定のままになります。

ElastiCache API を使用して、Valkey または Redis OSS (クラスターモードが有効) クラスターから 1 つ以上のシャードを削除できます。レプリケーショングループのすべてのシャードを削除することはできません。代わりに、レプリケーショングループを削除する必要があります。詳細については、「[レプリケーショングループの削除](Replication.DeletingRepGroup.md)」を参照してください。

`ModifyReplicationGroupShardConfiguration` を使って以下のパラメータを使用します。

**パラメータ**
+ `ApplyImmediately=true` – 必須。シャードの再構成オペレーションがすぐに開始するよう指定します。
+ `ReplicationGroupId` – 必須。シャードの再構成オペレーションをどのレプリケーショングループ (クラスター) で実行するかを指定します。
+ `NodeGroupCount` – 必須。オペレーションの完了時に存在するシャード (ノードグループ) 数を指定します。シャードを削除する場合、`NodeGroupCount` の値は現在のシャード数より小さくなければなりません。
+ `NodeGroupsToRemove` – `--node-group-count` が現在のノードグループ (シャード) 数より少ない場合は必須です。レプリケーショングループから削除するシャード (ノードグループ) ID の一覧。

次の手順では、1 つ以上のシャードを削除する手順を説明します。

**Example - シャードの削除**  
次の例では、Valkey または Redis OSS (クラスターモードが有効) クラスター `my-cluster` から 2 つのノードグループを削除します。オペレーション完了時に合計 2 つのノードグループが存在することになります。削除されたシャードのキースペースは、残りのシャード間で均等に分散されます。  

```
https://elasticache.us-east-2.amazonaws.com/
    ?Action=ModifyReplicationGroupShardConfiguration
    &ApplyImmediately=true
    &NodeGroupCount=2
    &ReplicationGroupId=my-cluster
    &NodeGroupsToRemove.member.1=0002
    &NodeGroupsToRemove.member.2=0003
    &Version=2015-02-02
    &SignatureVersion=4
    &SignatureMethod=HmacSHA256
    &Timestamp=20171002T192317Z
    &X-Amz-Credential=<credential>
```

### オンラインのシャード再分散
シャードの再分散

、、または ElastiCache API を使用してAWS マネジメントコンソールAWS CLI、Valkey または Redis OSS (クラスターモードが有効) クラスター内のシャードを再調整できます。

**Topics**
+ [

#### オンラインのシャード再分散 (コンソール)
](#redis-cluster-resharding-online-rebalance-console)
+ [

#### オンラインのシャード再分散 (AWS CLI)
](#redis-cluster-resharding-online-rebalance-cli)
+ [

#### オンラインのシャード再分散（ElastiCache API）
](#redis-cluster-resharding-online-rebalance-api)

#### オンラインのシャード再分散 (コンソール)
の使用AWS マネジメントコンソール

以下のプロセスでは、AWS マネジメントコンソールを使用してシャードを再分散し、Valkey または Redis OSS (クラスターモードが有効) クラスターでシャードを再構成する方法について説明します。

**Valkey または Redis OSS (クラスターモードが有効) クラスターでシャード間のキースペースを再分散するには**

1. ElastiCache コンソール ([https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/)) を開きます。

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

1. 再分散する Valkey または Redis OSS (クラスターモードが有効) クラスターの名前 (名前の左にあるボックスではなく) を選択します。
**ヒント**  
Valkey または Redis OSS (クラスターモードが有効) クラスターは、**[シャード]** 列で 1 以上の値を持ちます。

1. [**再分散**] を選択します。

1. プロンプトが表示されたら、[**再分散**] を選択します。次のようなメッセージが表示されることがあります。*レプリケーショングループのスロットは均一に分散されています。Nothing to do。(サービス: AmazonElastiCache; ステータスコード: 400; エラーコード: InvalidReplicationGroupState; リクエスト ID: 2246cebd-9721-11e7-8d5b-e1b0f086c8cf)*。この場合、[**キャンセル**] を選択します。

#### オンラインのシャード再分散 (AWS CLI)
の使用AWS CLI

`modify-replication-group-shard-configuration` を使って以下のパラメータを使用します。

**パラメータ**
+ `-apply-immediately` – 必須。シャードの再構成オペレーションがすぐに開始するよう指定します。
+ `--replication-group-id` – 必須。シャードの再構成オペレーションをどのレプリケーショングループ (クラスター) で実行するかを指定します。
+ `--node-group-count` – 必須。クラスター内のすべてのシャードでキースペースを再分散するため、この値は現在のシャード数と同じである必要があります。

以下のプロセスでは、AWS CLIを使用してシャードを再分散し、Valkey または Redis OSS (クラスターモードが有効) クラスターでシャードを再構成する方法について説明します。

**Example - クラスターのシャードの再分散**  
次の例では、Valkey または Redis OSS (クラスターモードが有効) クラスター `my-cluster` のスロットを再分散して、スロットができるだけ均等に分散されるようにします。`--node-group-count` の値 (`4`) は、クラスターの現在のシャード数です。  
Linux、macOS、Unix の場合:  

```
aws elasticache modify-replication-group-shard-configuration \
    --replication-group-id my-cluster \
    --node-group-count 4 \
    --apply-immediately
```
Windows の場合:  

```
aws elasticache modify-replication-group-shard-configuration ^
    --replication-group-id my-cluster ^
    --node-group-count 4 ^
    --apply-immediately
```

#### オンラインのシャード再分散（ElastiCache API）
ElastiCache API の使用

`ModifyReplicationGroupShardConfiguration` オペレーションを使うことで、ElastiCache API を使用して Valkey または Redis OSS (クラスターモードが有効) クラスターのシャードをオンラインで再構成できます。

`ModifyReplicationGroupShardConfiguration` を使って以下のパラメータを使用します。

**パラメータ**
+ `ApplyImmediately=true` – 必須。シャードの再構成オペレーションがすぐに開始するよう指定します。
+ `ReplicationGroupId` – 必須。シャードの再構成オペレーションをどのレプリケーショングループ (クラスター) で実行するかを指定します。
+ `NodeGroupCount` – 必須。クラスター内のすべてのシャードでキースペースを再分散するため、この値は現在のシャード数と同じである必要があります。

以下のプロセスでは、ElastiCache API を使用してシャードを再分散し、Valkey または Redis OSS (クラスターモードが有効) クラスターでシャードを再構成する方法について説明します。

**Example - クラスターの再分散**  
次の例では、Valkey または Redis OSS (クラスターモードが有効) クラスター `my-cluster` のスロットを再分散して、スロットができるだけ均等に分散されるようにします。`NodeGroupCount` の値 (`4`) は、クラスターの現在のシャード数です。  

```
https://elasticache.us-east-2.amazonaws.com/
    ?Action=ModifyReplicationGroupShardConfiguration
    &ApplyImmediately=true
    &NodeGroupCount=4
    &ReplicationGroupId=my-cluster
    &Version=2015-02-02
    &SignatureVersion=4
    &SignatureMethod=HmacSHA256
    &Timestamp=20171002T192317Z
    &X-Amz-Credential=<credential>
```

# ノードタイプの変更によるオンライン垂直スケーリング
ノードタイプの変更によるオンライン垂直スケーリング

Valkey バージョン 7.2 以降、Redis OSS バージョン 3.2.10 以降でオンラインの垂直スケーリングを使用すると、最小限のダウンタイムで Valkey または Redis OSS クラスターを動的にスケールできます。これにより、Valkey または Redis OSS クラスターはスケーリング中であってもリクエストを処理できます。

**注記**  
データ階層化を使用するクラスター (r6gd ノードタイプを使用するクラスターなど) と、データ階層化を使用しないクラスター (r6g ノードタイプを使用するクラスターなど) 間のスケーリングはサポートされていません。詳細については、「[ElastiCache のデータ階層化](data-tiering.md)」を参照してください。

以下を行うことができます。
+ **[スケールアップ]** – より大きいノードタイプを使用するように Valkey または Redis OSS クラスターのノードタイプを調整することで、読み取りおよび書き込み容量を増やします。

  ElastiCache は、オンラインのままリクエストを処理しながら、クラスターのサイズを動的に変更します。
+ [**スケールダウン**] – より小さいノードを使用するようにノードタイプを調整することで、読み取りおよび書き込み容量を減らします。同様に、ElastiCache は、オンラインのままリクエストを処理しながら、クラスターのサイズを動的に変更します。この場合、ノードのサイズを小さくすることでコストを削減します。

**注記**  
スケールアップおよびスケールダウンプロセスは、新しく選択されたノードタイプでクラスターを作成し、新しいノードを以前のノードと同期させることに依存します。スケールアップ/ダウンフローをスムーズにするには、以下の手順を実行します。  
十分な ENI (Elastic Network Interface) 容量があることを確認します。スケールダウンの場合は、ノードを小さくすることで予想されるトラフィックを吸収するのに十分なメモリがあることを確認します。  
メモリ管理のベストプラクティスについては、「[Valkey および Redis OSS の予約済みメモリを管理する](redis-memory-management.md)」を参照してください。
垂直スケーリングプロセスは、完全にオンラインのままになるように設計されており、古いノードと新しいノードとの間でデータを同期させることに依存します。データトラフィックが最小になると予想される時間帯にスケールアップ/ダウンを開始することをお勧めします。
可能であれば、ステージング環境でのスケーリング中にアプリケーションの動作をテストします。

**Contents**
+ [

## オンラインスケールアップ
](#redis-cluster-vertical-scaling-scaling-up)
  + [

### Valkey または Redis OSS クラスターのスケールアップ (コンソール)
](#redis-cluster-vertical-scaling-console)
  + [

### Valkey または Redis OSS クラスターのスケールアップ (AWS CLI)
](#Scaling.RedisStandalone.ScaleUp.CLI)
  + [

### Valkey または Redis OSS クラスターのスケールアップ (ElastiCache API)
](#VeticalScaling.RedisReplGrps.ScaleUp.API)
+ [

## オンラインスケールダウン
](#redis-cluster-vertical-scaling-scaling-down)
  + [

### Valkey または Redis OSS クラスターのスケールダウン (コンソール)
](#redis-cluster-vertical-scaling-down-console)
  + [

### Valkey または Redis OSS クラスターのスケールダウン (AWS CLI)
](#Scaling.RedisStandalone.ScaleDown.CLI)
  + [

### Valkey または Redis OSS クラスターのスケールダウン (ElastiCache API)
](#Scaling.Vertical.ScaleDown.API)

## オンラインスケールアップ
オンラインスケールアップ

**Topics**
+ [

### Valkey または Redis OSS クラスターのスケールアップ (コンソール)
](#redis-cluster-vertical-scaling-console)
+ [

### Valkey または Redis OSS クラスターのスケールアップ (AWS CLI)
](#Scaling.RedisStandalone.ScaleUp.CLI)
+ [

### Valkey または Redis OSS クラスターのスケールアップ (ElastiCache API)
](#VeticalScaling.RedisReplGrps.ScaleUp.API)

### Valkey または Redis OSS クラスターのスケールアップ (コンソール)
の使用AWS マネジメントコンソール

以下の手順では、ElastiCache マネジメントコンソールを使用して、Valkey または Redis OSS クラスターをスケールアップする方法について説明しています。このプロセス中、クラスターは最小限のダウンタイムでリクエストを処理し続けます。

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

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

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

1. クラスターのリストから、クラスターを選択します。

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

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

   1. **Node type** リストから、スケーリングするノードタイプを選択します。スケールアップするには、既存のノードよりも大きいノードタイプを選択します。

1. スケールアッププロセスをすぐに実行する場合は、[**すぐに適用**] ボックスを選択します。[**Apply immediately**] ボックスを選択していない場合、スケールアッププロセスはこのクラスターの次のメンテナンス期間中に実行されます。

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

   前の手順で **[すぐに適用]** を選択した場合、クラスターのステータスは *[変更中]* に変わります。ステータスが 使用可能** に変わると、変更は完了し、新しいクラスターの使用を開始できます。

### Valkey または Redis OSS クラスターのスケールアップ (AWS CLI)


以下の手順では、AWS CLIを使用して Valkey または Redis OSS クラスターをスケールアップする方法について説明しています。このプロセス中、クラスターは最小限のダウンタイムでリクエストを処理し続けます。

**Valkey または Redis OSS クラスターをスケールアップするには (AWS CLI)**

1. 次のパラメータを指定して `list-allowed-node-type-modifications` コマンドを実行してAWS CLI、スケールアップできるノードタイプを決定します。

   Linux、macOS、Unix の場合:

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

   Windows の場合:

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

   上のコマンドによる出力は以下のような 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"
   	    ]
   	       "ScaleDownModifications": [
   	        "cache.t2.micro", 
   	        "cache.t2.small ", 
   	        "cache.t2.medium",
   	       	"cache.t1.small "
   	    ], 
   }
   ```

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

1. コマンドと以下のパラメータを使用してAWS CLI`modify-replication-group`、レプリケーショングループを変更して新しいより大きなノードタイプにスケールアップします。
   + `--replication-group-id` – スケールアップするレプリケーショングループの名前。
   + `--cache-node-type` – クラスターのスケーリング後の新しいノードタイプ。この値は、ステップ 1 で `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-redis-cluster \
   	    --cache-node-type cache.m3.xlarge \	    
   	    --apply-immediately
   ```

   Windows の場合:

   ```
   aws elasticache modify-replication-group ^
   	    --replication-group-id my-redis-cluster ^
   	    --cache-node-type cache.m3.xlarge ^	   
   	    --apply-immediately
   ```

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

   ```
   {
   		"ReplicationGroup": {
           "Status": "modifying",
           "Description": "my-redis-cluster",
           "NodeGroups": [
               {
                   "Status": "modifying",
                   "Slots": "0-16383",
                   "NodeGroupId": "0001",
                   "NodeGroupMembers": [
                       {
                           "PreferredAvailabilityZone": "us-east-1f",
                           "CacheNodeId": "0001",
                           "CacheClusterId": "my-redis-cluster-0001-001"
                       },
                       {
                           "PreferredAvailabilityZone": "us-east-1d",
                           "CacheNodeId": "0001",
                           "CacheClusterId": "my-redis-cluster-0001-002"
                       }
                   ]
               }
           ],
           "ConfigurationEndpoint": {
               "Port": 6379,
               "Address": "my-redis-cluster.r7gdfi.clustercfg.use1.cache.amazonaws.com"
           },
           "ClusterEnabled": true,
           "ReplicationGroupId": "my-redis-cluster",
           "SnapshotRetentionLimit": 1,
           "AutomaticFailover": "enabled",
           "SnapshotWindow": "07:30-08:30",
           "MemberClusters": [
               "my-redis-cluster-0001-001",
               "my-redis-cluster-0001-002"
           ],
           "CacheNodeType": "cache.m3.xlarge",
            "DataTiering": "disabled"
           "PendingModifiedValues": {}
       }
   }
   ```

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

1. を使用した場合は`--apply-immediately`、次のパラメータを指定して コマンドを使用してAWS CLI`describe-cache-clusters`クラスターのステータスを確認します。ステータスが *available* に変わると、新しい、より大きいクラスターノードの使用を開始できます。

### Valkey または Redis OSS クラスターのスケールアップ (ElastiCache API)


以下のプロセスでは、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)」を参照してください。

## オンラインスケールダウン
オンラインスケールダウン

**Topics**
+ [

### Valkey または Redis OSS クラスターのスケールダウン (コンソール)
](#redis-cluster-vertical-scaling-down-console)
+ [

### Valkey または Redis OSS クラスターのスケールダウン (AWS CLI)
](#Scaling.RedisStandalone.ScaleDown.CLI)
+ [

### Valkey または Redis OSS クラスターのスケールダウン (ElastiCache API)
](#Scaling.Vertical.ScaleDown.API)

### Valkey または Redis OSS クラスターのスケールダウン (コンソール)
の使用AWS マネジメントコンソール

以下の手順では、ElastiCache マネジメントコンソールを使用して、Valkey または Redis OSS クラスターをスケールダウンする方法について説明しています。このプロセス中、Valkey または Redis OSS クラスターは最小限のダウンタイムでリクエストを処理し続けます。

**Valkey または Redis OSS クラスターをスケールダウンするには (コンソール)**

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

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

1. クラスターのリストから、希望するクラスターを選択します。

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

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

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

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

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

   前の手順で **[すぐに適用]** を選択した場合、クラスターのステータスは *[変更中]* に変わります。ステータスが 使用可能** に変わると、変更は完了し、新しいクラスターの使用を開始できます。

### Valkey または Redis OSS クラスターのスケールダウン (AWS CLI)


以下の手順では、AWS CLIを使用して Valkey または Redis OSS クラスターをスケールダウンする方法について説明しています。このプロセス中、クラスターは最小限のダウンタイムでリクエストを処理し続けます。

**Valkey または Redis OSS クラスターをスケールダウンするには (AWS CLI)**

1. 次のパラメータを指定して `list-allowed-node-type-modifications` コマンドを実行してAWS CLI、スケールダウンできるノードタイプを決定します。

   Linux、macOS、Unix の場合:

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

   Windows の場合:

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

   上のコマンドによる出力は以下のような 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"
   	    ]
   	
   	       "ScaleDownModifications": [
   	        "cache.t2.micro", 
   	        "cache.t2.small ", 
   	        "cache.t2.medium ",
     	      "cache.t1.small"
   	    ]
   }
   ```

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

1. コマンドと次のパラメータを使用してAWS CLI`modify-replication-group`、レプリケーショングループを変更して、新しい小さなノードタイプにスケールダウンします。
   + `--replication-group-id` – スケールダウンするレプリケーショングループの名前。
   + `--cache-node-type` – クラスターのスケーリング後の新しいノードタイプ。この値は、ステップ 1 で `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-redis-cluster \
   	    --cache-node-type cache.t2.micro \	    
   	    --apply-immediately
   ```

   Windows の場合:

   ```
   aws elasticache modify-replication-group ^
   	    --replication-group-id my-redis-cluster ^
   	    --cache-node-type cache.t2.micro ^	   
   	    --apply-immediately
   ```

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

   ```
   {	
   		"ReplicationGroup": {
           "Status": "modifying",
           "Description": "my-redis-cluster",
           "NodeGroups": [
               {
                   "Status": "modifying",
                   "Slots": "0-16383",
                   "NodeGroupId": "0001",
                   "NodeGroupMembers": [
                       {
                           "PreferredAvailabilityZone": "us-east-1f",
                           "CacheNodeId": "0001",
                           "CacheClusterId": "my-redis-cluster-0001-001"
                       },
                       {
                           "PreferredAvailabilityZone": "us-east-1d",
                           "CacheNodeId": "0001",
                           "CacheClusterId": "my-redis-cluster-0001-002"
                       }
                   ]
               }
           ],
           "ConfigurationEndpoint": {
               "Port": 6379,
               "Address": "my-redis-cluster.r7gdfi.clustercfg.use1.cache.amazonaws.com"
           },
           "ClusterEnabled": true,
           "ReplicationGroupId": "my-redis-cluster",
           "SnapshotRetentionLimit": 1,
           "AutomaticFailover": "enabled",
           "SnapshotWindow": "07:30-08:30",
           "MemberClusters": [
               "my-redis-cluster-0001-001",
               "my-redis-cluster-0001-002"
           ],
           "CacheNodeType": "cache.t2.micro",
            "DataTiering": "disabled"
           "PendingModifiedValues": {}
       }
   }
   ```

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

1. を使用した場合は`--apply-immediately`、次のパラメータを指定して コマンドを使用してAWS CLI`describe-cache-clusters`クラスターのステータスを確認します。ステータスが *available* に変わると、新しい、より小さいクラスターノードの使用を開始できます。

### Valkey または Redis OSS クラスターのスケールダウン (ElastiCache API)


以下のプロセスでは、ElastiCache API を使用して、レプリケーショングループをその現在のノードタイプから新しいより小さいノードタイプにスケーリングします。このプロセス中、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.t2.micro
   	   &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)」を参照してください。