2026年5月27日
2026年5月27日
NSレコードの仕組みとゾーン委任の設定|サブドメインの委任と確認方法
NS レコードは、「このドメイン(ゾーン)の情報は、どの DNS サーバーが持っているか」を示すレコードで、上位のゾーンから下位のゾーンへ管理を任せる「委任」はこの NS レコードで成り立っています。委任を正しく設定するには、親ゾーン側の NS レコードと、子ゾーン側の NS レコードの両方をそろえることが要点です。この記事では、NS レコードと委任の仕組み、ドメイン全体のネームサーバーを変えるときとサブドメインだけを別の DNS に任せるときの設定手順、dig による確認方法とよくある失敗を解説します。
NSレコードとゾーン委任の仕組み
DNS は、ルート(.)から com や jp などの TLD、さらにその下の example.com へと、階層ごとに管理が分かれています。それぞれの管理範囲を「ゾーン」と呼び、上位のゾーンが「この名前より下は、こちらのサーバーに聞いてください」と案内することを委任と言います。その案内の中身が NS レコードです。
www.example.com の IP アドレスを調べるとき、フルリゾルバー(プロバイダや Google Public DNS などのキャッシュ DNS)は次の順で問い合わせます。
- ルートサーバーに聞くと、
comを管理するサーバー(NS)を教えられる comのサーバーに聞くと、example.comを管理するサーバー(NS)を教えられるexample.comの権威 DNS サーバーに聞くと、www.example.comの A レコードが返る
このとき、NS レコードは2か所に存在します。
- 親ゾーンの NS レコード(委任情報):
comのゾーンに登録されているexample.comの NS。ドメインの場合、レジストラの管理画面で「ネームサーバー」として設定するのがこれです - 子ゾーンの NS レコード:
example.comのゾーンの中に書かれている自分自身の NS。権威 DNS サーバーが返す正式な情報です
この2つは同じ内容にそろえるのが原則です。食い違っていると、問い合わせるリゾルバーやタイミングによって結果が変わり、原因の分かりにくい不具合になります。
NSレコードの書き方と決まりごと
ゾーンファイルで書くと、次のようになります。
example.com. 3600 IN NS ns1.example.net.
example.com. 3600 IN NS ns2.example.net.
- 値には DNS サーバーのホスト名を書きます。IP アドレスは書けません。また、CNAME(別名)のホスト名を NS の値に使うことは規格上認められていません
- NS は2台以上を指定するのが一般的で、レジストリや DNS サービスの多くも複数の指定を求めます。1台が止まっても名前解決を続けるためで、できれば別のネットワークに置かれたサーバーを使います
- DNS サービス(Cloudflare、Amazon Route 53、レンタルサーバーの DNS など)を使う場合、NS の値はサービス側が割り当てたものを使います。自分で好きな名前を付けるものではありません
グルーレコードが必要な場合
example.com のネームサーバーを ns1.example.com のように、そのドメイン自身の中の名前にする場合は注意が要ります。ns1.example.com の IP アドレスを知るには example.com の DNS に聞く必要があり、その example.com の DNS の場所を知るには ns1.example.com の IP アドレスが要る、という循環になるためです。これを解決するため、親ゾーンにネームサーバーの IP アドレス(グルーレコード)を一緒に登録します。レジストラの管理画面では、「ネームサーバーのホスト登録」などの名前で用意されていることが多いです。DNS サービスを使っていて、ネームサーバーが別のドメインの名前なら、グルーレコードは不要です。
ドメイン全体のネームサーバーを変える
レンタルサーバーの DNS から Cloudflare に移る、サーバー会社を乗り換えるなど、ドメイン全体の DNS を移すときは、レジストラ側の NS(親ゾーンの委任情報)を書き換えます。手順は次のとおりです。
- 今の DNS のレコードをすべて書き出す:A、AAAA、CNAME、MX、TXT(SPF・DKIM・DMARC・各種サービスの所有権確認)、サブドメインのレコードを控えます。移行先の DNS には、旧 DNS のレコードは自動では引き継がれません(自動で読み込む機能があるサービスでも、漏れがないか確認します)
- 移行先の DNS に同じレコードを登録する:ネームサーバーを切り替える前に、すべてのレコードを登録しておきます
- 移行先に直接問い合わせて確認する:
dig @新しいネームサーバー www.example.comのように、切り替え前でも新しい DNS が正しく答えるかを確認できます - DNSSEC を使っている場合は先に対処する:親ゾーンに DS レコードが登録されたまま、別の鍵を使う DNS に移ると、DNSSEC を検証するリゾルバーから名前解決できなくなります。先に DS レコードを削除してその TTL が過ぎるのを待つか、移行先の案内に従って鍵の移行を行います
- レジストラの管理画面でネームサーバーを書き換える
- 旧 DNS はしばらく残す:委任情報のキャッシュが切れるまで、旧 DNS に問い合わせるリゾルバーが残ります。数日は旧 DNS のレコードを消さず、内容も変えないでおきます
親ゾーンの NS レコードの TTL は TLD 側が決めており、長めの値(たとえば com では2日程度)になっていることが多いため、切り替えが行き渡るまでには時間がかかります。この TTL は自分では変えられません(2026年10月現在)。
サブドメインだけを別のDNSに委任する
dev.example.com 以下だけを、別のチームや別の DNS サービス(例:AWS の Route 53)で管理したい場合は、サブドメインの委任を行います。ドメイン全体のネームサーバーは変えずに済みます。
- 委任先の DNS サービスで、
dev.example.comのゾーン(ホストゾーン)を作成し、割り当てられたネームサーバーの名前を控える - 親である
example.comのゾーン(今使っている DNS の管理画面)に、ホスト名dev、種類 NS、値に控えたネームサーバーのレコードを、割り当てられた台数分追加する - 委任先のゾーンに、
dev.example.com以下の A レコードなどを登録する
ゾーンファイルで表すと、親ゾーンに次のような行が加わります。
dev.example.com. 3600 IN NS ns-a.example.org.
dev.example.com. 3600 IN NS ns-b.example.org.
委任した後は、dev.example.com とそれより下の名前(api.dev.example.com など)のレコードは、委任先のゾーンにだけ書きます。親ゾーンに同じ名前の A レコードなどが残っていても使われず、どちらが正しいのか分からなくなる原因になるので削除します。また、委任した名前(dev.example.com)に CNAME を置くことはできません。
委任が正しいかの確認方法
dig コマンドで、親と子の NS レコードをそれぞれ確認します。
# いつも使っているリゾルバー経由で NS を確認
dig NS example.com +short
# ルートから順にたどり、どの段階でどの NS が返るかを表示
dig +trace www.example.com
# 子ゾーン(権威 DNS サーバー)が返す NS を確認
dig NS example.com @ns1.example.net +norec
+trace の出力では、TLD のサーバーが返す NS(親側の委任情報)と、最終的に権威 DNS サーバーが返す結果を見比べられます。親側で返る NS と、権威 DNS サーバーが返す NS が一致していれば、委任は正しく設定されています。サブドメインの場合は、dig NS dev.example.com @親ゾーンのネームサーバー +norec で、親ゾーンに委任の NS が入っているかを確認します。
よくある失敗
レジストラの NS を変えたのに古いサーバーに向いたまま:親ゾーンの NS は TTL が長いため、反映に時間がかかります。dig +trace で TLD のサーバーが新しい NS を返していれば、設定自体は済んでいます。
委任先が応答しない(レームデリゲーション):親ゾーンの NS が指すサーバーに、そのゾーンが作られていない、あるいは別のアカウントのゾーンを指している状態です。委任先で dig @委任先のネームサーバー example.com SOA を実行し、応答と AA(権威ある応答)フラグを確認します。DNS サービスを解約した後も NS がそのまま残っていると、第三者にそのゾーンを作られて乗っ取られる危険があるため、使わなくなった委任は削除します。
移行後にメールが届かない、一部のサービスが使えない:移行先の DNS に MX や TXT のレコードを登録し忘れている場合がほとんどです。移行前に書き出したレコードと、移行先の内容を見比べます。
まとめ
- NS レコードはゾーンの権威 DNS サーバーを示し、親ゾーンから子ゾーンへの委任を表す
- 親ゾーンの NS(レジストラで設定)と子ゾーンの NS は同じ内容にそろえる
- NS の値はホスト名で、自分のドメイン内の名前を使うならグルーレコードが要る
- ネームサーバーの変更は、全レコードの移行・DNSSEC の対処を済ませてから行い、旧 DNS はしばらく残す
- サブドメインは、親ゾーンに NS レコードを追加することで、別の DNS に委任できる
dig +traceと+norecを使い、親と子の NS が一致しているかを確認する