(多分国内最速記事!)Elasticache Redis で RedisClusterがサポートされました。

こんにちは

本日、AWSより、全リージョンにてElastiCache Redisで
Sharding Cluster(=RedisCluster)が利用できるようになったとアナウンスがありました。

Amazon ElastiCache for Redis Update – Sharded Clusters, Engine Improvements, and More | AWS Blog

この記事を国内最速でリリースしたく、
重い腰を上げてキーボードをたたき始めた次第です。

そもそもRedisClusterってなんなの?

ElastiCacheのマニュアルに載っている画像が一番わかりやすいです。

http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/images/ElastiCacheClusters-CSN-RedisShards.png

左の図が、旧来のElastiCache Redisで、
右の図が、今回リリースされたSharding Clusterです。

キーのハッシュに基づいてshardingされるため、
マスタにかかる負荷を分散できることと、
FailOver時間の高速化に寄与できる点がメリットと思います。
※これまではPrimaryEndpointのCNAME付け替えに数分間かかっていた

とりあえず立ち上げてみた

作成

f:id:iryond:20161013134321p:plain こちらの画像の通りなのですが、
おやおや、、"Cluster Mode Enable"という設定がありますね。
既にわくわくしてきました。

作成後

各画面イメージを添付します。

マスタ画面

f:id:iryond:20161013134414p:plain シャード数と、レプリカを含めたノード数が記載されています。
また、ConfigurationEndpointという記載もありますね。
下記記事によると、RedisClusterをサポートするクライアントを使ったうえで、
全てのオペレーションにおいて下記のエンドポイントを利用しろ、とのことでした。

docs.aws.amazon.com

Redis (cluster mode enabled) clusters, use the cluster's Configuration Endpoint for all operations. 
You must use a client that supports Redis Cluster (Redis 3.2). 
You can still read from individual node endpoints 
(In the API/CLI these are referred to as Read Endpoints).

シャード画面

f:id:iryond:20161013134445p:plain 今回はシャード数を2に設定しているので、2行存在していますね。
Slot/keySpaceというのが、ハッシュ振分の基準になるかと思います。

各ノード画面

f:id:iryond:20161013134521p:plain シャード毎に、どのノードが起動しているのか確認することができます。

最後に

本番導入の可否については、
検証結果をもとにということになりますが、
問題なさそうであれば前向きに検討したいと思います。

これからも最新の技術動向やリリース速報についていけるよう
自己研さんや情報収集を続けたいと思います。

まあ、情報収集っていっても
だいたい中の人のツイートストーキングしてるだけなんですけどね。

それでは仕事に戻ります。(14時までお昼休み)