【備忘録】ドメイン維持費を底値にする。NamecheapからCloudflare移管でハマった3つの罠
最近、個人で抱えているソロプロジェクト用のドメイン(.comや.xyzなど)の更新時期が近づいてきた。
現在Namecheapで管理しているのだが、複数ドメインの更新料(1年で$15くらい)が地味にボディーブローのように効いてくる。
そこで、利益ゼロの「原価(仕入れ値)」でドメインを提供しているというCloudflareに移管(Transfer)することにした。Cloudflareなら更新のたびに利益を上乗せされず、一生$10前後で維持できる。コストを最小化して一人で完結する仕組みを作るには必須のインフラだ。
ただ、この移管作業、実際にやってみるとUIの導線やシステム的な仕様でかなり戸惑う部分が多かった。AIと壁打ちしながらなんとか完了させたので、今後また移管する時のために、ハマったポイントを備忘録として残しておく。
罠1:「DNSの変更」と「レジストラの移管」を混同する
Cloudflareにドメインを追加し、Namecheap側でネームサーバーをCloudflareに向けた。 するとCloudflareの画面に「Your domain is now protected by Cloudflare」という緑色のチェックが出たので、「よし、移管完了したな」と安心していた。
しかし、これは罠だった。 AIに指摘されて気づいたのだが、これは「DNS(案内板)がCloudflareを向き、トラフィックが通り始めた」だけであり、「レジストラ(ドメインの戸籍・支払い先)」はまだNamecheapに残ったままだったのだ。 この状態では、当然ながら次回の更新料はNamecheapから請求されてしまう。「DNSの設定」と「戸籍の移動」は全く別の手続きだという、システム的には当たり前のことをすっかり失念していた。
罠2:CloudflareのUIの初見殺し(強制フェッチの場所)
DNSが向いた後、本丸の「移管」を進める。Namecheap側でドメインのロック(Domain Lock)を解除し、移管用のAuth Codeを取得した。
しかし、Cloudflareの画面に戻ると「Domain is locked.」と表示され、先に進めない。Namecheap側で鍵を開けたのに、Cloudflare側が古いステータスを記憶(キャッシュ)したままなのだ。
ここでCloudflareのUIの罠にハマる。 「Recheck(再確認)」ボタンを押して最新のステータスを取得させたいのだが、個別のドメイン管理画面(Overview)にはそんなボタンはない。 実は、左メニューの地球儀マーク「Domains」>「Transfers(移管)」というアカウント全体の一括管理画面に戻らないと、Recheckボタンが出現しない仕様なのだ。
SE目線で見ると、「なぜ個別のドメイン画面から強制フェッチのトリガーを引けないのか」と小一時間問い詰めたくなるUIだが、とにかくこれでステータスを同期させ、無事にAuth Codeを入力して決済(原価の$10.46)を済ませた。
罠3:移管の「即時承認(Approve)」は管理画面にはない
Cloudflare側で決済を終え、「よし、これで完了だ」と思ったら、ステータスが「Wait for your domain to be released(解放待ち)」で止まった。
ドメイン移管のルール上、元のレジストラ(Namecheap)は悪意のある移管を防ぐために最大5日間待機する仕様になっている。これをスキップするにはNamecheap側で「即時承認(Approve)」をしなければならない。
管理画面の「Sharing & Transfer」あたりに承認ボタンがあるだろうと探し回ったが、どこにもない。 AI曰く、「レジストリを経由したシステム間の非同期処理だから、バッチが回ってメールが飛んでくるまでタイムラグがある」とのこと。
しばらく待つと、Namecheapから Domain Transfer Request for tokyo86.com という件名のメールが届いた。そのメール本文内のリンクを開き、ようやく「Approve」を押すことができた。
結果、数十分で無事にCloudflareへの移管が完了した。
おわりに
終わってみれば、
- レジストリとレジストラ間の非同期処理のタイムラグ
- Cloudflareのキャッシュ仕様とUIの導線
- DNSとドメイン所有権の概念の違い
という、ITシステム特有の「お約束」に振り回されただけだった。不調をバグとして捉えるなら、システムの仕様を正しく理解していない自分の脳内モデルのバグだったと言える。
とはいえ、これで維持費は底値に固定された。 稼働していない死蔵ドメイン(現実運用できてないもの)は、わざわざ移管せずにNamecheapで自動更新をOFFにしておき、そのままExpire(有効期限切れ)させて自然消滅させる予定だ。
限られたリソースでソロ活動を続けるには、こういうインフラの無駄な出血を止めることが一番重要だ。さて、浮いたコストと時間で次の作業に戻ろう。