2026年6月12日

2026年6月12日

AレコードとNSレコードを併用する設定|頂点・サブドメインの委任・ネームサーバーのグルーで正しく組み合わせる

AレコードとNSレコードは、置く場所によって「普通に並べてよい組み合わせ」と「並べると片方が無視される組み合わせ」に分かれます。ルートドメインではNSとAを並べるのが通常の形です。一方、サブドメインをNSで別のDNSへ委任したら、そのサブドメインのAレコードは委任先のゾーンに書きます。また、ネームサーバーのホスト名が自分のドメインの中にある場合は、そのホスト名のAレコードを親ゾーンにも「グルー」として登録する必要があります。この記事では、この3つの場面ごとに設定の書き方と確認方法を説明します。

AとNSの役割の違い

  • Aレコード:名前に対応するIPv4アドレスを返します。Webサイトやメールサーバーの場所を示す答えそのものです。
  • NSレコード:その名前から下の管理を、どのネームサーバーが受け持つかを示します。答えではなく「ここに聞いてください」という案内です。

NSが置かれた名前は、そこでゾーンが区切られる場所(委任点)になります。この区切りの上と下で、Aレコードを書くべきゾーンが変わる点が、併用するときの要点です。

場面1:ルートドメインでNSとAを並べる

example.com のようなゾーンの頂点には、ゾーン自身のNSレコードとSOAレコードが置かれます。ここにWebサイト用のAレコードを並べるのはごく普通の構成で、競合はしません。

$TTL 3600
@     IN  SOA  ns1.example-dns.net. hostmaster.example.com. (
              2026101801 ; シリアル
              3600       ; リフレッシュ
              900        ; リトライ
              1209600    ; 期限
              300 )      ; ネガティブキャッシュ
@     IN  NS   ns1.example-dns.net.
@     IN  NS   ns2.example-dns.net.
@     IN  A    203.0.113.10
www   IN  A    203.0.113.10

頂点で問題になるのは、AではなくCNAMEです。CNAMEは同じ名前にほかのレコードを置けない決まりがあるため、NSとSOAがある頂点にはCNAMEを置けません。CDNなどのホスト名へ向けたいときは、Aレコードで直接IPアドレスを書くか、DNSサービスが用意しているALIASやCNAMEフラットニングなどの機能を使います。

DNSサービスの管理画面では、頂点のNSは自動で作られ、編集できないか、編集しても委任には影響しないことが多いです。実際の委任先はレジストラ(ドメインの登録事業者)側の設定で決まります。

場面2:サブドメインを委任したら、Aは委任先に書く

dev.example.com を別のDNSサービスやチームのネームサーバーに任せたい場合、親ゾーン(example.com)に dev のNSレコードを置きます。

; 親ゾーン example.com の中
dev   IN  NS   ns1.other-dns.net.
dev   IN  NS   ns2.other-dns.net.

こうすると、dev.example.com とその下の名前(www.dev.example.com など)は、すべて委任先のネームサーバーが答えます。親ゾーンに次のようなAレコードを残しても、委任点より下のデータとして扱われ、通常の問い合わせの答えには使われません。

; 親ゾーンに書いても使われない例
dev       IN  A   203.0.113.20
www.dev   IN  A   203.0.113.21

DNSサービスによっては、同じ名前にNSとAを並べようとすると保存時にエラーにしたり、警告を出したりします。サブドメインのAレコードは、委任先のゾーンに書きます。

; 委任先のゾーン dev.example.com の中
@     IN  A   203.0.113.20
www   IN  A   203.0.113.21

「サブドメインのAだけを親ゾーンで管理し、ほかのレコードは別のDNSに任せる」という分け方はできません。委任するかどうかは名前ごとに一方を選びます。親ゾーンで済むなら委任せずにAレコードを置き、別のDNSで管理したいなら委任して、そちらにすべてのレコードを書きます。

場面3:ネームサーバーのホスト名にAレコード(グルー)を用意する

NSレコードの値はIPアドレスではなくホスト名です。そのホスト名にはAレコード(IPv6ならAAAAレコード)が必要で、CNAMEにしてはいけない決まりがあります。

