AWS 基礎13・14

DNS・ACM・HTTPS —
名前、所有証明、暗号化をつなぐ

カスタムドメインでHTTPS通信を始めるには、宛先を探すDNSと、ドメイン所有を証明するDNSを区別して理解します。

TL;DR
  1. DNSは名前を宛先へ解決する
  2. AliasはALBの変動するendpointに追従する
  3. ACMのCNAMEは証明と自動更新のため残す

01DNSは名前をたどって宛先を探す

DNSはドメイン名を宛先へ結び付けます。Route 53のhosted zoneが対象ドメインの権威を持ち、ALBのようにIPが変わるAWSサービスへはAliasを使って向けます。

ドメイン名をDNS階層で解決する図
名前解決は階層をたどり、権威あるzoneが答えを返す。

02ACMはDNSで所有を検証する

ACMが提示するCNAMEは、HTTPの通信先を変える設定ではありません。「このドメインを管理している」ことをDNSで示す検証札です。証明書の自動更新にも必要なので削除せずに残します。

ACMのCNAME DNS検証と自動更新の図
検証CNAMEは発行後も更新のために使われる。
DNS recordこの構成での役割
Route 53 Alias利用者のドメインをALB endpointへ向ける
ACM CNAME証明書の所有権検証と更新を支える

03HTTPSの入口はALBで完成する

利用者はAlias経由でALBに到達し、ALBのHTTPS listenerがTLSを終端します。ALBなどリージョナルサービス用のACM証明書は、対象ALBと同じリージョンで発行します。

Route 53 AliasとACM証明書を使うHTTPS入口の図
名前解決、証明書、listenerがALBの入口で合流する。

結論

  1. Aliasは利用者の名前解決をALBへつなぐ。
  2. ACM CNAMEは所有権検証と自動更新のため残す。
  3. ALB用証明書はALBと同じリージョンで発行する。