DNS委任とは?サブドメインを別管理する仕組みとNSレコードの役割

目次
DNS委任とは?サブドメインを別管理する仕組み
DNSを運用していると、「サブドメインだけ別のDNSサーバで管理したい」という場面があります。
例えば企業全体では example.com を管理しているものの、開発部門では dev.example.com を独自に管理したい場合があります。
このような場合に利用される仕組みがDNS委任(Delegation)です。
DNS委任はDNS階層構造の特徴を活かした仕組みであり、大規模な組織やクラウドサービスでも広く利用されています。
本記事ではDNS委任の仕組みやNSレコードとの関係、実際の設定例について解説します。
DNS委任とは
DNS委任とは、あるドメイン配下の管理権限を別のDNSサーバへ委譲する仕組みです。
例えば次のような構成を考えます。
example.com
├─ www.example.com
├─ mail.example.com
└─ dev.example.com通常はexample.comの権威DNSサーバがすべて管理します。
しかし、dev.example.comだけを別のDNSサーバへ委任できます。
なぜDNS委任が必要なのか
小規模な環境では1つのDNSサーバですべて管理できます。
しかし組織が大きくなると管理を分離したい場面が増えます。
- 開発部門と本番環境を分離したい
- 子会社ごとに管理したい
- クラウドサービスへ委任したい
- 部門単位でDNS管理を任せたい
DNS委任を利用すると管理を分散できます。
委任しない場合の構成
example.com DNS
www.example.com
mail.example.com
dev.example.com
test.example.com
api.example.comすべてのレコードを1つのゾーンで管理します。
管理対象が増えると運用負荷も増加します。
委任した場合の構成
example.com DNS
├─ www.example.com
├─ mail.example.com
└─ dev.example.com → 委任
dev.example.com DNS
├─ test.dev.example.com
├─ api.dev.example.com
└─ db.dev.example.comdev.example.com以下を別のDNSサーバで管理できます。
DNS委任の仕組み
DNS委任はNSレコードによって実現されます。
親ゾーン側に次のような設定を行います。
dev.example.com. IN NS ns1.dev.example.com.
dev.example.com. IN NS ns2.dev.example.com.これにより、dev.example.comに関する問い合わせは指定されたDNSサーバへ転送されます。
名前解決の流れ
例えば次の名前を問い合わせます。
api.dev.example.com名前解決は次の流れになります。
PC
↓
キャッシュDNS
↓
ルートDNS
↓
TLD DNS
↓
example.com権威DNS
↓
dev.example.comのNS情報取得
↓
dev.example.com権威DNS
↓
最終回答
PC
↓
キャッシュDNS
↓
ルートDNS
↓
TLD DNS
↓
example.com権威DNS
↓
dev.example.comのNS情報取得
↓
dev.example.com権威DNS
↓
最終回答
親ゾーンは最終回答を持っていません。
委任先DNSサーバを案内するだけです。
NSレコードの役割
NSレコードは権威DNSサーバを示すレコードです。
example.com. IN NS ns1.example.com.
example.com. IN NS ns2.example.com.
委任時にも利用されます。
dev.example.com. IN NS ns1.dev.example.com.
DNS委任では特に重要なレコードです。グルーレコードとは
委任先DNSサーバ自身が委任先ドメイン内に存在する場合があります。
dev.example.com. IN NS ns1.dev.example.com.この場合、ns1.dev.example.comのIPアドレスが分からないと問い合わせできません。
そこで利用されるのがグルーレコード(Glue Record)です。
グルーレコードの例
dev.example.com. IN NS ns1.dev.example.com.
ns1.dev.example.com. IN A 192.0.2.50親ゾーン側でIPアドレスも管理します。
これにより問い合わせ先DNSサーバへ到達できます。
クラウドサービスとDNS委任
クラウド環境でもDNS委任は頻繁に利用されます。
例えばAWS Route53です。
example.com
↓
AWS Route53
↓
dev.example.comサブドメインだけクラウドDNSへ委任できます。
企業での利用例
企業では次のような構成がよくあります。
example.com
├─ 社内システム
├─ Webサイト
├─ メール
└─ 開発環境
開発環境だけ別チームが管理するケースがあります。
DNS委任により管理権限を分離できます。
BINDでの設定例
親ゾーンです。
dev IN NS ns1.dev.example.com.
dev IN NS ns2.dev.example.com.
子ゾーンです。
zone "dev.example.com" {
type master;
file "dev.example.com.zone";これにより独立したゾーンとして管理できます。
よくあるトラブル
NSレコードの設定ミス
委任先DNSサーバへ到達できません。
グルーレコード不足
DNSサーバのIPアドレスが分からず名前解決できません。
子ゾーン未設定
委任先にゾーンが存在しない場合です。
権威DNSサーバ停止
委任先全体が利用できなくなります。
digコマンドで確認する
委任状況はdigで確認できます。
dig NS dev.example.com
権威DNSを確認できます。
経路を追跡する場合です。
dig +trace api.dev.example.com
委任の流れを確認できます。実務で覚えておくポイント
- DNS委任は管理権限の分離機能
- NSレコードで実現する
- サブドメイン単位で委任可能
- グルーレコードが重要
- クラウドDNSでも頻繁に利用される
まとめ
DNS委任とは、サブドメインの管理権限を別のDNSサーバへ委譲する仕組みです。
NSレコードを利用して実現され、大規模組織やクラウドサービスで広く利用されています。
また、委任先DNSサーバが委任先ドメイン内に存在する場合はグルーレコードも必要になります。
DNS委任を理解することで、ゾーン設計やDNS運用、クラウド環境との連携をより深く理解できるようになります。






