Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

ElastiCacheのクラスタエンドポイントにCNAMEはるときは、「.cfg」を含むようにすること

More than 1 year has passed since last update.

やろうとしたこと

EC2上で動作しているWebアプリケーションで、セッションの保存先をElastiCache(memcached)にしようとした。
また、可用性・負荷分散のため、クラスタ化しようとした。

その際、ElastiCache(memcached)の設定エンドポイントが長く、短いFQDNでアクセスしたかったので 1
Route53で以下のようにCNAMEを作った。

$ dig cname +short session.example.home
session.xxxxxx.cfg.apne1.cache.amazonaws.com.

example.home は Private type の ドメイン

ハマったこと

セッションデータはElastiCache(memcached)に保存されるが
サイトを操作していると、時々セッションが切れたような動作になった。
(セッションデータが取れていない)
memcachedの各クラスタに入って調べてみると、
同一セッションなのにアクセスのたびに異なるクラスタに割り振られていた。

解決した方法

CNAME にあてたドメインを「.cfg」を含むものに変更した。

session.example.home
 ↓
session.cfg.example.home

詳細

ちゃんと公式ドキュメントに書いてあった。

https://docs.aws.amazon.com/ja_jp/AmazonElastiCache/latest/mem-ug/AutoDiscovery.Using.html#AutoDiscovery.Using.ModifyApp

クラスターの設定エンドポイントを指定する際は必ず、ここに示す設定エンドポイントのアドレスに「.cfg」が含まれていることを確認してください。「.cfg」のない CNAME またはエンドポイントは使用しないでください。

公式ドキュメントはちゃんと読みましょう。
(でも、この記述ちょっとわかりにくいと思う…)


  1. もう1つの理由として、本番/ステージ/テスト環境でAWSアカウントを分けていて、全環境に example.home という同じ名前でPrivate ドメインを作って、全環境同じドメイン名でアクセスできるような作りにしていた。 

m_norii
最近触っているのは、 AWS, PHP, Laravel, MySQL, BigQuery 最近は Zenn の方に記事を書いているので、こちらもよろしくです。 https://zenn.dev/m_norii
https://norii.hatenablog.com/
openlogi
物流はこれから、テクノロジーによりダイナミックに変化する業界です。物を作る人とそれを欲しい人、その間の物流や配送がすべてネットワーク化された、需要と供給が最適化される次世代のインフラづくりを私たちは目指しています。
https://openlogi.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away