概要
AWS の ElastiCache は Memcashed or Redis が選択できます
今回は Redis を構築して実際に redis-cli
で接続できるところまで確認してみました
環境
- macOS 10.14.4
- AWS ElasciCache for Redis (2019/05/21 時点)
- AWS EC2 (2019/05/21 時点)
クラスタ作成
ElastiCache for Redis を使うにはまずクラスタを作成しなければいけません
クラスタには Redis が動作するためのノードやアクセスを制御するセキュリティグループ、所属させる VPC ネットワークなどを指定します
また Redis の場合はクラスタ構成を選択することもできます
今回は検証目的で格安で進めたいのでシングルノードで選択します
またノードのスペックも一番小さいものにします
クラスタの設定画面になります
名前はクラスタ名になります
好きな名前を設定しましょう
ノードのタイプは一番小さい cache.t2.micro
を選択します
なお cache.t2.micro
はオハイオでは選択できますがリージョンによっては選択できないリージョンもあるのでご注意ください
セキュリティグループの選択をします
バックアップも不要なのでチェックを外しています
データをインポートやメンテナンス機能も特に使わないので指定しません
あとは作成できるのを待ちましょう
ステータスが available
になればクラスタの内にノードが作成されています
なお ElastiCache は内部的には EC2 ですが EC2 のコンソールに移動して確認しようとしてもできません
動作確認用の EC2 インスタンス作成
ElastiCache は基本的に EC2 および AWS サービス内からのみアクセスできます
外部からも接続することはできますが結局 NAT 用のインスタンスが必要になるので素直に動作用の EC2 を作成します
作成するスペックは何でも OK ですが今回は以下のようにしました
- Amazon Linux 2 AMI (HVM), SSD Volume Type
- t2.nano
- ElastiCache のクラスタと同一のセキュリティグループ
作成できたらプライベートキーを使ってアクセスできる確認しましょう
セキュリティグループに SSH の許可が必要な場合は入れてください
ssh -i ec2.pem ec2-user@ec2-18-218-71-107.us-east-2.compute.amazonaws.com
あとは ElastiCache に接続確認するための redis-cli
もインストールしておきます
sudo amazon-linux-extras install redis4.0
セキュリティグループ変更 (任意)
これは任意です
もし確認用の EC2 を ElastiCache のクラスタとは別のセキュリティグループに所属させている場合はそのセキュリティグループからアクセスできるようにしましょう
また動作確認用の EC2 に SSH できるルールを追加してあげましょう
エンドポイント確認
redis-cli
でアクセスするエンドポイントを確認します
作成したクラスタの詳細を表示し「プライマリエンドポイント」の部分を探しましょう
動作確認
あとは EC2 からコマンドで確認すれば OK です
redis-cli
の -h
オプションを使って先程のエンドポイントを指定すれば OK です
[ec2-user@ip-172-31-46-33 ~]$ redis-cli -h cluster1.0n143f.0001.use2.cache.amazonaws.com
cluster1.0n143f.0001.use2.cache.amazonaws.com:6379> info server
# Server
redis_version:5.0.4
redis_git_sha1:0
redis_git_dirty:0
redis_build_id:0
redis_mode:standalone
os:Amazon ElastiCache
arch_bits:64
multiplexing_api:epoll
atomicvar_api:atomic-builtin
gcc_version:0.0.0
process_id:1
run_id:b85954932494109d4a2520b07ffcd6d7d7bfca2c
tcp_port:6379
uptime_in_seconds:2300
uptime_in_days:0
hz:10
configured_hz:10
lru_clock:15000582
executable:-
config_file:-
料金
後始末
- ElastiCache のクラスタの削除
- 動作確認した EC2 の削除
最後に
ElastiCache に入門してみました
クラスタを作成して指定されたエンドポイントにアクセスするだけで使えるのでコマンドやアプリはそのままで向き先だけ変更すればすぐに使えるのは嬉しい点かなと思います
また Redis Cluster が必要であれば構築/運用も行ってくれます
原則的には EC2 からのアクセスのみを許可しているのでたとえば別のクラウドサービスなどからアクセスしたい場合には NAT インスタンスを立てる工夫が必要になります
EC2 に EIP を付与しその EIP に外部からアクセスがあったら ElastiCache のエンドポイントに流すような DNAT の設定を入れる感じだと思います (参考)
0 件のコメント:
コメントを投稿