ゾーンファイルとは?DNSの住所録を読み解く設定ファイル

システム開発・テクノロジー
ゾーンファイルとは?ざっくりと3行で
  • DNSサーバーに保存されるドメイン名とIPアドレスの対応表を記したプレーンテキストのファイルのこと。インターネットの電話帳にあたるDNSの実体がここに書かれている
  • Aレコード(IPアドレス)・MXレコード(メールサーバー)・NSレコード(ネームサーバー)など用途別のレコード種類を組み合わせてドメインの動作全体を制御する
  • 1文字でも書き方を間違えるとドメイン全体が応答しなくなる。設定変更後はTTLの時間が経過するまで世界中のDNSに反映されないため、タイミングの計算も重要だ

【深掘り】これだけ知ってればOK!

ゾーンファイルには必ずSOAレコード(Start of Authority)が最初に書かれる。このレコードはゾーンの管理情報(管理者のメールアドレス・シリアル番号・リフレッシュ間隔など)を定義するもので、プライマリDNSとセカンダリDNSが同期する仕組みの中核を担っている。

ゾーンとは、1台の権威DNSサーバーが管理するドメイン名の範囲のことだ。そのゾーン内の名前解決情報をすべて記述したファイルがゾーンファイルである。ファイルの中身は1行1レコードのテキスト形式で、各行には「ホスト名・TTL・クラス・レコード種別・値」の順に情報が並ぶ。TTL(Time to Live)は、そのレコードをほかのDNSサーバーがキャッシュし続けてよい秒数を表す。

頻繁に使われる主要レコードを整理すると次のとおりだ。Aレコードはホスト名をIPv4アドレスへ変換する最も基本的なレコードで、WebサイトのサーバーIPをここに書く。MXレコードはメール受信サーバーの指定で、複数書けば優先度順に配送を試みる。CNAMEレコードはエイリアスで「www」を本体ドメインへ向けるときなどに使う。TXTレコードはSPFやDKIMなど送信ドメイン認証の情報を文字列で格納するために使われている。

ゾーンファイルのシリアル番号は変更のたびに必ず増やす必要がある。セカンダリDNSはプライマリのシリアル番号が大きくなったときにゾーン転送を実行する仕組みのため、シリアルを更新し忘れるとセカンダリへ設定が反映されない。慣習として「YYYYMMDDNN」形式(例:2026052201)を使うと日付とバージョンが一目でわかる。

ゾーンファイルの変更で最も注意すべきはTTLの設定値と変更タイミングの関係だ。TTLを86400秒(24時間)に設定したまま急いでIPアドレスを変更しても、世界中のDNSキャッシュが最大24時間古い情報を返し続ける。大規模なサーバー移行前日には一時的にTTLを300秒(5分)に下げておき、移行後に元の値へ戻すのがインフラエンジニアの定石だ。

よくある誤解

ゾーンファイルを変えればすぐ反映されると思っている

ゾーンファイルを編集してDNSサーバーを再起動しても、世界中のDNSサーバーに変更が伝わるまでにはTTLで設定した時間が必要だ。TTLが86400秒なら最大24時間、古い情報を返すDNSサーバーが存在し続ける。変更直後に「なぜかアクセスできる人とできない人がいる」という状況はこのキャッシュの差が原因だ。

CNAMEレコードはどこでも使えると思っている

CNAMEはゾーンの頂点(Apex)には設定できない。たとえば「example.com」というゾーンの頂点にCNAMEを置くことは仕様上禁止されており、試みるとDNSの動作が壊れる。ゾーンの頂点にはAレコードまたはAAAAレコードを使う必要があり、Route53などのクラウドDNSが提供する「AliasレコードはApexでCNAMEのように動く」機能はこの制約を回避する独自拡張だ。

会話での使われ方

ITKAGYO運営者デプロイ太郎のアイコン画像

ゾーンファイルのシリアル番号、今日の日付に更新しましたか?更新しないとセカンダリDNSに反映されないので確認してください。

インフラエンジニアがサーバー移行作業中に担当者にSlackで確認している場面。シリアル番号の更新忘れは設定反映の失敗につながる重要なポイントだ。

ITKAGYO運営者デプロイ太郎のアイコン画像

新しいサブドメインにアクセスできないので見てもらえますか。ゾーンファイルにAレコードは追加したんですが。

社内の開発者がネットワーク担当に問い合わせている場面。Aレコードの追加後にDNSサーバーの再読み込みを忘れているケースが原因として疑われる状況だ。

ITKAGYO運営者デプロイ太郎のアイコン画像

サーバー移行は明後日の夜です。今日中にTTLを300秒に下げておいてください。当日の切り替えをスムーズにするためです。

インフラプロジェクトのミーティングでリーダーがメンバーへ指示している場面。移行前にTTLを短縮しておくことでDNS浸透の遅延リスクを最小化する作業だ。

ゾーンファイルの歴史

DNSとゾーンファイルの規格は1980年代に策定され、今日のインターネットの基盤として半世紀近く使われ続けている。その変遷を追うことで、なぜこの仕組みが今も現役なのかが見えてくる。

