記事一覧に戻る
CloudflareではAPEXドメインのCNAMEレコードが発行できるよ

CloudflareではAPEXドメインのCNAMEレコードが発行できるよ

通常はZone Apex(ルートドメイン)にCNAMEレコードを設定できませんが、CloudflareのCNAME Flattening機能を使えば実質的にCNAMEと同等の動作を実現できます。仕組みとRoute53のAliasレコードとの比較を解説します。

Cloudflare Pagesでカスタムドメインを設定していたら、DNS設定画面に情報マークが表示されていました。調べてみると、CloudflareにはAPEXドメインでもCNAMEレコードが使える仕組みがあったので紹介します。

Zone Apexとは

Zone Apexとは独自ドメインのトップレベルドメイン(例:citronlimes.com)のことです。これに対してwww.citronlimes.comはサブドメインです。Zone Apexには必ずNSレコードやSOAレコードが存在します。

Cloudflare DNS設定画面でのCNAME情報

Zone ApexにCNAMEを設定できない理由

CNAMEレコードには「同一ドメイン内に他のレコードが共存できない」という制約があります。Zone ApexにはNSレコード等が必ず存在するため、通常はCNAMEレコードを設定できません。

CloudflareのCNAME Flattening

Cloudflareは「CNAME Flattening」という技術でこの問題を解決しています。仕組みとしては、CloudflareがCNAMEの向き先のIPアドレスを事前に取得し、クライアントに対してはAレコードとして返却します。

実際にdigコマンドで確認すると、CNAMEではなくAレコードとして返されていることがわかります。

citronlimes.com.        300     IN      A       104.21.44.61
citronlimes.com.        300     IN      A       172.67.196.85

AWS Route53のAliasレコードとの比較

この仕組みはAWS Route53のAliasレコードと似た考え方です。Aliasレコードも Zone ApexでのマネージドサービスのCNAME的な利用を可能にしています。

CloudflareのCNAME Flatteningは、同様の課題を別のアプローチで解決しているわけですね。