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

Redis レプリケーションについて

Redis では、次の 2 つの方法でレプリケーションが実装されます。

  • クラスターのすべてのデータを各ノードに含む単一シャード—Redis (クラスターモードが無効)

  • 最大 15 個のシャードに渡ってデータが分割される—Redis (クラスターモードが有効)

レプリケーショングループ内の各シャードには、単一の読み取り/書き込みプライマリノードと、最大 5 個の読み取り専用レプリカノードがあります。

Redis (クラスターモードが無効)

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

イメージ: 1 つのシャードと複数のレプリカノードのある Redis (クラスターモードが無効) クラスター。

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

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

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

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

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

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

Redis (クラスターモードが有効)

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

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


               イメージ: 複数のシャードとレプリカノードのある Redis (クラスターモードが有効) クラスター

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

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

すべての Redis (クラスターモードが有効) クラスターには、自動フェイルオーバーを備えたマルチ AZ が必要です。詳細については、「ダウンタイムの最小化: 自動フェイルオーバーでのマルチ AZ」を参照してください。

現在、Redis (クラスターモードが有効) にはいくつかの制限があります。