DNS(Domain Name System)は、インターネット上でドメイン名とIPアドレスを対応付ける仕組みです。webエンジニアやIT従事者なら、なんとなく知っている人も多いと思いますが、レコードの種類が多くて混乱することがありますよね。Webサイトを運営したり、メールを設定したりするときに「DNSレコードを変更してください」と言われたことがある人も多いのではないでしょうか?
DNSレコードにはたくさんの種類があり、それぞれの役割を理解しないと「どれをどう設定すればいいの?」と迷ってしまいがちです。特に、初心者のうちは違いが分かりにくいと思います。
そこで、この記事では、DNSレコードの基本的な種類を、図を交えてわかりやすく解説します。テキストだけだと理解しづらい部分も、視覚的にスッと理解できるようになっています。
DNSレコードとは?
そもそも、DNSレコードとは、「このドメインにアクセスすると、どのサーバーにつながるのか?」を決める設定情報です。例えば、「example.com にアクセスしたら 192.0.2.1 のIPアドレスのサーバーに接続する」という情報は、AレコードというDNSレコードによって管理されています。
DNSレコードにはいくつかの種類があり、それぞれ役割が異なります。Webサイトの表示やメールの送受信、セキュリティなど、インターネット上でのさまざまな動作を支えています。
- Aレコード: ドメインをIPv4アドレスに変換
- AAAAレコード: ドメインをIPv6アドレスに変換
- CNAMEレコード: ドメインのエイリアス(別名)を設定
- MXレコード: メールの配送先サーバーを指定
- NSレコード: ネームサーバーを指定
- PTRレコード: IPアドレスからドメインを逆引き
- SOAレコード: ゾーン情報の管理
- TXTレコード: 任意のテキスト情報を保存(SPFやDKIMなど)
- SRVレコード: サービスの提供場所を指定
これらのDNSレコードを理解し、適切に設定できるようになると、Webサイトの運用やメールの設定、サーバー管理が楽になります。
代表的なDNSレコード9選
1. Aレコード
Aレコード(Address Record)は、ドメイン名をIPv4アドレスに変換するためのレコードです。例えば、example.com
を192.0.2.1
のようなIPアドレスに関連付けます。Aレコードがあることで、ドメイン名を入力すると対応するサーバーに接続される仕組みになっています。

- example.com:ドメイン名
- 192.0.2.1:対応するIPv4アドレス
2. AAAAレコード
AAAAレコードは、AレコードのIPv6版です。IPv6アドレス(例: 2001:db8::1
)をドメインに紐づけるために使われます。最近はIPv6の導入が進んでおり、AAAAレコードを設定することで、IPv6対応のデバイスからスムースに接続することができます。
AレコードがIPv4アドレスに対応するのに対し、AAAAレコードはIPv6アドレスに対応する点が違いです。

- example.com:ドメイン名
- 2001:db8::1:対応するIPv6アドレス
3. CNAMEレコード
CNAMEレコード(Canonical Name)は、ドメインのエイリアス(別名)を設定するためのレコードです。例えば、example.com
をexample2.com
のエイリアスに設定すると、どちらにアクセスしても同じexample2.com
に接続できます。これにより、複数のドメインを1つのメインドメインにまとめたり、ドメイン管理を簡単にすることができます。

- example.com:エイリアス(別名)のドメイン名
- example2.com:ドメイン名(正式な名前)
4. MXレコード
MXレコード(Mail Exchange Record)は、メールを受信するためのメールサーバーを指定するためのレコードです。MXレコードでは、優先度(Priority)を設定でき、数値が小さい方のサーバーが優先的に使われます。万が一、第一優先のサーバーがダウンしても、別のサーバーに切り替えられるので、メールの可用性が向上します。

- example.com:メールを受け取るドメイン名
- mail1.example.com (Priority: 10), mail2.example.com (Priority: 20):メールサーバーのアドレス
5. NSレコード
NSレコード(Name Server Record)は、ドメインのDNS情報を管理するネームサーバーを指定するレコードです。通常、ネームサーバーは複数設定され、プライマリとセカンダリが存在します。これにより、障害時でもドメインの解決が可能になります。

