ElasticCacheの典型的な利用構成として、下記の3つがあります。

  • Stateシェアリングパターン
  • DB Cacheパターン
  • Multi-AZ

 

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倍以上の費用が必要となります。

 

 

 

本サイト上に掲載されているまとめ記事が、毎週ステップメールで受け取ることもできます。

 

 

参考文献