LoginSignup
13
13

More than 5 years have passed since last update.

ElasticCacheを使ってELBに共用キャッシュサーバーを立てる

Last updated at Posted at 2015-03-20

これがやりたい。
image1 (2).JPG

2つのWebサーバーで共用するキャッシュサーバーの建て方をかんたん解説。

前提

  • 2台のEC2インスタンスは立てている
  • ELBにEC2をひもづけ済み

手順

1.ElasticCacheでMemcachedサーバーを立てる

AWSのコンソール画面ヘッダーのServicesからからElasticCacheを選択し、以下のボタンをクリック。

スクリーンショット 2015-03-20 17.43.45.png

キャッシュエンジン

Memcachedを選択し、Nextをクリック。

スクリーンショット 2015-03-20 17.34.03.png

クラスタ構成の設定

スクリーンショット 2015-03-20 17.35.20.png

いじるのはNodeTypeとClusterNameとNumberofNodesの3つ。

Cluster Name: 適当に。
NodeType: キャッシュサーバーの大きさ。わからなければとりあえずmicroで。
Number of Nodes: ノード数の指定。これを増やせば対象外性を向上させたり、パフォーマンス向上のためのスケールアウトを実行することが可能。

さらに設定

スクリーンショット_2015-03-20_17_35_32.png

VPC Security Group(s): EC2と同じセキュリティグループを設定する。

※EC2のセキュリティグループで11211ポートを設定しておく。

スクリーンショット 2015-03-20 17.51.48.png

以上で設定完了。

Configuration Endpointの項目をあとで使うのでメモっておく。

スクリーンショット_2015-03-20_17_53_15.png

2.サーバーにMemcachedをインストール

以下の手順は2つのEC2インスタンス両方で行う。

Memcachedのインストール

root権限に変更

$ sudo su

インストール

# yum install memcached php-pecl-memcached

自動起動設定&起動

# chkconfig memcached on
# service memcached start

PHP設定の変更

PHPの設定ファイルと、Memcachedの設定ファイルそれぞれを下記のように設定する。

# vi /etc/php.ini
; session.save_handler = files // コメントアウト
; session.save_path = "/var/lib/php/session" // コメントアウト

# vi /etc/php.d/memcached.ini
session.save_handler = memcached // コメントアウトをはずす
session.save_path = hoge.xxxxxx.0001.xxxx1.cache.amazonaws.com:11211" // 追記

※session.save_pathの値はElasticCacheの管理画面のエンドポイントを記述する。

httpd再起動

# service httpd restart

以上で使えるはず。

13
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
13