メニュー
Amazon ElastiCache
ユーザーガイド (API Version 2015-02-02)

Redis レプリケーション

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

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

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

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 (クラスターモードが有効) クラスターの設定エンドポイントを使用してクラスターのノードと接続できます。詳細については、「ElastiCache エンドポイントの検索」を参照してください。

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

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

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

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

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

  • 各シャードには、少なくとも 1 つのリードレプリカノードが必要です。

  • いずれのレプリカノードも手動でプライマリに昇格することはできません。

  • マルチ AZ と自動フェイルオーバーが必要です。

  • クラスターの構造、ノードタイプ、シャードの数、およびノードの数は、バックアップから復元することでのみ変更できます。詳細については、「クラスターのサイズ変更 (オプション) によるバックアップからの復元」を参照してください。