memcachedは、高速の処理のレスポンス性能を持ったオープンソースのメモリキャッシュシステムです。memcachedのプロトコルに準拠しているMemcached用Amazon ElastiCacheは、キャッシュの設定・自動検出・キャッシュエンジンバージョン管理ができます。

 

汎用の分散型メモリキャッシュシステム

memcachedは、オープンソースのメモリキャッシュシステムです。
保存・検索・削除しかできませんが、レスポンスが高速で大量のデータを操作しても性能が劣化しません。
そのため、高速のレスポンスが要求される大規模なWEBサイトなど複数利用されて、システムの負荷を抑えるために使われています。

Memcached用Amazon ElastiCacheはmemcachedのプロトコルに準拠していますので、既存のMemcachedのデプロイと同じように標準的な Memcached 操作が可能です。
ただし、Amazon ElastiCacheにアクセスするにはAmazon EC2 ネットワークが必要となるので、Amazon EC2 にアプリケーションサーバーを用意する必要があります。

 

 

キャッシュの設定およびスケジューリング

Memcached用Amazon ElastiCacheのキャッシュノードタイプの初期設定は、以下の2種類から選ぶことができます。

・キャッシュに必要となる合計メモリ
必要となる合計メモリは、データセットやアプリケーションによって異なります。
障害発生時の対応やシステムへの負荷を考慮して、適切な値に設定することが重要です。

・キャッシュノードの数
1リージョンにつき最大50のキャッシュノードが使用できますが、それ以上の数のキャッシュノードを使う場合はElastiCacheの制限増加申請フォームにて連絡する必要があります。

 

Amazon ElastiCacheの自動検出

Memcached用Amazon ElastiCacheの自動検出機能によって、クラスターのキャッシュノードが追加・削除された時にクライアントが自動的に検出できます。
クラスターのメンバーシップが変更された場合に手動で対応するとアプリケーションを再起動する必要が生じますが、自動検出機能を使ってクライアントにクラスターのメンバーシップを連絡することで、クライアントが再設定を行い初期化する必要がなくなります。

Memcached用Amazon ElastiCacheの自動検出機能を使うためには、自動検出に対応しているクライアントを使用してAmazon ElastiCachのクラスターに接続しなくてはなりません。
現在は、JavaとPHPのための自動検出クライアントが用意されています。
その他の開発言語を使用する場合は、一般的なmemcached クライアントで自動検出機能を構築する必要があります。

 

キャッシュエンジンバージョン管理

Memcached用Amazon ElastiCacheは、キャッシュクラスターを動かしているmemcachedプロトコル準拠のソフトウェのバージョン管理を行うことができます。
ユーザーに意志によって新しいバージョンにアップグレードしたり、アップグレードする時期を設定することが可能です。
しかし、Memcachedのバージョンを変更すると、さまざまな障害が発生する可能性もありますので、Memcached用Amazon ElastiCacheが自動的にバージョンをアップグレードすることはありません。
ユーザーがテストを行ってから、アップグレードしたいバージョンを指定するようになっています。
基本的にはバージョン管理はユーザーによって行われますが、システムやキャッシュソフトウェア上にセキュリティの脆弱性がある場合は、システムがキャッシュクラスターにバッチを適用することもあります。

 

 

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

 

参考文献