はじめに
Cloudflare Pagesのクソ嵌り事案の備忘録です。嵌るのは多分私くらいなので、参考までに。
やりたいこと
- Cloudflare PagesでホスティングしているサイトにApexドメイン(※)を適用したい
※ 本記事でApexドメインはwwwなしの、example.com
ようなドメインを指すこととします
前提
- Google Domainsでドメインを取得済
- Google Domainsの管理コンソールからネームサーバーをCloudflareに変更済
- Cloudflare Pagesにアプリをホスティング済
- Cloudflare DNSにドメインを登録済
- Cloudflare PagesのCustom domainsにApexドメインを登録(<-クソ嵌り)
事象
実際に起きた事象を後日忠実に再現した内容です
Cloudflare PagesでCustom domainsの設定
Cloudflare PagesでApexドメインの設定
「Get started with Cloudflare DNS」と表示。Cloudflare DNS設定へ遷移します。
前述の通りCloudflare DNSにドメイン設定を行っている状態で上記メッセージが出ます。「Begin DNS transfer」を押しても、既にそのドメインは登録済とされ、エラーが出ます。しばらくこの状態が続きました。
サブドメインは登録出来たため、DNSの反映待ちということはないと推測していました。
解決した話
諦めてその日は眠り翌朝設定を確認したところ設定が出来るようになっていました。幾つかコンソール上で変化があった点をメモします。
Overview画面の変化
変更前
変更後
再度Apexレコードの登録を試します。前項の「Cloudflare PagesでApexドメインの設定」後の画面に変化があります
Cloudflare DNSへレコードが自動で登録出来るようになっています。「Activate domain」押下して、設定は完了です
Custom domainsの設定を確認しても「Activate」状態になっており、実際Cloudflare Pagesでホスティングしたサイトが閲覧できました
また、上記画像の赤枠部が設定可能かどうかの判断材料になると思っています。Custom domainで、Apexドメインが設定できないとき、切り分けとして適当なサブドメインを設定した際に赤枠のオプションは存在しませんでした。
推測ですが、Cloudflare PagesにClodflare DNSの設定が反映されておらず、Cloudflare DNS設定へ誘導されたと考えています。
最後に
果報寝て待て
参考
Getting Started with Cloudflare Pages, Google domains and Gmail
一連のツイート