戻る
■ElastiCache (Memcached)
※可用性の観点で、MemcachedよりもRedisの方がが優れているとされている 基本的にはRedisを使っておけば良さそう Redisに関しては「ElastiCache (Redis)」を参照 Amazon ElastiCacheとは?RedisとMemcachedの違いとは | SunnyCloud
https://www.sunnycloud.jp/column/20210428-01/
ElastiCacheはMemcachedとRedisのどっちを選ぶ? | DevelopersIO
https://dev.classmethod.jp/articles/which-choice-redis-memcached/
本当は怖いMemcached - Qiita
https://qiita.com/taruhachi/items/a844bf373623991873ff
それでもMemcachedを使いたいあなたに - Qiita
https://qiita.com/taruhachi/items/b4c938dce1646aeb7204
以下はMemcachedを試したときのメモだが、初期に1度試しただけなので現状とは差異が大きいかもしれない ElastiCache → Get Started Now もしくは ElastiCache → Launch Cache Cluster からインスタンスを作成 Step 1:Select Engine Memcached を選択 Step 2:Specify Cluster Details Cluster Name: cacheinstance Node Type: cache.m3.medium Number of Nodes: 1 Step 3:Configure Advanced Settings マルチAZに対応させる場合、Availability Zone(s) を Spread Nodes Across Zones にする 必要に応じて、あらかじめ設定しておいた Security Group を選択 Step 4:Review 内容を確認して、問題なければ Launch WebサーバからMemcachedにアクセスするための設定を行っておく ElastiCacheのエンドポイントが以下の場合、 xxxxx.cache.amazonaws.com:11211 例えばWebサーバのPHPを以下のようにすればElastiCacheでセッション管理ができる # yum install memcached php-pecl-memcache # vi /etc/php.ini
;session.save_handler = files
… コメントアウト(先頭に ; を付加)
;session.save_path = "/var/lib/php/session"
… コメントアウト(先頭に ; を付加)
# vi /etc/php.d/memcache.ini
… phpの設定ファイルを編集
session.save_handler=memcache
… コメントアウトを外す(先頭の ; を削除)
session.save_path="tcp://localhost:11211?*******"
… コメントアウトを外す(先頭の ; を削除 / ?以下は不要)
session.save_path="tcp://xxxxx.cache.amazonaws.com:11211"
… ElastiCacheエンドポイントの設定例
# service httpd restart
… httpdを再起動
# service memcached start
… memcacheを起動
セッションを扱うPHPプログラムを作成し、動作確認をする PHPアプリケーションのセッション管理にAWS ElastiCacheを使う
http://dev.classmethod.jp/cloud/aws/php-session-elasticache/
phpのセッションをmemcachedに変える | CoDE4U
http://blog.code4u.org/archives/422
phpのsessionを複数のmemcacheサーバに保存するお話 - Qiita
https://qiita.com/motoki-ok@github/items/a6459c6efaa0ac2a417a
PHPでクラスタ構成のmemcachedサーバを利用するときに気をつけること - Road To Nowhere
http://kazumaryu.hatenablog.com/entry/20130125/1359044488
※ElastiCacheはレプリケーションに対応していないので、複数のAZをまたいでいるときはPHPのセッションとしては使えない ElastiCacheが複数のAZをまたいでいるとき、レプリケーションが働かずにセッションがバラバラになることがある Redisはレプリケーションに対応しているみたいだけど、PHP用の定番ライブラリがない なので、異なるAZに別々にElastiCacheを配置し、その両方にキャッシュするようにPHPに設定する php.iniでキャッシュ先を複数設定しておけば、利用先が先頭から順に決定される もし先頭のElastiCacheがダウンしても、次のElastiCacheが使われる。という仕組みで対処 (セッションが切れる可能性はあるが、大きな問題にはならなさそう) 2014年7月にマルチAZ配置に対応したようだが、それは「レプリケーションが働かずにセッションがバラバラになる」の状態みたい? かっぱのほげふが | ElastiCache for memcached の分散処理をどうするか悩む
http://hogehuga.inokara.com/2014/04/26/elasticache-benchmark.html
【ElastiCache】memcachedのMulti-AZ配置(ゾーンをまたいだノード分散配置)が来ました!!!
http://dev.classmethod.jp/cloud/aws/elasticache-multi-az-memcached/
ElasticCache典型的な利用構成 | TechCrowd
https://www.techcrowd.jp/elasticcache/configurations/