DNSレコードとは?A・AAAA・CNAME・MX・TXT・NSレコードの役割を理解する

DNSレコードとは?主要レコードの役割を理解する

DNS(Domain Name System)は、ドメイン名とIPアドレスを対応付ける仕組みとして知られています。しかし、DNSが管理している情報はIPアドレスだけではありません。

Webサイトの公開、メールサーバの指定、クラウドサービスとの連携、SSL証明書の認証、メールのなりすまし対策など、多くの情報がDNSレコードとして管理されています。

DNSを運用するうえで、DNSレコードの理解は欠かせません。実際の現場では、Webサーバの移行、メールサーバの設定変更、Google WorkspaceやMicrosoft 365の導入などでDNSレコードを編集する機会が頻繁にあります。

本記事では、代表的なDNSレコードの種類と役割について解説します。

DNSレコードとは

DNSレコードとは、DNSサーバが管理している情報のことです。

例えば、次のようなレコードがあります。

www.example.com. 3600 IN A 192.0.2.10

この設定は、www.example.com という名前が 192.0.2.10 というIPアドレスに対応していることを意味します。

DNSレコードは用途によって複数の種類が存在し、それぞれ異なる役割を持っています。

DNSレコードの基本構造

DNSレコードは一般的に次のような形式で表されます。


名前 TTL クラス タイプ 値

具体例です。


www.example.com. 3600 IN A 192.0.2.10
  • www.example.com. → 名前
  • 3600 → TTL
  • IN → クラス
  • A → レコードタイプ
  • 192.0.2.10 → 値

クラスは現在ほぼIN(Internet)が使われます。

Aレコード

Aレコードは最も基本的なDNSレコードです。

ドメイン名とIPv4アドレスを対応付けます。

www.example.com. 3600 IN A 192.0.2.10

ブラウザが www.example.com にアクセスすると、DNSは192.0.2.10を返します。

その後、ブラウザは192.0.2.10へ接続します。

Aレコードの利用例

  • Webサーバ
  • VPNサーバ
  • APIサーバ
  • NAS

ほぼすべてのWebサイトで利用されています。

AAAAレコード

AAAAレコードはIPv6版のAレコードです。


www.example.com. 3600 IN AAAA 2001:db8::10

IPv6対応環境ではAAAAレコードが利用されます。

近年はクラウドサービスやCDNでIPv6対応が進んでいるため、AAAAレコードを見かける機会も増えています。

Aレコードとの違い

レコード対応アドレス
AIPv4
AAAAIPv6

CNAMEレコード

CNAME(Canonical Name)は別名を定義するレコードです。

blog.example.com. 3600 IN CNAME example.com.

この場合、blog.example.com は example.com の別名として扱われます。

DNSサーバは最終的に example.com のAレコードやAAAAレコードを返します。

CNAMEの利用例

  • CDN利用時
  • クラウドサービス連携
  • サブドメイン管理

CloudflareやAWS CloudFrontなどでも頻繁に利用されています。

MXレコード

MX(Mail Exchanger)レコードはメールサーバを指定します。

example.com. 3600 IN MX 10 mail.example.com.

メール送信時、送信側メールサーバはMXレコードを確認します。

そして指定されたメールサーバへ配送を行います。

優先順位

MXレコードには優先順位があります。

example.com. IN MX 10 mail1.example.com.
example.com. IN MX 20 mail2.example.com.

数字が小さい方が優先されます。

mail1が停止した場合のみmail2が利用されます。

TXTレコード

TXTレコードは文字列情報を保持します。

近年ではメール認証やドメイン認証で頻繁に利用されています。

example.com. IN TXT "v=spf1 mx ~all"

主な用途

  • SPF
  • DKIM
  • DMARC
  • Google Search Console認証
  • Google Workspace認証
  • Microsoft 365認証

現在のDNS運用では最も利用頻度の高いレコードの一つです。

NSレコード

NS(Name Server)レコードは権威DNSサーバを指定します。

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

このドメインをどのDNSサーバが管理しているかを示します。

ドメイン取得時やDNS移行時に重要なレコードです。

PTRレコード

PTRレコードは逆引きDNSに利用されます。

通常のDNSは名前からIPアドレスを調べます。


www.example.com
↓
192.0.2.10

PTRレコードは逆方向です。


192.0.2.10
↓
www.example.com

メールサーバ運用では非常に重要です。

逆引き設定がないメールサーバは迷惑メール判定される場合があります。

SOAレコード

SOA(Start Of Authority)はゾーン情報を管理するレコードです。

example.com. IN SOA ns1.example.com. admin.example.com.

SOAレコードには次のような情報が含まれます。

  • プライマリDNSサーバ
  • 管理者情報
  • シリアル番号
  • 更新間隔
  • 有効期限

BIND運用では特に重要なレコードです。

CAAレコード

CAAレコードはSSL証明書を発行できる認証局を制限します。

example.com. IN CAA 0 issue "letsencrypt.org"

この場合、Let's Encryptのみ証明書を発行できます。

セキュリティ対策として利用されます。

SRVレコード

SRVレコードはサービスの場所を指定します。

_sip._tcp.example.com. IN SRV 10 60 5060 sip.example.com.

Active DirectoryやVoIP環境で利用されます。

Windowsドメイン環境ではSRVレコードが非常に重要です。

DNSレコード確認方法

Linuxではdigコマンドで確認できます。

Aレコード確認例です。

dig example.com A

MXレコード確認です。

dig example.com MX

TXTレコード確認です。

dig example.com TXT

NSレコード確認です。

dig example.com NS

DNSトラブル調査では非常に重要なコマンドです。

よくある設定ミス

Aレコードの設定ミス

IPアドレスの入力間違いにより、Webサイトへ接続できなくなることがあります。

MXレコード設定ミス

メールサーバ名の設定ミスでメールが届かなくなります。

TXTレコード設定ミス

SPFやDKIMの設定不備でメールが迷惑メール扱いされる場合があります。

CNAMEの誤用

CNAMEと他のレコードを同じ名前で設定できないケースがあります。

まとめ

DNSレコードは、DNSサーバが保持する情報です。

AレコードはIPv4、AAAAレコードはIPv6、CNAMEレコードは別名、MXレコードはメールサーバ、TXTレコードは文字列情報、NSレコードは権威DNSサーバを表します。

さらにPTR、SOA、CAA、SRVなどのレコードも実運用では重要です。

DNSレコードを正しく理解することで、Webサイト運用、メール運用、クラウドサービス利用時のトラブルを大幅に減らすことができます。