ドメイン管理と DNS サーバー
「独自ドメイン+レンタルサーバー」を契約してブログサイトなどを立ち上げようとすると、どうしてもドメイン管理や DNS 設定を行う必要が出てきます。 同じ会社で一括契約すると、まとめて設定できる場合もありますが、これらは本来別々のサービスなので、ここで簡単に整理しておきます。
ドメイン取得・管理は、レジストラ(およびその委託先会社)が行っており、世界で一意なドメインを運用します。
日本では、お名前.com (by GMO)
などが有名ですね。
一方で、DNS サービスは、このドメイン名を具体的な IP アドレスに関連づける機能を提供します。
レジストラのドメイン管理サービスは、あくまでドメイン名の登録・管理が主な役割であり、DNS サービスは別の機能として提供されています。
そのため、ドメイン管理会社でドメインを取得したら、そのドメインの名前解決に使用する DNS サーバーのアドレスを教えてあげる必要があります(NS 設定 と呼ばれます)。
上の図では、お名前.com
のドメイン管理設定で、さくらインターネットの DNS サーバー (ns1/2.dns.ne.jp) のアドレスを設定する例を示しています。
お名前.com 自体も DNS サーバー機能を提供しているので、そちらを使うこともできます。
この設定により、ユーザーが example.com にアクセスしようとすると、DNS サーバー (ns1.dns.ne.jp) によって IP アドレス (12.34.56.78) に変換され、そのアドレスの Web サーバーにアクセスできるという仕組みになっています。
ここでは、example.com のアドレスを管理しているサーバーを DNS サーバーと呼んでいますが、より具体的には、ドメインの正式なレコードを保持・回答するサーバーは ネームサーバー(権威 DNS サーバー) と呼ばれます。
英語では "Authoritative DNS Server" です。
DNS サーバーは、ネームサーバー以外にも、ユーザーの DNS クエリに対してキャッシュされたレコードを返すリゾルバーなどがあります。
- ルートサーバー
- ルートゾーン(
.) の情報(.comや.jpを誰が管理しているか)を管理。 - TLD サーバー(トップレベルドメインサーバー)
.comや.jpなどのゾーン情報(example.comを誰が管理しているかの情報)を管理。- ネームサーバー(権威 DNS サーバー)
- 特定のドメイン(
example.comなど)の正式な A レコード・MX レコードなどを管理。 - リゾルバー
- ユーザーの DNS クエリに対して、キャッシュされたレコードを返す。キャッシュがなければルートサーバーから順に再帰的に問い合わせて解決する。
お名前.com などのレジストラの Web サイトでの NS 設定では、上記の「ネームサーバー」のアドレスを「TLD サーバー」に登録するという処理を行っています。
下記のように nslookup コマンドを実行すると、リゾルバーに問い合わせて example.com の IP アドレスを取得することができます。
$ nslookup example.com
Server: 1.1.1.1
Address: 1.1.1.1#53
Non-authoritative answer:
Name: example.com
Address: 104.20.23.154
Name: example.com
Address: 172.66.147.243
1.1.1.1 というのは Cloudflare のリゾルバーで、キャッシュされたexample.com の情報を返してくれています。
回答したサーバー (1.1.1.1) が権威 DNS サーバーではなくリゾルバーであるため、Non-authoritative answer と表示されています。
キャッシュからの回答か再帰問い合わせの結果かに関わらず、権威 DNS サーバー以外からの回答はすべてこのように表示されます。
組み合わせの例
| ドメイン取得・管理 | DNS サーバー | Web サーバー |
|---|---|---|
| お名前.com | お名前.com | お名前.com |
| お名前.com | さくらインターネット | さくらインターネット |
| お名前.com | AWS (R53) | AWS (EC2) |
多くの場合、このように DNS サーバーと Web サーバーは同じ会社のものを使います。 レンタルサーバーのアドレスなどを自動で設定できたりして便利だからです。 DNS サーバーの使用料金はレンタルサーバーの使用料金に含まれていることが多いですが、AWS の R53 などは個別に使用料金がかかります。
一方、ドメイン取得・管理会社については、年ごとの更新費用などが安い「お名前.com」などを選ぶことが多いです。 Amazon (AWS) などのクラウドサービスでもドメインを取得できますが、やや割高です。
レジストラやネームサーバーの情報を確認する
whois コマンドを使うと、指定したドメインがどのレジストラで管理されているかや、どのネームサーバー(権威 DNS サーバー)でアドレス管理されているかといった情報を確認できます。
$ whois maku.blog | grep -i "name server:\|registrar:" | sort -u
Name Server: 01.dnsv.jp
Name Server: 02.dnsv.jp
Name Server: 03.dnsv.jp
Name Server: 04.dnsv.jp
Registrar: GMO Internet Group, Inc. d/b/a Onamae.com
レジストラの情報は、次のような Web サイトでも確認できます。
上記の出力から、ドメイン maku.blog は「GMO Internet Group(お名前.com)」というレジストラで登録・管理されており、DNS レコードの管理も 01〜04.dnsv.jp という「お名前.com」の DNS サーバーで行われていることがわかります。