DNSレコードとは結局何か。図で仕組みをサクッと理解

クラウド/インフラ

DNS(Domain Name System)は、インターネット上でドメイン名とIPアドレスを対応付ける仕組みです。webエンジニアやIT従事者なら、なんとなく知っている人も多いと思いますが、レコードの種類が多くて混乱することがありますよね。Webサイトを運営したり、メールを設定したりするときに「DNSレコードを変更してください」と言われたことがある人も多いのではないでしょうか?

DNSレコードにはたくさんの種類があり、それぞれの役割を理解しないと「どれをどう設定すればいいの?」と迷ってしまいがちです。特に、初心者のうちは違いが分かりにくいと思います。

そこで、この記事では、DNSレコードの基本的な種類を、図を交えてわかりやすく解説します。テキストだけだと理解しづらい部分も、視覚的にスッと理解できるようになっています。

DNSレコードとは?

そもそも、DNSレコードとは、「このドメインにアクセスすると、どのサーバーにつながるのか?」を決める設定情報です。例えば、「example.com にアクセスしたら 192.0.2.1 のIPアドレスのサーバーに接続する」という情報は、AレコードというDNSレコードによって管理されています。

DNSレコードにはいくつかの種類があり、それぞれ役割が異なります。Webサイトの表示やメールの送受信、セキュリティなど、インターネット上でのさまざまな動作を支えています。

代表的なDNSレコード
  • 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.com192.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.comexample2.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レコードを適切に設定できるようになっておきましょう!

タイトルとURLをコピーしました