unhurried

コンピュータ関連ネタがほとんど、ときどき趣味も…

AWS ELB(ALB)にZone Apexドメインを設定する

Zone Apexとは?

Apexは頂点、先端という意味で、wwwなどのサブドメインのつかないドメインを意味します。 example.comというドメイン保有している場合、www.example.comはZone Apexではなく、example.comはZone Apexとなります。

Zone ApexにはCNAMEを設定できない

ドメインDNSサーバーを、AWSDNSサービスであるRoute53を使わずに外部に用意していた場合、DNSレコードにはELB(ALB)のドメイン名をCNAMEレコードとして設定する必要があります。 ところが、RFC1912に記載される仕様上、この設定が正しく動作する保証がありません。

Route 53のエイリアスレコードを利用する

結局のところ、この場合には外部のDNSサーバーは利用できず、Route53で提供されるエイリアスレコードという機能を使うしかありません。
エイリアスレコードはCNAMEのように定義でき、実際の動作上はAレコードのように振る舞う仕組みです。(DNS応答の際にCNAMEレコードのドメインIPアドレスを解決して、そのIPアドレスをAレコードとして応答します。)

参考