HTTPSレコードをサポートしたCloudFront、Route 53のエイリアス設定と動作を試してみた
2025年7月1日、Amazon CloudFrontがHTTPS DNSレコードをサポートするアップデートがありました。
HTTPSレコードは、クライアントがサーバーに接続する前に、サポートされているプロトコル(HTTP/2, HTTP/3など)やIPアドレスのヒントを通知するためのDNSレコードです。これにより、接続のネゴシエーションを効率化し、パフォーマンスを向上させる効果があります。
今回、このCloudFrontのHTTPSレコードサポートを確認するため、Route 53のホストゾーンでCloudFrontをターゲットとしたエイリアスのHTTPSレコードを作成し、その動作を確かめる機会がありましたので、紹介します。
CloudFront設定
シングルWebサイト(デフォルト)のディストリビューションを作成しました。
CloudFront用にバージニアリージョンで発行したACMのワイルドカード証明書を利用し、動作確認用のCloudFrontを用意しました。
サポートするHTTPバージョンとして、HTTP/2、HTTP/3、およびIPv6を有効にする設定としました。
Route53設定
ホストゾーン設定で、CloudFrontをターゲットとしたエイリアスの HTTPSレコードを作成しました。
今回、以下3タイプのエイリアスレコードを作成しました。
- A
- AAAA
- HTTPS
動作確認
エイリアスとして設定したHTTPSレコードの動作を、Ubuntuのldns-utilsパッケージに含まれるdrillコマンドを利用して確認しました。
$ drill https xxx.example.com.
;; ->>HEADER<<- opcode: QUERY, rcode: NOERROR, id: 3329
;; flags: qr rd ra ; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;; xxx.example.com. IN HTTPS
;; ANSWER SECTION:
xxx.example.com. 60 IN HTTPS 1 . alpn=h2,h3
;; AUTHORITY SECTION:
;; ADDITIONAL SECTION:
;; Query time: 5 msec
;; SERVER: 127.0.0.53
;; WHEN: Wed Jul 2 04:11:17 2025
;; MSG SIZE rcvd: 70
CloudFrontをターゲットとしたエイリアス設定のレコードから、意図した応答が得られました。
- SvcPriority: 「1」(サービスモードでの最優先値)
- SvcParams (サービスパラメータ): ALPN (Application-Layer Protocol Negotiation) として、CloudFrontで設定したHTTP/2 (h2) および HTTP/3 (h3) が反映されていました。
CloudFrontの設定でHTTPサポートバージョンを変更すると、HTTPSレコードのALPNに反映される事を確認できました。
- HTTP/2のチェックを外した場合 (alpn=h3 のみ)
;; ANSWER SECTION:
xxx.example.com. 60 IN HTTPS 1 . alpn=h3
- HTTP/2、HTTP/3ともにチェックを外した場合
;; ANSWER SECTION:
xxx.example.com. 60 IN HTTPS 1 . alpn=http/1.1
まとめ
サポートするプロトコルなどを予めクライアントに通知するHTTPSレコードの設置により、HTTPSレコードをサポートするブラウザでは接続ネゴシエーションが最適化され、パフォーマンス改善が期待できます。
2023年10月のアップデートでRoute 53はHTTPSレコードをサポートしていましたが、今回のCloudFrontの対応により、HTTPSレコードをエイリアスとして利用可能になった事で、Route 53の追加課金不要、よりシンプルな設定で利用できるようになりました。
Route 53を利用してCloudFrontの名前解決をされている環境では、A、AAAAレコードに加え、HTTPSレコードもエイリアスとして設定する利用をお試しください。