ネームサーバーのホスト名が委任するゾーンの中にあると、「ns1.example.com のIPアドレスを知るには example.com のネームサーバーに聞く必要があり、そのネームサーバーが ns1.example.com」という循環になります。これを解決するのが、親ゾーン側に置くネームサーバーのAレコード、いわゆるグルーレコードです。

自前のゾーン内でサブドメインを委任する場合は、親ゾーンにNSとグルーを並べて書きます。

; 親ゾーン example.com の中
dev       IN  NS  ns1.dev.example.com.
dev       IN  NS  ns2.dev.example.com.
ns1.dev   IN  A   203.0.113.53
ns2.dev   IN  A   198.51.100.53

ドメインそのものを自前のネームサーバーで運用する場合(example.com のネームサーバーが ns1.example.com)は、グルーを置くのはドメインの登録先のレジストリです。レジストラの管理画面で、ネームサーバーのホスト名とIPアドレスを登録する機能を使います。項目名は「ホスト名の登録」「ネームサーバーの登録」などレジストラによって違います(2026年10月現在)。

あわせて、自分のゾーンにも同じホスト名のAレコードを書いておきます。

; ゾーン example.com の中
@     IN  NS  ns1.example.com.
@     IN  NS  ns2.example.com.
ns1   IN  A   203.0.113.53
ns2   IN  A   198.51.100.53

グルーとゾーン内のAレコードは別々に管理されるため、ネームサーバーのIPアドレスを変えるときは両方を更新します。片方だけ変えると、問い合わせの経路によって新旧のアドレスが使い分けられ、一部の利用者だけ名前解決に失敗することがあります。

なお、ネームサーバーのホスト名が別のドメイン(例:ns1.example-dns.net)にある場合は、グルーは不要です。DNSサービスのネームサーバーをそのまま使う多くの構成はこちらに当たります。

設定後の確認方法

委任とグルーは、親ゾーンのネームサーバーに直接聞くと確かめられます。

# ルートからたどり、どこで委任され、誰が答えているかを見る
dig www.dev.example.com A +trace

# 親ゾーンのネームサーバーに直接聞き、委任とグルーを見る
dig example.com NS +short
dig @ns1.example-dns.net dev.example.com NS +norecurse

+norecurse で親ゾーンに聞いた結果では、AUTHORITY 欄に委任先のNSが、ADDITIONAL 欄にグルーのAレコードが表示されます。ドメインそのもののグルーは、TLDのネームサーバーに聞いて確かめます。

# TLD(.com の例)のネームサーバーを調べ、そこに直接聞く
dig com NS +short
dig @a.gtld-servers.net example.com NS +norecurse

最後に、委任先が答えを返すかを確かめます。

dig @ns1.other-dns.net www.dev.example.com A +norecurse +short

親ゾーンと委任先でNSの一覧が違う、グルーのアドレスとゾーン内のAレコードが違う、といった食い違いがあれば、両方をそろえます。

作業時の注意

  • ゾーンファイルを編集する前にはファイルを控え、編集後はSOAのシリアル番号を上げてから読み込み直します。
  • 委任を追加した直後は、親ゾーンに残っていたAレコードの古い答えがキャッシュにあることがあります。古いレコードのTTLが切れるまでは新旧が混ざります。
  • 委任先のネームサーバーに、委任したゾーンがまだ作られていないと、問い合わせが失敗します。委任先でゾーンとレコードを用意してから、親ゾーンにNSを追加する順序にします。

まとめ

  • ルートドメインでは、NSとAを並べるのが通常の構成です。頂点に置けないのはCNAMEです。
  • サブドメインをNSで委任したら、そのサブドメインのAレコードは委任先のゾーンに書きます。親ゾーンに残したAは使われません。
  • ネームサーバーのホスト名が委任するゾーンの中にあるときは、親側にグルーのAレコードが必要です。ドメインそのものの場合はレジストラで登録します。
  • ネームサーバーのIPアドレスを変えるときは、グルーとゾーン内のAレコードを両方更新します。
  • dig +trace と +norecurse で親ゾーンに直接聞き、委任とグルーを確かめます。

お気軽にご相談ください

お見積りへ お問い合わせへ
▲