Awselasticache-redis-shards
AWS ElastiCache-Redisシャード
シャードは、ElastiCacheクラスター内の1つ以上のノードのコレクションです。 ElastiCacheクラスター内のさまざまなノードへのデータのレプリケーションをサポートするために作成され、ノードがほとんど失われてもキャッシュに到達できるようにします。 クラスターモードの設定方法に応じて、Redisクラスターには1つ以上のシャードを含めることができます。 クラスターモードが無効になっている場合、Redisクラスターにはシャードが1つだけあります。
A shard = Primary Node + Read Replicas
プライマリノード
シャード内のノードの1つがプライマリノードとして指定されます。 アプリケーションは、プライマリノードにのみ書き込むことができます。 プライマリに書き込まれたデータは、すべてのリードレプリカに非同期で伝播されます。 既存のプライマリノードは、パフォーマンスを向上させるために、その役割をリードレプリカの1つと交換できます。
リードレプリカ
リードレプリカは、クラスターのプライマリノードからのデータのコピーを維持します。 リードレプリカは、読み取りスループットを向上させ、ノードに障害が発生した場合のデータ損失を防ぎます。 アプリケーションは、リードレプリカまたはプライマリノードに関係なく、クラスター内の任意のノードから読み取ることができます。
無効なクラスターモード
このモードでは、すべてのRedisノードを含むシャードが1つだけのRedisクラスターを作成します。 ノードの1つはプライマリノードとして指定され、その他は読み取り専用レプリカノードと呼ばれます。
以下は、クラスターモードが無効になっているRedisクラスターの機能です。
- Redis(クラスターモードが無効)クラスター内のすべてのノードは同じリージョンに存在する必要があります。 耐障害性を向上させるために、そのリージョン内の複数のアベイラビリティーゾーンにリードレプリカをプロビジョニングできます。
- リードレプリカをクラスターに追加すると、プライマリからのすべてのデータが新しいノードにコピーされます。 その時点から、データがプライマリに書き込まれるたびに、変更はすべてのリードレプリカに非同期で伝播されます。
- レプリカノードを備えたRedis(クラスターモードが無効)クラスターを使用して、ElastiCacheのRedisソリューションを拡張し、読み取り集中型のアプリケーションを処理します。
有効なクラスターモード
このモードでは、1〜90個のシャードがあるRedisクラスターを作成します。 各シャードには、プライマリノードと最大5つの読み取り専用レプリカノードがあります。 シャード内の各リードレプリカは、シャードのプライマリノードからのデータのコピーを保持します。
以下は、クラスターモードが無効になっているRedisクラスターの機能です。
- リードレプリカをプライマリと同期した状態に保つために、非同期複製メカニズムが使用されます。 アプリケーションは、クラスター内の任意のノードから読み取ることができます。 アプリケーションは、プライマリノードのみに書き込むことができます。
- このRedisクラスター内のすべてのノードは同じリージョンに存在する必要があります。
- レプリカノードを手動でプライマリに昇格させることはできません。
- バックアップから復元することによってのみ、クラスターの構造、ノードタイプ、およびノード数を変更できます。