Webサイトにアクセスするとき、私たちはexample.com
のようなドメイン名を使いますよね。でも実際の通信では192.0.2.1
などのIPアドレスが使われています。
この「ドメイン名 ⇔ IPアドレス」の変換をしてくれるのがDNS(Domain Name System)です。そしてDNSの仕組みを裏で支えているのがゾーンファイルとリソースレコードです。
この記事では、DNS・ゾーンファイル・リソースレコードについて、以下の内容をわかりやすく解説します。
- DNSとは?
- ゾーンファイルとは?
- ゾーンファイルのサンプルと各項目の解説
- ゾーンファイルの省略ルール
- リソースレコードとは?
- リソースレコードの基本構成
- リソースレコードの主な種類
DNSとは?

DNSは「ドメインネームシステム(Domain Name System)」の略です。一言で言えば、インターネット上の住所録のようなものです。
- 人間は
example.com
のような覚えやすい名前(ドメイン名)を使ってWebサイトにアクセスします。 - しかしコンピュータ同士は
192.0.2.1
のようなIPアドレスで通信を行います。
DNSはこの「ドメイン名 ⇔ IPアドレス」の変換を行うシステムで、これを担当しているのがDNSサーバーです。
例えば、あなたがDNSサーバーに対して、「example.com
のIPアドレスは何?」とか「IPアドレスが192.0.2.1
のドメイン名ってなに?」と問い合わせると、DNSサーバーはそれぞれに対応するドメイン名やIPアドレスを答えてくれます。これは名前解決と呼ばれています。
あなたがexample.com
にアクセスすると、裏側でDNSサーバーが働いて「このドメイン名は192.0.2.1
というIPアドレスだよ」と教えてくれることで、通信が成立しているのです。
たとえば「山田さんに電話をかけたいな」と思ったとき、電話帳で名前から電話番号を調べますよね?DNSはこれと同じことをドメイン名とIPアドレスの間でやってくれます。
ゾーンファイルとは?

