##目標
・AWS ElastiCache(Memcached)を構築し、EC2からの接続を確立する。
##ElastiCacheとは
AWSが提供するインメモリデータベースサービスです。
キーバリュー形式でデータが保存され、書き込み・読み込みが高速という特徴があります。
名前の通り、キャッシングに主に利用され、DBクエリ結果やWEBセッションのキャッシングとして主に活用されます。
※より詳しくは以下の記事参考
AWS キャッシュ活用 ElastiCache
##参考AWSドキュメント
Memcached クラスターの作成 (コンソール)
##作業の流れ
項番 | タイトル |
---|---|
1 | ElastCacheクラスターの作成 |
2 | EC2からElastCacheクラスターへ接続 |
3 | 簡単なElastiCache(Memcached)コンソール操作 |
##手順
###1.ElastCacheクラスターの作成
①AWS マネジメントコンソールにサインインし、Amazon ElastiCache コンソールへ(https://console.aws.amazon.com/elasticache/)
②ナビゲーションペインでMemcached
を選択し、作成
をクリック
③作成するElastCacheクラスターの情報設定
クラスターエンジン:Memcached
を選択し、任意のクラスター名を入力します(※)
※ノードタイプ
でメモリ容量の変更、ノードの数
でクラスター内のノード数変更が可能です(耐障害性の向上に有用)
Elaticacheはサブネットグループ(複数AZを含んだ、サブネットの集合体)に配置されます。
未作成の場合は新規でサブネットグループを作成します。
以下のように値を選択or入力してください。
セキュリティグループは、11211番ポート
が開いているものを使用しなければならないことに注意します。
設定完了したら作成
クリック
④作成したElastiCatcheクラスターのステータスがavailable
になることを確認
###2.EC2からElastCacheクラスターへ接続
①telnetインストール
接続元EC2へログイン後、sudo yum install telnet
実行
# Complete!と表示されること
$ sudo yum install telnet
(中略)
Installed:
telnet.x86_64 1:0.17-49.9.amzn1
Complete!
②ElastCacheクラスターへtelnet接続
telnet <end-point-name> <port>
実行
# 以下のような出力だったらOK
$ telnet test-cache.k8s3rn.cfg.apne1.cache.amazonaws.com 11211
Trying 172.31.62.249...
Connected to test-cache.k8s3rn.cfg.apne1.cache.amazonaws.com.
Escape character is '^]'.
###3.簡単なElastiCache(Memcached)コンソール操作
ほぼAWSドキュメントのコピペですがMemcachedコンソールの簡単な操作をしてみました。
# キーa(with no expiration and 5 byte value)及びバリュー'hello'セット
set a 0 0 5
hello
STORED
# キーaを取得
get a
VALUE a 0 5
hello
END
# キーbは存在しないのでMISS
get b
END
# 接続終了
quit
Connection closed by foreign host.
##次にやったこと
ElastiCacheを利用してRDSへのクエリをキャッシングさせるシステムを構築してみました。
【AWS ElastiCache】AWS ElastiCache(Memcached)を利用してRDSへのクエリをキャッシング