お名前ドットコムで取得したドメインのネームサーバーをCloudflareに変えるまで
はじめに
ConoHa VPS で複数サイトを運用していると、ドメインの管理先がバラバラになることがあります。
今回はこういう状況でした。
-
example-a.com:お名前ドットコムでドメイン取得、ネームサーバーもお名前ドットコムのまま -
example-b.com:Cloudflareでドメイン取得、ネームサーバーもCloudflare
example-b.com は前編・後編でCloudflare経由のHTTPS化が完了していたので、example-a.com も同じようにCloudflareに統一しようという話です。
ネームサーバーって何?
「ドメイン名 → IPアドレスへの変換を誰が担当するか」を決めるのがネームサーバーです。
- お名前ドットコムのネームサーバー → お名前ドットコムがDNS解決を担当
- Cloudflareのネームサーバー → CloudflareがDNS解決を担当
担当をCloudflareに変えることで、CloudflareのCDN・DDoS保護・シンプルな管理画面が使えるようになります。
この記事は、僕とAIのやり取りをまとめたものです!主は、Claude Codeと Codexを使用しています。
※ちゃんとソースを見るようにしてはいますが、一部誤った情報を記載してしまっている場合があります。その場合は、優しくコメントで教えてください♪
環境
- ドメイン取得元:お名前ドットコム
- ドメイン移行先:Cloudflare(ネームサーバーのみ変更、ドメイン自体の移管ではない)
- サーバー:ConoHa VPS
- Webサーバー:nginx
- Docker Compose運用(nginx + Next.js × 2の3コンテナ構成)
移行前の状態を確認する
まず現状を nslookup で確認しました。
$ nslookup example-a.com
Server: 8.8.8.8
Non-authoritative answer:
Name: example-a.com
Address: xxx.xxx.xxx.xx
VPSのIPアドレス(xxx.xxx.xxx.xx)が直接返っています。お名前ドットコムのネームサーバーがそのまま使われている状態です。
これはあまりよくない状態です。VPSのIPが外から丸見えになっているので、攻撃者にサーバーの場所を直接知られてしまいます。DDoS攻撃を受けた場合もVPSが直撃します。
比較として、すでにCloudflare経由になっている example-b.com はこうなります。
$ nslookup example-b.com
Server: 8.8.8.8
Non-authoritative answer:
Name: example-b.com
Address: 172.67.xxx.xxx
Name: example-b.com
Address: 104.21.xxx.xxx
CloudflareのIPが返っています。返ってくるIPがCloudflareのものになっているので、VPSのIPは外から見えません。Cloudflareが盾になって、攻撃はCloudflare側で弾いてくれる状態です。
example-a.com もこの状態にするのがゴールです。
Step 1: CloudflareにドメインをZoneとして追加する
Cloudflareダッシュボードで追加します。
- dash.cloudflare.com にログイン
-
「サイトを追加」 →
example-a.comを入力 - プランを選択(無料でOK)
- Cloudflareが既存のDNSレコードを自動インポートしてくれるので内容を確認
この時点ではまだお名前ドットコムのネームサーバーが生きているので、Cloudflare側は 「保留中」 の状態になります。Step 3でネームサーバーを変更して初めてCloudflareが有効になります。
Step 2: DNSレコードを確認・修正する
自動インポートされたレコードを確認します。VPSへのAレコードが正しく設定されているかチェックします。
| タイプ | 名前 | コンテンツ | プロキシ |
|---|---|---|---|
| A | @ |
VPSのIPアドレス | オン(推奨) |
プロキシの状態によって挙動が変わります。
| 状態 | 説明 |
|---|---|
| オン(Proxied) | アクセスがCloudflare経由になる。VPSのIPが隠れ、DDoS保護・CDNが有効。推奨 |
| オフ(DNS only) | 単純なDNS解決のみ。VPSのIPが直接返る。移行前と同じ状態 |
WebサイトであればプロキシはオンにするのがCloudflareを使う一番の理由でもあります。
Step 3: お名前ドットコムでネームサーバーを変更する
Cloudflareダッシュボードに表示されている2つのネームサーバーをコピーします。
evelyn.ns.cloudflare.com
hunts.ns.cloudflare.com
お名前ドットコムの管理画面で変更します。
- お名前ドットコムにログイン
- 対象ドメイン(
example-a.com)を選択 - 「ネームサーバーの変更」 → 「その他のネームサーバーを使う」
- Cloudflareの2つのネームサーバーを入力して保存
反映には数分〜最大24時間かかります。
Step 4: 反映を確認する
しばらく待ってから nslookup と dig で確認します。
$ nslookup example-a.com
Non-authoritative answer:
Name: example-a.com
Address: 104.21.xxx.xxx
Name: example-a.com
Address: 172.67.xxx.xxx
CloudflareのIPが返ってくればネームサーバーの切り替えは成功です。
dig でネームサーバー自体も確認できます。
$ dig NS example-a.com
;; ANSWER SECTION:
example-a.com. 21600 IN NS evelyn.ns.cloudflare.com.
example-a.com. 21600 IN NS hunts.ns.cloudflare.com.
evelyn.ns.cloudflare.com / hunts.ns.cloudflare.com が返ればCloudflareへの切り替え完了です。
遭遇したトラブル
1. 切り替え直後にnslookupで古いIPが返ることがある
$ nslookup example-a.com
Non-authoritative answer:
Name: example-a.com
Address: xxx.xxx.xxx.xx ← まだVPSのIPが返っている
DNSキャッシュの影響で、参照するサーバーによって古いIPが返ることがあります。しばらく時間が経てば揃います。dig NS でネームサーバー自体がCloudflareになっていれば問題ありません。
2. ERR_SSL_VERSION_OR_CIPHER_MISMATCH
ネームサーバー切り替え直後にブラウザでアクセスすると出ることがあります。CloudflareがHTTPSでVPSに接続しようとしているが、SSL/TLSの設定がまだ整っていない状態です。
しばらく待つか、CloudflareのSSL/TLS設定を確認してください。Let's Encryptの証明書がVPS側に入っていれば フル(厳密) のままで問題ありません。
まとめ
- ネームサーバーの変更はドメインの移管ではない(お名前ドットコムでドメインを持ったまま、DNS解決だけCloudflareに任せる)
- Cloudflare側に先にDNSレコードを設定してからネームサーバーを変更する順番が重要
- 切り替え後のDNSのばらつきはキャッシュの問題なので、時間が経てば揃う
-
dig NSでネームサーバーがCloudflareになっていれば切り替え完了