ウェブサーバーを管理していると「DNS」「ネームサーバー」「NSレコード」「DNSレコード」という言葉を必ず耳にします。名前もなんとなく似ている。それぞれが複雑に絡み合っているため、「いまいち違いがわからない…」と悩んでいる方も多いのではないでしょうか?
本記事では、そんな疑問を解決すべく、3つの言葉の役割と関係性を、初心者の方にもわかりやすいように解説しています。
これを読めば、ドメインとIPアドレスを結びつける仕組みがスッキリ理解できます。さっそく見ていきましょう。
DNS、ネームサーバー、DNSレコードは別物!
それぞれの用語を解説する前にお伝えしたいことは、それぞれどれも別物ということです。この点を把握しておかないと混乱が増すので注意が必要です。
DNSは「ドメインネームシステム」と呼び、NSはネームシステムです。ネームサーバーの略ではありません。
ネームサーバーのことをNSと書くこともあるので、ややこしいポイントです。
DNSレコードは、データ(=情報)そのもの指しているので、DNS(=システム)とは異なります。
全体をまとめると、DNSというシステム(仕組み、枠組み)の中の構成要素として、ネームサーバーやDNSレコードがあります。
DNS
DNSとは何か?
DNSは「ドメイン ネーム システム (Domain Name System)」と言い、 人間が覚えやすいドメイン名(例:www.google.com)とコンピューターが通信に使うIPアドレス(例:172.217.161.132)を相互に変換する仕組みです。
簡単に言うと、ドメインとIPアドレスを紐づける仕組みです。
インターネット上の電話帳のような役割を担っており、ユーザーがドメイン名を入力すると、DNSが自動的に対応するIPアドレスを探し出し、正しいサーバーに接続できるようにしています。
DNSの仕組み
DNSの仕組みは、以下の4つの主要なサーバーで構成されています。
- リゾルバー
- ルートサーバー
- TLD (Top-Level Domain) サーバー
- 権威DNSサーバー
なお、これら4つのサーバーをDNSサーバーと言います。
リゾルバー
ユーザーのコンピューターやルーターに設定されたDNSサーバーで、問い合わせの窓口となります。
ユーザーが側から見ると、表面的にはリゾルバーにドメインを問い合わせて、IPアドレスを教えてもらう形になります。
「リゾルバー (resolver)」という名前は、英語の「resolve」に由来します。これは「解決する」という意味で、ドメイン名という「問題」を、IPアドレスという「答え」に解決する役割を表しています。
つまり、ドメイン名からIPアドレスを導き出す「名前の解決 (name resolution)」を行う「者 (er)」という意味です。
リゾルバーにはキャッシュ機能があり、過去に解決したドメイン名とIPアドレスの情報を一時的に保存しています。
キャッシュにデータがない場合、IPアドレスを特定するために他のDNSサーバーに順次問い合わせを開始します。
ルートサーバー
ルートサーバーは、DNS階層構造の頂点に位置するサーバーです。
世界に13のルートサーバー群が存在し、それぞれがTLD(トップレベルドメイン)サーバーのIPアドレスを管理しています。
リゾルバーは、ドメイン名解決の最初のステップとして、ルートサーバーに「.comや.jpなどのTLDサーバーはどこにありますか?」と問い合わせます。ルートサーバーは、リゾルバーに対して、該当するTLDサーバーのIPアドレスを教えます。
TLD(トップレベルドメイン)とは、ドメインの一番最後のドット以下の部分です。
「.jp」「.com」「.org」「.net」「.xyz」「.life」など様々なTLDが存在します。
TLDサーバー
TLDサーバーは、.comや.jp、.orgといったトップレベルドメインを管理しています。ルートサーバーからTLDサーバーの情報を教えてもらったリゾルバーは、次にTLDサーバーに「example.comというドメインの権威DNSサーバーはどこにありますか?」と問い合わせます。
TLDサーバーは、example.comを管理している権威DNSサーバーのIPアドレスをリゾルバーに返します。
権威DNSサーバー
権威DNSサーバーは、特定のドメイン(例:example.com)に対する最終的な情報(ドメイン名とIPアドレスのペア)を管理するサーバーです。
TLDサーバーから権威DNSサーバーの情報を得たリゾルバーは、最後に権威DNSサーバーに直接「www.example.comのIPアドレスは何ですか?」と問い合わせます。権威DNSサーバーは、リゾルバーにwww.example.comの正確なIPアドレスを返します。
この一連の流れを経て、リゾルバーは最終的にユーザーのPCに正しいIPアドレスを伝え、ユーザーは目的のウェブサイトにアクセスできるようになります。
DNSの流れ(まとめ)
上記の主要な4つのDNSサーバーの役割をまとめると次のようになります。
1 「example.comのサイトが見たい」
(クライアントがリゾルバーに問い合わせる)
↓
2「.com」などのTLDを管理しているサーバーを探す
(ルートサーバーが見つかる)
↓
3 「.com」を管理しているサーバーを探す
(TLDサーバーが見つかる)
↓
4 「example.ocm」を管理しているサーバーを探す
(権威サーバーが見つかる)
↓
5 exampl.comに対応する「IPアドレス」を探す
(結果を、リゾルバーに返す)ネームサーバー
ネームサーバーとは何か?
ネームサーバーは、DNSサーバーの別名です。
ドメイン名(例:example.com)とIPアドレス(例:93.184.216.34)を結びつけ、相互に変換する「名前解決」を行うサーバーの総称です。
DNSを構成する上記4つのDNSサーバーは全てネームサーバーです。
一般的に「ネームサーバー」というとドメイン(example.com)とIPアドレスを紐づける「権威サーバー」のことを指します。(詳細は後述)
一般的なネームサーバー
サーバー管理をしていると「ネームサーバー」という用語を耳にします。
レンタルサーバーなどWEBサイトを運営するサーバーがある場合に、独自ドメインを使う場合はネームサーバーの設定をする必要があります。
例えば、Xerverを使っている場合は「ns1.xserver.jp」、lolipopの場合は「uns01.lolipop.jp」、お名前.comの場合は「ns-rs1.gmoserver.jp」などです。
このとき、指しているネームサーバーとは「権威DNSサーバー」のことです。
そもそも、権威サーバー以外のTLDサーバーやルートサーバーは一般の人がいじれるものではありません。
なので、サーバー管理する上で「ルートサーバー」の場合「権威サーバー」を指すととらえてほぼほぼ問題ありません。
ネームサーバー「ns1.xserver.jp」「uns01.lolipop.jp」「ns-rs1.gmoserver.jp」は、ドメイン(example.com)とIPアドレスを紐づける「権威サーバー」のこと。
この場合、ネームサーバーの設定をするといった場合は、各ドメインと紐づくネームサーバーを登録することを指します。
NSレコード
ドメイン管理画面で「ns1.xserver.jp」といったネームサーバーの設定をすることがあります。
この、各ドメインとネームサーバーの情報(データ)をNSレコードといいます。
DNSレコード
DNSレコードとは何か?
DNSレコードは、DNSサーバー(特に権威DNSサーバー)に保存されている、ドメイン名に関するさまざまな情報を定義したデータです。
インターネット上の「住所録」や「電話帳」に書かれた個々の項目に例えることができます。
例えば、ドメイン名「example.com」に紐づくIPアドレスは「93.184.216.34」といった形でデータを保存します。
ドメイン名「example.com」に紐づくネームサーバーは「ns1.xserver.jp」というのもDNSレコードです。
それぞれの情報毎に○○レコードという名称がついています。
主要なDNSレコードの種類
DNSレコードには非常に多くの種類がありますが、主なものは以下になります。
- Aレコード (Address Record)
- AAAAレコード (IPv6 Address Record)
- CNAMEレコード (Canonical Name Record)
- MXレコード (Mail Exchanger Record)
- TXTレコード (Text Record)
- NSレコード (Name Server Record)
Aレコード (Address Record)
ドメイン名(例:www.example.com)をIPv4アドレスに紐づける最も基本的なレコードです。ブラウザがウェブサイトのサーバーを見つけるために使われます。
AAAAレコード (IPv6 Address Record)
Aレコードと同様に、ドメイン名をIPv6アドレスに紐づけるレコードです。
CNAMEレコード (Canonical Name Record)
ドメイン名に別名(エイリアス)をつけたいときに使用します。たとえば、blog.example.comをexample.comと同一のサーバーに紐づけたい場合に使われます。
MXレコード (Mail Exchanger Record)
特定のドメイン宛てのメールが、どのメールサーバーに送られるべきかを指定するレコードです。
TXTレコード (Text Record)
ドメインに関するテキスト情報を追加できるレコードです。メールの送信者認証(SPFやDKIM)や、ドメインの所有権確認など、様々な用途で利用されます。
なお、登録したSPFやDKIMなどを、SPFレコード、DKIMレコードと呼びます。
NSレコード (Name Server Record)
そのドメインの名前解決を管理している権威DNSサーバーを指し示すレコードです。このレコードによって、DNSの階層的な仕組みが機能します。
AレコードやMXレコードなどとNSレコードの違い
運営管理先が違う(設定先が違う)
上記で紹介したAレコードやMXレコードなどと、NSレコードには大きな違いがあります。
それは、AレコードやMXレコードは「サーバー管理会社側」で設定するのに対し、NSレコードは「ドメイン管理会社側」で設定するということです。
サーバー管理をするうえではここがポイントになります。
AレコードやMXレコードは同じ設定を別サーバーにできる
取得したドメインは、複数のサーバーに登録することができます。
例えばあなたが「your-domain.com」を取得した場合、そのドメインをXserver、Lolipop、お名前.comなどのレンタルサーバーにそれぞれ登録することができます。(※これらの設定はサーバー管理会社で行います)
その際、各レンタルサーバーでAレコードやMXレコードなどを設定することができます。
ただし、それぞれで登録したドメインの中で実際に参照されるのは一か所だけです。
どのサーバーに登録したドメインに関する情報を参照するかを決めるのが、NSレコードです。
NSレコードは他のレコードと違って、ドメイン管理会社側の管理パネルなどで設定を行います。
NSレコードに「your-domain.com」は「ns1.xserver.jp」だと登録すれば、Xserverの設定を参照するようになります。
一方、ネームサーバーの情報を書き換えて「uns01.lolipop.jp」にすれば、Lolipopの設定を参照するようになります。
移管の際は、Aレコードなどサーバー側の設定を書き換えるのではなく、事前に移管先のサーバーに同じドメインを登録しておき、最後にドメインのNSレコードの書き換えを行うとスムーズです。
まとめ
最後にそれぞれの用語をまとめると以下のようになります。
- DNS: ドメイン名とIPアドレスを紐づける(名前解決を行う)システム全体のこと。
- DNSサーバー: 名前解決を実際に行うサーバーのこと。
- ネームサーバー = DNSサーバー
※ただし、最終的に一般的にドメイン名とIPアドレスを紐づける「権威サーバー」のことを指す。 - NSレコード: ドメインとその情報を保存するネームサーバー(例:ns1.xserver.jp)を紐づけた情報のこと。
- DNSレコード:DNSで参照する一組のデータセット。NSレコードもDNSレコードの一種。


