背景
Webサイトの要件決めの時に、URLを「www」なしのZone apex(ドメイン名そのもの)で気軽に了承してしまい、環境引き渡しが遅れてしまった話。
環境(初期構築時)
- AWS
- ELB+EC2
- お名前.com
問題点
ELBのDNS登録はCNAMEレコードを使う必要があるが、Zone apexのようなサブドメインなしのドメインそのものの場合、CNAMEにマッピングすることはできません。
今回の環境では使用していませんが、CDNも同様の制約があります。
この制約は何処でドメインを購入しても同様です。
その辺りの詳細な話は、以下の記事で簡潔にわかりやすくまとめてありました。
https://qiita.com/haruyosh/items/95b20bef7beb63d200ab
解決方法
Route53のAliasレコードならZone apexをマッピングすることは可能です。
幸いなことにネームサーバをお名前.comからRoute53に変更するのは、お名前.comのドメインNaviネームサーバー設定で、ネームサーバ情報をRoute53のものに変更で切り替えることができます。
注意しなければいけないのが、ドメインを使用していた場合はTTLの有効期限切れまで2日間程待たなければいけません。
https://docs.aws.amazon.com/ja_jp/Route53/latest/DeveloperGuide/migrate-dns-domain-in-use.html#migrate-dns-wait-for-ttl
補足
ネームサーバを変えてもレジストラは変わらないため、ドメインの更新通知は購入元のレジストラから連絡がきます。
まとめ
URLの「www」なしはCNAMEが使えないため、特に要件が無いのであれば「www」ありにする方がオススメです。