LoginSignup
13
6

More than 5 years have passed since last update.

ElastiCacheでRedisClusterを作成する

Posted at

目的

ElastiCacheでRedisClusterを作成し接続確認を行います。

前提条件

今回はClusterモードを有効な状態で作成します。
※Clusterモードの説明に関してはこの記事では割愛させて頂きます。
こちら に記載されています。

事前準備

必要な事前準備は下記の通りになります。
※Clusterを作りながらでも、進められるのですが、今回は事前に必要な物の作成を行っておきます。

  • Clusterに割り当てるサブネット、サブネットグループ
  • Clusterに適応するセキュリティグループ

サブネットの作成

ElastiCacheが利用するサブネットの作成を行います。

対障害性を向上させる為に、東京リージョンの ap-northeast-1aap-northeast-1c の2つのアベイラビリティーゾーンにサブネットを構築します。

  • ネームタグ: dev-session-redis-1a
  • IPv4 CIDRs: 192.0.50.0/24

create-subnet-a1.png

  • ネームタグ: dev-session-redis-1c
  • IPv4 CIDRs: 192.0.51.0/24

create-subnet-c1.png

サブネットグループの作成を行います。
マネジメントコンソールのElastiCache → Subnet Groups → 「Create Subnet Group」より作成を行います。

Name、Description は分かりやすいものであれば何でも構いません。
Availability Zoneにそれぞれ先程作成したサブネットを追加して「Create」をクリックします。

create-subnet-group.png

以上でサブネットの準備は完了です。

セキュリティグループの作成

ElastiCache用にセキュリティグループの作成を行います。

インバウンドルールで接続元からの6379ポートを空けておきます。

security-group1.png

security-group2.png

Clusterの作成(本題)

ここからようやく本題です。

マネジメントコンソールのElastiCache → Redis → 「Create」より作成を行います。

Cluster engine: Redis
Cluster Mode enabled (Scale Out): チェックを入れる

redis-cluster1.png

Name、Description は分かりやすいものであれば何でも構いません。
Subnet Groupには先程作成したサブネットグループを指定します。
その他は下記画像の通りに入力して下さい。(ほぼデフォルト設定のハズ)

redis-cluster2.png

Multi-AZ with Auto-Failover: チェックを入れます。(というかCluster Mode enabled (Scale Out)にチェックを入れた時点でチェック済になっているハズ)

Slots and keyspaces: [Equal distribution]
Availability zone(s): [No preference]
Security groups: 先程作成したセキュリティグループを指定

redis-cluster3.png

Import data to cluster: 空
Backup: デフォルトのまま ※本格的に運用する際は要件に合わせて設定して下さい。
Maintenance: デフォルトのまま ※これも実運用の際は要件に合わせて設定して下さい。

ちなみにこれらのパラメータは 公式ドキュメント に解説がありますので、本格運用される場合は目を通しておく事をオススメします。

redis-cluster4.png

ここまでで全てのパラメータの設定が完了したので「Create」をクリックすると作成が開始されます。

作成すると下記のような画面になります。

redis-cluster5.png

しばらくするとステータスが「available」になり、利用出来る状態となります。

redis-cluster6.png

動作確認

作成したClusterに接続出来るサーバにログインを行い redis-cli で動作確認を行います。

作成したサーバを選択し、Configuration Endpoint を確認すると接続用のホスト名が分かります。

ここでは dev-sessions.abcde9.clustercfg.apne1.cache.amazonaws.com が接続用のホストだとします。

redis-cliでログイン
redis-cli -h dev-sessions.abcde9.clustercfg.apne1.cache.amazonaws.com -c
テストデータを1件入力
SET test "testValue"

-> Redirected to slot [6918] located at 192.0.51.155:6379
OK
192.0.51.155:6379>
テストデータを取得出来るか確認
GET test

"testValue"
追加したテストデータを削除し削除出来ているか確認する
DEL test
(integer) 1

GET test
(nil)

※余談ですが、FLUSHALL で全てのデータを削除出来ますので、テストデータを一度キレイにしたい場合は FLUSHALL を実行すれば大丈夫です。
無論、運用中のサーバに対して実行すると全てのデータが消えてしまうので注意して下さい。

まとめ

あっさりとRedisClusterを立ち上げる事が出来ました。
本格運用の際にはまだまだ考慮すべき点は多いですが、取っ掛かりとしてこの記事が参考になれば幸いです。

最後まで読んで頂きありがとうございました。

13
6
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
6