- example.com:DNS管理が必要なドメイン名
- ns1.dnsprovider.com, ns2.dnsprovider.com:このドメインを管理するネームサーバー
6. PTRレコード
PTRレコード(Pointer Record)は、IPアドレスからドメイン名を逆引きするためのレコードです。主にメールサーバーの認証やログの解析で使用されます。逆引きDNSは、スパム対策や通信の信頼性向上のために重要な設定です。

- 192.0.2.1:IPアドレス
- example.com:そのIPアドレスに対応するドメイン名
7. SOAレコード
SOAレコード(Start of Authority)は、ドメインゾーンの権威情報を示すレコードで、ゾーンの管理者やシリアル番号、リフレッシュ間隔などの情報を含みます。DNSゾーンの基本的な管理情報を提供し、プライマリネームサーバーがどこにあるかや、ゾーンの更新ルールを定義する重要なレコードです。

SOAレコードには、以下のような情報が含まれています。
- example.com:このドメインのゾーン情報の管理を担当するSOAレコード
- Primary NS: ns1.dnsprovider.com:このゾーンのプライマリネームサーバー
- Admin Emai: admin@example.com:このゾーンを管理する管理者の連絡先メールアドレス(通常は “@” を “.” に置き換えた形式で記述)
- Serial, Refresh, Retry, Expire, TTL:
- Serial(シリアル番号): ゾーン情報のバージョン管理用の番号
- Refresh(リフレッシュ間隔): セカンダリDNSがゾーン情報を更新する間隔
- Retry(リトライ間隔): セカンダリDNSがプライマリDNSと同期できなかった際の再試行間隔
- Expire(有効期限): セカンダリDNSがプライマリDNSに接続できなくなった場合、キャッシュを破棄するまでの時間
- TTL(Time To Live): DNSレコードの有効期限(キャッシュ時間)
8. TXTレコード
TXTレコード(Text Record)は、DNSに任意のテキストデータを保存するためのレコードです。メール認証(SPF, DKIM, DMARC)やドメインの所有権確認によく使われます。

代表的な使い方として、以下のようなものがあります。
- example.com:TXTレコードが設定されているドメイン名
- SPF: “v=spf1 include:_spf.example.com ~all”:メール送信元の認証を行うSPF(Sender Policy Framework)の設定
- DKIM: “v=DKIM1; k=rsa; p=…”:電子署名を使ってメールの改ざんを防ぐDKIM(DomainKeys Identified Mail)の設定
- 任意のテキスト情報:ドメインの所有者確認など、自由なテキストデータを設定可能
9. SRVレコード
SRVレコード(Service Record)は、特定のサービスを提供するサーバーのホスト名とポート番号を指定するレコードです。VoIP(SIP)やチャット(XMPP)、Active Directoryなどで使われます。

SRVレコードは、以下のような情報を持ちます。
- サービス名: どのサービス(例: _sip, _xmpp)かを指定
- プロトコル: TCPかUDPか(例: _tcp, _udp)
- 優先度(Priority): 優先順位(数値が小さいほど優先)
- 重み(Weight): 負荷分散のための重み付け
- ポート番号: サービスが動作するポート(例: 5060)
- ターゲット: サービスを提供するサーバー(例: sipserver.example.com)
例えば、SIPサーバーのSRVレコードはこんな形になります。
_sip._tcp.example.com. 86400 IN SRV 10 5 5060 sipserver.example.com.
この設定により、SIPサービスを提供するサーバーが「sipserver.example.com」であり、TCPのポート5060を使っていることがわかります。
まとめ
ここで紹介したもの以外にも、DNSレコードにはさまざまな種類があります。それぞれの仕組みや役割を理解しておくことで、サーバーやネットワークの設定で困ることが少なくなり、トラブルシューティングの際にも役立ちます。
Webサイトを運営したり、メールの設定をしたりするときに、DNSレコードを適切に設定できるようになっておきましょう!