

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

# レプリケーショングループを使用する高可用性
<a name="Replication"></a>

単一ノード Amazon ElastiCache Valkey および Redis OSS クラスターは、データ保護サービス (AOF) が制限されるメモリ内エンティティです。クラスターが何らかの理由で停止すると、クラスターのすべてのデータが失われます。ただし Valkey または Redis OSS エンジンを実行している場合は、2～6 個のノードをクラスターとしてグループ化できます。この場合、1～5 個の読み取り専用ノードには、グループの 1 個の読み書きプライマリノードのレプリカデータが含まれます。このシナリオでは、1 個のノードが何らかの理由で停止した場合でも 1 個以上の他のノードにレプリケートされているので、すべてのデータが失われることがありません。レプリケーションのレイテンシーが原因でプライマリの読み取り/書き込みノードが失敗した場合、一部のデータが失われる可能性があります。

次の図に示されているように、レプリケーション構造はシャード内 (API/CLI では*ノードグループ*と呼ばれる) に含まれ、シャードは Valkey または Redis OSS クラスター内に含まれています。Valkey または Redis OSS (クラスターモードが無効) クラスターには、常に 1 つのシャードがあります。Valkey または Redis OSS (クラスターモードが有効) クラスターは最大 500 個のシャードを持つことができ、クラスターのデータはこれらのシャード間で分割されます。シャードの数が多くレプリカの数が少ないクラスターを作成できます。クラスターあたり最大 90 ノードです。このクラスター設定は、シャード 90 個およびレプリカ 0 個からシャード 15 個およびレプリカ 5 個 (許容されるレプリカの最大数) までです。

ElastiCache for Valkey および Redis OSS 用の ElastiCache バージョン 5.0.6 以降では、ノードまたはシャードの制限をクラスターあたり最大 500 まで増やすことができます。例えば、83 個のシャード (シャードごとに 1 つのプライマリと 5 レプリカ) と 500 個のシャード (プライマリのみでレプリカなし) の範囲で、500 個のノードクラスターを設定できます。増加に対応できる十分な IP アドレスがあることを確認してください。一般的な落とし穴として、サブネットグループ内のサブネットの CIDR 範囲が小さすぎる、またはサブネットが他のクラスターで共有され、頻繁に使用されていることが挙げられます。詳細については、「[サブネットグループの作成](SubnetGroups.Creating.md)」を参照してください。

 5.0.6 未満のバージョンの場合、クラスターあたりの制限は 250 個です。

この制限の拡大をリクエストするには、「[AWS のサービスの制限](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)」を参照し、制限タイプとして [**Nodes per cluster per instance type (インスタンスタイプごとのクラスターあたりのノード)**] を選択します。

