AWSのElasticCacheに関する基本的な内容をまとめてみたものです。ElasticCacheに関する、Web上にすでにある解説コンテンツをまとめたサイトの抜粋です。
ElasticCache 典型的な利用構成
Stateシェアリングパターン
ロードバランサーを使って複数のWebサーバーやAPサーバーを動かしている場合は、障害発生時にステート情報が消失してしまうことがある。
このようなステート情報の消失を防ぐためには、個々のサーバーに情報を格納するのではなく、共有のデータストアにステート情報を持たせるState Sharingパターンが有効です。
AWSではElasticCacheを使って、ステート情報を保持することができます。
個々のサーバーに障害が起きても、ElasticCacheにあるステート情報を参照すれば、正常な状態に復帰することが可能です。
DB Cacheパターン
データベースのパフォーマンス悪化の原因は、ほとんどがデータの読み込みに関することです。
そのため、使用頻度の高いデータをメモリにキャッシュして、ディスクへのアクセス数を減らすことで、データベースの読み込み負荷を軽減できます。
このメモリにキャッシュを利用して、データベースのパフォーマンスを向上させる方法をDB Cacheパターンと呼びますが、AWSではElasticCacheを利用して実現することが可能です。
ElasticCacheは障害対策も施されていますので、効率的が良く障害に強いデータベースを構築できます。
ElasticCacheのMulti-AZを構成
・ElasticCacheのMulti-AZの内容
ElasticCacheには複数のAZ(アベイラビリティゾーン)を使って、障害に対応する機能が備わっています。
キャッシュノードの障害を検知する機能と、プライマリーノードの自動フェイルオーバーを行う機能がありますので、障害が発生しても手動で操作する必要がありません。
ElasticCacheが障害を検知すると、自動的に対応します。
ただし、ElastiCacheでmemcachedを利用する場合は、ノード間のレプリケーションが使えないためにMulti-AZが使えません。
・ElasticCacheのMulti-AZの料金
レプリカノードがフェイルオーバー先のノードとなるためMulti-AZを利用するためには、1ノード構成にかかる費用の2倍以上の費用が必要となります。