LoginSignup
2
1

More than 5 years have passed since last update.

Redis導入したら、やらかしてしまった話

Posted at

はじめに

最近インフラ周りを触り始めたエンジニアです。
日々予想外の出来事に悩みながら、一つ一つ勉強しています。
今回はElastiCacheを導入しようとしたときに、うっかりやってしまったミスを紹介します。

ElastiCacheの設定

ドキュメントやブログを参考にして以下のような構成で用意しました。
- キャッシュエンジン:Redis
- 1シャード3ノードの構成

※シャードとノードについてはこちらがわかりやすかったです。

よし(๑•̀ㅂ•́)و✧
そしてサーバの方でエンドポイントを設定します。
AWSのコンソールからクラスターを選択してエンドポイントを把握!そのままエンドポイントを設定しました...

何が起きたのか

1シャード3ノードの場合、以下のようになります。
Primary Node ✕ 1 = 読み書き可能
Replica Node ✕ 2 = 読み込みのみ可能
エンドポイントの設定でクラスターのエンドポイントを設定したために、キャッシュを書き込む際にReplica Nodeにも書き込みを行ってしまってました...そりゃエラーになるわけだぜベイベー...orz

どうすべきだったのか

現状はReplica Nodeを削除してPrimary Nodeのみで運用してます。
これ正直ベストはわかってないのですが、
書き込み時はPrimary Nodeのエンドポイントを指定
読み込み時はReplica Nodeのエンドポイントを指定
するのがよいのかなーと検討してます。
どなたかベスト・プラクティスを知ってる方いたらご教授いただきたいです...!

最後に

やっぱインフラは触ってみないとわからないこと多いですね。
挫けず日々精進したいと思います。

2
1
2

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
2
1