DNS レコードとは

DNS(Domain Name System)は、ドメイン名と IP アドレスを紐づけるシステムで、DNS レコードはドメイン名と IP アドレスの対応表です。[1]対応表はゾーンファイルと呼ばれます。
主な DNS レコードについて解説したいと思います。

各レコードの概要

今回解説する各レコードの概要は次のとおりです。

レコード Type概要
A レコード

ドメイン名を IP アドレスに関連付けます。

NS レコードドメイン情報を保持する権威サーバーを指定します。
CNAME レコードドメイン名に対して別名を設定します。
MX レコードドメイン宛のメールに対してメールサーバーを指定します。

以下、詳細な解説になります。

A レコード

最も基本的なリソースレコードで、ドメイン名を IP アドレスに関連付けます。
A レコードを参照してホスト名から IP アドレスを割り出すことを「正引き」と呼びます。
A レコードとは逆に IP アドレスをホスト名に関連づける PTR レコードというものがあり、IP アドレスからホスト名を割り出すことを「逆引き」と呼びます。

コマンドプロンプトから次のコマンドでドメインの A レコードを確認することができます。

C:\>nslookup -type=a google.com
権限のない回答:
名前:    google.com
Address:  172.217.161.238

NS レコード

あるドメインについて、A レコードの情報を持つ DNS サーバーを権威サーバーと呼びます。
NS レコードは、権威サーバーを FQDN で指定します。
例えば、DNS サーバーで次のようなレコードを登録していたとします。

example.com. IN NS ns1.example.com.

この場合、クライアントから example.com の問い合わせがあった場合は、ns1.example.com へ問い合わせします。

コマンドプロンプトから次のコマンドでドメインの NS レコードを確認することができます。

C:\>nslookup -type=ns google.com
権限のない回答:
google.com      nameserver = ns1.google.com
google.com      nameserver = ns4.google.com
google.com      nameserver = ns3.google.com
google.com      nameserver = ns2.google.com

CNAME レコード

あるドメイン名に対して別名をつけるレコードです。1 つの IP で複数の役割を持つサーバーの名前解決をする時などに便利です。
例えば、DNS サーバーで次のようなレコードを登録していたとします。

piyo.example.com. IN CNAME hoge.example.com.
hoge.example.com. IN A 100.64.1.1

この場合、クライアントから piyo.example.com の問い合わせがあった場合、および hoge.example.com へ問い合わせがあった場合、100.64.1.1 の IP アドレスを返します。

CNAME で登録した別名は他のレコードで使用できないためご注意ください。

コマンドプロンプトから次のコマンドでドメインの CNAME レコードを確認することができます。

C:\>nslookup -type=cname google
google
        primary name server = ns-tld1.charlestonroadregistry.com
        responsible mail addr = cloud-dns-hostmaster.google.com
        serial  = 1
        refresh = 21600 (6 hours)
        retry   = 3600 (1 hour)
        expire  = 259200 (3 days)
        default TTL = 900 (15 mins)

MX レコード

あるドメイン宛のメールに対して、メールサーバーを指定するレコードです。
例えば、DNS サーバーで次のようなレコードを登録していたとします。

example.com. IN MX mail.example.com.

この場合、クライアントから @example.com 宛にメールがあった場合、メールサーバー「mail.example.com」の IP アドレスを返します。

コマンドプロンプトから次のコマンドでドメインの MX レコードを確認することができます。

C:\>nslookup -type=mx gmail.com
権限のない回答:
gmail.com       MX preference = 30, mail exchanger = alt3.gmail-smtp-in.l.google.com
gmail.com       MX preference = 20, mail exchanger = alt2.gmail-smtp-in.l.google.com
gmail.com       MX preference = 40, mail exchanger = alt4.gmail-smtp-in.l.google.com
gmail.com       MX preference = 5, mail exchanger = gmail-smtp-in.l.google.com
gmail.com       MX preference = 10, mail exchanger = alt1.gmail-smtp-in.l.google.com
関連記事

ホスト名・ドメイン名・サブドメイン名・FQDN はしばしば混同されますが、それぞれの基本的な定義について解説したいと思います。また、関連する内容としてネイキッドドメインについても触れたいと思います。 実際の例 ホームページの […]

以上

脚注

脚注
1対応表はゾーンファイルと呼ばれます。