出来事
1983Paul MockapetrisがDNSを提案(RFC 882/883)。それまでHOSTSファイルで管理していたホスト名をスケーラブルな分散データベースに置き換える構想を示した
1987RFC 1034/1035が策定され、ゾーンファイルの書式を含むDNSの基本仕様が正式に標準化された。この仕様は2026年現在も根幹として使われている
1990年代BINDがDNSサーバーの事実上の標準実装となり、ゾーンファイル形式がLinux/UNIXサーバーで広く普及した
2000年代DNSSECが導入され、ゾーンファイルにデジタル署名レコード(RRSIGなど)を追加することでなりすまし攻撃への耐性が加わった
現在AWS Route53・Cloudflare・Google Cloud DNSなどのクラウドDNSが普及し、ゾーンファイルをGUIやAPIで管理できる環境が一般化している。ただし内部データ構造はRFC 1035の仕様を継承している

【まとめ】3つのポイント

  • ドメインの名前解決を司る設定ファイルの実体:ゾーンファイルはDNSサーバーが持つテキスト形式の対応表で、Aレコード・MXレコードなど複数のレコード種別でドメインの動作全体を定義する
  • TTLの数値がDNS変更の浸透速度を決める:設定変更前にTTLを短縮しておかないと、切り替え後も古いIPが世界中で返され続けるため、移行計画にTTL調整を必ず組み込む
  • シリアル番号の更新忘れがサイレント障害を生む:変更のたびにシリアル番号を増やさないとセカンダリDNSに反映されない。YYYYMMDDNN形式を使えばミスを防ぎやすい

よくある質問

Q
ゾーンファイルはどこで確認・編集できますか?
A

BINDを使うLinuxサーバーでは「/etc/named/」や「/var/named/」以下にテキストファイルとして保存されています。さくらインターネット・ムームードメインなどのレンタルサーバーではコントロールパネルのDNS設定画面から各レコードをGUIで編集できます。AWS Route53やCloudflareはAPIまたはWeb画面で管理し、内部的にゾーンファイル相当のデータが生成されます。

Q
TTLはどのくらいの値に設定するのが一般的ですか?
A

通常運用では3600秒(1時間)〜86400秒(24時間)が一般的です。TTLを長くするとDNSの問い合わせ負荷が減り応答が速くなりますが、変更が浸透するまでの時間も長くなります。サーバー移行など変更を予定している場合は、作業前日にTTLを300秒程度に下げておき、移行完了後に元の値へ戻すのがベストプラクティスです。

Q
MXレコードを間違えるとどうなりますか?
A

MXレコードの値が間違っていると、そのドメイン宛のメールが正しいメールサーバーに届かなくなります。送信側は一定期間再送を試みますが、最終的にはバウンスメール(配送失敗通知)が返ってきます。メールサーバーを移行したときにMXレコードの更新を忘れるケースが多いため、移行後は必ずdig MXコマンドや各種DNSチェックツールで確認することをお勧めします。

Q
ゾーンファイルとDNSレコードの違いは何ですか?
A

包含関係として理解するとわかりやすいです。ゾーンファイルはファイル全体を指し、DNSレコードはそのファイルの中に書かれた1行1行の情報です。「ゾーンファイルを編集してAレコードを追加する」という表現が示すように、ゾーンファイルという器の中にDNSレコードが複数まとめて格納されているイメージです。

この用語と一緒に知っておきたい用語

用語この記事との関連
レコードレコードを押さえると本記事の理解がさらに深まります。レコードの主要な特徴と用途を理解することで、関連する技術・制度・概念を正確に把握できるようになる
サーバーサーバーを押さえると本記事の理解がさらに深まります。ネットワークを通じて情報やサービスを提供する側のコンピューターのこと。レストランで料理を運んでくれる給仕係(server)をイメージするとわかりやすいよ
ドメインドメインを押さえると本記事の理解がさらに深まります。Webサイトやメールに使われるインターネット上の住所のこと――URLの中にあるexample.comの部分がドメインだよ
IPアドレスIPアドレスは関連分野でよく登場する重要キーワードです。ネットワークに接続されたすべての機器に割り当てられる識別番号で、データの届け先を特定する役割を担っているよ
インターネット本記事のテーマと実務上セットで使われることが多い用語です。インターネットというのは、世界中のコンピュータやネットワークを互いにつなぎ合わせた、巨大なネットワークの集合体のことだよ。

【出典】参考URL

https://jprs.jp/glossary/index.php?ID=0183 :JPRS用語辞典「ゾーンファイル」
https://www.cloudflare.com/ja-jp/learning/dns/glossary/dns-zone/ :CloudflareによるDNSゾーンの解説
https://manual.iij.jp/dns/domain-help/16187857.html :IIJによるDNSサーバーとゾーンの説明
https://it-biz.online/it-skills/dns-record/ :DNSレコード(ゾーンファイル)の設定方法

コメント

「IT用語、難しすぎて心が折れそう……」という方のための、ハードル低めな用語辞典です。

情報レベルは「基礎中の基礎」。会話を止めないためのエッセンスだけを抽出しています。分かりやすさを追求するあまり、時々例え話が暴走しているかもしれませんが、そこは「ほどよく」聞き流していただけると幸いです。
ほどよくIT用語辞典システム開発・テクノロジー
デプロイ太郎のSNSを見てみる!!