ドメインをCloudflareに移管する
現在2つのドメインを異なるレジストラに所有して管理しています。
- taiko19xx.net (Amazon Registrar/AWS Route53)
- taiko19xx.dev (Google Domains)
このうちGoogle Domainsが買収され他社に引き継がれるという話がありました。
その件の善し悪しはさておき、いい機会ですので、ドメインを一括管理すべく今回Cloudflareに移管します。
移管後の運用方法がそれぞれ異なりますので
- taiko19xx.netはAWSとがっちり紐付いている。Route53でAliasを使っているため、移管後NSレコードをRoute53のゾーンのアドレスにする必要がある
- taiko19xx.devはGitHub Pagesとのみ紐付けているので、DNSも含めて完全に移管で良い
多少ダウンタイムも発生する気がしますが、あまり気にしないで進めます。
Google Domainsの方は、Cloudflareのネームサーバーを向くよう変更しておきます。
既存のレコードも一応取り込んでもらえるので便利です。
.netの方は完全に移管しない予定でしたが、折角なので全部引っ越すことにしました。
レコードのスキャンはありますが、サブドメインのものとかは流石に取り込んでくれなかったため、照らし合わせるのも含めて手動で移しました。
一応CNAMEのレコードはプロキシしないようにします。
Route53のRegistered Domainsから移管するドメインを選択して、ネームサーバーを切り替えておきます。
ネームサーバーの変更が適用されるとステータスがアクティブになるので、動作確認を進めます。
GitHub Pagesに設定している場合、TOO_MANY_REQUESTSになりました。
どうやら、デフォルトではCloudflare->オリジン(この場合はGitHub Pages)の通信は非SSLなのですがGitHub Pages側でSSLが有効になっていると、HTTP<->HTTPSのリダイレクトが永遠に続いてしまうようです。
「SSL/TLS」の概要から全体の設定を変更でき、これを「フル(厳密)」にすると解決します。ただし、全体的に適用されてしまうため、
「ルール」->「構成ルール」から、ホスト名完全一致で厳密モードにするようにします。
Enforce HTTPSの設定はGitHub Pagesにもありましたが、これを外しても変わりませんでした。タイミングかもしれませんが...。
また、Cloudfrontをバックエンドにしている場合は特に影響ありませんでした。
メールの送受信も合わせて確認できたため、ドメインを移管します。
基本的にはドキュメントに沿って進めます。- WHOISプロテクションが有効であれば解除
- ドメインロックの解除
を移管元のレジストラで行います。同時に、ドメインの管理者情報が最新でない場合は一応最新にしておきます。
Google Domainsの場合はスッと解除できますが、Route53の場合は各ステップで少し待ちます。
レジストラ側で準備ができてもCloudflare側で確認できないと先に進めないため、有効になるまで待ちます。
準備ができると費用が表示されるので、確認して先に進みます。
Route53の場合はすぐ表示されましたが、Google Domainsの場合は少し待ちました。
費用的には大きく変わりません。早く円高になるなることを祈ります。
(執筆時点で$1=145円)
ドメイン移管の認証コードを取得して設定、その後住所や電話番号を入力して先に進むと手続きが始まります。
この時点で請求が発生します。
移管元のレジストラから承認メールが来るので、承認してしばらく待つと移管されます。
$ whois taiko19xx.net
Domain Name: TAIKO19XX.NET
Registry Domain ID: 1831694680_DOMAIN_NET-VRSN
Registrar WHOIS Server: whois.cloudflare.com
Registrar URL: http://www.cloudflare.com
Updated Date: 2023-08-22T14:35:37Z
Creation Date: 2013-10-19T12:53:02Z
Registry Expiry Date: 2024-10-19T12:53:02Z
Registrar: CloudFlare, Inc.
Registrar IANA ID: 1910
whois
コマンドでもちゃんとCloudflareに移管されていることが確認できました。