

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

# Valkey または Redis OSS (クラスターモードが有効) クラスターのスケーリング
<a name="scaling-redis-cluster-mode-enabled"></a>

クラスターの需要の変化に応じて 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 (クラスターモードが有効) のオフラインリシャーディング
<a name="redis-cluster-resharding-offline"></a>

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

**注記**  
オフラインリシャーディングは、データ階層化が有効になっている 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 (クラスターモードが有効) のオンラインリシャーディング
<a name="redis-cluster-resharding-online"></a>

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 (クラスターモードが有効) クラスターを水平スケーリングまたは再分散できます。

### オンラインリシャーディングによるシャードの追加
<a name="redis-cluster-resharding-online-add"></a>

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

**Topics**

#### シャードの追加 (コンソール)
<a name="redis-cluster-resharding-online-add-console"></a>

を使用して 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)
<a name="redis-cluster-resharding-online-add-cli"></a>

以下のプロセスでは、 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）
<a name="redis-cluster-resharding-online-add-api"></a>

`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)」を参照してください。

### オンラインリシャーディングによるシャードの削除
<a name="redis-cluster-resharding-online-remove"></a>

、、または 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)

#### シャードの削除 (コンソール)
<a name="redis-cluster-resharding-online-remove-console"></a>

以下のプロセスでは、 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)
<a name="redis-cluster-resharding-online-remove-cli"></a>

以下のプロセスでは、 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）
<a name="redis-cluster-resharding-online-remove-api"></a>

`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>
```

### オンラインのシャード再分散
<a name="redis-cluster-resharding-online-rebalance"></a>

、、または 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)

#### オンラインのシャード再分散 (コンソール)
<a name="redis-cluster-resharding-online-rebalance-console"></a>

以下のプロセスでは、 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)
<a name="redis-cluster-resharding-online-rebalance-cli"></a>

`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）
<a name="redis-cluster-resharding-online-rebalance-api"></a>

`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>
```