ゾーンファイル(Zone File)は、特定のドメイン名に関するDNS情報(リソースレコード)をまとめたファイルです。また、ゾーンファイルでは、1行が1つのリソースレコードに対応しています(リソースレコードについては後ほど解説します)
たとえばexample.com
というドメインに対して、
example.com
のWebサーバーのIPアドレスは何なのか(Aレコード)- そのドメイン宛のメール(
xxx@example.com
)をどのメールサーバーに配送するか(MXレコード)
といった情報をすべてこのゾーンファイルに記述します。このゾーンファイルをDNSサーバが読み取って、名前解決の応答を返してくれます。
ゾーンファイルのサンプルと各項目の解説
以下に、example.com
というドメインの簡単なゾーンファイル例を示し、それぞれの項目を詳しく解説します。
$TTL 86400 ; 各レコードのデフォルトTTL(秒)。ここでは24時間。
$ORIGIN example.com. ; ベースとなるドメイン名。このファイルでは example.com が基準。
;---------------------------------------
; ゾーンの開始(SOAレコード)
;---------------------------------------
@ IN SOA ns1.example.com. postmaster.example.com. (
2025060301 ; シリアル番号(通常はYYYYMMDD+連番)
10800 ; Refresh:セカンダリがプライマリへ問い合わせる間隔(3時間)
3600 ; Retry:失敗時の再試行間隔(1時間)
604800 ; Expire:更新できないとみなすまでの期間(7日間)
86400 ; Minimum TTL:ネガティブキャッシュの有効期間(1日)
)
;---------------------------------------
; 権威ネームサーバ(NSレコード)
;---------------------------------------
@ IN NS ns1.example.com. ; プライマリDNSサーバ
IN NS ns2.example.com. ; セカンダリDNSサーバ
;---------------------------------------
; メールサーバ(MXレコード)
;---------------------------------------
IN MX 10 mail.example.com. ; 優先度10のメールサーバ
;---------------------------------------
; 各ホストのIPアドレス(Aレコード)
;---------------------------------------
IN A 192.0.2.1 ; example.com のIPアドレス
www IN A 192.0.2.2 ; www.example.com のIPアドレス
mail IN A 192.0.2.3 ; mail.example.com のIPアドレス
;---------------------------------------
; 別名(CNAMEレコード)
;---------------------------------------
ftp IN CNAME www.example.com. ; ftp.example.com は www.example.com の別名
;---------------------------------------
; テキスト情報(TXTレコード)
;---------------------------------------
IN TXT "This is a sample zone file" ; example.com に関する自由記述情報
項目 | 説明 |
---|---|
$TTL | 各レコードのキャッシュの有効時間(秒)。通常86400秒(=24時間)などが指定されます。 |
$ORIGIN example.com. | 省略されたホスト名に自動で補完されるベースドメイン。 |
@ | 現在のドメイン(ここではexample.com )を表す省略記号。ORIGIN と同じドメイン名は@ で記載されます(例: example.com. ⇒ @ ) |
ns1.example.net. | このゾーン情報を管理するプライマリDNSサーバー。 |
postmaster.example.net. | このドメインの管理者のメールアドレス。postmaster.example.net. はpostmaster@example.net を意味します(最初の. は@ に、末尾の. は削除されます) |
Serial | ゾーンファイルのバージョンを表す数字。 ゾーンファイル更新日+管理番号を表す( YYYYMMDDNN )の10桁使用が多い。 |
Refresh | セカンダリDNSサーバーがプライマリDNSサーバーにゾーン情報の更新を確認する間隔の時間(秒)。 |
Retry | セカンダリDNSサーバーが、Refresh でゾーン情報の更新が失敗した場合に再度Refresh を試みるまでの時間。 |
Expire | セカンダリDNSサーバーが、ゾーン情報のリフレッシュができない状態が続いた場合、セカンダリDNSサーバーが持っているゾーン情報をどれだけの時間利用するかの時間(秒) |
Minimum TTL | 存在しないドメイン名の結果をDNSキャッシュに保持しておく時間。たとえば「存在しないドメイン」と問い合わせたとき、その「なかった」という情報を一定期間キャッシュするための設定。 |
なお、上記のゾーンファイルは省略した表記です。省略していない場合のゾーンファイルを以下に示します。
$TTL 86400
$ORIGIN example.com.
example.com. 86400 IN SOA ns1.example.com. postmaster.example.com. (
2025060301 ; Serial(シリアル番号)
10800 ; Refresh(更新間隔)
3600 ; Retry(再試行間隔)
604800 ; Expire(有効期限)
86400 ; Minimum TTL(ネガティブキャッシュ)
)
example.com. 86400 IN NS ns1.example.com.
example.com. 86400 IN NS ns2.example.com.
example.com. 86400 IN MX 10 mail.example.com.
example.com. 86400 IN A 192.0.2.1
www.example.com. 86400 IN A 192.0.2.2
mail.example.com. 86400 IN A 192.0.2.3
ftp.example.com. 86400 IN CNAME www.example.com.
example.com. 86400 IN TXT "This is a sample zone file"
ゾーンファイルの省略ルール
ゾーンファイルでは、以下のように繰り返し記述を省略できるルールがあります。
省略例 | 解説 |
---|---|
名前の省略 | 同じ名前(ドメイン名)が連続する場合、2行目以降は名前を省略できます。例えば、最初の@ IN NS ns1.example.com. のあとにIN NS ns2.example.com. と続けると、@ が省略されたとみなされます。 |
TTLの省略 | デフォルトのTTLと同じTTLの場合、TTLの値を省略可能です。デフォルトのTTLは$TTL で指定します。 |
$ORIGIN の利用 | $ORIGIN で定義されたドメイン名は、レコードの名前に対して自動的に補完されます。例えば、www IN A 192.0.2.2 のwww はwww.example.com. を意味します。 |
ドットの有無に注意 | 名前の末尾に. (ドット)があると絶対名(FQDN)とみなされ、$ORIGIN は補完されません。. がないと$ORIGIN 自動的に補完されます。 |
リソースレコードとは?
リソースレコード(Resource Record)は、DNSが保持している「ドメインに関する情報」を表すデータの単位です。
ゾーンファイルでは、1行が1つのリソースレコードに対応しています。たとえば、先ほど示した「ゾーンファイル(省略無)」でいうと、以下のような記述がそれぞれ1つのリソースレコードです(リソースレコードのレコードの読み方については後ほど解説します)。
example.com. 86400 IN NS ns1.example.com.
example.com
ドメインのDNSサーバはns1.example.com
である。
example.com. 86400 IN A 192.0.2.1
example.com
のIPアドレスは192.0.2.1
である。
このように、各レコードが「ドメイン名とその関連情報」を定義しており、DNSの名前解決に使われます。
リソースレコードは「DNSレコード」や「DNSリソースレコード」と呼ばれることもあります。
リソースレコードの基本構成
リソースレコードの基本構成は以下のようになっています。
名前 TTL クラス タイプ データ
項目 | 意味 |
---|---|
名前 | 対象のドメイン名(例: example.com. ) |
TTL | キャッシュの有効期間(秒) |
クラス | 通常は「IN(Internet)」 |
タイプ | A / MX / CNAME / NS などのリソースレコード種類 |
データ | IPアドレス、ホスト名、優先度などタイプに応じた値 |
リソースレコードの主な種類
では、これからリソースレコードの代表的な種類について、それぞれの用途や書き方を具体的な例を交えて解説していきます。
DNSでは様々な種類のリソースレコードが使われており、それぞれが異なる役割を持っています。たとえば、WebサイトのIPアドレスを指定するためのAレコードや、メールの配送先を定めるMXレコードなどがあります。
これらのリソースレコードが正しく設定されていることで、Webアクセスやメール配信などが正常に動作するようになります。ではリソースレコードについてこれから詳しく説明していきます。
Aレコード
Aレコードは、ドメイン名(ホスト名)に対応するIPv4アドレスを指定するためのレコードです。
構文
ホスト名 IN A IPアドレス
例
example.com. IN A 192.0.2.1
このリソースレコードは「example.com
のIPアドレスは192.0.2.1
である」という意味になります。
AレコードのAは「Address(アドレス)」の略です。
AAAAレコード
AAAAレコードは、ドメイン名(ホスト名)に対応するIPv6アドレスを指定するためのレコードです。AレコードのIPv6版です。
構文
ホスト名 IN AAAA IPv6アドレス
例
example.com. IN AAAA 2001:db8::1
このリソースレコードは「example.com
のIPv6アドレスは2001:db8::1
である」という意味になります。
AAAAレコードのAAAAは「Quad A(Aが4つ)」の略です。
CNAMEレコード
CNAMEレコードは、ホストの別名(エイリアス)を設定するためのレコードです。
構文
エイリアス名 IN CNAME 本当のホスト名
例
ftp.example.net. IN CNAME www.example.com.
このリソースレコードは「ftp.example.net
はwww.example.com
の別名(エイリアス)である」という意味になります。ユーザーがftp.example.net
にアクセスすると、DNSはまずftp.example.net
をwww.example.com
という別名として解釈し、最終的にwww.example.com
に設定されたAレコード(IPアドレス)などを参照して解決します。
CNAMEレコードのCNAMEは「Canonical Name(正規名)」の略です。
MXレコード
MXレコードは、そのドメイン宛のメールをどのメールサーバーに配送するかを指定するためのレコードです。
構文
ドメイン名 IN MX 優先度 メールサーバー名
例
example.com. IN MX 10 mail.example.com.
このリソースレコードは「xxx@example.com
宛のメールはmail.example.com
に配送する」という意味になります。「10」は優先度(preference)を示し、数値が小さいほど優先度が高いです。複数のMXレコードを設定することで、プライマリ/セカンダリのメールサーバーを定義でき、片方がダウンしてもメールを受け取れるようにする冗長構成が可能になります。
MXレコードのMXは「Mail Exchange(メール交換)」の略です。
TXTレコード
TXTレコードは、任意の文字列(テキスト)情報をDNSに記述できるレコードです。主に以下のような目的で使用されます。
- メール送信元の正当性確認(SPF)
- メールのなりすまし防止(DKIM)
- Google Search Console などでのドメイン所有確認
- 単なるメモやコメント的な情報の記録
構文
ホスト名 IN TXT "テキスト内容"
例
example.com. IN TXT "great"
このリソースレコードは「example.net
というドメインに関して、“great”というテキスト情報が登録されている」という意味になります。これは一例で、実用目的ではなく遊び心のあるTXTレコードです。
TXTレコードのTXTは「Text(テキスト)」の略です。
NSレコード
NSレコードは、あるドメインを管理するDNSサーバー(ネームサーバー)を指定するためのレコードです。言い換えると、「このドメインについて知りたければ、このDNSサーバーに問い合わせてね」と案内する情報です。
構文
ドメイン名 IN NS DNSサーバ名
例
example.com. IN NS ns1.example.com.
このリソースレコードは「example.com
ドメインを管理しているDNSサーバーはns1.example.com
である」という意味になります。つまり、example.com
に関する情報(Aレコード、MXレコードなど)は、ns1.example.com
に問い合わせればわかります。
NSレコードのNSは「Name Server(ネームサーバー)」の略です。
本記事のまとめ
この記事ではDNS・ゾーンファイル・リソースレコードについて、以下の内容を説明しました。
- DNS(Domain Name System)は、ドメイン名とIPアドレスを変換する仕組み(名前解決)
- ゾーンファイルは、特定ドメインに関するDNS情報(リソースレコード)をまとめたファイル
- ゾーンファイルでは省略記法(同じドメイン名・TTLなどの繰り返しを省略)が使われる
- リソースレコードはDNS情報の1件1件のことで、ゾーンファイルの1行が1リソースレコード
お読み頂きありがとうございました。