![\[イメージ: Valkey または Redis OSS (クラスターモードが無効) クラスターに 1 つのシャードと 0〜 5 個のレプリカノードがある\]](http://docs.aws.amazon.com/ja_jp/AmazonElastiCache/latest/dg/images/ElastiCacheClusters-CSN-Redis-Replicas.png)


*Valkey または Redis OSS (クラスターモードが無効) クラスターに、1 つのシャードと 0〜 5 個のレプリカノードがある*

マルチ AZ が有効になっているクラスターにレプリカがある場合、プライマリノードで障害が発生すると、プライマリはリードレプリカにフェイルオーバーします。データがレプリカノードに非同期で更新されるため、レプリカノードの更新のレイテンシーにより多少のデータが失われる場合があります。詳細については、「[Valkey または Redis OSS を実行する際の障害の軽減](disaster-recovery-resiliency.md#FaultTolerance.Redis)」を参照してください。

**Topics**
+ [Valkey と Redis OSS レプリケーションについて](Replication.Redis.Groups.md)
+ [レプリケーション: Valkey および Redis OSS クラスターモードの無効と有効](Replication.Redis-RedisCluster.md)
+ [Valkey および Redis OSS でマルチ AZ を使用して ElastiCache のダウンタイムを最小限に抑える](AutoFailover.md)
+ [同期とバックアップの実装方法](Replication.Redis.Versions.md)
+ [Valkey または Redis OSS レプリケーショングループの作成](Replication.CreatingRepGroup.md)
+ [レプリケーショングループの詳細の表示](Replication.ViewDetails.md)
+ [レプリケーショングループのエンドポイントの検索](Replication.Endpoints.md)
+ [レプリケーショングループの変更](Replication.Modify.md)
+ [レプリケーショングループの削除](Replication.DeletingRepGroup.md)
+ [レプリカの数の変更](increase-decrease-replica-count.md)
+ [Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループのリードレプリカをプライマリに昇格させる](Replication.PromoteReplica.md)

# Valkey と Redis OSS レプリケーションについて
<a name="Replication.Redis.Groups"></a>

Redis OSS では、次の 2 つの方法でレプリケーションが実装されます。
+ クラスターのすべてのデータを各ノードに含む単一シャード — Valkey または Redis OSS (クラスターモードが無効)
+ 最大 500 個のシャード間でデータを分割する — Valkey または Redis OSS (クラスターモードが有効)

レプリケーショングループ内の各シャードには、単一の読み取り/書き込みプライマリノードと、最大 5 個の読み取り専用レプリカノードがあります。シャードの数が多くレプリカの数が少ないクラスターを作成できます。クラスターあたり最大 90 ノードです。このクラスター設定は、シャード 90 個およびレプリカ 0 個からシャード 15 個およびレプリカ 5 個 (許容されるレプリカの最大数) までです。

Redis OSS エンジンのバージョンが 5.0.6 以上の場合、ノードまたはシャードの制限は、クラスターごとに最大 500 個まで増やすことができます。例えば、83 個のシャード (シャードごとに 1 つのプライマリと 5 レプリカ) と 500 個のシャード (プライマリのみでレプリカなし) の範囲で、500 個のノードクラスターを設定できます。増加に対応できる十分な IP アドレスがあることを確認してください。一般的な落とし穴として、サブネットグループ内のサブネットの CIDR 範囲が小さすぎる、またはサブネットが他のクラスターで共有され、頻繁に使用されていることが挙げられます。詳細については、「[サブネットグループの作成](SubnetGroups.Creating.md)」を参照してください。

 5.0.6 未満のバージョンの場合、クラスターあたりの制限は 250 個です。

この制限の拡大をリクエストするには、「[AWS のサービスの制限](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)」を参照し、制限タイプとして [**Nodes per cluster per instance type (インスタンスタイプごとのクラスターあたりのノード)**] を選択します。

**Topics**
+ [Valkey または Redis OSS (クラスターモードが無効）](#Replication.Redis.Groups.Classic)
+ [Valkey または Redis OSS (クラスターモードが有効)](#Replication.Redis.Groups.Cluster)

## Valkey または Redis OSS (クラスターモードが無効）
<a name="Replication.Redis.Groups.Classic"></a>

Valkey または Redis OSS (クラスターモードが無効) クラスターには 1 つのシャードがあり、その内部はノードの集合で、1 個の読み取り/書き込みプライマリノードと、最大 5 個の読み取り専用のセカンダリレプリカノードで構成されます。各リードレプリカは、クラスターのプライマリノードにあるデータのコピーを保持します。非同期レプリケーション機能は、リードレプリカとプライマリの同期を維持するのに使用されます。アプリケーションは、クラスター内のどのノードからでも読み取ることができます。アプリケーションは、そのプライマリノードにのみ書き込むことができます。リードレプリカは読み取りスループットを向上させ、ノードの障害発生時のデータ損失に対する保護を強化します。

![\[イメージ: 1 つのシャードと複数のレプリカノードのある Valkey または Redis OSS (クラスターモードが無効) クラスター\]](http://docs.aws.amazon.com/ja_jp/AmazonElastiCache/latest/dg/images/ElastiCacheClusters-CSN-Redis-Replicas.png)


*1 つのシャードと複数のレプリカノードのある Valkey または Redis OSS (クラスターモードが無効) クラスター*

レプリカノードを持つ Valkey または Redis OSS (クラスターモードが無効) クラスターを使用して ElastiCache のソリューションをスケールし、大量の読み込みを行うアプリケーションを処理したり、同じクラスターから同時に読み込みを実行する多数のクライアントをサポートしたりすることができます。

Valkey または Redis OSS (クラスターモードが無効) クラスター内のすべてのノードは、同じリージョンに存在する必要があります。

クラスターにリードレプリカを追加すると、プライマリのすべてのデータが新しいノードにコピーされます。その時以降、データがプライマリに書き込まれるときには常に、変更が非同期的にすべてのリードレプリカに反映されます。

耐障害性を向上させて書き込みのダウンタイムを減少させるには、レプリカを持つ Valkey または Redis OSS (クラスターモードが無効) クラスターで自動フェイルオーバーを備えたマルチ AZ を有効にします。詳細については、「[Valkey および Redis OSS でマルチ AZ を使用して ElastiCache のダウンタイムを最小限に抑える](AutoFailover.md)」を参照してください。

Valkey または Redis OSS (クラスターモードが無効) クラスター内のノードのロールを変更し、プライマリといずれかのレプリカのロールを交換できます。この作業は、パフォーマンスチューニングの理由で実行することがあります。たとえば、書き込みアクティビティが多いウェブアプリケーションでは、ネットワークレイテンシーが最も低いノードを選択することができます。詳細については、「[Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループのリードレプリカをプライマリに昇格させる](Replication.PromoteReplica.md)」を参照してください。

## Valkey または Redis OSS (クラスターモードが有効)
<a name="Replication.Redis.Groups.Cluster"></a>

Valkey または Redis OSS (クラスターモードが有効) クラスターは、1～500 個のシャード (API/CLI: ノードグループ) で構成されます。各シャードには、読み取り/書き込みプライマリノードと最大 5 個のリードレプリカノードが含まれます。この構成は、シャード 90 個およびレプリカ 0 個からシャード 15 個およびレプリカ 5 個 (許容されるレプリカの最大数) までです。

エンジンバージョンが Valkey 7.2 以上、または Redis OSS 5.0.6 以上の場合、ノードまたはシャードの制限は、クラスターごとに最大 500 個まで増やすことができます。例えば、83 個のシャード (シャードごとに 1 つのプライマリと 5 レプリカ) と 500 個のシャード (プライマリのみでレプリカなし) の範囲で、500 個のノードクラスターを設定できます。増加に対応できる十分な IP アドレスがあることを確認してください。一般的な落とし穴として、サブネットグループ内のサブネットの CIDR 範囲が小さすぎる、またはサブネットが他のクラスターで共有され、頻繁に使用されていることが挙げられます。詳細については、「[サブネットグループの作成](SubnetGroups.Creating.md)」を参照してください。

 5.0.6 未満のバージョンの場合、クラスターあたりの制限は 250 個です。

この制限の拡大をリクエストするには、「[AWS のサービスの制限](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)」を参照し、制限タイプとして [**Nodes per cluster per instance type (インスタンスタイプごとのクラスターあたりのノード)**] を選択します。

 シャード内の各リードレプリカは、シャードのプライマリからのデータのコピーを維持します。非同期レプリケーション機能は、リードレプリカとプライマリの同期を維持するのに使用されます。アプリケーションは、クラスター内のどのノードからでも読み取ることができます。アプリケーションは、そのプライマリノードにのみ書き込むことができます。リードレプリカは、読み取り拡張性およびデータ損失に対する保護を強化します。データは、Valkey または Redis OSS (クラスターモードが有効) クラスター内のシャード間で分割されます。

アプリケーションは、Valkey または Redis OSS (クラスターモードが有効) クラスターの*設定エンドポイント*を使用して、クラスター内のノードと接続します。詳細については、「[ElastiCache での接続エンドポイントの検索](Endpoints.md)」を参照してください。

![\[イメージ: 複数のシャードとレプリカノードのある Valkey または Redis OSS (クラスターモードが有効) クラスター\]](http://docs.aws.amazon.com/ja_jp/AmazonElastiCache/latest/dg/images/ElastiCacheClusters-CSN-RedisClusters.png)


*複数のシャードとレプリカノードのある Valkey または Redis OSS (クラスターモードが有効) クラスター*

Valkey または Redis OSS (クラスターモードが有効) クラスター内のすべてのノードは、同じリージョンに存在する必要があります。耐障害性を向上させるために、そのリージョン内の複数のアベイラビリティーゾーンにプライマリとリードレプリカの両方をプロビジョニングできます。

現在、Valkey または Redis OSS (クラスターモードが有効) の機能にはいくつかの制限があります。
+ いずれのレプリカノードも手動でプライマリに昇格することはできません。

# レプリケーション: Valkey および Redis OSS クラスターモードの無効と有効
<a name="Replication.Redis-RedisCluster"></a>

Valkey 7.2 および Redis OSS バージョン 3.2 以降では、2 つの異なるタイプのクラスター (API/CLI: レプリケーショングループ) のいずれかを作成できます。Valkey または Redis OSS (クラスターモードが無効) クラスターは常に 1 つのシャード (API/CLI: ノードグループ) と最大 5 個のリードレプリカノードで構成されます。Valkey または Redis OSS (クラスターモードが有効) クラスターは、最大 500 個のシャードを持ち、各シャードに 1〜5 個のレプリカノードがあります。

![\[イメージ: Valkey または Redis OSS (クラスターモードが無効) クラスターと Valkey または Redis OSS (クラスターモードが有効) クラスター\]](http://docs.aws.amazon.com/ja_jp/AmazonElastiCache/latest/dg/images/ElastiCache-NodeGroups.png)


*Valkey または Redis OSS (クラスターモードが無効) クラスター、およびValkey または Redis OSS (クラスターモードが有効) クラスター*

次の表に、Valkey または Redis OSS (クラスターモードが無効) クラスターと Valkey または Redis OSS (クラスターモードが有効) クラスターの重要な違いをまとめます。


**Valkey または Redis OSS (クラスターモードが無効) クラスターと Valkey または Redis OSS (クラスターモードが有効) クラスターの比較**  

| 機能 | Valkey または Redis OSS (クラスターモードが無効) | Valkey または Redis OSS (クラスターモードが有効) | 
| --- | --- | --- | 
| 変更可能 | はい。レプリカノードの追加と削除、およびノードタイプのスケールアップをサポートします。 | 制限あり。詳細については、「[ElastiCache のバージョン管理](VersionManagement.md)」および「[Valkey または Redis OSS (クラスターモードが有効) クラスターのスケーリング](scaling-redis-cluster-mode-enabled.md)」を参照してください。 | 
| データのパーティション化 | なし | あり | 
| シャード | 1 | 1～500  | 
| リードレプリカ | 0～5 レプリカがない場合、ノードに障害が発生すると、すべてのデータが損失します。 | シャードあたり 0～5。レプリカがなく、ノードに障害が発生すると、そのシャードのすべてのデータが失われます。 | 
| マルチ AZ  | はい、少なくとも 1 つのレプリカ。オプション。デフォルトでオン。 | ありオプション。デフォルトでオン。 | 
| スナップショット(バックアップ) | はい、1 つの .rdb ファイルを作成。 | はい、シャードごとに独自の .rdb ファイルを作成。 | 
| 復元 | はい。Valkey または Redis OSS (クラスターモードが無効) クラスターから 1 つの .rdb ファイルを使用。 | はい。Valkey または Redis OSS (クラスターモードが無効) または Valkey または Redis OSS (クラスターモードが有効) クラスターから .rdb ファイルを使用。 | 
| サポート | すべての Valkey および Redis OSS バージョン | すべての Valkey バージョン、および Redis OSS 3.2 以降 | 
| エンジンがアップグレード可能 | はい。ただし、いくつかの制限があります。詳細については、「[ElastiCache のバージョン管理](VersionManagement.md)」を参照してください。 | はい。ただし、いくつかの制限があります。詳細については、「[ElastiCache のバージョン管理](VersionManagement.md)」を参照してください。 | 
| 暗号化 | バージョン 3.2.6 (EOL の予定、「[Redis OSS バージョンのサポート終了スケジュール](engine-versions.md#deprecated-engine-versions)」を参照) および 4.0.10 以降。 | バージョン 3.2.6 (EOL の予定、「[Redis OSS バージョンのサポート終了スケジュール](engine-versions.md#deprecated-engine-versions)」を参照) および 4.0.10 以降。 | 
| HIPAA 適格 | バージョン 3.2.6 (EOL の予定、「[Redis OSS バージョンのサポート終了スケジュール](engine-versions.md#deprecated-engine-versions)」を参照) および 4.0.10 以降。 | バージョン 3.2.6 (EOL の予定、「[Redis OSS バージョンのサポート終了スケジュール](engine-versions.md#deprecated-engine-versions)」を参照) および 4.0.10 以降。 | 
| PCI DSS 準拠 | バージョン 3.2.6 (EOL の予定、「[Redis OSS バージョンのサポート終了スケジュール](engine-versions.md#deprecated-engine-versions)」を参照) および 4.0.10 以降。 | バージョン 3.2.6 (EOL の予定、「[Redis OSS バージョンのサポート終了スケジュール](engine-versions.md#deprecated-engine-versions)」を参照) および 4.0.10 以降。 | 
| オンラインリシャーディング | 該当なし | バージョン 3.2.10 (EOL の予定、「[Redis OSS バージョンのサポート終了スケジュール](engine-versions.md#deprecated-engine-versions)」を参照) 以降。 | 

## どちらを使用すればよいですか?
<a name="Replication.Redis-RedisCluster.Choose"></a>

Valkey または Redis OSS (クラスターモードが無効) または Valkey または Redis OSS (クラスターモードが有効) のいずれかを選択するときは、次の要素を考慮してください。
+ [**スケーリングとパーティション化**] – ビジネスには変化が必要です。ピーク需要に対してプロビジョニングするか、需要の変化に応じてスケールする必要があります。Valkey または Redis OSS (クラスターモードが無効) は、スケーリングをサポートしています。レプリカノードを追加または削除して読み取り容量をスケールするか、より大きいノードタイプにスケールアップして容量をスケールできます。両方のオペレーションには時間がかかります。詳細については、「[Valkey または Redis OSS (クラスターモードが無効) のレプリカノードのスケーリング](Scaling.RedisReplGrps.md)」を参照してください。

   

  Valkey または Redis OSS (クラスターモードが有効) では、最大 500 個のノードグループ間でのデータの分割がサポートされています。ビジネスニーズの変化に合わせて、シャードの数を動的に変更することができます。パーティション化の 1 つの利点は、より多くのエンドポイントに負荷を分散し、ピーク需要時のアクセスのボトルネックを減らすことです。また、データを複数のサーバーに分散させることができるため、より大規模なデータセットに対応できます。パーティションのスケーリングの詳細については、「[Valkey または Redis OSS (クラスターモードが有効) クラスターのスケーリング](scaling-redis-cluster-mode-enabled.md)」を参照してください。

   
+ **ノードサイズとノード数** – Valkey または Redis OSS (クラスターモードが無効) クラスターのシャードは 1 つだけであるため、ノードタイプはクラスターのすべてのデータと必要なオーバーヘッドに対応できるだけの大きさである必要があります。一方、Valkey または Redis OSS (クラスターモードが有効) クラスターでは複数のシャード間でデータを分割できるため、ノードタイプはより小さくできますが、全体ではノード数が増えます。詳細については、「[ノードサイズの選択](CacheNodes.SelectSize.md)」を参照してください。

   
+ **読み取りと書き込み** – クラスターの主な負荷がデータを読み取るアプリケーションである場合、リードレプリカを追加および削除することで、Valkey または Redis OSS (クラスターモードが無効) クラスターをスケールできます。ただし、リードレプリカの最大数は 5 です。クラスターの書き込み負荷が高い場合は、複数のシャードを持つ Valkey または Redis OSS (クラスターモードが有効) クラスターの追加の書き込みエンドポイントが役立ちます。

どちらのクラスターを実装する場合でも、現在および将来のニーズに合ったノードタイプを選択してください。

# Valkey および Redis OSS でマルチ AZ を使用して ElastiCache のダウンタイムを最小限に抑える
<a name="AutoFailover"></a>

ElastiCache for Valkey と ElastiCache for Redis OSS では、プライマリノードを置き換える必要がある状況がいくつかあります。これには、特定のタイプの計画的メンテナンスや、プライマリノードまたはアベイラビリティーゾーンの予期しない障害などが含まれます。

この置き換えにより、クラスターのダウンタイムが発生しますが、マルチ AZ が有効になっている場合、ダウンタイムは最小限に抑えられます。プライマリノードのロールは、いずれかのリードレプリカに自動的にフェイルオーバーされます。ElastiCache ではこれを透過的に処理するため、新しいプライマリノードを作成してプロビジョニングする必要はありません。このフェイルオーバーとレプリカの昇格により、昇格が完了したらすぐに新しいプライマリへの書き込みを再開できます。

また、ElastiCache は昇格されたレプリカのドメイン名サービス (DNS) 名を伝達します。これを行うのは、アプリケーションがプライマリエンドポイントに書き込みを行う場合、アプリケーションでエンドポイントの変更が必要なくなるためです。個別のエンドポイントから読み取りを行う場合は、プライマリに昇格されたレプリカの読み取りエンドポイントを新しいレプリカのエンドポイントに変更してください。

メンテナンス更新やセルフサービス更新に伴って開始された計画的なノード置換の場合:
+ Valkey および Redis OSS クラスターでは、クラスターが受信した書き込みリクエストを処理している間に、計画的なノード置換が完了します。
+ Valkey および Redis OSS クラスターモードが無効で、マルチ AZ が有効になっているクラスターが 5.0.6 以降のエンジンで実行されている場合、クラスターが受信した書き込みリクエストを処理している間に、計画的なノード置換が完了します。
+ Valkey および Redis OSS クラスターモードが無効で、マルチ AZ が有効になっているクラスターが 4.0.10 以前のエンジンで実行されている場合、DNS の更新に伴って短い書き込みの中断が発生することがあります。この中断は数秒続く場合があります。このプロセスは、新しいプライマリを再作成してプロビジョニングする (マルチ AZ を有効にしない場合に発生すること) よりもはるかに高速です。

マルチ AZ を有効にするには、ElastiCache マネジメントコンソール、AWS CLI、または ElastiCache API を使用できます。

Valkey または Redis OSS クラスター (API、CLI ではレプリケーショングループ) で ElastiCache のマルチ AZ を有効にすると、耐障害性が向上します。これは特に、クラスターの読み取り/書き込みプライマリクラスタノードが到達できなくなった場合、または何らかの理由で障害が発生した場合に当てはまります。マルチ AZ は、各シャードに複数のノードがある Valkey および Redis OSS クラスターでのみサポートされます。

**Topics**
+ [マルチ AZ の有効化](#AutoFailover.Enable)
+ [障害シナリオとマルチ AZ のレスポンス](#AutoFailover.Scenarios)
+ [自動フェイルオーバーのテスト](#auto-failover-test)
+ [マルチ AZ の制限事項](#AutoFailover.Limitations)

## マルチ AZ の有効化
<a name="AutoFailover.Enable"></a>

クラスターの作成時または変更時にマルチ AZ を有効にするには (API、CLI、レプリケーショングループ内)、ElastiCache コンソール、AWS CLI、または ElastiCache API を使用できます。

マルチ AZ は、使用可能なリードレプリカが少なくとも 1 つある Valkey または Redis OSS (クラスターモードが無効) クラスターでのみ有効にすることができます。リードレプリカのないクラスターでは、高可用性や耐障害性は提供されません。レプリケーションが有効なクラスターの作成については、「[Valkey または Redis OSS レプリケーショングループの作成](Replication.CreatingRepGroup.md)」を参照してください。レプリケーションが有効なクラスターへのリードレプリカの追加については、「[Valkey または Redis OSS (クラスターモードが無効) のリードレプリカを追加する](Replication.AddReadReplica.md)」を参照してください。

**Topics**
+ [マルチ AZ の有効化 (コンソール)](#AutoFailover.Enable.Console)
+ [マルチ AZ の有効化 (AWS CLI)](#AutoFailover.Enable.CLI)
+ [マルチ AZ の有効化 (ElastiCache API)](#AutoFailover.Enable.API)

### マルチ AZ の有効化 (コンソール)
<a name="AutoFailover.Enable.Console"></a>

ElastiCache コンソールを使用して、新しい Valkey または Redis OSS クラスターの作成時や、レプリケーションが有効になっている既存のクラスターの変更時に、マルチ AZ を有効にすることができます。

マルチ AZ は、Valkey または Redis OSS (クラスターモードが有効) クラスターでデフォルトで有効になります。

**重要**  
ElastiCache は、クラスターにすべてのシャードのプライマリとは異なるアベイラビリティーゾーンに少なくとも 1 つのレプリカが含まれている場合にのみ、マルチ AZ を自動的に有効にします。

#### ElastiCache コンソールを使用したクラスター作成時のマルチ AZ の有効化
<a name="AutoFailover.Enable.Console.NewCacheCluster"></a>

このプロセスの詳細については、「[Valkey (クラスターモードが無効) クラスターの作成 (コンソール)](SubnetGroups.designing-cluster-pre.valkey.md#Clusters.Create.CON.valkey-gs)」を参照してください。必ず 1 つ以上のレプリカを用意して、マルチ AZ を有効にしてください。

#### 既存のクラスターでのマルチ AZ の有効化 (コンソール)
<a name="AutoFailover.Enable.Console.ReplGrp"></a>

このプロセスの詳細については、「[ElastiCache AWS マネジメントコンソール の使用](Clusters.Modify.md#Clusters.Modify.CON)」でクラスターの変更に関する説明を参照してください。

### マルチ AZ の有効化 (AWS CLI)
<a name="AutoFailover.Enable.CLI"></a>

次のコード例では、AWS CLI を使用して、レプリケーショングループ `redis12` のマルチ AZ を有効にします。

**重要**  
レプリケーショングループ `redis12` が既に存在しており、少なくとも 1 個の利用可能なリードレプリカが必要となります。

Linux、macOS、Unix の場合:

```
aws elasticache modify-replication-group \
    --replication-group-id redis12 \
    --automatic-failover-enabled \
    --multi-az-enabled \
    --apply-immediately
```

Windows の場合:

```
aws elasticache modify-replication-group ^
    --replication-group-id redis12 ^
    --automatic-failover-enabled ^
    --multi-az-enabled ^
    --apply-immediately
```

このコマンドの JSON 出力は次のようになります。

```
{
    "ReplicationGroup": {
        "Status": "modifying", 
        "Description": "One shard, two nodes", 
        "NodeGroups": [
            {
                "Status": "modifying", 
                "NodeGroupMembers": [
                    {
                        "CurrentRole": "primary", 
                        "PreferredAvailabilityZone": "us-west-2b", 
                        "CacheNodeId": "0001", 
                        "ReadEndpoint": {
                            "Port": 6379, 
                            "Address": "redis12-001.v5r9dc.0001.usw2.cache.amazonaws.com"
                        }, 
                        "CacheClusterId": "redis12-001"
                    }, 
                    {
                        "CurrentRole": "replica", 
                        "PreferredAvailabilityZone": "us-west-2a", 
                        "CacheNodeId": "0001", 
                        "ReadEndpoint": {
                            "Port": 6379, 
                            "Address": "redis12-002.v5r9dc.0001.usw2.cache.amazonaws.com"
                        }, 
                        "CacheClusterId": "redis12-002"
                    }
                ], 
                "NodeGroupId": "0001", 
                "PrimaryEndpoint": {
                    "Port": 6379, 
                    "Address": "redis12.v5r9dc.ng.0001.usw2.cache.amazonaws.com"
                }
            }
        ], 
        "ReplicationGroupId": "redis12", 
        "SnapshotRetentionLimit": 1, 
        "AutomaticFailover": "enabling", 
        "MultiAZ": "enabled", 
        "SnapshotWindow": "07:00-08:00", 
        "SnapshottingClusterId": "redis12-002", 
        "MemberClusters": [
            "redis12-001", 
            "redis12-002"
        ], 
        "PendingModifiedValues": {}
    }
}
```

詳細については、*AWS CLI コマンドリファレンス*の以下のトピックを参照してください。
+ [create-cache-cluster](https://docs.aws.amazon.com/cli/latest/reference/elasticache/create-cache-cluster.html)
+ [create-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/create-replication-group.html)
+ *AWS CLI コマンドリファレンス*の [modify-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/modify-replication-group.html)。

### マルチ AZ の有効化 (ElastiCache API)
<a name="AutoFailover.Enable.API"></a>

次のコード例では、ElastiCache API を使用して、レプリケーショングループ `redis12` のマルチ AZ を有効にします。

**注記**  
この例を使用するには、レプリケーショングループ `redis12` が既に存在していて、少なくとも 1 個の利用可能なリードレプリカがある必要があります。

```
https://elasticache.us-west-2.amazonaws.com/
    ?Action=ModifyReplicationGroup
    &ApplyImmediately=true
    &AutoFailover=true
    &MultiAZEnabled=true
    &ReplicationGroupId=redis12
    &Version=2015-02-02
    &SignatureVersion=4
    &SignatureMethod=HmacSHA256
    &Timestamp=20140401T192317Z
    &X-Amz-Credential=<credential>
```

詳細については、*ElastiCache API リファレンス*の以下のトピックを参照してください。
+ [CreateCacheCluster](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateCacheCluster.html):
+ [CreateReplicationGroup](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html):
+ [ModifyReplicationGroup](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyReplicationGroup.html)

## 障害シナリオとマルチ AZ のレスポンス
<a name="AutoFailover.Scenarios"></a>

マルチ AZ の導入前は、ElastiCache でクラスターの失敗したノードを検出し、失敗したノードを再作成およびプロビジョニングすることで置き換えました。マルチ AZ を有効にすると、失敗したプライマリノードはレプリケーションの遅延が最も小さいレプリカにフェイルオーバーされます。選択されたレプリカは自動的にプライマリに昇格されます。このプロセスは、新しいプライマリノードを作成して再プロビジョニングするよりも大幅に高速です。通常は数秒で、クラスターへの書き込みが再び可能になります。

マルチ AZ を有効にすると、ElastiCache はプライマリノードの状態を継続的にモニタリングします。プライマリノードが失敗すると、失敗のタイプに応じて次のいずれかのアクションが実行されます。

**Topics**
+ [プライマリノードのみが失敗した場合の障害シナリオ](#AutoFailover.Scenarios.PrimaryOnly)
+ [プライマリノードと複数のリードレプリカが失敗した場合の障害シナリオ](#AutoFailover.Scenarios.PrimaryAndReplicas)
+ [クラスター全体が失敗した場合の障害シナリオ](#AutoFailover.Scenarios.AllFail)

### プライマリノードのみが失敗した場合の障害シナリオ
<a name="AutoFailover.Scenarios.PrimaryOnly"></a>

プライマリノードのみが失敗した場合、レプリケーションの遅延が最も小さいリードレプリカがプライマリに昇格されます。次に、失敗したプライマリと同じアベイラビリティーゾーンに置換リードレプリカが作成されてプロビジョニングされます。

プライマリノードのみが失敗した場合、ElastiCache のマルチ AZ は次の処理を行います。

1. 失敗したプライマリノードがオフラインになります。

1. レプリケーションの遅延が最短のリードレプリカがプライマリに昇格されます。

   書き込みは、昇格プロセスが完了するとすぐに (通常は数秒) 再開できます。アプリケーションからプライマリエンドポイントに書き込む場合、書き込み用または読み取り用のエンドポイントを変更する必要はありません。ElastiCache は、昇格されたレプリカの DNS 名を伝達します。

1. 置き換えられたリードレプリカが起動し、プロビジョニングされます。

   ノードのディストリビューションが維持されるように、障害が発生したプライマリノードがあったアベイラビリティーゾーンで置き換えリードレプリカが起動されます。

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

新しいレプリカが使用可能になった後は、次の影響に注意してください。
+ [**プライマリエンドポイント**] – 新しいプライマリノードの DNS 名がプライマリエンドポイントに伝達されるため、アプリケーションに変更は加えません。
+ [**読み取りエンドポイント**] – 読み取りエンドポイントは、新しいレプリカノードを指すように自動的に更新されます。

クラスターのエンドポイントの検索については、以下のトピックを参照してください。
+ [Valkey または Redis OSS (クラスターモードが無効) クラスターのエンドポイントを検索する (コンソール)](Endpoints.md#Endpoints.Find.Redis)
+ [Valkey または Redis OSS レプリケーショングループのエンドポイントを検索する (AWS CLI）](Endpoints.md#Endpoints.Find.CLI.ReplGroups)
+ [Valkey または Redis OSS レプリケーショングループのエンドポイントを検索する (ElastiCache API）](Endpoints.md#Endpoints.Find.API.ReplGroups)

 

### プライマリノードと複数のリードレプリカが失敗した場合の障害シナリオ
<a name="AutoFailover.Scenarios.PrimaryAndReplicas"></a>

プライマリおよび少なくとも 1 つのリードレプリカで障害が発生した場合、利用可能でレプリケーションの遅延が最も少ないレプリカが、プライマリクラスターに昇格されます。また、障害が発生したノードおよびプライマリに昇格されたレプリカと同じアベイラビリティーゾーンで、新しいリードレプリカが作成およびプロビジョニングされます。

プライマリノードと複数のリードレプリカが失敗すると、ElastiCache のマルチ AZ は次の処理を行います。

1. 障害が発生したプライマリノードとリードレプリカがオフラインになります。

1. レプリケーションの遅延が最短の使用可能なレプリカがプライマリノードに昇格されます。

   書き込みは、昇格プロセスが完了するとすぐに (通常は数秒) 再開できます。アプリケーションがプライマリエンドポイントに書き込む場合、書き込み用のエンドポイントを変更する必要はありません。ElastiCache は、昇格されたレプリカの DNS 名を伝達します。

1. 複数の置き換えレプリカを作成してプロビジョニングします。

   ノードのディストリビューションが維持されるように、障害が発生したノードのアベイラビリティーゾーンで置き換えレプリカが作成されます。

1. すべてのクラスターが新しいプライマリノードと同期されます。

新しいノードが使用可能になったら、アプリケーションに以下の変更を行います。
+ [**プライマリエンドポイント**] – アプリケーションは変更しないでください。新しいプライマリノードの DNS 名がプライマリエンドポイントに伝達されます。
+ [**読み取りエンドポイント**] – 読み取りエンドポイントは、新しいレプリカノードを指すように自動的に更新されます。

レプリケーショングループのエンドポイントの検索については、次のトピックを参照してください:
+ [Valkey または Redis OSS (クラスターモードが無効) クラスターのエンドポイントを検索する (コンソール)](Endpoints.md#Endpoints.Find.Redis)
+ [Valkey または Redis OSS レプリケーショングループのエンドポイントを検索する (AWS CLI）](Endpoints.md#Endpoints.Find.CLI.ReplGroups)
+ [Valkey または Redis OSS レプリケーショングループのエンドポイントを検索する (ElastiCache API）](Endpoints.md#Endpoints.Find.API.ReplGroups)

 

### クラスター全体が失敗した場合の障害シナリオ
<a name="AutoFailover.Scenarios.AllFail"></a>

すべてに障害が発生した場合、すべてのノードは、元のノードと同じアベイラビリティーゾーンで再作成され、プロビジョニングされます。

このシナリオでは、クラスター内のすべてのデータがクラスター内のすべてのノードの障害のために失われます。これはまれにしか発生しません。

クラスター全体が失敗すると、ElastiCache のマルチ AZ は次の処理を行います。

1. 障害が発生したプライマリノードとリードレプリカがオフラインになります。

1. 置き換えプライマリノードが作成され、プロビジョニングされます。

1. 複数の置き換えレプリカを作成してプロビジョニングします。

   ノードのディストリビューションが維持されるように、障害が発生したノードのアベイラビリティーゾーンで置き換えレプリカが作成されます。

   クラスター全体に障害が発生したため、データが失われ、すべての新しいノードがコールド起動されます。

置換先の各ノードと置換元のノードはエンドポイントが同じであるため、アプリケーションでエンドポイントを変更する必要はありません。

レプリケーショングループのエンドポイントの検索については、次のトピックを参照してください:
+ [Valkey または Redis OSS (クラスターモードが無効) クラスターのエンドポイントを検索する (コンソール)](Endpoints.md#Endpoints.Find.Redis)
+ [Valkey または Redis OSS レプリケーショングループのエンドポイントを検索する (AWS CLI）](Endpoints.md#Endpoints.Find.CLI.ReplGroups)
+ [Valkey または Redis OSS レプリケーショングループのエンドポイントを検索する (ElastiCache API）](Endpoints.md#Endpoints.Find.API.ReplGroups)

耐障害性レベルを上げるために、プライマリノードとリードレプリカは別々のアベイラビリティーゾーンに作成することをお勧めします。

## 自動フェイルオーバーのテスト
<a name="auto-failover-test"></a>

自動フェイルオーバーを有効にしたら、ElastiCache コンソール、AWS CLI、または ElastiCache API を使用してテストできます。

テストを行う場合、以下の点に注意してください。
+ このオペレーションを使用して、任意の連続 24 時間内で、最大 15 個のシャード (ElastiCache API および AWS CLI ではノードグループと呼ばれます) で自動フェイルオーバーをテストできます。
+ 別のクラスターのシャード (API および CLI ではレプリケーショングループと呼ばれます) でこのオペレーションを呼び出す場合、同時に呼び出しを行うことができます。
+ 場合によっては、同じ Valkey または Redis OSS (クラスターモードが有効) レプリケーショングループの異なるシャードに対して、このオペレーションを複数回呼び出すことがあります。このような場合、後続の呼び出しを行う前に、最初のノードの置換が完了する必要があります。
+ ノードの置換が完了しているかどうか調べるには、Amazon ElastiCache コンソール、AWS CLI、または ElastiCache API を使用してイベントを確認します。自動フェイルオーバーに関連する次のイベントを検索します。ここでは、発生すると思われる順番にイベントを示します。

  1. レプリケーショングループメッセージ: `Test Failover API called for node group <node-group-id>`

  1. キャッシュクラスターメッセージ: `Failover from primary node <primary-node-id> to replica node <node-id> completed`

  1. レプリケーショングループメッセージ: `Failover from primary node <primary-node-id> to replica node <node-id> completed`

  1. キャッシュクラスターメッセージ: `Recovering cache nodes <node-id>`

  1. キャッシュクラスターメッセージ: `Finished recovery for cache nodes <node-id>`

  詳細については次を参照してください:
  + *ElastiCache ユーザーガイド*の [ElastiCache イベントの表示](ECEvents.Viewing.md)
  + *ElastiCache API リファレンス*の [DescribeEvents](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeEvents.html)
  + *AWS CLI コマンドリファレンス*の [describe-events](https://docs.aws.amazon.com/cli/latest/reference/elasticache/describe-events.html)。
+ この API は、ElastiCache でフェイルオーバーが発生した場合のアプリケーションの動作をテストするために設計されています。クラスターの問題に対処するためにフェイルオーバーを開始するための運用ツールとしては設計されていません。さらに、大規模な運用イベントなどの特定の条件下では、AWS がこの API をブロックする可能性があります。

**Topics**
+ [AWS マネジメントコンソール を使用した自動フェイルオーバーのテスト](#auto-failover-test-con)
+ [AWS CLI を使用した自動フェイルオーバーのテスト](#auto-failover-test-cli)
+ [ElastiCache API を使用した自動フェイルオーバーのテスト](#auto-failover-test-api)

### AWS マネジメントコンソール を使用した自動フェイルオーバーのテスト
<a name="auto-failover-test-con"></a>

コンソールで自動フェイルオーバーをテストするには、次の手順に従います。

**自動フェイルオーバーをテストするには**

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

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

1. クラスターの一覧で、テストするクラスターの名前の左にあるチェックボックスをオンにします。このクラスターには、少なくとも 1 つのリードレプリカノードが必要です。

1. **Details** エリアで、このクラスターでマルチ AZ が有効になっていることを確認します。クラスターでマルチ AZ が有効になっていない場合は、別のクラスターを選択するか、このクラスターを変更してマルチ AZ を有効にします。詳細については、「[ElastiCache AWS マネジメントコンソール の使用](Clusters.Modify.md#Clusters.Modify.CON)」を参照してください。  
![\[イメージ: マルチ AZ が有効なクラスターの [詳細] エリア\]](http://docs.aws.amazon.com/ja_jp/AmazonElastiCache/latest/dg/images/ElastiCache-AutoFailover-MultiAZ-Enabled.png)

1. Valkey または Redis OSS (クラスターモードが無効) の場合、クラスターの名前を選択します。

   Valkey または Redis OSS (クラスターモードが有効) の場合、次の手順を実行します。

   1. クラスターの名前を選択します。

   1. [**Shards**] ページで、フェイルオーバーをテストするシャード (API および CLI ではノードグループと呼ばれます) のシャード名を選択します。

1. [Nodes] ページで [**Failover Primary**] を選択します。

1. **Continue** を選択してプライマリをフェイルオーバーするか、**Cancel** を選択してプライマリノードへのフェイルオーバーをキャンセルします。

   フェイルオーバープロセス中は、コンソールでノードのステータスが 使用可能** と継続して表示されます。フェイルオーバーテストの進捗状況を追跡するには、コンソールのナビゲーションペインから **Events** を選択します。**Events** タブで、フェイルオーバーの開始`Test Failover API called`と完了`Recovery completed`を示すイベントを監視します。

 

### AWS CLI を使用した自動フェイルオーバーのテスト
<a name="auto-failover-test-cli"></a>

マルチ AZ が有効になっているクラスターで自動フェイルオーバーをテストするには、AWS CLI オペレーションの `test-failover` を使用できます。

**パラメータ**
+ `--replication-group-id` – 必須。テストするレプリケーショングループ (コンソールではクラスター)。
+ `--node-group-id` – 必須。自動フェイルオーバーをテストするノードグループの名前。連続 24 時間内で、最大 15 個のノードグループをテストできます。

次の例では、AWS CLI を使用して、Valkey または Redis OSS (クラスターモードが有効) クラスター `redis00` のノードグループ `redis00-0003` で自動フェイルオーバーをテストします。

**Example 自動フェイルオーバーをテストする**  
Linux、macOS、Unix の場合:  

```
aws elasticache test-failover \
   --replication-group-id redis00 \
   --node-group-id redis00-0003
```
Windows の場合:  

```
aws elasticache test-failover ^
   --replication-group-id redis00 ^
   --node-group-id redis00-0003
```

上のコマンドによる出力は次のようになります。

```
{
    "ReplicationGroup": {
        "Status": "available", 
        "Description": "1 shard, 3 nodes (1 + 2 replicas)", 
        "NodeGroups": [
            {
                "Status": "available", 
                "NodeGroupMembers": [
                    {
                        "CurrentRole": "primary", 
                        "PreferredAvailabilityZone": "us-west-2c", 
                        "CacheNodeId": "0001", 
                        "ReadEndpoint": {
                            "Port": 6379, 
                            "Address": "redis1x3-001.7ekv3t.0001.usw2.cache.amazonaws.com"
                        }, 
                        "CacheClusterId": "redis1x3-001"
                    }, 
                    {
                        "CurrentRole": "replica", 
                        "PreferredAvailabilityZone": "us-west-2a", 
                        "CacheNodeId": "0001", 
                        "ReadEndpoint": {
                            "Port": 6379, 
                            "Address": "redis1x3-002.7ekv3t.0001.usw2.cache.amazonaws.com"
                        }, 
                        "CacheClusterId": "redis1x3-002"
                    }, 
                    {
                        "CurrentRole": "replica", 
                        "PreferredAvailabilityZone": "us-west-2b", 
                        "CacheNodeId": "0001", 
                        "ReadEndpoint": {
                            "Port": 6379, 
                            "Address": "redis1x3-003.7ekv3t.0001.usw2.cache.amazonaws.com"
                        }, 
                        "CacheClusterId": "redis1x3-003"
                    }
                ], 
                "NodeGroupId": "0001", 
                "PrimaryEndpoint": {
                    "Port": 6379, 
                    "Address": "redis1x3.7ekv3t.ng.0001.usw2.cache.amazonaws.com"
                }
            }
        ], 
        "ClusterEnabled": false, 
        "ReplicationGroupId": "redis1x3", 
        "SnapshotRetentionLimit": 1, 
        "AutomaticFailover": "enabled", 
        "MultiAZ": "enabled",
        "SnapshotWindow": "11:30-12:30", 
        "SnapshottingClusterId": "redis1x3-002", 
        "MemberClusters": [
            "redis1x3-001", 
            "redis1x3-002", 
            "redis1x3-003"
        ], 
        "CacheNodeType": "cache.m3.medium", 
        "DataTiering": "disabled",
        "PendingModifiedValues": {}
    }
}
```

フェイルオーバーの進行状況を追跡するには、AWS CLI `describe-events` オペレーションを使用します。

詳細については次を参照してください:
+ *AWS CLI コマンドリファレンス*の [test-failover](https://docs.aws.amazon.com/cli/latest/reference/elasticache/test-failover.html)。
+ *AWS CLI コマンドリファレンス*の [describe-events](https://docs.aws.amazon.com/cli/latest/reference/elasticache/describe-events.html)。

 

### ElastiCache API を使用した自動フェイルオーバーのテスト
<a name="auto-failover-test-api"></a>

マルチ AZ が有効になっている任意のクラスターで自動フェイルオーバーをテストするには、ElastiCache API オペレーションの `TestFailover` を使用できます。

**パラメータ**
+ `ReplicationGroupId` – 必須。テスト対象のレプリケーショングループ (コンソールではクラスター)。
+ `NodeGroupId` – 必須。自動フェイルオーバーをテストする対象のノードグループの名前。連続 24 時間内で、最大 15 個のノードグループをテストできます。

次の例では、レプリケーショングループ (コンソールではクラスター) `redis00-0003` のノードグループ `redis00` で、自動フェイルオーバーをテストします。

**Example 自動フェイルオーバーのテスト**  

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

フェイルオーバーの進行状況を追跡するには、ElastiCache の `DescribeEvents` API オペレーションを使用します。

詳細については次を参照してください:
+ *ElastiCache API リファレンス*の [TestFailover](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_TestFailover.html)の 
+ *ElastiCache API リファレンス*の [DescribeEvents](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeEvents.html) 

 

## マルチ AZ の制限事項
<a name="AutoFailover.Limitations"></a>

マルチ AZ に関する次の制限事項に注意してください。
+ マルチ AZ は Valkey、および Redis OSS バージョン 2.8.6 以降でサポートされます。
+ マルチ AZ は、T1 ノードタイプではサポートされません。
+ Valkey および Redis OSS のレプリケーションは非同期で行われます。そのため、プライマリノードがレプリカにフェイルオーバーすると、レプリケーションの遅延のために少量のデータが失われる可能性があります。

  プライマリに昇格させるレプリカを選択する際、ElastiCache はレプリケーションの遅延が最短のレプリカを選択します。言い換えると、最新のレプリカを選択します。これにより、失われるデータ量が最小限に抑えられます。レプリケーションの遅延が最短のレプリカは、障害が発生したプライマリノードと同じ、または異なるアベイラビリティーゾーンに存在できます。
+ マルチ AZ と自動フェイルオーバーが無効なときにのみ、Valkey または Redis OSS クラスター (クラスターモードが無効) でリードレプリカを手動でプライマリに昇格させることができます。リードレプリカをプライマリに昇格させるには、以下のステップを実行します。

  1. クラスターでマルチ AZ を無効にします。

  1. クラスターで自動フェイルオーバーを無効にします。これを行うには、コンソールで、レプリケーショングループの **[自動フェイルオーバー]** チェックボックスをオフにします。AWS CLI を使用して、`ModifyReplicationGroup` オペレーションを呼び出す際に `AutomaticFailoverEnabled` プロパティを `false` に設定することもできます。

  1. リードレプリカをプライマリに昇格させます。

  1. マルチ AZ を再度有効にします。
+ ElastiCache for Redis OSS のマルチ AZ および AOF (Append-Only File) は、相互に排他的です。一方を有効にすると、他方を有効にすることはできません。
+ アベイラビリティーゾーン全体の障害というまれなイベントにより、ノードの障害が発生することがあります。この場合、障害の発生したプライマリを置き換えるレプリカは、アベイラビリティーゾーンがバックアップされているときのみ作成されます。たとえば、AZ-a のプライマリおよび AZ-b および AZ-c のレプリカを持つレプリケーショングループを考えてみます。プライマリに障害が発生した場合、レプリケーションの遅延が最も小さい利用可能なレプリカをプライマリクラスターに昇格します。その後、AZ-a がバックアップとなっていて使用可能な場合にのみ、ElastiCache は AZ-a 内 (障害が発生したプライマリがあった場所) に新しいレプリカを作成します。
+ プライマリの再起動をお客様が開始した場合、自動フェイルオーバーはトリガーされません。他の再起動と障害は、自動フェイルオーバーをトリガーします。
+ プライマリが再起動すると、オンラインに戻ったときにデータがクリアされます。リードレプリカがクリアされたプライマリクラスターを検出すると、データのコピーがクリアされるため、データ損失が発生します。
+ リードレプリカが昇格されると、他のレプリカは新しいプライマリと同期されます。最初の同期後に、レプリカのコンテンツは削除され、新しいプライマリからデータが同期されます。この同期プロセスに伴って一時的に中断が発生し、その間はレプリカにアクセスできなくなります。また、この同期プロセスに伴ってレプリカとの同期中にプライマリで一時的にロードが増えます。この動作は、Valkey および Redis OSS にネイティブであり、ElastiCache のマルチ AZ に特有ではありません。この動作の詳細については、Valkey ウェブサイトの「[Replication](http://valkey.io/topics/replication)」を参照してください。

**重要**  
Valkey 7.2.6 以降または Redis OSS バージョン 2.8.22 以降では、外部レプリカを作成できません。  
2.8.22 より前のバージョンの Redis OSS では、マルチ AZ が有効になっている ElastiCache クラスターに外部レプリカを接続しないことをお勧めします。このサポートされていない設定により、問題が発生し、ElastiCache がフェイルオーバーや復旧を正しく実行できなくなる場合があります。外部レプリカを ElastiCache クラスターに接続する場合は、接続する前にマルチ AZ が有効になっていないことを確認してください。

# 同期とバックアップの実装方法
<a name="Replication.Redis.Versions"></a>

サポートされているすべての Valkey または Redis OSS バージョンでは、プライマリノードとレプリカノード間でバックアップと同期がサポートされます。ただし、バックアップと同期の実装方法はバージョンによって異なります。

## Redis OSS バージョン 2.8.22 以降
<a name="Replication.Redis.Version2-8-22"></a>

バージョン 2.8.22 以降の Redis OSS レプリケーションでは、2 つの方法から選択します。詳細については、「[Redis OSS バージョン 2.8.22 より前](#Replication.Redis.Earlier2-8-22)」および「[スナップショットおよび復元](backups.md)」を参照してください。

分岐なしプロセス中に書き込み負荷が高い場合は、クラスターへの書き込みを遅延させて、変更が蓄積しすぎて正常なスナップショットが妨げられないようにします。

## Redis OSS バージョン 2.8.22 より前
<a name="Replication.Redis.Earlier2-8-22"></a>

バージョン 2.8.22 より前の Redis OSS のバックアップと同期プロセスは、3 つのステップで構成されます。

1. バックグラウンドプロセスでは、分岐によりクラスターのデータがディスクにシリアル化されます。これは、特定の時点のスナップショットを作成します。

1. フォアグラウンドでは、*クライアント出力バッファー*に変更ログが蓄積されます。
**重要**  
変更ログが*クライアント出力バッファー*のサイズを超えると、バックアップまたは同期が失敗します。詳細については、「[Valkey または Redis OSS スナップショットを作成するのに十分なメモリがあることを確認する](BestPractices.BGSAVE.md)」を参照してください。

1. 最後にキャッシュデータが送信され、変更ログがレプリカノードに転送されます。

# Valkey または Redis OSS レプリケーショングループの作成
<a name="Replication.CreatingRepGroup"></a>

レプリカノードのあるクラスターを作成するには、以下のオプションがあります。1 つは、レプリカを持つクラスターに関連付けられていない、プライマリノードとして使用可能な Valkey または Redis OSS (クラスターモードが無効) クラスターが既にある場合に適用されます。もう 1 つは、クラスターとリードレプリカのあるプライマリノードを作成する必要がある場合に適用されます。現時点では、Valkey または Redis OSS (クラスターモードが有効) クラスターを最初から作成する必要があります。

**オプション 1: [既存のクラスターを使用したレプリケーショングループの作成](Replication.CreatingReplGroup.ExistingCluster.md)**  
このオプションは、既存の単一ノード Valkey または Redis OSS (クラスターモードが無効) クラスターを利用する場合に使用します。この既存ノードを、新しいクラスターのプライマリノードとして指定し、さらにクラスターに 1〜5 個のリードレプリカを個別に追加します。既存のクラスターがアクティブの場合、リードレプリカは作成時にそのクラスターと同期されます。「[既存のクラスターを使用したレプリケーショングループの作成](Replication.CreatingReplGroup.ExistingCluster.md)」を参照してください。  
Valkey または Redis OSS (クラスターモードが有効) クラスターは、既存のクラスターを使用して作成できません。ElastiCache コンソールを使用して Valkey または Redis OSS (クラスターモード有効) クラスター (API/CLI: レプリケーショングループ) を作成するには、「[Valkey または Redis OSS (クラスターモードが有効) クラスターの作成 (コンソール)](Clusters.Create.md#Clusters.Create.CON.RedisCluster)」を参照してください。

**オプション 2: [Valkey または Redis OSS レプリケーショングループを最初から作成する](Replication.CreatingReplGroup.NoExistingCluster.md)**  
このオプションは、クラスターのプライマリノードとして使用可能な Valkey または Redis OSS (クラスターモードが無効) クラスターがまだない場合、または Valkey または Redis OSS (クラスターモードが有効) クラスターを作成する場合に使用します。「[Valkey または Redis OSS レプリケーショングループを最初から作成する](Replication.CreatingReplGroup.NoExistingCluster.md)」を参照してください。

# 既存のクラスターを使用したレプリケーショングループの作成
<a name="Replication.CreatingReplGroup.ExistingCluster"></a>

次の手順では、Valkey または Redis OSS (クラスターモードが無効) の単一ノードクラスターにレプリケーショングループを追加します。これは、クラスターを最新バージョンの Valkey にアップグレードするために必要です。これは、ダウンタイムもデータ損失もないインプレース手順です。単一ノードクラスターのレプリケーショングループを作成すると、クラスターのノードが新しいクラスターのプライマリノードになります。新しいクラスターのプライマリとして使用できる Valkey または Redis OSS (クラスターモードが無効) クラスターがない場合は、「[Valkey または Redis OSS レプリケーショングループを最初から作成する](Replication.CreatingReplGroup.NoExistingCluster.md)」を参照してください。

使用可能なクラスターは、既存の単一ノードの Valkey または Redis OSS クラスターです。現時点では、Valkey または Redis OSS (クラスターモードが有効) では使用可能な単一ノードのクラスターを使用して、レプリカを持つクラスターを作成することはできません。Valkey または Redis OSS (クラスターモードが有効) クラスターを作成する場合は、「[Valkey または Redis OSS (クラスターモードが有効) クラスターの作成 (コンソール)](Replication.CreatingReplGroup.NoExistingCluster.Cluster.md#Replication.CreatingReplGroup.NoExistingCluster.Cluster.CON)」を参照してください。

## 既存のクラスターを使用したレプリケーショングループの作成 (コンソール)
<a name="Replication.CreatingReplGroup.ExistingCluster.CON"></a>

トピック「[ElastiCache AWS マネジメントコンソールの使用](Clusters.AddNode.md#Clusters.AddNode.CON)」を参照してください。

## 使用可能な Valkey または Redis OSS のクラスターを使用したレプリケーショングループの作成 (AWS CLI)
<a name="Replication.CreatingReplGroup.ExistingCluster.CLI"></a>

AWS CLIを使う場合、使用可能な Valkey または Redis OSS キャッシュクラスターをプライマリとして、リードレプリカを持つレプリケーショングループを作成するには 2 つのステップがあります。

を使用する場合、 CLI コマンド を使用して、使用可能なスタンドアロンノードをクラスターのプライマリノードとして指定`--primary-cluster-id`し、クラスターに必要なノードの数を指定するレプリケーショングループAWS CLIを作成します`create-replication-group`。以下のパラメータを含めます。

**--replication-group-id**  
作成するレプリケーショングループの名前。このパラメータの値が追加されたノードの名前の基礎として使用され、3 桁の連番が `--replication-group-id` の末尾に追加されます。例えば、`sample-repl-group-001`。  
Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループの命名に関する制約は、次のとおりです。  
+ 1～40 個の英数字またはハイフンを使用する必要があります。
+ 先頭は文字を使用する必要があります。
+ 連続する 2 つのハイフンを含めることはできません。
+ ハイフンで終わることはできません。

**--replication-group-description**  
レプリケーショングループの説明。

**--num-node-groups**  
このクラスターに必要なノードの数。この値はプライマリノードを含みます。このパラメータの最大値は 6 です。

**--primary-cluster-id**  
このレプリケーショングループのプライマリノードにする、使用可能な Valkey または Redis OSS (クラスターモードが無効) クラスターのノードの名前。

次のコマンドは、レプリケーショングループのプライマリノードとして使用できる Valkey または Redis OSS (クラスターモードが無効) クラスター `redis01` を使用して、レプリケーショングループ `sample-repl-group` を作成します。リードレプリカとなる 2 つの新しいノードを作成します。`redis01` の設定 (つまり、パラメータグループ、セキュリティグループ、ノードタイプ、エンジンバージョンなど) は、レプリケーショングループ内のすべてのノードに適用されます。

Linux、macOS、Unix の場合:

```
aws elasticache create-replication-group \
   --replication-group-id sample-repl-group \
   --replication-group-description "demo cluster with replicas" \
   --num-cache-clusters 3 \
   --primary-cluster-id redis01
```

Windows の場合:

```
aws elasticache create-replication-group ^
   --replication-group-id sample-repl-group ^
   --replication-group-description "demo cluster with replicas" ^
   --num-cache-clusters 3 ^
   --primary-cluster-id redis01
```

使用する追加情報とパラメータについては、AWS CLI「」トピックを参照してください[create-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/create-replication-group.html)。

**次に、リードレプリカをレプリケーショングループに追加します。**  
レプリケーショングループの作成後に、`create-cache-cluster` コマンドを使用して、そのグループに 1 〜 5 個のリードレプリカを追加します。その際に、以下のパラメータを必ず含めます。

**--cache-cluster-id**  
レプリケーショングループに追加するクラスターの名前。  
クラスターの命名に関する制約は次のとおりです。  
+ 1～40 個の英数字またはハイフンを使用する必要があります。
+ 先頭は文字を使用する必要があります。
+ 連続する 2 つのハイフンを含めることはできません。
+ ハイフンで終わることはできません。


**--replication-group-id**  
このクラスターに追加するレプリケーショングループの名前。

レプリケーショングループに追加するそれぞれのリードレプリカで、このコマンドを `--cache-cluster-id` パラメータの値のみを変更して繰り返します。

**注記**  
レプリケーショングループに追加できるリードレプリカの数は 5 個までです。すでに 5 個のリードレプリカを持つレプリケーショングループに別のリードレプリカを追加しようとすると、オペレーションが失敗します。

次のコードは、リードレプリカ `my-replica01` をレプリケーショングループ `sample-repl-group` に追加します。プライマリクラスター–パラメータグループ、セキュリティグループ、ノードタイプなどの設定は、レプリケーショングループに追加されるノードに適用されます。

Linux、macOS、Unix の場合:

```
aws elasticache create-cache-cluster \
   --cache-cluster-id my-replica01 \
   --replication-group-id sample-repl-group
```

Windows の場合:

```
aws elasticache create-cache-cluster ^
   --cache-cluster-id my-replica01 ^
   --replication-group-id sample-repl-group
```

このコマンドの出力は次のようになります。

```
{
    "ReplicationGroup": {
        "Status": "creating",
        "Description": "demo cluster with replicas",
        "ClusterEnabled": false,
        "ReplicationGroupId": "sample-repl-group",
        "SnapshotRetentionLimit": 1,
        "AutomaticFailover": "disabled",
        "SnapshotWindow": "00:00-01:00",
        "SnapshottingClusterId": "redis01",
        "MemberClusters": [
            "sample-repl-group-001",
            "sample-repl-group-002",
            "redis01"
        ],
        "CacheNodeType": "cache.m4.large",
        "DataTiering": "disabled",
        "PendingModifiedValues": {}
    }
}
```

詳細については、以下のAWS CLIトピックを参照してください。
+ [create-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/create-replication-group.html)
+ [modify-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/modify-replication-group.html)

## スタンドアロンの Valkey または Redis OSS (クラスターモードが無効) クラスターにレプリカを追加する (ElastiCache API)
<a name="Replication.CreatingReplGroup.ExistingCluster.API"></a>

ElastiCache API を使用する場合、CLI コマンド `CreateReplicationGroup` を使用して、クラスターのプライマリノードとして使用可能なスタンドアロンノードを指定して (`PrimaryClusterId`)、クラスター内に含めるノードの数を指定し、レプリケーショングループを作成します。以下のパラメータを含めます。

**ReplicationGroupId**  
作成するレプリケーショングループの名前。このパラメータの値が追加されたノードの名前の基礎として使用され、3 桁の連番が `ReplicationGroupId` の末尾に追加されます。例えば、`sample-repl-group-001`。  
Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループの命名に関する制約は、次のとおりです。  
+ 1～40 個の英数字またはハイフンを使用する必要があります。
+ 先頭は文字を使用する必要があります。
+ 連続する 2 つのハイフンを含めることはできません。
+ ハイフンで終わることはできません。

**ReplicationGroupDescription**  
レプリカを持つクラスターの説明。

**NumCacheClusters**  
このクラスターに必要なノードの数。この値はプライマリノードを含みます。このパラメータの最大値は 6 です。

**PrimaryClusterId**  
このクラスター内のプライマリノードにする、使用可能な Valkey または Redis OSS (クラスターモード無効) クラスターの名前。

次のコマンドは、レプリケーショングループのプライマリノードとして使用できる Valkey または Redis OSS (クラスターモードが無効) クラスター `redis01` を使用して、レプリカ `sample-repl-group` を持つクラスターを作成します。リードレプリカとなる 2 つの新しいノードを作成します。`redis01` の設定 (つまり、パラメータグループ、セキュリティグループ、ノードタイプ、エンジンバージョンなど) は、レプリケーショングループ内のすべてのノードに適用されます。

```
https://elasticache.us-west-2.amazonaws.com/
   ?Action=CreateReplicationGroup 
   &Engine=redis
   &EngineVersion=6.0
   &ReplicationGroupDescription=Demo%20cluster%20with%20replicas
   &ReplicationGroupId=sample-repl-group
   &PrimaryClusterId=redis01
   &Version=2015-02-02
   &SignatureVersion=4
   &SignatureMethod=HmacSHA256
   &Timestamp=20150202T192317Z
   &X-Amz-Credential=<credential>
```

詳細については、以下の ElastiCache APL のトピックを参照してください。
+ [CreateReplicationGroup](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html)
+ [ModifyReplicationGroup](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyReplicationGroup.html)

**次に、リードレプリカをレプリケーショングループに追加します。**  
レプリケーショングループの作成後に、`CreateCacheCluster` オペレーションを使用して、そのグループに 1 〜 5 個のリードレプリカを追加します。その際に、以下のパラメータを必ず含めます。

**CacheClusterId**  
レプリケーショングループに追加するクラスターの名前。  
クラスターの命名に関する制約は次のとおりです。  
+ 1～40 個の英数字またはハイフンを使用する必要があります。
+ 先頭は文字を使用する必要があります。
+ 連続する 2 つのハイフンを含めることはできません。
+ ハイフンで終わることはできません。


**ReplicationGroupId**  
このクラスターに追加するレプリケーショングループの名前。

レプリケーショングループに追加するリードレプリカごとに、このオペレーションを繰り返します。その際に、`CacheClusterId` パラメータの値のみを変更します。

次のコードは、リードレプリカ `myReplica01` をレプリケーショングループ `myReplGroup` に追加します。プライマリクラスター–パラメータグループ、セキュリティグループ、ノードタイプなどの設定です。 はレプリケーショングループに追加されると、ノードに適用されます。

```
https://elasticache.us-west-2.amazonaws.com/
	?Action=CreateCacheCluster
	&CacheClusterId=myReplica01
	&ReplicationGroupId=myReplGroup
	&SignatureMethod=HmacSHA256
	&SignatureVersion=4
	&Version=2015-02-02
	&X-Amz-Algorithm=&AWS;4-HMAC-SHA256
	&X-Amz-Credential=[your-access-key-id]/20150202/us-west-2/elasticache/aws4_request
	&X-Amz-Date=20150202T170651Z
	&X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date
	&X-Amz-Signature=[signature-value]
```

使用するパラメータおよび追加情報については、ElastiCache API トピックの「[CreateCacheCluster](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateCacheCluster.html)」を参照してください。

# Valkey または Redis OSS レプリケーショングループを最初から作成する
<a name="Replication.CreatingReplGroup.NoExistingCluster"></a>

既存の Valkey または Redis OSS クラスターをプライマリとして使用せずに、Valkey または Redis OSS レプリケーショングループを作成する方法を以下に説明します。Valkey または Redis OSS (クラスターモードが無効) または Valkey または Redis OSS (クラスターモードが有効) レプリケーショングループを最初から作成するには、ElastiCache コンソール、AWS CLI、または ElastiCache API を使用します。

続行する前に、Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループを作成するのか、Valkey または Redis OSS (クラスターモードが有効) レプリケーショングループを作成するのかを決定します。決定のガイダンスについては、「[レプリケーション: Valkey および Redis OSS クラスターモードの無効と有効](Replication.Redis-RedisCluster.md)」を参照してください。

**Topics**
+ [Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループを最初から作成する](Replication.CreatingReplGroup.NoExistingCluster.Classic.md)
+ [Valkey または Redis OSS (クラスターモードが有効) でレプリケーショングループを最初から作成する](Replication.CreatingReplGroup.NoExistingCluster.Cluster.md)

# Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループを最初から作成する
<a name="Replication.CreatingReplGroup.NoExistingCluster.Classic"></a>

Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループを最初から作成するには、ElastiCache コンソール、AWS CLI、または ElastiCache API を使用します。Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループには常に 1 つのノードグループ、1 つのプライマリクラスター、および最大 5 個のリードレプリカがあります。Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループは、データのパーティション化をサポートしていません。

**注記**  
ノード/シャード制限は、クラスターあたり 500 まで増やすことができます。この制限の拡大をリクエストするには、「[AWS サービスの制限](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)」を参照し、リクエストにインスタンスタイプを含めます。

Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループを最初から作成するには、次のいずれかの方法に従います。

## Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループを最初から作成する (AWS CLI)
<a name="Replication.CreatingReplGroup.NoExistingCluster.Classic.CLI"></a>

以下の手順では、AWS CLI を使用して Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループを作成します。

Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループを最初から作成する場合、レプリケーショングループとそのすべてのノードを、AWS CLI `create-replication-group` コマンドへの 1 回の呼び出しで作成します。以下のパラメータを含めます。

**--replication-group-id**  
作成するレプリケーショングループの名前。  
Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループの命名に関する制約は、次のとおりです。  
+ 1～40 個の英数字またはハイフンを使用する必要があります。
+ 先頭は文字を使用する必要があります。
+ 連続する 2 つのハイフンを含めることはできません。
+ ハイフンで終わることはできません。

**--replication-group-description**  
レプリケーショングループの説明。

**--num-cache-clusters**  
このレプリケーションのグループ、プライマリおよびリードレプリカ全体で作成するノードの数。  
マルチ AZ を有効にした場合 (`--automatic-failover-enabled`)、`--num-cache-clusters` の値は 2 以上であることが必要です。

**--cache-node-type**  
レプリケーショングループの各ノードのノードタイプ。  
ElastiCache では以下のノードタイプがサポートされています。一般に、現行世代のタイプは、以前の世代の同等タイプと比較した場合、メモリが多く処理能力が高くなっています。  
各ノードタイプのパフォーマンスの詳細の詳細については、「[Amazon EC2 インスタンスタイプ](https://aws.amazon.com/ec2/instance-types/)」を参照してください。

**--data-tiering-enabled**  
r6gd ノードタイプを使用している場合は、このパラメータを設定します。データ階層化の必要がない場合は、`--no-data-tiering-enabled` を設定します。詳細については、「[ElastiCache のデータ階層化](data-tiering.md)」を参照してください。

**--cache-parameter-group**  
エンジンバージョンに対応するパラメータグループを指定します。Redis OSS 3.2.4 以降を実行している場合は、`default.redis3.2` パラメータグループ、または `default.redis3.2` から派生したパラメータグループを指定して Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループを作成します。詳細については、「[Valkey および Redis OSS パラメータ](ParameterGroups.Engine.md#ParameterGroups.Redis)」を参照してください。

**--network-type**  
`ipv4`、`ipv6` または `dual-stack` です。デュアルスタックを選択する場合は、`--IpDiscovery` パラメータを `ipv4` または `ipv6` に設定する必要があります。

**--engine**  
redis

**--engine-version**  
最も豊富な機能のセットを利用するには、最新バージョンのエンジンを選択します。

ノードの名前は、レプリケーショングループ名の後に「`-00`*\$1*」を追加することで決定されます。たとえば、レプリケーショングループ名 `myReplGroup` を使用すると、プライマリの名前は `myReplGroup-001` となり、リードレプリカの名前は `myReplGroup-002` から `myReplGroup-006` となります。

このレプリケーショングループで転送時または保管時の暗号化を有効にする場合は、`--transit-encryption-enabled` パラメータと `--at-rest-encryption-enabled` パラメータの一方または両方を追加し、次の条件を満たす必要があります。
+ レプリケーショングループは Redis OSS バージョン 3.2.6 または 4.0.10 を実行している必要があります。
+ レプリケーショングループは Amazon VPC で作成されている必要があります。
+ パラメータ `--cache-subnet-group` も含める必要があります。
+ このレプリケーショングループに対するオペレーションを実行するために必要な AUTH トークン (パスワード) 用に顧客が指定した文字列値にパラメータ `--auth-token` も含める必要があります。

次のオペレーションでは、3 つのノード、1 つのプライマリ、2 つのレプリカを持つ Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループ `sample-repl-group` を作成します。

Linux、macOS、Unix の場合:

```
aws elasticache create-replication-group \
   --replication-group-id sample-repl-group \
   --replication-group-description "Demo cluster with replicas" \
   --num-cache-clusters 3 \
   --cache-node-type cache.m4.large \ 
   --engine redis
```

Windows の場合:

```
aws elasticache create-replication-group ^
   --replication-group-id sample-repl-group ^
   --replication-group-description "Demo cluster with replicas" ^
   --num-cache-clusters 3 ^
   --cache-node-type cache.m4.large ^  
   --engine redis
```

このコマンドによる出力は次のようになります。

```
{
    "ReplicationGroup": {
        "Status": "creating",
        "Description": "Demo cluster with replicas",
        "ClusterEnabled": false,
        "ReplicationGroupId": "sample-repl-group",
        "SnapshotRetentionLimit": 0,
        "AutomaticFailover": "disabled",
        "SnapshotWindow": "01:30-02:30",
        "MemberClusters": [
            "sample-repl-group-001",
            "sample-repl-group-002",
            "sample-repl-group-003"
        ],
        "CacheNodeType": "cache.m4.large",
        "DataTiering": "disabled",
        "PendingModifiedValues": {}
    }
}
```

使用するパラメータおよび追加情報については、AWS CLI トピックの「[create-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/create-replication-group.html)」を参照してください。

## Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループを最初から作成する (ElastiCache API)
<a name="Replication.CreatingReplGroup.NoExistingCluster.Classic.API"></a>

以下の手順では、ElastiCache API を使用して Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループを作成します。

Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループを最初から作成する場合、レプリケーショングループとそのすべてのノードを、ElastiCache API `CreateReplicationGroup` オペレーションへの 1 回の呼び出しで作成します。以下のパラメータを含めます。

**ReplicationGroupId**  
作成するレプリケーショングループの名前。  
Valkey または Redis OSS (クラスターモードが有効) レプリケーショングループの命名に関する制約は、次のとおりです。  
+ 1～40 個の英数字またはハイフンを使用する必要があります。
+ 先頭は文字を使用する必要があります。
+ 連続する 2 つのハイフンを含めることはできません。
+ ハイフンで終わることはできません。

**ReplicationGroupDescription**  
レプリケーショングループの説明。

**NumCacheClusters**  
このレプリケーションのグループ、プライマリおよびリードレプリカ全体で作成するノードの総数。  
マルチ AZ を有効にした場合（`AutomaticFailoverEnabled=true`）、`NumCacheClusters` の値は 2 以上であることが必要です。

**CacheNodeType**  
レプリケーショングループの各ノードのノードタイプ。  
ElastiCache では以下のノードタイプがサポートされています。一般に、現行世代のタイプは、以前の世代の同等タイプと比較した場合、メモリが多く処理能力が高くなっています。  
各ノードタイプのパフォーマンスの詳細の詳細については、「[Amazon EC2 インスタンスタイプ](https://aws.amazon.com/ec2/instance-types/)」を参照してください。

**--data-tiering-enabled**  
r6gd ノードタイプを使用している場合は、このパラメータを設定します。データ階層化の必要がない場合は、`--no-data-tiering-enabled` を設定します。詳細については、「[ElastiCache のデータ階層化](data-tiering.md)」を参照してください。

**CacheParameterGroup**  
エンジンバージョンに対応するパラメータグループを指定します。Redis OSS 3.2.4 以降を実行している場合は、`default.redis3.2` パラメータグループ、または `default.redis3.2` から派生したパラメータグループを指定して Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループを作成します。詳細については、「[Valkey および Redis OSS パラメータ](ParameterGroups.Engine.md#ParameterGroups.Redis)」を参照してください。

**--network-type**  
`ipv4`、`ipv` または `dual-stack` です。デュアルスタックを選択する場合は、`--IpDiscovery` パラメータを `ipv4` または `ipv6` に設定する必要があります。

**エンジン**  
redis

**EngineVersion**  
6.0

ノードの名前は、レプリケーショングループ名の後に「`-00`*\$1*」を追加することで決定されます。たとえば、レプリケーショングループ名 `myReplGroup` を使用すると、プライマリの名前は `myReplGroup-001` となり、リードレプリカの名前は `myReplGroup-002` から `myReplGroup-006` となります。

このレプリケーショングループで転送時または保管時の暗号化を有効にする場合は、`TransitEncryptionEnabled=true` パラメータと `AtRestEncryptionEnabled=true` パラメータの一方または両方を追加し、次の条件を満たす必要があります。
+ レプリケーショングループは Redis OSS バージョン 3.2.6 または 4.0.10 を実行している必要があります。
+ レプリケーショングループは Amazon VPC で作成されている必要があります。
+ パラメータ `CacheSubnetGroup` も含める必要があります。
+ このレプリケーショングループに対するオペレーションを実行するために必要な AUTH トークン (パスワード) 用に顧客が指定した文字列値にパラメータ `AuthToken` も含める必要があります。

次のオペレーションでは、3 つのノード、1 つのプライマリ、2 つのレプリカを持つ Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループ `myReplGroup` を作成します。

```
https://elasticache.us-west-2.amazonaws.com/
   ?Action=CreateReplicationGroup 
   &CacheNodeType=cache.m4.large
   &CacheParameterGroup=default.redis6.x
   &Engine=redis
   &EngineVersion=6.0
   &NumCacheClusters=3
   &ReplicationGroupDescription=test%20group
   &ReplicationGroupId=myReplGroup
   &Version=2015-02-02
   &SignatureVersion=4
   &SignatureMethod=HmacSHA256
   &Timestamp=20150202T192317Z
   &X-Amz-Credential=<credential>
```

使用するパラメータおよび追加情報については、ElastiCache API トピックの「[CreateReplicationGroup](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html)」を参照してください。

# Valkey または Redis OSS (クラスターモードが有効) でレプリケーショングループを最初から作成する
<a name="Replication.CreatingReplGroup.NoExistingCluster.Cluster"></a>

Valkey または Redis OSS (クラスターモードが有効) クラスター (API/CLI: *レプリケーショングループ*) を作成するには、ElastiCache コンソール、AWS CLI、または ElastiCache API を使用します。Valkey または Redis OSS (クラスターモードが有効) レプリケーショングループは、1〜500 個のシャード (API/CLI: ノードグループ) で構成され、各シャードには、1 つのプライマリノードと、最大 5 個のリードレプリカが含まれます。シャードの数が多くレプリカの数が少ないクラスターを作成できます。クラスターあたり最大 90 ノードです。このクラスター設定は、シャード 90 個およびレプリカ 0 個からシャード 15 個およびレプリカ 5 個 (許容されるレプリカの最大数) までです。

Valkey または Redis OSS エンジンのバージョンが 5.0.6 以上の場合、ノードまたはシャードの制限は、クラスターごとに最大 500 個まで増やすことができます。例えば、83 個のシャード (シャードごとに 1 つのプライマリと 5 レプリカ) と 500 個のシャード (プライマリのみでレプリカなし) の範囲で、500 個のノードクラスターを設定できます。増加に対応できる十分な IP アドレスがあることを確認してください。一般的な落とし穴として、サブネットグループ内のサブネットの CIDR 範囲が小さすぎる、またはサブネットが他のクラスターで共有され、頻繁に使用されていることが挙げられます。詳細については、「[サブネットグループの作成](SubnetGroups.Creating.md)」を参照してください。

 5.0.6 未満のバージョンの場合、クラスターあたりの制限は 250 個です。

この制限の拡大をリクエストするには、「[AWS のサービスの制限](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)」を参照し、制限タイプとして [**Nodes per cluster per instance type (インスタンスタイプごとのクラスターあたりのノード)**] を選択します。

**Topics**
+ [ElastiCache コンソールの使用](#Replication.CreatingReplGroup.NoExistingCluster.Cluster.CON)
+ [Valkey または Redis OSS (クラスターモードが有効) レプリケーショングループを最初から作成する (AWS CLI)](#Replication.CreatingReplGroup.NoExistingCluster.Cluster.CLI)
+ [Valkey または Redis OSS (クラスターモードが有効) でレプリケーショングループを最初から作成する (ElastiCache API)](#Replication.CreatingReplGroup.NoExistingCluster.Cluster.API)

## Valkey または Redis OSS (クラスターモードが有効) クラスターの作成 (コンソール)
<a name="Replication.CreatingReplGroup.NoExistingCluster.Cluster.CON"></a>

Valkey または Redis OSS (クラスターモードが有効) クラスターを作成するには、「[Valkey または Redis OSS (クラスターモードが有効) クラスターの作成 (コンソール)](Clusters.Create.md#Clusters.Create.CON.RedisCluster)」を参照してください。クラスターモード (**[クラスターモードが有効 (スケールアウト)]**) を必ず有効にし、それぞれに少なくとも 2 つのシャードと 1 つのレプリカノードを指定します。

## Valkey または Redis OSS (クラスターモードが有効) レプリケーショングループを最初から作成する (AWS CLI)
<a name="Replication.CreatingReplGroup.NoExistingCluster.Cluster.CLI"></a>

以下の手順では、AWS CLI を使用して Valkey または Redis OSS (クラスターモードが有効) レプリケーショングループを作成します。

Valkey または Redis OSS (クラスターモードが有効) レプリケーショングループを最初から作成する場合、レプリケーショングループとそのすべてのノードを、AWS CLI `create-replication-group` コマンドへの 1 回の呼び出しで作成します。以下のパラメータを含めます。

**--replication-group-id**  
作成するレプリケーショングループの名前。  
Valkey または Redis OSS (クラスターモードが有効) レプリケーショングループの命名に関する制約は、次のとおりです。  
+ 1～40 個の英数字またはハイフンを使用する必要があります。
+ 先頭は文字を使用する必要があります。
+ 連続する 2 つのハイフンを含めることはできません。
+ ハイフンで終わることはできません。

**--replication-group-description**  
レプリケーショングループの説明。

**--cache-node-type**  
レプリケーショングループの各ノードのノードタイプ。  
ElastiCache では以下のノードタイプがサポートされています。一般に、現行世代のタイプは、以前の世代の同等タイプと比較した場合、メモリが多く処理能力が高くなっています。  
各ノードタイプのパフォーマンスの詳細の詳細については、「[Amazon EC2 インスタンスタイプ](https://aws.amazon.com/ec2/instance-types/)」を参照してください。

**--data-tiering-enabled**  
r6gd ノードタイプを使用している場合は、このパラメータを設定します。データ階層化の必要がない場合は、`--no-data-tiering-enabled` を設定します。詳細については、「[ElastiCache のデータ階層化](data-tiering.md)」を参照してください。

**--cache-parameter-group**  
`default.redis6.x.cluster.on` パラメータグループまたは `default.redis6.x.cluster.on` から派生したパラメータグループを指定して、Valkey または Redis OSS (クラスターモードが有効) レプリケーショングループを作成します。詳細については、「[Redis OSS 6.x パラメータの変更](ParameterGroups.Engine.md#ParameterGroups.Redis.6-x)」を参照してください。

**--engine**  
redis

**--engine-version**  
3.2.4

**--num-node-groups**  
このレプリケーショングループのノードグループの数。有効な値は 1～500 です。  
ノード/シャード制限は、クラスターあたり 500 まで増やすことができます。この制限の拡大をリクエストするには、「[AWS サービスの制限](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)」を参照し、制限タイプ「インスタンスタイプごとのクラスターあたりのノード」を選択します。

**--replicas-per-node-group**  
各ノードグループのレプリカノードの数。有効な値は 0～5 です。

**--network-type**  
`ipv4`、`ipv` または `dual-stack` です。デュアルスタックを選択する場合は、`--IpDiscovery` パラメータを `ipv4` または `ipv6` に設定する必要があります。

このレプリケーショングループで転送時または保管時の暗号化を有効にする場合は、`--transit-encryption-enabled` パラメータと `--at-rest-encryption-enabled` パラメータの一方または両方を追加し、次の条件を満たす必要があります。
+ レプリケーショングループは Redis OSS バージョン 3.2.6 または 4.0.10 を実行している必要があります。
+ レプリケーショングループは Amazon VPC で作成されている必要があります。
+ パラメータ `--cache-subnet-group` も含める必要があります。
+ このレプリケーショングループに対するオペレーションを実行するために必要な AUTH トークン (パスワード) 用に顧客が指定した文字列値にパラメータ `--auth-token` も含める必要があります。

次のオペレーションでは、3 つのノードグループ/シャード (--num-node-groups) を持つ Valkey または Redis OSS (クラスターモードが有効) レプリケーショングループ `sample-repl-group` を作成します。各レプリケーショングループに 3 つのノード、1 つのプライマリ、2 つのリードレプリカ (--replicas-per-node-group) が含まれます。

Linux、macOS、Unix の場合:

```
aws elasticache create-replication-group \
   --replication-group-id sample-repl-group \
   --replication-group-description "Demo cluster with replicas" \
   --num-node-groups 3 \
   --replicas-per-node-group 2 \
   --cache-node-type cache.m4.large \ 
   --engine redis \   
   --security-group-ids SECURITY_GROUP_ID \    
   --cache-subnet-group-name SUBNET_GROUP_NAME>
```

Windows の場合:

```
aws elasticache create-replication-group ^
   --replication-group-id sample-repl-group ^
   --replication-group-description "Demo cluster with replicas" ^
   --num-node-groups 3 ^
   --replicas-per-node-group 2 ^
   --cache-node-type cache.m4.large ^ 
   --engine redis ^   
   --security-group-ids SECURITY_GROUP_ID ^      
   --cache-subnet-group-name SUBNET_GROUP_NAME>
```

前述のコマンドは、次の出力を生成します。

```
{
    "ReplicationGroup": {
        "Status": "creating", 
        "Description": "Demo cluster with replicas", 
        "ReplicationGroupId": "sample-repl-group", 
        "SnapshotRetentionLimit": 0, 
        "AutomaticFailover": "enabled", 
        "SnapshotWindow": "05:30-06:30", 
        "MemberClusters": [
            "sample-repl-group-0001-001", 
            "sample-repl-group-0001-002", 
            "sample-repl-group-0001-003", 
            "sample-repl-group-0002-001", 
            "sample-repl-group-0002-002", 
            "sample-repl-group-0002-003", 
            "sample-repl-group-0003-001", 
            "sample-repl-group-0003-002", 
            "sample-repl-group-0003-003"
        ], 
        "PendingModifiedValues": {}
    }
}
```

Valkey または Redis OSS (クラスターモードが有効) レプリケーショングループを最初から作成する際、次の例に示すように `--node-group-configuration` パラメータを使用してクラスター内の各シャードを設定することで、2 つのノードグループ (コンソール: シャード) を設定できます。1 つめのシャードは、2 つのノード、1 つのプライマリ、1 つのリードレプリカで構成されます。2 つめのシャードは、3 つのノード、1 つのプライマリ、2 つのリードレプリカで構成されます。

**--node-group-configuration**  
各ノードグループの設定。`--node-group-configuration` パラメータは次のフィールドで構成されます。  
+ `PrimaryAvailabilityZone` – このノードグループのプライマリノードがあるアベイラビリティーゾーン。このパラメータを省略すると、ElastiCache によってプライマリノードのアベイラビリティーゾーンが選択されます。

  **例:** us-west-2a。
+ `ReplicaAvailabilityZones` – リードレプリカがあるアベイラビリティーゾーンのカンマ区切りリスト。このリストのアベイラビリティーゾーンの数は、`ReplicaCount` の値と一致する必要があります。このパラメータを省略すると、ElastiCache によってレプリカノードのアベイラビリティーゾーンが選択されます。

  **例:** "us-west-2a,us-west-2b,us-west-2c"
+ `ReplicaCount` – このノードグループのレプリカノードの数。
+ `Slots` – 対象ノードグループのキースペースを指定する文字列。この文字列は次の形式になります。`startKey-endKey`このパラメータを省略すると、ElastiCache によってノードグループ間でキーが均等に割り当てられます。

  **例:** "0-4999"

   

次のオペレーションでは、2 つのノードグループ/シャード (`--num-node-groups`) を持つ Valkey または Redis OSS (クラスターモードが有効) レプリケーショングループ `new-group` を作成します。前の例とは異なり、各ノードグループは、その他のノードグループ (`--node-group-configuration`) とは異なった構成になります。

Linux、macOS、Unix の場合:

```
aws elasticache create-replication-group \
  --replication-group-id new-group \
  --replication-group-description "Sharded replication group" \
  --engine redis \    
  --snapshot-retention-limit 8 \
  --cache-node-type cache.m4.medium \
  --num-node-groups 2 \
  --node-group-configuration \
      "ReplicaCount=1,Slots=0-8999,PrimaryAvailabilityZone='us-east-1c',ReplicaAvailabilityZones='us-east-1b'" \
      "ReplicaCount=2,Slots=9000-16383,PrimaryAvailabilityZone='us-east-1a',ReplicaAvailabilityZones='us-east-1a','us-east-1c'"
```

Windows の場合:

```
aws elasticache create-replication-group ^
  --replication-group-id new-group ^
  --replication-group-description "Sharded replication group" ^
  --engine redis ^    
  --snapshot-retention-limit 8 ^
  --cache-node-type cache.m4.medium ^
  --num-node-groups 2 ^
  --node-group-configuration \
      "ReplicaCount=1,Slots=0-8999,PrimaryAvailabilityZone='us-east-1c',ReplicaAvailabilityZones='us-east-1b'" \
      "ReplicaCount=2,Slots=9000-16383,PrimaryAvailabilityZone='us-east-1a',ReplicaAvailabilityZones='us-east-1a','us-east-1c'"
```

前述のオペレーションは、次の出力を生成します。

```
{
    "ReplicationGroup": {
        "Status": "creating", 
        "Description": "Sharded replication group", 
        "ReplicationGroupId": "rc-rg", 
        "SnapshotRetentionLimit": 8, 
        "AutomaticFailover": "enabled", 
        "SnapshotWindow": "10:00-11:00", 
        "MemberClusters": [
            "rc-rg-0001-001", 
            "rc-rg-0001-002", 
            "rc-rg-0002-001", 
            "rc-rg-0002-002", 
            "rc-rg-0002-003"
        ], 
        "PendingModifiedValues": {}
    }
}
```

使用するパラメータおよび追加情報については、AWS CLI トピックの「[create-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/create-replication-group.html)」を参照してください。

## Valkey または Redis OSS (クラスターモードが有効) でレプリケーショングループを最初から作成する (ElastiCache API)
<a name="Replication.CreatingReplGroup.NoExistingCluster.Cluster.API"></a>

以下の手順では、ElastiCache API を使用して Valkey または Redis OSS (クラスターモードが有効) レプリケーショングループを作成します。

Valkey または Redis OSS (クラスターモードが有効) レプリケーショングループを最初から作成する場合、レプリケーショングループとそのすべてのノードを、ElastiCache API `CreateReplicationGroup` オペレーションへの 1 回の呼び出しで作成します。以下のパラメータを含めます。

**ReplicationGroupId**  
作成するレプリケーショングループの名前。  
Valkey または Redis OSS (クラスターモードが有効) レプリケーショングループの命名に関する制約は、次のとおりです。  
+ 1～40 個の英数字またはハイフンを使用する必要があります。
+ 先頭は文字を使用する必要があります。
+ 連続する 2 つのハイフンを含めることはできません。
+ ハイフンで終わることはできません。

**ReplicationGroupDescription**  
レプリケーショングループの説明。

**NumNodeGroups**  
このレプリケーショングループで作成するノードグループの数。有効な値は 1～500 です。

**ReplicasPerNodeGroup**  
各ノードグループのレプリカノードの数。有効な値は 1～5 です。

**NodeGroupConfiguration**  
各ノードグループの設定。`NodeGroupConfiguration` パラメータは次のフィールドで構成されます。  
+ `PrimaryAvailabilityZone` – このノードグループのプライマリノードがあるアベイラビリティーゾーン。このパラメータを省略すると、ElastiCache によってプライマリノードのアベイラビリティーゾーンが選択されます。

  **例:** us-west-2a。
+ `ReplicaAvailabilityZones` – リードレプリカがあるアベイラビリティーゾーンのリスト。このリストのアベイラビリティーゾーンの数は、`ReplicaCount` の値と一致する必要があります。このパラメータを省略すると、ElastiCache によってレプリカノードのアベイラビリティーゾーンが選択されます。
+ `ReplicaCount` – このノードグループのレプリカノードの数。
+ `Slots` – 対象ノードグループのキースペースを指定する文字列。この文字列は次の形式になります。`startKey-endKey`このパラメータを省略すると、ElastiCache によってノードグループ間でキーが均等に割り当てられます。

  **例:** "0-4999"

   

**CacheNodeType**  
レプリケーショングループの各ノードのノードタイプ。  
ElastiCache では以下のノードタイプがサポートされています。一般に、現行世代のタイプは、以前の世代の同等タイプと比較した場合、メモリが多く処理能力が高くなっています。  
各ノードタイプのパフォーマンスの詳細の詳細については、「[Amazon EC2 インスタンスタイプ](https://aws.amazon.com/ec2/instance-types/)」を参照してください。

**--data-tiering-enabled**  
r6gd ノードタイプを使用している場合は、このパラメータを設定します。データ階層化の必要がない場合は、`--no-data-tiering-enabled` を設定します。詳細については、「[ElastiCache のデータ階層化](data-tiering.md)」を参照してください。

**CacheParameterGroup**  
`default.redis6.x.cluster.on` パラメータグループまたは `default.redis6.x.cluster.on` から派生したパラメータグループを指定して、Valkey または Redis OSS (クラスターモードが有効) レプリケーショングループを作成します。詳細については、「[Redis OSS 6.x パラメータの変更](ParameterGroups.Engine.md#ParameterGroups.Redis.6-x)」を参照してください。

**--network-type**  
`ipv4`、`ipv` または `dual-stack` です。デュアルスタックを選択する場合は、`--IpDiscovery` パラメータを `ipv4` または `ipv6` に設定する必要があります。

**エンジン**  
redis

**EngineVersion**  
6.0

このレプリケーショングループで転送時または保管時の暗号化を有効にする場合は、`TransitEncryptionEnabled=true` パラメータと `AtRestEncryptionEnabled=true` パラメータの一方または両方を追加し、次の条件を満たす必要があります。
+ レプリケーショングループは Redis OSS バージョン 3.2.6 または 4.0.10 を実行している必要があります。
+ レプリケーショングループは Amazon VPC で作成されている必要があります。
+ パラメータ `CacheSubnetGroup` も含める必要があります。
+ このレプリケーショングループに対するオペレーションを実行するために必要な AUTH トークン (パスワード) 用に顧客が指定した文字列値にパラメータ `AuthToken` も含める必要があります。

読みやすくするために、改行が追加されています。

```
https://elasticache.us-west-2.amazonaws.com/
   ?Action=CreateReplicationGroup 
   &CacheNodeType=cache.m4.large
   &CacheParemeterGroup=default.redis6.xcluster.on
   &Engine=redis
   &EngineVersion=6.0
   &NumNodeGroups=3
   &ReplicasPerNodeGroup=2
   &ReplicationGroupDescription=test%20group
   &ReplicationGroupId=myReplGroup
   &Version=2015-02-02
   &SignatureVersion=4
   &SignatureMethod=HmacSHA256
   &Timestamp=20150202T192317Z
   &X-Amz-Credential=<credential>
```

使用するパラメータおよび追加情報については、ElastiCache API トピックの「[CreateReplicationGroup](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html)」を参照してください。

# レプリケーショングループの詳細の表示
<a name="Replication.ViewDetails"></a>

レプリケーショングループの詳細を表示すると便利な場合があります。ElastiCache コンソール、AWS CLI for ElastiCache、またはElastiCache API を使用できます。コンソールプロセスは、Valkey または Redis OSS (クラスターモードが無効) と Valkey または Redis OSS (クラスターモードが有効) では異なります。

**Contents**
+ [レプリカがある Valkey または Redis OSS (クラスターモード無効) の詳細を表示する](Replication.ViewDetails.Redis.md)
  + [ElastiCache コンソールの使用](Replication.ViewDetails.Redis.md#Replication.ViewDetails.Redis.CON)
  + [の使用AWS CLI](Replication.ViewDetails.Redis.md#Replication.ViewDetails.Redis.CLI)
  + [ElastiCache API の使用](Replication.ViewDetails.Redis.md#Replication.ViewDetails.Redis.API)
+ [レプリケーショングループの表示: Valkey または Redis OSS (クラスターモードが有効)](Replication.ViewDetails.RedisCluster.md)
  + [ElastiCache コンソールの使用](Replication.ViewDetails.RedisCluster.md#Replication.ViewDetails.RedisCluster.CON)
  + [の使用AWS CLI](Replication.ViewDetails.RedisCluster.md#Replication.ViewDetails.RedisCluster.CLI)
  + [ElastiCache API の使用](Replication.ViewDetails.RedisCluster.md#Replication.ViewDetails.RedisCluster.API)
+ [レプリケーショングループの詳細の表示 (AWS CLI)](Replication.ViewDetails.CLI.md)
+ [レプリケーショングループの詳細の表示 (ElastiCache API)](Replication.ViewDetails.API.md)

# レプリカがある Valkey または Redis OSS (クラスターモード無効) の詳細を表示する
<a name="Replication.ViewDetails.Redis"></a>

レプリカ (API/CLI:レプリケーショングループ**) がある Valkey または Redis OSS (クラスターモード無効) クラスターの詳細を表示するには、ElastiCache コンソール、AWS CLI for ElastiCache、または ElastiCache API を使用します。

**Contents**
+ [ElastiCache コンソールの使用](#Replication.ViewDetails.Redis.CON)
+ [の使用AWS CLI](#Replication.ViewDetails.Redis.CLI)
+ [ElastiCache API の使用](#Replication.ViewDetails.Redis.API)

## Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループを表示する (コンソール)
<a name="Replication.ViewDetails.Redis.CON"></a>

ElastiCache コンソールを使用して、レプリカがある Valkey または Redis OSS (クラスターモードが無効) クラスターの詳細を表示するには、トピック「[Valkey または Redis OSS (クラスターモードが無効) の詳細の表示 (コンソール)](Clusters.ViewDetails.md#Clusters.ViewDetails.CON.Redis)」を参照してください。

## Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループを表示する (AWS CLI)
<a name="Replication.ViewDetails.Redis.CLI"></a>

Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループの詳細を表示する AWS CLI の例については、「[レプリケーショングループの詳細の表示 (AWS CLI)](Replication.ViewDetails.CLI.md)」を参照してください。

## Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループを表示する (ElastiCache API)
<a name="Replication.ViewDetails.Redis.API"></a>

Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループの詳細を表示する ElastiCache API の例については、「[レプリケーショングループの詳細の表示 (ElastiCache API)](Replication.ViewDetails.API.md)」を参照してください。

# レプリケーショングループの表示: Valkey または Redis OSS (クラスターモードが有効)
<a name="Replication.ViewDetails.RedisCluster"></a>

## Valkey または Redis OSS (クラスターモードが有効) クラスターの表示 (コンソール)
<a name="Replication.ViewDetails.RedisCluster.CON"></a>

ElastiCache コンソールを使用して Valkey または Redis OSS (クラスターモードが有効) クラスターの詳細を表示するには、「[Valkey または Redis OSS (クラスターモードが有効) クラスターの詳細の表示 (コンソール)](Clusters.ViewDetails.md#Clusters.ViewDetails.CON.RedisCluster)」を参照してください。

## Valkey または Redis OSS (クラスターモードが有効) クラスターの表示 (AWS CLI)
<a name="Replication.ViewDetails.RedisCluster.CLI"></a>

Valkey または Redis OSS (クラスターモードが有効) レプリケーショングループの詳細を表示する ElastiCache CLI の例については、「[レプリケーショングループの詳細の表示 (AWS CLI)](Replication.ViewDetails.CLI.md)」を参照してください。

## Valkey または Redis OSS (クラスターモードが有効) クラスターの表示 (ElastiCache API)
<a name="Replication.ViewDetails.RedisCluster.API"></a>

Valkey または Redis OSS (クラスターモードが有効) レプリケーショングループの詳細を表示する ElastiCache API の例については、「[レプリケーショングループの詳細の表示 (ElastiCache API)](Replication.ViewDetails.API.md)」を参照してください。

# レプリケーショングループの詳細の表示 (AWS CLI)
<a name="Replication.ViewDetails.CLI"></a>

AWS CLI `describe-replication-groups` コマンドを使用してレプリケーショングループの詳細を表示できます。一覧を絞り込むには、以下のオプションパラメータを使用します。パラメータを省略すると、最大 100 個のレプリケーショングループの詳細が返されます。

**オプションのパラメータ**
+ `--replication-group-id` – 特定のレプリケーショングループの詳細を表示するには、このパラメータを使用します。指定されたレプリケーショングループに複数のノードグループがある場合、結果はノードグループ別にグループ分けされて返されます。
+ `--max-items` – 表示されるレプリケーショングループの数を制限するには、このパラメータを使用します。`--max-items` の値は 20 未満、または 100 を超えることはできません。

**Example**  
次のコードは、最大 100 個のレプリケーショングループの詳細を表示します。  

```
aws elasticache describe-replication-groups
```
次のコードは `sample-repl-group` の詳細を一覧します。  

```
aws elasticache describe-replication-groups --replication-group-id sample-repl-group
```
次のコードは `sample-repl-group` の詳細を一覧します。  

```
aws elasticache describe-replication-groups --replication-group-id sample-repl-group
```
次のコードリストは、最大 25 個のレプリケーショングループを示します。  

```
aws elasticache describe-replication-groups --max-items 25
```
このオペレーションからの出力は以下のような JSON 形式になります。  

```
{
   "ReplicationGroups": [
     {
       "Status": "available", 
       "Description": "test", 
       "NodeGroups": [
         {
            "Status": "available", 
               "NodeGroupMembers": [
                  {
                     "CurrentRole": "primary", 
                     "PreferredAvailabilityZone": "us-west-2a", 
                     "CacheNodeId": "0001", 
                     "ReadEndpoint": {
                        "Port": 6379, 
                        "Address": "rg-name-001.1abc4d.0001.usw2.cache.amazonaws.com"
                     }, 
                     "CacheClusterId": "rg-name-001"
                  }, 
                  {
                     "CurrentRole": "replica", 
                     "PreferredAvailabilityZone": "us-west-2b", 
                     "CacheNodeId": "0001", 
                     "ReadEndpoint": {
                        "Port": 6379, 
                        "Address": "rg-name-002.1abc4d.0001.usw2.cache.amazonaws.com"
                     }, 
                     "CacheClusterId": "rg-name-002"
                  }, 
                  {
                     "CurrentRole": "replica", 
                     "PreferredAvailabilityZone": "us-west-2c", 
                     "CacheNodeId": "0001", 
                     "ReadEndpoint": {
                        "Port": 6379, 
                        "Address": "rg-name-003.1abc4d.0001.usw2.cache.amazonaws.com"
                     }, 
                     "CacheClusterId": "rg-name-003"
                  }
               ], 
               "NodeGroupId": "0001", 
               "PrimaryEndpoint": {
                  "Port": 6379, 
                  "Address": "rg-name.1abc4d.ng.0001.usw2.cache.amazonaws.com"
               }
            }
         ], 
         "ReplicationGroupId": "rg-name", 
         "AutomaticFailover": "enabled", 
         "SnapshottingClusterId": "rg-name-002", 
         "MemberClusters": [
            "rg-name-001", 
            "rg-name-002", 
            "rg-name-003"
         ], 
         "PendingModifiedValues": {}
      }, 
      {
      ... some output omitted for brevity
      }
   ]
}
```

詳細については、「AWS CLI for ElastiCache トピック [describe-replication-groups](https://docs.aws.amazon.com/cli/latest/reference/elasticache/describe-replication-groups.html)」を参照してください。

# レプリケーショングループの詳細の表示 (ElastiCache API)
<a name="Replication.ViewDetails.API"></a>

AWS CLI `DescribeReplicationGroups` オペレーションを使用してレプリケーションの詳細を表示できます。一覧を絞り込むには、以下のオプションパラメータを使用します。パラメータを省略すると、最大 100 個のレプリケーショングループの詳細が返されます。

**オプションのパラメータ**
+ `ReplicationGroupId` – 特定のレプリケーショングループの詳細を表示するには、このパラメータを使用します。指定されたレプリケーショングループに複数のノードグループがある場合、結果はノードグループ別にグループ分けされて返されます。
+ `MaxRecords` – 表示されるレプリケーショングループの数を制限するには、このパラメータを使用します。`MaxRecords` の値は 20 未満、または 100 を超えることはできません。デフォルトは 100 です。

**Example**  
次のコードリストは、最大 100 個のレプリケーショングループを示します。  

```
https://elasticache.us-west-2.amazonaws.com/
   ?Action=DescribeReplicationGroups
   &Version=2015-02-02
   &SignatureVersion=4
   &SignatureMethod=HmacSHA256
   &Timestamp=20150202T192317Z
   &X-Amz-Credential=<credential>
```
次のコードは `myReplGroup` の詳細を一覧します。  

```
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>
```
次のコードは最大で 25 のクラスターの詳細を一覧します。  

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

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

# レプリケーショングループのエンドポイントの検索
<a name="Replication.Endpoints"></a>

アプリケーションは、ノードの DNS エンドポイントとポート番号がある場合、レプリケーショングループ内の任意のノードに接続できます。Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループを実行しているか、Valkey または Redis OSS (クラスターモードが有効) レプリケーショングループを実行しているかに応じて、検討するエンドポイントは異なります。

**Valkey または Redis OSS (クラスターモードが無効)**  
レプリカがある Valkey または Redis OSS (クラスターモードが無効) クラスターには、*プライマリエンドポイント*、*リーダーエンドポイント*、*ノードエンドポイント*の 3 種類のエンドポイントがあります。プライマリエンドポイントは、常にクラスターのプライマリノードに解決される DNS 名です。プライマリエンドポイントは、リードレプリカのプライマリロールへの昇格など、クラスターに対する変更の影響を受けません。書き込みアクティビティの場合、アプリケーションをプライマリエンドポイントに接続することをお勧めします。

リーダーエンドポイントによって、ElastiCache クラスター内のすべてのリードレプリカ間でエンドポイントへの着信接続が均等に分割されます。アプリケーションがいつ接続を作成するか、アプリケーションが接続をどのように (再) 利用するかなどの追加要因によって、トラフィックの分散が決定されます。レプリカが追加または削除されても、読み込みエンドポイントはリアルタイムでクラスターの変更に対応します。ElastiCache for Redis OSS クラスターの複数のリードレプリカを異なる AWS アベイラビリティーゾーン (AZ) に配置して、リーダーエンドポイントの高可用性を確保することができます。

**注記**  
リーダーエンドポイントはロードバランサーではありません。これは、ラウンドロビン方式でレプリカノードの 1 つの IP アドレスに解決される DNS レコードです。

読み取りアクティビティの場合、アプリケーションはクラスター内のいずれのノードにも接続できます。プライマリエンドポイントとは異なり、ノードエンドポイントは特定のエンドポイントに解決されます。レプリカの追加または削除など、クラスターに変更を加えた場合は、アプリケーションでノードエンドポイントを更新する必要があります。

**Valkey または Redis OSS (クラスターモードが有効)**  
レプリカがある Valkey または Redis OSS (クラスターモードが有効) クラスターには、複数のシャード (API/CLI: ノードグループ) があり、これはプライマリノードが複数あることを意味するため、Valkey または Redis OSS (クラスターモードが無効) クラスターとはエンドポイント構造が異なります。Valkey または Redis OSS (クラスターモードが有効) には、クラスター内のすべてのプライマリエンドポイントとノードエンドポイントを「把握している」*設定エンドポイント*があります。アプリケーションは設定エンドポイントに接続します。アプリケーションからクラスターの設定エンドポイントに書き込みまたは読み取りを行うたびに、Valkey または Redis OSS は、キーが属するシャードと、そのシャードで使用するエンドポイントを背後で決定します。これはすべてアプリケーションに対して透過的です。

クラスターのエンドポイントを見つけるには、ElastiCache コンソール、AWS CLI、または ElastiCache API を使用します。

**レプリケーショングループのエンドポイントの検索**

レプリケーショングループのエンドポイントを確認するには、以下のトピックのいずれかを参照してください。
+ [Valkey または Redis OSS (クラスターモードが無効) クラスターのエンドポイントを検索する (コンソール)](Endpoints.md#Endpoints.Find.Redis)
+ [Valkey または Redis OSS (クラスターモードが有効) クラスターのエンドポイントを検索する (コンソール)](Endpoints.md#Endpoints.Find.RedisCluster)
+ [Valkey または Redis OSS レプリケーショングループのエンドポイントを検索する (AWS CLI）](Endpoints.md#Endpoints.Find.CLI.ReplGroups)
+ [Valkey または Redis OSS レプリケーショングループのエンドポイントを検索する (ElastiCache API）](Endpoints.md#Endpoints.Find.API.ReplGroups)

# レプリケーショングループの変更
<a name="Replication.Modify"></a>

**重要な制約**  
現在、ElastiCache では、API オペレーション `ModifyReplicationGroup` (CLI: `modify-replication-group`) を使用したエンジンバージョンの変更など、Valkey または Redis OSS (クラスターモードが有効) レプリケーショングループの限定的な変更をサポートしています。API オペレーション[https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyReplicationGroupShardConfiguration.html](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyReplicationGroupShardConfiguration.html) (CLI: [https://docs.aws.amazon.com/cli/latest/reference/elasticache/modify-replication-group-shard-configuration.html](https://docs.aws.amazon.com/cli/latest/reference/elasticache/modify-replication-group-shard-configuration.html)) を用いて、Valkey または Redis OSS (クラスターモードが有効) クラスター内のシャード (ノードグループ) の数を変更できます。詳細については、「[Valkey または Redis OSS (クラスターモードが有効) クラスターのスケーリング](scaling-redis-cluster-mode-enabled.md)」を参照してください。  
Valkey または Redis OSS (クラスターモードが有効) クラスターに他の変更を加える場合は、変更を組み込んだ新しいクラスターを作成する必要があります。
Valkey または Redis OSS (クラスターモードが無効) と Valkey または Redis OSS (クラスターモードが有効) のクラスターとレプリケーショングループを新しいエンジンバージョンにアップグレードできます。ただし、既存のクラスターまたはレプリケーショングループを削除して作成し直さない限り、以前のバージョンのエンジンにはダウングレードできません。詳細については、「[ElastiCache のバージョン管理](VersionManagement.md)」を参照してください。
以下の例に示すように、無効状態のクラスターモードを使用する Valkey または Redis OSS に対応した既存の ElastiCache クラスターを、コンソール、[ModifyReplicationGrou](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyReplicationGroup.html)p API、または [modify-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/modify-replication-group.html) CLI コマンドを使用して、有効状態のクラスターモードを使用するようにアップグレードできます。または、「[クラスターモードの変更](modify-cluster-mode.md)」の手順に従うこともできます。

Valkey または Redis OSS (クラスターモードが無効) クラスターの設定は AWS CLI、ElastiCache コンソール、、または ElastiCache API を使用して変更できます。現在、ElastiCache では、Valkey または Redis OSS (クラスターモードが有効) レプリケーショングループの制限された数の変更をサポートしていません。その他の変更では、現在のレプリケーショングループのバックアップを作成し、そのバックアップを使用して新しい Valkey または Redis OSS (クラスターモードが有効) レプリケーショングループをシードする必要があります。

**Topics**
+ [の使用 AWS マネジメントコンソール](#Replication.Modify.CON)
+ [の使用 AWS CLI](#Replication.Modify.CLI)
+ [ElastiCache API の使用](#Replication.Modify.API)

## の使用 AWS マネジメントコンソール
<a name="Replication.Modify.CON"></a>

Valkey または Redis OSS (クラスターモードが無効) クラスターを変更するには、「[ElastiCache クラスターの変更](Clusters.Modify.md)」を参照してください。

## の使用 AWS CLI
<a name="Replication.Modify.CLI"></a>

`modify-replication-group` コマンド AWS CLI の例を次に示します。レプリケーショングループのそのほかの変更も同じコマンドを使用できます。

**既存の Valkey または Redis OSS レプリケーショングループでマルチ AZ を有効にする:**

Linux、macOS、Unix の場合:

```
aws elasticache modify-replication-group \
   --replication-group-id myReplGroup \
   --multi-az-enabled = true
```

Windows の場合:

```
aws elasticache modify-replication-group ^
   --replication-group-id myReplGroup ^
   --multi-az-enabled
```

**クラスターモードを無効から有効に変更する:**

クラスターモードを *[無効]* から *[有効]* に変更するには、まずクラスターモードを *[互換]* に設定する必要があります。互換モードは、Valkey または Redis OSS クライアントがクラスターモードの有効化およびクラスターモードの無効化の両方を使用して接続できるようにします。すべての Valkey または Redis OSS クライアントをクラスターモード有効で使用するように移行した後、クラスターモードの設定を完了し、クラスターモードを *[有効]* に設定できます。

Linux、macOS、Unix の場合:

クラスターモードを *[互換]* に設定します。

```
aws elasticache modify-replication-group \
   --replication-group-id myReplGroup \
   --cache-parameter-group-name myParameterGroupName \
   --cluster-mode compatible
```

クラスターモードを *[有効]* に設定します。

```
aws elasticache modify-replication-group \
   --replication-group-id myReplGroup \
   --cluster-mode enabled
```

Windows の場合:

クラスターモードを *[互換]* に設定します。

```
aws elasticache modify-replication-group ^
   --replication-group-id myReplGroup ^
   --cache-parameter-group-name myParameterGroupName ^
   --cluster-mode compatible
```

クラスターモードを *[有効]* に設定します。

```
aws elasticache modify-replication-group ^
   --replication-group-id myReplGroup ^
   --cluster-mode enabled
```

コマンドの詳細については、 AWS CLI `modify-replication-group`*ElastiCache for Redis OSS ユーザーガイド*」の[modify-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/modify-replication-group.html)「」または[「クラスターモードの変更]()」を参照してください。

## ElastiCache API の使用
<a name="Replication.Modify.API"></a>

次の ElastiCache API オペレーションは、既存の Valkey または Redis OSS レプリケーショングループでマルチ AZ を有効にします。同じオペレーションを使用して、レプリケーショングループに対する他の変更を行うこともできます。

```
https://elasticache.us-west-2.amazonaws.com/
   ?Action=ModifyReplicationGroup
   &AutomaticFailoverEnabled=true  
   &Mutli-AZEnabled=true  
   &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>
```

ElastiCache API `ModifyReplicationGroup` オペレーションの詳細については、「[ModifyReplicationGroup](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyReplicationGroup.html)」を参照してください。

# レプリケーショングループの削除
<a name="Replication.DeletingRepGroup"></a>

レプリカを持つクラスター (API/CLI では*レプリケーショングループ*) のいずれかが不要になった場合は、それを削除できます。レプリケーショングループを削除すると、ElastiCache によってそのグループ内のすべてのノードが削除されます。

このオペレーションを開始した後は、中断またはキャンセルすることはできません。

**警告**  
ElastiCache for Redis OSS クラスターを削除しても、手動スナップショットは保持されます。クラスターが削除される前に最終スナップショットを作成するオプションもあります。自動キャッシュスナップショットは保持されません。
最終スナップショットを作成するには、`CreateSnapshot` アクセス許可が必要です。このアクセス許可がない場合、API コールは `Access Denied` 例外で失敗します。

## レプリケーショングループの削除 (コンソール)
<a name="Replication.DeletingRepGroup.CON"></a>

レプリカがあるクラスターを削除するには、「[ElastiCache でのクラスターの削除](Clusters.Delete.md)」を参照してください。

## レプリケーショングループの削除 (AWS CLI)
<a name="Replication.DeletingRepGroup.CLI"></a>

レプリケーショングループを削除するには、[delete-replication-group](https://docs.aws.amazon.com/AmazonElastiCache/latest/CommandLineReference/CLIReference-cmd-DeleteReplicationGroup.html) コマンドを使用します。

```
aws elasticache delete-replication-group --replication-group-id my-repgroup 
```

決定を確認するメッセージが表示されます。すぐにオペレーションを開始する場合は「*y*」 (Yes) と入力します。プロセスの開始後に元に戻すことはできません。

```
						
   After you begin deleting this replication group, all of its nodes will be deleted as well.
   Are you sure you want to delete this replication group? [Ny]y

REPLICATIONGROUP  my-repgroup  My replication group  deleting
```

## レプリケーショングループの削除（ElastiCache API）
<a name="Replication.DeletingRepGroup.API"></a>

[DeleteReplicationGroup](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DeleteReplicationGroup.html) パラメータを使って `ReplicationGroup` を呼び出します。

**Example**  

```
https://elasticache.us-west-2.amazonaws.com/
   ?Action=DeleteReplicationGroup
   &ReplicationGroupId=my-repgroup
   &Version=2014-12-01
   &SignatureVersion=4
   &SignatureMethod=HmacSHA256
   &Timestamp=20141201T220302Z
   &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>
```

**注記**  
`RetainPrimaryCluster` パラメータを `true` に設定した場合、リードレプリカはすべて削除されますが、プライマリクラスターは保持されます。

# レプリカの数の変更
<a name="increase-decrease-replica-count"></a>

AWS マネジメントコンソール、AWS CLI、または ElastiCache API を使用して、Valkey または Redis OSS レプリケーショングループのリードレプリカの数を動的に増減することができます。レプリケーショングループが Valkey または Redis OSS (クラスターモードが有効) レプリケーショングループの場合、どのシャード (ノードグループ) のレプリカの数を増減するかを選択できます。

レプリケーショングループのレプリカの数を動的に変更するには、以下のテーブルから状況に適したオペレーションを選択します。


| 目的 | Valkey または Redis OSS (クラスターモードが有効) の場合 | Valkey または Redis OSS (クラスターモードが無効) の場合 | 
| --- | --- | --- | 
|  レプリカの追加  |  [シャードのレプリカの数を増やす](increase-replica-count.md)  |  [シャードのレプリカの数を増やす](increase-replica-count.md) [Valkey または Redis OSS (クラスターモードが無効) のリードレプリカを追加する](Replication.AddReadReplica.md)  | 
|  レプリカの削除  |  [シャードのレプリカの数を減らす](decrease-replica-count.md)  |  [シャードのレプリカの数を減らす](decrease-replica-count.md) [Valkey または Redis OSS (クラスターモードが無効) のリードレプリカを削除する](Replication.RemoveReadReplica.md)  | 

# シャードのレプリカの数を増やす
<a name="increase-replica-count"></a>

Valkey または Redis OSS (クラスターモードが有効) シャード、または Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループのレプリカ数を最大 5 個まで増やすことができます。これを行うには、AWS マネジメントコンソール、AWS CLI、または ElastiCache API を使用します。

**Topics**
+ [の使用AWS マネジメントコンソール](#increase-replica-count-con)
+ [の使用AWS CLI](#increase-replica-count-cli)
+ [ElastiCache API の使用](#increase-replica-count-api)

## の使用AWS マネジメントコンソール
<a name="increase-replica-count-con"></a>

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

**シャードのレプリカの数を増やすには**

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

1. ナビゲーションペインで、**[Valkey]** または **[Redis OSS]** を選択し、レプリカを追加するレプリケーショングループの名前を選択します。

1. レプリカを追加する各シャードのチェックボックスをオンにします

1. [**Add replicas (レプリカの追加)**] を選択します。

1. [**Add Replicas to Shards (シャードにレプリカを追加)**] ページを完了します。
   + [**New number of replicas/shard (シャード当たりの新しいレプリカ数)**] に、選択したすべてのシャードが持つようになるレプリカの数を入力します。この値は、[**Current Number of Replicas per shard (現在のシャード当たりのレプリカ数)**] 以上で、5 以下である必要があります。最小の実行として、レプリカを少なくとも 2 つにすることをお勧めします。
   + [**アベイラビリティーゾーン**] では、[**指定なし**] を選択して新しいレプリカごとにアベイラビリティーゾーンを ElastiCache が選択するようにするか、**アベイラビリティーゾーンの指定**] を選択して、新しいレプリカごとにアベイラビリティーゾーンを選択します。

     [**Specify Availability Zones (アベイラビリティーゾーンを指定する)**] を選択した場合、リストを使用して新しい各レプリカのアベイラビリティーゾーンを指定します。

1. [**Add (追加)**] を選択してレプリカを追加するか、[**Cancel (キャンセル)**] を選択してオペレーションをキャンセルします。

## の使用AWS CLI
<a name="increase-replica-count-cli"></a>

Valkey または Redis OSS シャードでレプリカの数を増やすには、以下のパラメータを設定して `increase-replica-count` コマンドを使用します。
+ `--replication-group-id` – 必須。レプリカの数を増やすレプリケーショングループを指定します。
+ `--apply-immediately` または `--no-apply-immediately` – 必須。レプリカの数をすぐに増やすか (`--apply-immediately`)、次のメンテナンスウィンドウで増やすか (`--no-apply-immediately`) を指定します。現在、`--no-apply-immediately` はサポートされていません。
+ `--new-replica-count` - オプション。完了時のレプリカノードの数を、最大 5 個で指定します。1 つだけのノードグループまたは Valkey または Redis OSS (クラスターモードが有効) グループを持つ Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループの場合、またはすべてのノードグループでレプリカの数を同じにしたい場合、このパラメータを使用します。この値がノードグループの現在のレプリカの数より大きくない場合、呼び出しは失敗し、例外が発生します。
+ `--replica-configuration` - オプション。各ノードグループのレプリカの数およびアベイラビリティーゾーンを個別に設定できます。各ノードグループを個別に設定する Valkey または Redis OSS (クラスターモードが有効) グループで、このパラメータを使用します。

  `--replica-configuration` には 3 つのオプションのメンバーがあります。
  + `NodeGroupId` – 設定するノードグループの 4 桁の ID。Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループでは、シャード ID は常に `0001` です。Valkey または Redis OSS (クラスターモードが有効) ノードグループの (シャードの) ID を見つけるには、「[シャードの ID を見つける](Shards.md#shard-find-id)」を参照してください。
  + `NewReplicaCount` – このノードグループの、このオペレーションの最後のレプリカの数。この値は、最大 5 で、現在のレプリカの数より大きくなければなりません。この値がノードグループの現在のレプリカの数より大きくない場合、呼び出しは失敗し、例外が発生します。
  + `PreferredAvailabilityZones` – レプリケーショングループのノードが存在するアベイラビリティーゾーンを指定する `PreferredAvailabilityZone` 文字列のリスト。`PreferredAvailabilityZone` 値の数は、プライマリノードに対応する `NewReplicaCount` に 1 を足した数と等しい必要があります。`--replica-configuration` のこのメンバーを省略すると、ElastiCache for Redis OSS は新しいレプリカごとにアベイラビリティーゾーンを選択します。

**重要**  
呼び出しに、`--new-replica-count` または `--replica-configuration` パラメータのいずれかを含める必要がありますが、両方を含めることはできません。

**Example**  
次の例では、`sample-repl-group` レプリケーショングループでレプリカの数を 3 個に増やします。この例が終了すると、各ノードグループのレプリカは 3 個になります。この数は、単一のノードグループがある Valkey または Redis OSS (クラスターモードが無効) グループ、または、複数のノードグループがある Valkey または Redis OSS (クラスターモードが有効) グループのどちらにも適用されます。  
Linux、macOS、Unix の場合:  

```
aws elasticache increase-replica-count \
    --replication-group-id sample-repl-group \
    --new-replica-count 3 \
    --apply-immediately
```
Windows の場合:  

```
aws elasticache increase-replica-count ^
    --replication-group-id sample-repl-group ^
    --new-replica-count 3 ^
    --apply-immediately
```
次の例では、`sample-repl-group` レプリケーショングループで、レプリカの数を、2 つの指定されたノードグループの指定値に増やします。複数のノードグループがある場合、これは Valkey または Redis OSS (クラスターモードが有効) レプリケーショングループです。オプションの `PreferredAvailabilityZones` を指定する場合、リストされているアベイラビリティーゾーンの数は、`NewReplicaCount` に 1 以上を足した値と等しい必要があります。このアプローチは、`NodeGroupId` で指定されるグループのプライマリノードに対応します。  
Linux、macOS、Unix の場合:  

```
aws elasticache increase-replica-count \
    --replication-group-id sample-repl-group \
    --replica-configuration \
        NodeGroupId=0001,NewReplicaCount=2,PreferredAvailabilityZones=us-east-1a,us-east-1c,us-east-1b \
        NodeGroupId=0003,NewReplicaCount=3,PreferredAvailabilityZones=us-east-1a,us-east-1b,us-east-1c,us-east-1c \
    --apply-immediately
```
Windows の場合:  

```
aws elasticache increase-replica-count ^
    --replication-group-id sample-repl-group ^
    --replica-configuration ^
        NodeGroupId=0001,NewReplicaCount=2,PreferredAvailabilityZones=us-east-1a,us-east-1c,us-east-1b ^
        NodeGroupId=0003,NewReplicaCount=3,PreferredAvailabilityZones=us-east-1a,us-east-1b,us-east-1c,us-east-1c \
    --apply-immediately
```

CLI を使用したレプリカの数を増やす詳細については、*Amazon ElastiCache コマンドラインリファレンス*の「[increase-replica-count](https://docs.aws.amazon.com/cli/latest/reference/elasticache/increase-replica-count.html)」を参照してください。

## ElastiCache API の使用
<a name="increase-replica-count-api"></a>

Valkey または Redis OSS シャードでレプリカの数を増やすには、以下のパラメータを設定して `IncreaseReplicaCount` アクションを使用します。
+ `ReplicationGroupId` – 必須。レプリカの数を増やすレプリケーショングループを指定します。
+ `ApplyImmediately` – 必須。レプリカの数をすぐに増やすか (`ApplyImmediately=True`)、次のメンテナンスウィンドウで増やすか (`ApplyImmediately=False`) を指定します。現在、`ApplyImmediately=False` はサポートされていません。
+ `NewReplicaCount` - オプション。完了時のレプリカノードの数を、最大 5 個で指定します。ノードグループが 1 つだけある Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループの場合、または Valkey または Redis OSS (クラスターモードが有効) グループですべてのノードグループのレプリカの数を同じにしたい場合、このパラメータを使用します。この値がノードグループの現在のレプリカの数より大きくない場合、呼び出しは失敗し、例外が発生します。
+ `ReplicaConfiguration` - オプション。各ノードグループのレプリカの数およびアベイラビリティーゾーンを個別に設定できます。各ノードグループを個別に設定する Valkey または Redis OSS (クラスターモードが有効) グループで、このパラメータを使用します。

  `ReplicaConfiguraion` には 3 つのオプションのメンバーがあります。
  + `NodeGroupId` – 設定するノードグループの 4 桁の ID。Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループでは、ノードグループ (シャード) ID は常に `0001` です。Valkey または Redis OSS (クラスターモードが有効) ノードグループの (シャードの) ID を見つけるには、「[シャードの ID を見つける](Shards.md#shard-find-id)」を参照してください。
  + `NewReplicaCount` – このノードグループの、このオペレーションの最後のレプリカの数。この値は、最大 5 で、現在のレプリカの数より大きくなければなりません。この値がノードグループの現在のレプリカの数より大きくない場合、呼び出しは失敗し、例外が発生します。
  + `PreferredAvailabilityZones` – レプリケーショングループのノードが存在するアベイラビリティーゾーンを指定する `PreferredAvailabilityZone` 文字列のリスト。`PreferredAvailabilityZone` 値の数は、プライマリノードに対応する `NewReplicaCount` に 1 を足した数と等しい必要があります。`ReplicaConfiguration` のこのメンバーを省略すると、ElastiCache for Redis OSS は新しいレプリカごとにアベイラビリティーゾーンを選択します。

**重要**  
呼び出しに、`NewReplicaCount` または `ReplicaConfiguration` パラメータのいずれかを含める必要がありますが、両方を含めることはできません。

**Example**  
次の例では、`sample-repl-group` レプリケーショングループでレプリカの数を 3 個に増やします。この例が終了すると、各ノードグループのレプリカは 3 個になります。この数は、単一のノードグループがある Valkey または Redis OSS (クラスターモードが無効) グループ、または、複数のノードグループがある Valkey または Redis OSS (クラスターモードが有効) グループのどちらにも適用されます。  

```
https://elasticache.us-west-2.amazonaws.com/
      ?Action=IncreaseReplicaCount
      &ApplyImmediately=True
      &NewReplicaCount=3
      &ReplicationGroupId=sample-repl-group
      &Version=2015-02-02
      &SignatureVersion=4
      &SignatureMethod=HmacSHA256
      &Timestamp=20150202T192317Z
      &X-Amz-Credential=<credential>
```
次の例では、`sample-repl-group` レプリケーショングループで、レプリカの数を、2 つの指定されたノードグループの指定値に増やします。複数のノードグループがある場合、これは Valkey または Redis OSS (クラスターモードが有効) レプリケーショングループです。オプションの `PreferredAvailabilityZones` を指定する場合、リストされているアベイラビリティーゾーンの数は、`NewReplicaCount` に 1 以上を足した値と等しい必要があります。このアプローチは、`NodeGroupId` で指定されるグループのプライマリノードに対応します。  

```
https://elasticache.us-west-2.amazonaws.com/
      ?Action=IncreaseReplicaCount
      &ApplyImmediately=True
      &ReplicaConfiguration.ConfigureShard.1.NodeGroupId=0001
      &ReplicaConfiguration.ConfigureShard.1.NewReplicaCount=2
      &ReplicaConfiguration.ConfigureShard.1.PreferredAvailabilityZones.PreferredAvailabilityZone.1=us-east-1a
      &ReplicaConfiguration.ConfigureShard.1.PreferredAvailabilityZones.PreferredAvailabilityZone.2=us-east-1c
      &ReplicaConfiguration.ConfigureShard.1.PreferredAvailabilityZones.PreferredAvailabilityZone.3=us-east-1b
      &ReplicaConfiguration.ConfigureShard.2.NodeGroupId=0003
      &ReplicaConfiguration.ConfigureShard.2.NewReplicaCount=3
      &ReplicaConfiguration.ConfigureShard.2.PreferredAvailabilityZones.PreferredAvailabilityZone.1=us-east-1a
      &ReplicaConfiguration.ConfigureShard.2.PreferredAvailabilityZones.PreferredAvailabilityZone.2=us-east-1b
      &ReplicaConfiguration.ConfigureShard.2.PreferredAvailabilityZones.PreferredAvailabilityZone.3=us-east-1c
      &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 リファレンス*の「[IncreaseReplicaCount](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_IncreaseReplicaCount.html)」を参照してください。

# シャードのレプリカの数を減らす
<a name="decrease-replica-count"></a>

Valkey または Redis OSS (クラスターモードが有効) のシャード、または Valkey または Redis OSS (クラスターモードが無効) のレプリケーショングループのレプリカ数を減らすことができます。
+ Valkey または Redis OSS (クラスターモードが無効) のレプリカ数は、マルチ AZ が有効な場合は 1 まで減らし、マルチ AZ が有効でない場合はゼロまで減らすことができます。
+ Valkey または Redis OSS (クラスターモードが有効) のレプリカ数はゼロまで減らすことができます。ただし、プライマリノードが失敗した場合はレプリカにフェイルオーバーできません。

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

**Topics**
+ [の使用AWS マネジメントコンソール](#decrease-replica-count-con)
+ [の使用AWS CLI](#decrease-replica-count-cli)
+ [ElastiCache API の使用](#decrease-replica-count-api)

## の使用AWS マネジメントコンソール
<a name="decrease-replica-count-con"></a>

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

**Valkey または Redis OSS シャードのレプリカの数を減らすには**

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

1. ナビゲーションペインで、**[Valkey]** または **[Redis OSS]** を選択し、レプリカを削除するレプリケーショングループの名前を選択します。

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

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

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

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

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

**重要**  
削除するレプリカノードを指定しない場合、ElastiCache for Redis OSS が削除するレプリカノードを自動的に選択します。これを行う際、ElastiCache for Redis OSS は、レプリケーショングループのマルチ AZ アーキテクチャを維持し、プライマリとの最小レプリケーション遅延を持つレプリカを保持しようと試みます。
プライマリまたはレプリケーショングループ内のプライマリノードを削除することはできません。プライマリノードを削除するように指定すると、オペレーションは失敗し、プライマリノードが削除のために選択されたことを示すエラーイベントが示されます。

## の使用AWS CLI
<a name="decrease-replica-count-cli"></a>

Valkey または Redis OSS シャードでレプリカの数を減らすには、以下のパラメータを設定して `decrease-replica-count` コマンドを使用します。
+ `--replication-group-id` – 必須。レプリカの数を減らすレプリケーショングループを指定します。
+ `--apply-immediately` または `--no-apply-immediately` – 必須。レプリカの数をすぐに減らすか (`--apply-immediately`)、次のメンテナンスウィンドウで減らすか (`--no-apply-immediately`) を指定します。現在、`--no-apply-immediately` はサポートされていません。
+ `--new-replica-count` - オプション。レプリカノードの数を指定します。`--new-replica-count` の値は、ノードグループの現在のレプリカの数よりも小さい有効な値である必要があります。最小許容値については、「[シャードのレプリカの数を減らす](#decrease-replica-count)」を参照してください。`--new-replica-count` の値がこの要件を満たさない場合、呼び出しは失敗します。
+ `--replicas-to-remove` - オプション。削除するレプリカノードを指定するノード ID のリストが含まれます。
+ `--replica-configuration` - オプション。各ノードグループのレプリカの数およびアベイラビリティーゾーンを個別に設定できます。各ノードグループを個別に設定する Valkey または Redis OSS (クラスターモードが有効) グループで、このパラメータを使用します。

  `--replica-configuration` には 3 つのオプションのメンバーがあります。
  + `NodeGroupId` – 設定するノードグループの 4 桁の ID。Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループでは、シャード ID は常に `0001` です。Valkey または Redis OSS (クラスターモードが有効) ノードグループの (シャードの) ID を見つけるには、「[シャードの ID を見つける](Shards.md#shard-find-id)」を参照してください。
  + `NewReplicaCount` – レプリカノードの数を指定するオプションのパラメータ。`NewReplicaCount` の値は、ノードグループの現在のレプリカの数よりも小さい有効な値である必要があります。最小許容値については、「[シャードのレプリカの数を減らす](#decrease-replica-count)」を参照してください。`NewReplicaCount` の値がこの要件を満たさない場合、呼び出しは失敗します。
  + `PreferredAvailabilityZones` – レプリケーショングループのノードが存在するアベイラビリティーゾーンを指定する `PreferredAvailabilityZone` 文字列のリスト。`PreferredAvailabilityZone` 値の数は、プライマリノードに対応する `NewReplicaCount` に 1 を足した数と等しい必要があります。`--replica-configuration` のこのメンバーを省略すると、ElastiCache for Redis OSS は新しいレプリカごとにアベイラビリティーゾーンを選択します。

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

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

```
aws elasticache decrease-replica-count
    --replication-group-id sample-repl-group \
    --new-replica-count 1 \
    --apply-immediately
```
Windows の場合:  

```
aws elasticache decrease-replica-count ^
    --replication-group-id sample-repl-group ^
    --new-replica-count 1 ^
    --apply-immediately
```
次の例では、ノードグループから 2 つの指定されたレプリカ (`sample-repl-group` と `0001`) を削除して、`0003` レプリケーショングループのレプリカの数を減らします。  
Linux、macOS、Unix の場合:  

```
aws elasticache decrease-replica-count \
    --replication-group-id sample-repl-group \
    --replicas-to-remove 0001,0003 \
    --apply-immediately
```
Windows の場合:  

```
aws elasticache decrease-replica-count ^
    --replication-group-id sample-repl-group ^
    --replicas-to-remove 0001,0003 \
    --apply-immediately
```
次の例では、`--replica-configuration` を使用して、`sample-repl-group` レプリケーショングループで、レプリカの数を、2 つの指定されたノードグループの指定値に減らします。複数のノードグループがある場合、これは Valkey または Redis OSS (クラスターモードが有効) レプリケーショングループです。オプションの `PreferredAvailabilityZones` を指定する場合、リストされているアベイラビリティーゾーンの数は、`NewReplicaCount` に 1 以上を足した値と等しい必要があります。このアプローチは、`NodeGroupId` で指定されるグループのプライマリノードに対応します。  
Linux、macOS、Unix の場合:  

```
aws elasticache decrease-replica-count \
    --replication-group-id sample-repl-group \
    --replica-configuration \
        NodeGroupId=0001,NewReplicaCount=1,PreferredAvailabilityZones=us-east-1a,us-east-1c \
        NodeGroupId=0003,NewReplicaCount=2,PreferredAvailabilityZones=us-east-1a,us-east-1b,us-east-1c \
    --apply-immediately
```
Windows の場合:  

```
aws elasticache decrease-replica-count ^
    --replication-group-id sample-repl-group ^
    --replica-configuration ^
        NodeGroupId=0001,NewReplicaCount=2,PreferredAvailabilityZones=us-east-1a,us-east-1c ^
        NodeGroupId=0003,NewReplicaCount=3,PreferredAvailabilityZones=us-east-1a,us-east-1b,us-east-1c \
    --apply-immediately
```

CLI を使用したレプリカの数を減らす詳細については、*Amazon ElastiCache コマンドラインリファレンス*の「[decrease-replica-count](https://docs.aws.amazon.com/cli/latest/reference/elasticache/decrease-replica-count.html)」を参照してください。

## ElastiCache API の使用
<a name="decrease-replica-count-api"></a>

Valkey または Redis OSS シャードでレプリカの数を減らすには、以下のパラメータを設定して `DecreaseReplicaCount` アクションを使用します。
+ `ReplicationGroupId` – 必須。レプリカの数を減らすレプリケーショングループを指定します。
+ `ApplyImmediately` – 必須。レプリカの数をすぐに減らすか (`ApplyImmediately=True`)、次のメンテナンスウィンドウで減らすか (`ApplyImmediately=False`) を指定します。現在、`ApplyImmediately=False` はサポートされていません。
+ `NewReplicaCount` - オプション。レプリカノードの数を指定します。`NewReplicaCount` の値は、ノードグループの現在のレプリカの数よりも小さい有効な値である必要があります。最小許容値については、「[シャードのレプリカの数を減らす](#decrease-replica-count)」を参照してください。`--new-replica-count` の値がこの要件を満たさない場合、呼び出しは失敗します。
+ `ReplicasToRemove` - オプション。削除するレプリカノードを指定するノード ID のリストが含まれます。
+ `ReplicaConfiguration` - オプション。各ノードグループのレプリカの数およびアベイラビリティーゾーンを個別に設定するノードグループのリストが含まれます。各ノードグループを個別に設定する Valkey または Redis OSS (クラスターモードが有効) グループで、このパラメータを使用します。

  `ReplicaConfiguraion` には 3 つのオプションのメンバーがあります。
  + `NodeGroupId` – 設定するノードグループの 4 桁の ID。Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループでは、ノードグループ ID は常に `0001` です。Valkey または Redis OSS (クラスターモードが有効) ノードグループの (シャードの) ID を見つけるには、「[シャードの ID を見つける](Shards.md#shard-find-id)」を参照してください。
  + `NewReplicaCount` – このノードグループの、このオペレーションの最後のレプリカの数。この値は、現在のレプリカの数よりも小さくし、マルチ AZ が有効な場合は最小 1、自動フェイルオーバーを備えたマルチ AZ が有効でない場合は最小 0 にする必要があります。この値がノードグループの現在のレプリカの数より小さくない場合、呼び出しは失敗し、例外が発生します。
  + `PreferredAvailabilityZones` – レプリケーショングループのノードが存在するアベイラビリティーゾーンを指定する `PreferredAvailabilityZone` 文字列のリスト。`PreferredAvailabilityZone` 値の数は、プライマリノードに対応する `NewReplicaCount` に 1 を足した数と等しい必要があります。`ReplicaConfiguration` のこのメンバーを省略すると、ElastiCache for Redis OSS は新しいレプリカごとにアベイラビリティーゾーンを選択します。

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

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

```
https://elasticache.us-west-2.amazonaws.com/
      ?Action=DecreaseReplicaCount
      &ApplyImmediately=True
      &NewReplicaCount=1
      &ReplicationGroupId=sample-repl-group
      &Version=2015-02-02
      &SignatureVersion=4
      &SignatureMethod=HmacSHA256
      &Timestamp=20150202T192317Z
      &X-Amz-Credential=<credential>
```
次の例では、ノードグループから 2 つの指定されたレプリカ (`sample-repl-group` と `0001`) を削除して、`0003` レプリケーショングループのレプリカの数を減らします。  

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

```
https://elasticache.us-west-2.amazonaws.com/
      ?Action=DecreaseReplicaCount
      &ApplyImmediately=True
      &ReplicaConfiguration.ConfigureShard.1.NodeGroupId=0001
      &ReplicaConfiguration.ConfigureShard.1.NewReplicaCount=1
      &ReplicaConfiguration.ConfigureShard.1.PreferredAvailabilityZones.PreferredAvailabilityZone.1=us-east-1a
      &ReplicaConfiguration.ConfigureShard.1.PreferredAvailabilityZones.PreferredAvailabilityZone.2=us-east-1c
      &ReplicaConfiguration.ConfigureShard.2.NodeGroupId=0003
      &ReplicaConfiguration.ConfigureShard.2.NewReplicaCount=2
      &ReplicaConfiguration.ConfigureShard.2.PreferredAvailabilityZones.PreferredAvailabilityZone.1=us-east-1a
      &ReplicaConfiguration.ConfigureShard.2.PreferredAvailabilityZones.PreferredAvailabilityZone.2=us-east-1b
      &ReplicaConfiguration.ConfigureShard.2.PreferredAvailabilityZones.PreferredAvailabilityZone.4=us-east-1c
      &ReplicationGroupId=sample-repl-group
      &Version=2015-02-02
      &SignatureVersion=4
      &SignatureMethod=HmacSHA256
      &Timestamp=20150202T192317Z
      &X-Amz-Credential=<credential>
```

API を使用したレプリカの数を減らす詳細については、*Amazon ElastiCache API リファレンス*の「[DecreaseReplicaCount](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DecreaseReplicaCount.html)」を参照してください。

# Valkey または Redis OSS (クラスターモードが無効) のリードレプリカを追加する
<a name="Replication.AddReadReplica"></a>

以下のトピックの情報は、Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループにのみ適用されます。

読み取りトラフィックが増えるにつれて、これらの読み取りをより多くのノードに分散させて、1 つのノードの読み取りの負荷を減らすことを考えます。このトピックでは、Valkey または Redis OSS (クラスターモードが無効) クラスターにリードレプリカを追加する方法について説明します。

Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループは、最大 5 つのリードレプリカを持つことができます。すでに 5 個のリードレプリカを持つレプリケーショングループに別のリードレプリカを追加しようとすると、オペレーションが失敗します。

Valkey または Redis OSS (クラスターモードが有効) レプリケーショングループへのレプリカの追加については、以下を参照してください。
+ [Valkey または Redis OSS (クラスターモードが有効) クラスターのスケーリング](scaling-redis-cluster-mode-enabled.md)
+ [シャードのレプリカの数を増やす](increase-replica-count.md)

Valkey または Redis OSS (クラスターモードが無効) クラスターにリードレプリカを追加するには、ElastiCache コンソール、AWS CLI、または ElastiCache API を使用します。

**関連トピック**
+ [ノードを ElastiCache クラスターに追加する](Clusters.AddNode.md)
+ [レプリケーショングループへのリードレプリカの追加 (AWS CLI)](#Replication.AddReadReplica.CLI)
+ [API を使用したレプリケーショングループへのリードレプリカの追加](#Replication.AddReadReplica.API)

## レプリケーショングループへのリードレプリカの追加 (AWS CLI)
<a name="Replication.AddReadReplica.CLI"></a>

Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループにリードレプリカを追加するには、AWS CLI `create-cache-cluster` コマンドを使用します。パラメータとして `--replication-group-id` を使用し、クラスター (ノード) を追加するレプリケーショングループを指定します。

次の例では、クラスター `my-read replica` を作成して、レプリケーショングループ `my-replication-group` に追加します。リードレプリカのノードタイプ、パラメータグループ、セキュリティグループ、メンテナンスの時間などの設定は、`my-replication-group` の他のノードの設定と同じです。

Linux、macOS、Unix の場合:

```
aws elasticache create-cache-cluster \
      --cache-cluster-id my-read-replica \
      --replication-group-id my-replication-group
```

Windows の場合:

```
aws elasticache create-cache-cluster ^
      --cache-cluster-id my-read-replica ^
      --replication-group-id my-replication-group
```

CLI を使用したリードレプリカの追加の詳細については、*Amazon ElastiCache コマンドラインリファレンス*の「[create-cache-cluster](https://docs.aws.amazon.com/cli/latest/reference/elasticache/create-cache-cluster.html)」を参照してください。

## API を使用したレプリケーショングループへのリードレプリカの追加
<a name="Replication.AddReadReplica.API"></a>

Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループにリードレプリカを追加するには、ElastiCache `CreateCacheCluster` オペレーションを使用します。パラメータとして `ReplicationGroupId` を使用し、クラスター (ノード) を追加するレプリケーショングループを指定します。

次の例では、クラスター `myReadReplica` を作成して、レプリケーショングループ `myReplicationGroup` に追加します。リードレプリカのノードタイプ、パラメータグループ、セキュリティグループ、メンテナンスの時間などの設定は、`myReplicationGroup` の他のノードの設定と同じです。

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

API を使用したリードレプリカの追加の詳細については、*Amazon ElastiCache API リファレンス*の「[CreateCacheCluster](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateCacheCluster.html)」を参照してください。

# Valkey または Redis OSS (クラスターモードが無効) のリードレプリカを削除する
<a name="Replication.RemoveReadReplica"></a>

以下のトピックの情報は、Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループにのみ適用されます。

Valkey または Redis OSS レプリケーショングループの読み取りトラフィックの変化に応じて、リードレプリカを追加/削除できます。 レプリケーショングループからノードを削除することには制限がありますが、単なるクラスターの削除と同じです。
+ レプリケーショングループからプライマリを削除することはできません。プライマリを削除する場合は、以下を実行します。

  1. リードレプリカをプライマリに昇格させます。リードレプリカをプライマリに昇格させる詳細については、「[Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループのリードレプリカをプライマリに昇格させる](Replication.PromoteReplica.md)」を参照してください。

  1. 古いプライマリを削除します。この方法の制限については、次のポイントを参照してください。
+ レプリケーショングループでマルチ AZ が有効になっている場合は、そのレプリケーショングループから最後のリードレプリカを削除することはできません。この場合は次の操作を行います。

  1. マルチ AZ を無効にしてレプリケーショングループを変更します。詳細については、「[レプリケーショングループの変更](Replication.Modify.md)」を参照してください。

  1. リードレプリカを削除します。

Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループからリードレプリカを削除するには、ElastiCache コンソール、AWS CLI for ElastiCache、または ElastiCache API を使用します。

Valkey または Redis OSS レプリケーショングループからクラスターを削除する方法については、以下を参照してください。
+ [の使用AWS マネジメントコンソール](Clusters.Delete.md#Clusters.Delete.CON)
+ [を使用して ElastiCache クラスターAWS CLIを削除する](Clusters.Delete.md#Clusters.Delete.CLI)
+ [ElastiCache API の使用](Clusters.Delete.md#Clusters.Delete.API)
+ [Valkey または Redis OSS (クラスターモードが有効) クラスターのスケーリング](scaling-redis-cluster-mode-enabled.md)
+ [シャードのレプリカの数を減らす](decrease-replica-count.md)

# Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループのリードレプリカをプライマリに昇格させる
<a name="Replication.PromoteReplica"></a>

以下のトピックの情報は、Valkey または Redis OSS (クラスターモードが無効) レプリケーショングループにのみ適用されます。

Valkey または Redis OSS (クラスターモードが無効) リードレプリカをプライマリに昇格させるには、AWS マネジメントコンソール、AWS CLI、または ElastiCache API を使用します。 レプリケーショングループでマルチ AZ と自動フェイルオーバーを有効にしている場合は、リードレプリカをプライマリに昇格させることはできません。マルチ AZ が有効なレプリケーショングループのプライマリに Valkey または Redis OSS (クラスターモードが無効) レプリカを昇格させる場合は、以下が必要です。

1. レプリケーショングループを変更してマルチ AZ を無効にします (これを行うためにすべてのクラスターが同じアベイラビリティーゾーンに存在する必要はありません)。詳細については、「[レプリケーショングループの変更](Replication.Modify.md)」を参照してください。

1. リードレプリカをプライマリに昇格させます。

1. マルチ AZ を再び有効にするためにレプリケーショングループを変更します。

マルチ AZ は、Redis OSS 2.6.13 以前を実行しているレプリケーショングループでは使用できません。

## の使用AWS マネジメントコンソール
<a name="Replication.PromoteReplica.CON"></a>

次の手順では、コンソールを使用してレプリカノードをプライマリに昇格させます。

**リードレプリカをプライマリに昇格させるには (コンソール)**

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

1. 昇格させるレプリカが、マルチ AZ が有効な Valkey または Redis OSS (クラスターモード無効) レプリケーショングループのメンバーである場合は、先に進む前に、レプリケーショングループを変更してマルチ AZ を無効にします。詳細については、「[レプリケーショングループの変更](Replication.Modify.md)」を参照してください。

1. **[Valkey]** または **[Redis OSS]** を選択して、クラスターのリストから、変更するレプリケーショングループを選択します。このレプリケーショングループは、「Clustered Redis」エンジンではなく、「Redis」エンジンを実行していること、また 2 つ以上のノードを持っていることが必要です。

1. ノードのリストからプライマリに昇格させるレプリカノードを選択して、[**Actions (アクション)**] で、[**Promote (昇格)**] を選択します。

1. [**Promote Read Replica (リードレプリカの昇格)**] ダイアログボックスで、次の操作を行います。

   1. [**Apply Immediately (すぐに適用)**] で、リードレプリカをすぐに昇格させる場合は [**Yes (はい)**] を選択し、クラスターの次回のメンテナンス期間に昇格させる場合は [**No (いいえ)**] を選択します。

   1. リードレプリカを昇格させる場合は [**Promote**] を選択し、オペレーションをキャンセルする場合は [**No**] を選択します。

1. 昇格プロセスを開始する前にクラスターでマルチ AZ を有効にしている場合は、レプリケーショングループのステータスが [**available (利用可能)**] になるまで待機して、マルチ AZ を再度有効に変更します。詳細については、「[レプリケーショングループの変更](Replication.Modify.md)」を参照してください。

## AWS CLI の使用
<a name="Replication.PromoteReplica.CLI"></a>

現在、レプリケーショングループでマルチ AZ を有効にしている場合はリードレプリカをプライマリに昇格させることはできません。場合によっては、昇格させるレプリカが、マルチ AZ が有効なレプリケーショングループのメンバーとなっていることがあります。この場合、続行する前に、レプリケーショングループを変更して、マルチ AZ を無効にする必要があります。これを行うためにすべてのクラスターが同じアベイラビリティーゾーンに存在する必要はありません。レプリケーショングループの変更の詳細については、「[レプリケーショングループの変更](Replication.Modify.md)」を参照してください。

次の AWS CLI コマンドは、レプリケーショングループ `sample-repl-group` を変更して、リードレプリカ `my-replica-1` をレプリケーショングループのプライマリにします。

Linux、macOS、Unix の場合:

```
aws elasticache modify-replication-group \
   --replication-group-id sample-repl-group \
   --primary-cluster-id my-replica-1
```

Windows の場合:

```
aws elasticache modify-replication-group ^
   --replication-group-id sample-repl-group ^
   --primary-cluster-id my-replica-1
```

レプリケーショングループの変更の詳細については、*Amazon ElastiCache コマンドラインリファレンス*の「[modify-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/modify-replication-group.html)」を参照してください。

## ElastiCache API の使用
<a name="Replication.PromoteReplica.API"></a>

現在、レプリケーショングループでマルチ AZ を有効にしている場合はリードレプリカをプライマリに昇格させることはできません。場合によっては、昇格させるレプリカが、マルチ AZ が有効なレプリケーショングループのメンバーとなっていることがあります。この場合、続行する前に、レプリケーショングループを変更して、マルチ AZ を無効にする必要があります。これを行うためにすべてのクラスターが同じアベイラビリティーゾーンに存在する必要はありません。レプリケーショングループの変更の詳細については、「[レプリケーショングループの変更](Replication.Modify.md)」を参照してください。

次の ElastiCache API アクションは、レプリケーショングループ `myReplGroup` を変更して、リードレプリカ `myReplica-1` をそのレプリケーショングループのプライマリにします。

```
https://elasticache.us-west-2.amazonaws.com/
   ?Action=ModifyReplicationGroup
   &ReplicationGroupId=myReplGroup
   &PrimaryClusterId=myReplica-1  
   &Version=2014-12-01
   &SignatureVersion=4
   &SignatureMethod=HmacSHA256
   &Timestamp=20141201T220302Z
   &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)」を参照してください。