ブログのドメインを Google Domains から Cloudflare に移行した
Google Domains が Squarespace に買収されることが発表された。
Squarespace への Google Domains のドメイン登録の譲渡について - Google Domains ヘルプ
これに伴い、このブログのドメインの管理先を Google Domains から Cloudflare に移行したので、その過程について記す。
移行先の比較
Squarespace にドメインが移行された場合のドメイン更新料を把握するため、試しに適当なドメインで検索してみたところ、主要な TLD で ¥3,000/年 だった。 Google Domains では ¥1,400/年だったので、2倍近くの値上がりになる。
いくつか他のサービスも検討してみる。以下の記事を主に参考にした。
Googleドメイン売却!? 良さげな移行先サービスを比較してみた - Qiita
お名前.comは過去に使っていたが、宣伝メールに嫌気が指して Google Domains へ移行した過去があり、最初から候補から外している。さくらのドメイン、ムームードメインはあまり周囲で使っている人の話を聞かないので、これらも候補から外した。
候補に残ったのは Amazon Route 53 と Cloudflare Registrar だった。前者は使用経験があり、後者はなかった。値段感はそれほど大きく変わらないようだったのでどちらでも構わなかったが、使ったことのないサービスを使ってみたい気持ちがあったので Cloudflare Registrar を利用することにした。
ちなみにこのブログのホスティングに利用している Vercel でもドメインを管理できるようだったが、 $20/年 と若干高めだったので、結論は変わらず。
移行手順
次の手順に従って移行を進めた。
Transfer your domain to Cloudflare · Cloudflare Registrar docs
Cloudflare のネームサーバーへの変更
前述したように Cloudflare を使ったことがなかったので、まずはアカウントを作成した。アカウントが作成できたら、ダッシュボードページの右上の Add site を選択し、登録したいサイトのドメインを入力する。
次に進むと、プラン選択のページが続く。今回は特にエッジの機能を求めているわけではないので Free を選択した。
Overview のページに遷移するが、数秒後に自動的に Quick Scan が走り、 Review your DNS records のページへ遷移する。既にネームサーバーがあれば、指定されたドメインの DNS レコードが自動的にスキャンされ、 Cloudflare のネームサーバーの DNS レコードへの追加候補として表示してくれるようだった。自分が利用していた Google Domains のネームサーバーのレコードと比較してみたところ、 CNAME _domainconnect connect.domains.google.com
というレコードが Cloudflare 側に追加されていた。調べてみたところ、これは Domain Connect プロトコルによって定義されており、対象ドメインのネームサーバーを発見するのにわざわざ TLD にクエリしなくても済むようにするためのレコードらしい [^1]。 Google Domains のネームサーバーを指したままになっているのは問題に思えたので、これを削除した。
また Proxy status は一旦 DNS only に設定した。最初はこれを Proxied に設定していたのだが、 hamakou108.com へのリクエストが hamakou108.com に 308 リダイレクトされるようになり、ブラウザで Too Many Requests エラーになる事象が発生してしまった。時間経過 (数時間〜数日程度?) で直るようだったが、何かしら他の問題が発生した場合に原因の切り分けが難しくなりそうだったなので、一旦設定を後回しにした。
追記 (2023-08-28): SSL/TLS encryption mode の設定を Flexible から Full (strict) に変更したら解消された。 Flexible の場合は Cloudflare から Origin (Vercel) までのリクエストが HTTP で送信される [^2]が、 Vercel は HTTP から HTTPS へのリダイレクトを行うようで、その結果リダイレクトループが発生していたらしい。 Full (strict) の場合は Cloudflare から Origin まで HTTPS で通信される。
次に進むと、ネームサーバーの変更手順が示されたページに遷移する。 Cloudflare のネームサーバー名が表示されているので控えておく。
Google Domains の DNS 設定のページを開き、 Custom name servers のタブを選択する。 Manage name servers をクリックして、先程の Cloudflare のページに記されていたネームサーバーを登録する。ここまでの設定が一通り済んだら、 Switch to these settings を押してネームサーバーを変更する。
後はネームサーバーの更新が反映されるまで最大24時間待つ。 dig コマンドなどを使ってネームサーバーが更新されたか確認し、更新後にサイトを表示できることを確認する。
❯ dig hamakou108.com +nssearch
SOA brynne.ns.cloudflare.com. dns.cloudflare.com. 2317905758 10000 2400 604800 1800 from server 108.162.194.65 in 9 ms.
SOA brynne.ns.cloudflare.com. dns.cloudflare.com. 2317905758 10000 2400 604800 1800 from server 108.162.195.233 in 9 ms.
SOA brynne.ns.cloudflare.com. dns.cloudflare.com. 2317905758 10000 2400 604800 1800 from server 162.159.44.233 in 8 ms.
SOA brynne.ns.cloudflare.com. dns.cloudflare.com. 2317905758 10000 2400 604800 1800 from server 162.159.38.65 in 9 ms.
SOA brynne.ns.cloudflare.com. dns.cloudflare.com. 2317905758 10000 2400 604800 1800 from server 172.64.34.65 in 9 ms.
SOA brynne.ns.cloudflare.com. dns.cloudflare.com. 2317905758 10000 2400 604800 1800 from server 172.64.35.233 in 10 ms.
ドメインの移管
ドメインの移管は次の記事の通りに移行できたので、手順は省略する。
Google DomainsからCloudflareにドメインを移管した - ぷらすのブログ
移行後
別段困ることなく運用できている。また特に設定しなくてもトラフィックを分析・集計してくれる機能があるなど、 Google Domains よりも付加価値は高いかもしれない。今のところ、移行して良かったと感じている。
[^1]: The Domain Connect Protocol | What is _domainconnect? [^2]: cloudflare/cloudflare-docs - GitHub