酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

ドメイン管理を AWS Route 53 から Cloudflare に移管した

2022年11月に AWS Route 53 のドメイン更新料が値上げされた。一時期と比較してマシになったとは言えるものの円安傾向にある今日日 $1 の値上げでもドメイン数があると結構厳しいなと思っていた。

先日「Route 53 から Cloudflare にドメイン移管したい」という投稿をみて、「そういえば Cloudflare ってCDNだけじゃなくてドメインも売り出したんだっけ……」と調べてみたところ、本記事の執筆時点のレートで Route 53 を契約し続けるよりも約 700円の差があることがわかった

  • Route 53 では comドメインが $13 / year (執筆当時:1,729円/年)
  • Cloudflare では comドメインが $8 / year (執筆当時:1,064円/年)

さらに Route 53 ではホストゾーンごとに年600円の管理費と S3 の転送料がかかる。S3の料金は微々たるものではあるが、Cloudflareへ移管すると 1ドメインあたり年間1,200円近くの節約ができるようだ。ドメイン管理を AWS から Cloudflare に移管することを決意した。

ネームサーバーを Cloudflare に割り当てる

[サイトを追加]ボタンをクリックする。

移管したいドメイン名を入力する。

どのプランを利用するか選択する。無料で管理したいのでここでは[Free]を選択する。

さくさんの場合、ほぼすべてのサブドメインの末端サーバーははてなブログなので、攻撃を受けたとしてもはてな社のプロに任せることができる。どこかのタイミングで自前のWebサーバーを立ち上げたときにはプランを変更するだけでDDoS攻撃から守ってもらえるのは心強い。

入力したドメインから DNS レコードが読み込まれる。問題がなければそのまま [続行]ボタンをクリックする。

はてなブログを独自ドメインを使いたい場合にはプロキシステータスを OFF にしないといけないので注意すること *1

ネームサーバーを変更しろと表示されるので、AWS Route 53 に移動して指定された通りに変更する。

Route 53 でネームサーバーを Cloudflare に切り替える

AWS Route 53へ移動して、移管したいドメインのプロパティからネームサーバーの編集する。ネームサーバー欄の[ネームサーバーの追加/編集]ボタンをクリックすると変更ができる。

後述するが移管のロックを無効化してから実際に移管できるようになるまで2時間ほどかかるため、このタイミングで移管のロックを無効にしておくのも忘れないようにしよう。

ネームサーバーの編集が完了したら Cloudflare に戻る。

Cloudflare に戻って完了ボタンをクリックする

Cloudflare 側の[ネームサーバーをチェックしてください]ボタンをクリックする。

30分ほど待機したのち、Cloudflare のダッシュボード上でDNS管理が Cloudflare に切り替わった旨が表示される。Cloudflare のDNSに切り替え後にドメイン移管ができるようになる。

2時間ほど待機する

ネームサーバーの設定が浸透するのは伝搬されるのは一瞬で終わる。ただし、Cloudflareへドメインを移管できるようになるのは、Route 53の移管のロックを無効してから約1時間半後であった。

次の作業ができるようになるまで時間が空いてしまうので、このタイミングで諸々の確認をしておくこと。

  • DNS の設定が正しいのか? Route 53の既存の設定と比較して漏れがないのか?
  • ページルールを利用してexample.com/* から https://www.example.com へリダイレクトできるようになっているか?
  • Cloudflare のメールアドレス転送サービスを使って info@example.comwebmaster@example.com でメールを受け取れるのか?

ドメインを移管する

「素晴らしいですニュースです!」と表示されていれば、ネームサーバーは移行済みである。ドメイン登録欄の[Cloudflare に移管]ボタンをクリックする。

移管するドメインを選択して[続ける]ボタンをクリックする。.comドメインは安いけど、.netドメインはそれより少し高くなる。ICANN料金は日本語の「移管」と掛けてるのだろうか。

Route 53で承認コードを発行して、Cloudflareで入力する。入力が完了したら[移管を確認して確定する]ボタンをクリックする。

あらかじめメールを転送するように設定しておけば、ドメインレジストラ(この場合はAmazonから)メールが届き、本当に移管するのかどうかのメールが届く。クリックすればすぐに移管が完了するが、メールアドレスの設定をしていなければ5日間の待機期間ののちに移管される。

以上で Route 53から Cloudflare へドメイン管理を移管できた。

トラブルシューティング

さくさんが Cloudflare へドメインを移管するにあたってハマった事例を紹介する。

AWSで移管のロックを無効にしているのに移管ができない

ドメインの移管を進めようとしても、ステータスが「登録状況: クライアントの転送禁止」と表示されて移管処理を進めることができなかった。

英語表記では「Registry status: Client transfer prohibited」となる。対処方法はこのページに書かれている。Route 53側で移管のロックを無効にしなければいけない

ハマりどころとしては、Route 53でロックを無効にしても1時間半から2時間ほど待機しないと、Cloudflare のステータスは変わらず移管可能な状態にならなかった。おそらく Cloudflare側のキャッシュが更新されるのに時間がかかるのだと思う。

楽天VISAカードで支払いに失敗する

Cloudflare への支払い情報として楽天VISAカードを登録していたが、ドメイン移管時に決済が失敗した。楽天VISAカードを登録できるが決済には失敗する謎の現象であった。

支払い方法を PayPal に変更することで問題なく決済が通った。

原因自体はよくわからないが楽天側で不正利用として弾かれているのかもしれない。他の方の記事でも楽天カードがダメだったと書かれていたので自分だけの現象ではないことがわかり PayPal への切り替えができた。

はてなブログで独自ドメインを利用する際にはプロキシを有効にしてはいけない

はてなブログで独自ドメインを利用する場合プロキシを有効にしてはいけない。

プロキシステータスをOFF (DNSのみ)に設定すること。

まとめ

ドメイン管理を AWS Route 53 から Cloudflare に移管する方法を紹介した。AWS から Cloudflare へ移管することでドメインあたり年間1,200円ほどコスト削減できるようになった。

安かろう悪かろうでなく、Cloudflare はサービスとして後発なのもあってダッシュボードが整理されていて必要な機能にアクセスしやすい。AWS は歴史的経緯があるため機能が多くて各機能間の連携がさくさんには難しいところがあった。もし将来的に Cloudflare の費用が値上げされて AWS と同程度のコストがかかるようになった場合でも我が家では Cloudflare を使っていきたいと思う。

最終的にはすべてのドメインを Cloudflare で管理したいと考えているが、 ch3cooh.jp にはサブドメインがたくさんあり整理しないといけないので、現時点での移行を躊躇している。

参考記事

blog.k-bushi.com

zenn.dev