ネームサーバーとは何か?
ネームサーバーは、ドメインのDNSレコードを保存し、そのドメインに関する問い合わせへ応答するDNSサーバーです。NS(Name Server)レコードは、そのドメインを担当する権威ネームサーバーを指定し、DNS名前解決の責任をそれらのサーバーへ委任します。
ネームサーバーの仕組み
DNS階層では、NSレコードを使って委任が行われます。
1. ルートサーバーは、NSレコードを通じてTLDサーバーを示します
2. TLDサーバー(.com、.org)は、NSレコードを通じてドメインのネームサーバーを示します
3. ドメインのネームサーバーは、実際のDNSレコード(A、MX、CNAMEなど)を保持します
Query: example.com
→ Root: "Ask .com servers" (NS records)
→ .com: "Ask ns1.example.com" (NS records)
→ ns1.example.com: "Here's the IP" (A record)
NSレコードの形式
example.com. IN NS ns1.example.com.
example.com. IN NS ns2.example.com.
冗長性を確保するため、各ドメインには通常2~4台のネームサーバーが設定されます。
グルーレコード
ネームサーバーが担当するドメインの内部にある場合、グルーレコードによってそのIPアドレスが提供されます。
example.com. IN NS ns1.example.com.
example.com. IN NS ns2.example.com.
ns1.example.com. IN A 203.0.113.1
ns2.example.com. IN A 203.0.113.2
グルーレコードがなければ循環依存が起きます。ns1.example.comを解決するために、ns1.example.com自身へ問い合わせなければならなくなるためです。
ネームサーバーの種類
権威ネームサーバー
担当するドメインの実際のDNSレコードを保持し、問い合わせに対して確定的な回答を返します。
再帰リゾルバー
クライアントに代わって別のサーバーへ問い合わせます。ISPのDNSや、Cloudflare(1.1.1.1)とGoogle(8.8.8.8)などのサービスが再帰リゾルバーに当たります。
DNSホスティングプロバイダー
管理型の権威DNSサービスです。
| DNSホスティングプロバイダー名(サービス提供者) | 代表的なNSのホスト名(ネームサーバーの例一覧表) |
|---|---|
| Cloudflare | ns1.cloudflare.com |
| AWS Route 53 | ns-1234.awsdns-56.org |
| Google Cloud | ns-cloud-a1.googledomains.com |
| GoDaddy | ns1.godaddy.com |
ネームサーバーを変更する
レジストラでの変更
ネームサーバーは、ドメインレジストラの管理画面から変更します。これにより、TLDレベルのNSレコードが更新されます。
伝播にかかる時間
ネームサーバーの変更が世界中に伝播するまでには、各DNS階層のキャッシュの影響で24~48時間かかることがあります。
移行手順
1. 新しいプロバイダーでDNSを設定する - 切り替え前にすべてのレコードを作成します
2. TTLを短くする - 重要なレコードのTTLを下げます
3. レジストラでNSを更新する - 新しいネームサーバーを指定します
4. 伝播を待つ - 各地域の名前解決を監視します
5. 確認してTTLを戻す - すべてのレコードが機能することを確認して、TTLを通常値に戻します
ネームサーバーを確認する
digを使用する:dig example.com NS
; ANSWER SECTION:
example.com. 86400 IN NS ns1.example.com.
example.com. 86400 IN NS ns2.example.com.
whois/RDAPを使用する:
登録データからもネームサーバー情報を確認できます。
DomScanを使用する:curl "https://domscan.net/v1/health?domain=example.com"
# Returns hasNS status in health check
ネームサーバーのベストプラクティス
冗長性
常に2台以上のネームサーバーを使い、できれば異なるネットワークに配置してください。
example.com. NS ns1.provider.com. ; Network A
example.com. NS ns2.provider.com. ; Network B
地理的な分散
世界各地の利用者に対応する場合は、ネームサーバーを地理的に分散して、遅延を減らし障害への耐性を高めます。
TTLの設定
ネームサーバーは頻繁に変更されないため、NSレコードのTTLは通常長く(86400秒 / 24時間)設定します。
監視
ネームサーバーについて、次の項目を監視します。
- 可用性(問い合わせへの応答)
- 一貫性(すべてのサーバーが同じレコードを返すこと)
- パフォーマンス(応答時間)
ネームサーバーとドメインの利用可能性
ドメインにNSレコードが設定されていない場合、通常は次のいずれかを示します。
- 新しく登録されたドメインで、NSがまだ設定されていない
- 稼働中のDNSがない状態でドメインがパークされている
- DNS委任に問題がある
ただし、NSレコードがないことはドメインが利用可能である証拠にはなりません。登録状態の確認にはRDAP/WHOISを使用してください。
よくあるNSの問題
不完全な委任
NSレコードが、実際にはそのドメインのレコードを提供していないサーバーを指している状態です。DNS名前解決が機能しなくなります。
NSレコードの不一致
レジストラ側のNSレコードとゾーンファイル内のNSレコードが異なると、名前解決に問題が生じることがあります。
グルーレコードの欠落
ネームサーバーがドメイン内部にあるのにグルーレコードがない場合、循環依存によって名前解決に失敗します。
ネームサーバーはDNS委任の中核です。適切に設定すれば、ドメインを世界中から正しく名前解決できるようになります。