オンプレミス環境で稼働しているWebサービスをAWSに移行するべく色々と学習中なのですが、出来るだけコストをかけずに「冗長性」「可用性」を確保しようとすると、Developers.IOさんの下記の記事のようになるみたいですね。
セッションストレージの冗長性は?
memcached
上記の記事では触れられていませんが、大抵のWebサービスではセッションストレージを使用すると思います。
memcachedをセッションストレージとして使用しているWebサービスの場合、
AWSでもElastiCacheのエンジンとしてmemcachedを使えばアプリケーションのコードを書き換えることなく
そのまま移行が可能ですが、memcachedでは冗長性を確保することが出来ません。
Redis
ElastiCacheのエンジンにRedisを使用してMulti-AZ構成にすれば冗長性が確保できるようなので、
アプリケーションのコードを書き換えるコストを確保出来るのであれば、この方式が第一候補になりそうです。
Amazon ElastiCache (Redis)のMulti-AZを構成する
MySQL memcached plugin
もしくは、RDSでMySQL5.6を使用出来るのであれば、memcached pluginを使用するという方式もありますね。
DBの負荷に余裕がある場合は、アプリケーションコードの変更が不要ということで、こちらも選択肢としては魅力的です。
Amazon RDS MySQL 5.6と新機能を試してみた
とりあえずの結論
既存のWebサービスをAWSに移行する場合で、
- セッションストレージにmemcachedを使っている
- DBにMySQLを使っており、バージョンが5.6以上。(もしくは5.6以上への移行が可能)
- メインのDBへの負荷にまだ十分余裕があり、RDSでもスペックの高いインスタンスを使用可能である。
という条件が揃うようであれば、セッションストレージにはMySQL memcached pluginを選択するのが良さそうです。
なにぶんAWS初心者なので、認識が間違っている可能性も高いです。
誤りがありましたら是非ご指摘頂けますと幸いです。