DNS レコードの種類
よく使われる DNS レコードの種類のリファレンス。名称、用途、値の例を示します。
18
AAddressRFC 1035アドレス

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

example.com → 93.184.216.34
AAAAIPv6 AddressRFC 3596アドレス

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

example.com → 2606:2800:220:1:248:1893:25c8:1946
CAACertification Authority AuthorizationRFC 8659セキュリティ

ドメインの TLS 証明書を発行できる認証局。

0 issue "letsencrypt.org"
CNAMECanonical NameRFC 1035エイリアス

IP ではなく別のドメイン名を指すエイリアスです。

www.example.com → example.com
DNSKEYDNS KeyRFC 4034セキュリティ

DNSSEC がゾーンのレコードに署名するために使う公開鍵。

256 3 8 AwEAAb…
DSDelegation SignerRFC 4034セキュリティ

ゾーンを親ゾーンの DNSSEC 鍵に関連付けます(署名された委任)。

2371 13 2 8ACBB0CD…
HINFOHost InformationRFC 1035テキスト

ホスト情報:CPU とオペレーティングシステム。現在ではほとんど使われません。

"Intel" "Linux"
HTTPSHTTPS Service BindingRFC 9460サービス

HTTPS アクセスを高速化する接続パラメータ(ALPN、ポート、IP)。

1 . alpn="h2,h3"
MXMail ExchangeRFC 1035メール

ドメインのメールサーバー。優先度付き(数値が小さいほど優先)。

10 mail.example.com
NAPTRNaming Authority PointerRFC 3403サービス

サービス検出のための書き換えルール(ENUM や SIP で使用)。

100 10 "U" "E2U+sip" "!^.*$!sip:info@example.com!" .
NSName ServerRFC 1035ゾーン

ドメインのゾーンを管理する権威ネームサーバー。

ns1.example.com
PTRPointerRFC 1035逆引き

逆引き DNS:IP アドレスをドメイン名に関連付けます。

34.216.184.93.in-addr.arpa → example.com
SOAStart of AuthorityRFC 1035ゾーン

ゾーンの権威情報:プライマリサーバー、連絡先、更新間隔。

ns1.example.com admin.example.com 2024010101
SRVServiceRFC 2782サービス

SIP や XMPP などのサービスの場所(ホストとポート)。

_sip._tcp 10 5 5060 sip.example.com
SSHFPSSH FingerprintRFC 4255セキュリティ

接続を検証するためのホストの SSH 公開鍵のフィンガープリント。

1 1 123456789abcdef…
SVCBService BindingRFC 9460サービス

汎用のサービスバインディングレコード。HTTPS レコードの基礎です。

1 svc.example.com alpn="h2"
TLSATLS AssociationRFC 6698セキュリティ

DANE を用いて TLS 証明書をドメインに関連付けます。

3 1 1 0b87ad…
TXTTextRFC 1035テキスト

自由記述のテキスト。SPF、DKIM、DMARC や所有権の確認に使われます。

v=spf1 include:_spf.google.com ~all

仕組み

DNS レコードとは、ドメインのゾーンに置かれ、1 つの具体的な問いに答えるエントリーです。どの IP アドレスを指すのか、どのサーバーがメールを受け取るのか、誰がゾーンを管理するのか、どの認証局が証明書を発行できるのか。レコードの種類ごとに答える問いが異なり、適切に構成されたゾーンは複数を組み合わせています。

このリファレンスは、日常的に登場するレコードの種類をまとめたものです。基本の A、AAAA、CNAME、MX、TXT から、CAA、DNSKEY、DS、TLSA、SSHFP といったセキュリティ関連まで、正式名称、それぞれの用途、ゾーンでの記述例を掲載しています。

これは参照用の表です。問い合わせを送ることも、あなたのドメインを解析することもありません。ドメインの実際のレコードを確認したい場合は、DNS 参照ツールがリアルタイムで解決します。

Aejemplo.com. 3600 IN A 192.0.2.10名前を IPv4 アドレスに向けます。3600 は秒単位の TTL で、リゾルバーが応答をキャッシュできる時間です。
MXejemplo.com. 3600 IN MX 10 mail.ejemplo.com.数値は優先度です。値が小さいものから試されます。冗長性のために複数の MX を宣言するのが一般的です。
TXTejemplo.com. 3600 IN TXT "v=spf1 include:_spf.google.com ~all"TXT レコードは自由なテキストを保持します。主に SPF、DKIM、DMARC や、ドメイン所有権の確認に使われます。

ユースケース

  • 本番ドメインのゾーンに手を入れる前に、どのレコード種別が適切かを確認する。
  • DNS 参照の応答や、メール診断の結果を読み解く。
  • MX と SPF・DKIM・DMARC の TXT を組み合わせて、ドメインのメールを設定する。
  • ゾーンのセキュリティ関連レコードを確認する。証明書の発行元を限定する CAA、DNSSEC のための DS と DNSKEY。

よくある質問

A レコードと CNAME の違いは何ですか?

A レコードは IPv4 アドレスを直接指します。CNAME は別の名前を指し、その名前がさらに解決されます。宛先 IP が頻繁に変わる場合 CNAME は便利ですが、解決に 1 段階増え、制約もあります。同じ名前の他のレコードと共存できず、ドメインのルートには置けません。

なぜドメインのルートに CNAME を置けないのですか?

ゾーンのルートには必ず SOA と NS のレコードがあり、標準では CNAME が同じ名前の他のレコードと共存することを認めていないからです。これを回避するため、多くの事業者は ALIAS や ANAME といった独自の代替を提供しています。CNAME のように振る舞いつつ、アドレスを直接返します。

TTL とは何で、どのくらいの値がよいですか?

TTL(time to live)は、リゾルバーが応答をキャッシュできる秒数です。TTL が長いと問い合わせが減り解決が速くなり、短いと変更が早く伝わります。一般的なやり方は、移行の数時間前に下げ、変更が安定してから元に戻すことです。

DNS の変更がまだ反映されないのはなぜですか?

以前の値がまだキャッシュに残っているからです。前回の応答が返されたときの TTL が切れるまで、中間のリゾルバーや OS は古いデータを返し続けることがあります。ブラウザー自体のキャッシュも影響し、TTL を超えて解決結果を保持する場合があります。

CAA レコードは何のためにありますか?

そのドメインの証明書を発行してよい認証局を宣言します。認証局は発行前にこれを確認する義務があるため、第三者が別の認証局であなたのドメインの有効な証明書を取得することを防ぐ簡単な手段になります。