BLOG ベアメールブログ
2019.10.25 (金)
DNSレコードの種類を詳しく解説|初心者にも分かる役割と設定のポイント
Last Updated on 2025.12.1
Webサイトがインターネット上で正しく表示されるためには、ドメインとIPアドレスを繋ぐ設定が不可欠です。その役割を担っているのがDNS(Domain Name System)です。DNSレコードは、その具体的な設定情報のことを指します。DNSレコードが正しく設定されていないと、Webサイトにアクセスできない、メールが届かないなど、様々なトラブルにつながる可能性があります。
本記事では、DNSの基礎知識から、Aレコード・MXレコード・CNAMEレコードなどの主要なDNSレコードの種類、さらにメール認証で必須となるSPF・DKIM・DMARCといったTXTレコードの役割まで、わかりやすく解説します。また、コマンドやWebツールを使ったDNSレコードの確認方法も紹介します。「DNSレコードの種類を知りたい」「設定内容を確認したい」という方は、ぜひ参考にしてください。
目次
DNSレコードとは?
まずは、DNSレコードの役割や重要性、そしてどのような情報で構成されているのかといった、基本的なポイントを押さえておきましょう。
DNSの仕組み
私たちがインターネットを利用してWebサイトにアクセスする際、ブラウザのアドレスバーには「example.com」のようなドメイン名を入力します。しかし、コンピューターやサーバーは、数字の羅列である「IPアドレス」(例: 192.0.2.1)を使って通信相手を識別しています。
この「人間にとって分かりやすいドメイン名」と、「コンピューターが理解するIPアドレス」との対応関係を管理し、変換する仕組みがDNS(Domain Name System)です。DNSは、インターネットにおける住所録のような役割を果たしています。

そして、このDNSの住所録に記載されている個々の情報が「DNSレコード」です。DNSレコードには、「どのドメイン名がどのIPアドレスに対応するのか」といった情報だけでなく、メールサーバーの指定など、ドメインに関する様々な情報が記録されています。
DNSレコードが重要な理由
DNSレコードの設定が正しくないと、様々な問題が発生します。例えば、WebサイトのAレコード(後述)に誤ったIPアドレスが設定されている場合、ユーザがドメイン名でアクセスしても正しいサーバーに辿り着けず、Webサイトが表示されません。同様に、MXレコード(こちらも後述)の設定が間違っていると、そのドメイン宛のメールが正しく配送されなくなります。
このように、DNSレコードはドメイン名を利用した各種インターネットサービスを正常に機能させるための生命線とも言える情報です。たった一つの設定ミスが、ビジネスにおける機会損失や信用の低下につながる可能性もあるため、その重要性を十分に理解し適切に管理する必要があります。
DNSレコードの基本構造
DNSレコードは、以下の情報・形式で構成されています。
- 指定するドメイン名
- TTL(Time to Live:キャッシュの生存時間)※
- class(※基本的に変更することはない)
- レコードのタイプ
- 指定するデータ

※補足
TTLとは、DNSサーバーがレコード情報をキャッシュ(保持)してよい時間を示す値で、単位は「秒」です。例えばTTLを600と設定すると、「この情報を600秒=10分キャッシュしてよい」という意味になります。
TTLを短く設定すると、情報更新の反映は早くなりますが、その分DNSサーバー(ネームサーバー)へのクエリ(問い合わせ)回数が増えて負荷も高くなります。一方でTTLを長く設定すると、クエリ回数は減りますが、変更が反映されるまでに時間がかかります。
「NSレコード」「SOAレコード」のようなほとんど変更されないレコードについては、1時間(3600秒)〜1日(86400秒)など、長めのTTLを設定することが推奨されています。
DNSレコードの主なタイプ(種類)
DNSサーバーを正常に動作させるには、そのDNSサーバーが管理するドメインとIPアドレスの対応表である「ゾーンファイル」の設定が必要です。ゾーンファイルには、情報の種類に応じてDNSレコードを記載します。この「情報の種類」を「レコードタイプ」と呼びます。
レコードタイプには、IPアドレスを示す、メールサーバーを指定する、テキスト情報を保持するなど、用途に応じて様々な種類が存在します。ここでは、代表的なDNSレコードのタイプを紹介します。
Aレコード
Aレコード(Address Record)は、DNSレコードの中で最も基本的かつ重要なレコードの一つで、ホスト名(ドメイン名やサブドメイン名)をIPv4アドレスに対応付ける役割を担います。IPv4アドレスは、「192.0.2.1」のような形式で表され、サーバーを特定するために使用されます。
Aレコードの基本書式:
[ドメイン名] IN A [IPアドレス]
例えば、Webサイト「www.example.com」がIPアドレス「192.0.2.1」のサーバーで公開されている場合、DNSには以下のようなAレコードが設定されます。
www.example.com. IN A 192.0.2.1
この設定により、ユーザがブラウザで「www.example.com」にアクセスしようとすると、DNSを通じてIPアドレス「192.0.2.1」が参照され、該当するWebサーバーへ接続が行われます。ルートドメイン(例: example.com)自体にIPアドレスを割り当てる場合もAレコードを使用します。
AAAAレコード
AAAAレコード(Quad A Record)は、Aレコードと同様にホスト名をIPアドレスに対応付けるためのレコードです。ただし、AレコードがIPv4アドレスを扱うのに対し、AAAAレコードはIPv6アドレスを登録する点が異なります。IPv6アドレスは、「2001:db8::1」のように、より長く複雑な形式で表されます。
インターネットの普及に伴い、従来のIPv4アドレスの枯渇が危惧されており、次世代のプロトコルであるIPv6への移行が進められています。WebサイトやサーバーがIPv6に対応している場合、AAAAレコードを設定することで、IPv6環境のユーザーが直接アクセスできるようになります。
AAAAレコードの基本書式:
[ドメイン名] IN AAAA [IPアドレス]
例えば、Webサイト「www.example.com」がIPアドレス「2001:db8::1」のサーバーで公開されている場合、DNSには以下のようなAAAAレコードが設定されます。
www.example.com. IN AAAA 2001:db8::1
AレコードとAAAAレコードは併用でき、クライアント側の環境(IPv4/ IPv6)に応じて適切なプロトコルで接続が行われます。今後、IPv6の普及が進むにつれてAAAAレコードの重要性はさらに増していくでしょう。
CNAMEレコード
CNAMEレコード(Canonical Name Record)は、「エイリアス名」(aliases:別名)を「正規のホスト名」(Canonical Name)に紐付けるためのレコードです。CNAMEレコードの値にはIPアドレスではなく、別のホスト名を指定します。
CNAMEレコードの基本書式:
[ホスト名(エイリアス)] IN CNAME [正規のホスト名]
CNAMEレコードは、CDN(※)を利用する際に、独自ドメインをCDNプロバイダが指定するホスト名(例: xxxxx.cdnprovider.net)へ向けるために用いられることがあります。
また、wwwあり・なしのドメイン名を統一する際にも使用されます(例: www.example.com を example.com にCNAMEで向ける。)ただし、ルートドメインへのCNAME設定は推奨されず、他の方法が取られることが一般的です。
注意点として、CNAMEレコードを設定したホスト名には、他のレコード(MXレコードやNSレコードなど)を同時に設定することはできません。
※CDN(Content Delivery Network):画像や動画などのデジタルコンテンツを、ユーザに近い場所にあるサーバー(キャッシュサーバー)から配信することで、表示速度を向上させる仕組み
MXレコード
MXレコード(Mail Exchange Record)は、特定のドメイン宛のメールをどのメールサーバーに配送するかを指定するレコードです。メールアドレスの「@」以降に記載されたドメイン名を基に、送信側のメールサーバーはDNSへ問い合わせを行い、登録されているMXレコードを参照して配送先を決定します。
MXレコードでは、値としてメールサーバーのホスト名を指定し、加えて「優先度(preference)」を数値で設定します。優先度は、複数のメールサーバーが存在する場合にどの順番で試行するかを示すもので、数値が小さいほど優先されます。
MXレコードの基本書式:
[ドメイン名] IN MX [優先度][メールサーバーのホスト名]
例えば次のように設定した場合、example.com宛のメールは、まず優先度10のmail.example.comに配送されます。もしmail.example.comに接続できない場合は、優先度20のbackupmail.example.comに配送を試みます。
example.com. IN MX 10 mail.example.com.
example.com. IN MX 20 backupmail.example.com.
なお、MXレコードが参照するホスト名にはAまたはAAAAレコードが必要で、CNAMEは指定できない点にも注意が必要です。
MXレコードについては、以下の記事でも詳しく解説しています。
MXレコードとは?書き方と設定例、確認する方法まで解説|ベアメールブログ
NSレコード
NSレコード(Name Server Record)は、そのドメイン(またはサブドメイン)のDNS情報を管理している権威DNSサーバー(ネームサーバー)がどれであるかを指定するレコードです。ドメイン名からIPアドレスを調べる際、まず上位のDNSサーバーに問い合わせ、次にNSレコードに示された権威DNSサーバーへ問い合わせる、という階層的な名前解決が行われます。
NSレコードの基本書式:
[ドメイン名] IN NS [ネームサーバーのホスト名]
一般的には、信頼性と冗長性を確保するため、一つのドメインに対して複数のNSレコード(プライマリネームサーバーとセカンダリネームサーバー)を設定します。例えば、「example.com」のDNS情報を管理するネームサーバーが「ns1.example-dns.com」「ns2.example-dns.com」である場合、以下のように記述します。
example.com. IN NS ns1.example-dns.com.
example.com. IN NS ns2.example-dns.com.
多くの場合、ドメインを取得したレジストラ(ドメイン管理事業者)が提供するネームサーバーが自動的に設定されますが、レンタルサーバーやDNSホスティングサービスを利用する場合には、指定されたネームサーバーに切り替えることになります。
なお、NSレコードが指すホスト名についてもAまたはAAAAレコードが必要で、CNAMEは使用できません。
ユーザが直接NSレコードを変更する機会は少ないですが、DNSの仕組みを理解する上で重要なレコードです。
SOAレコード
SOAレコード(Start of Authority Record)は、特定のDNSゾーン(ドメイン名空間の管理単位)に関する管理情報の起点を示すレコードで、各ゾーンファイルに必ず一つ存在します。
SOAレコードには、DNSゾーンの同期や更新管理に必要な次の情報が含まれます。
要素 説明 MNAME ゾーンを管理するプライマリネームサーバーのホスト名 RNAME ゾーン管理者のメールアドレス(@をドットに置き換えた形式。例:hostmaster.example.com) SERIAL ゾーンファイルのシリアル番号。更新時に数値を増加させる必要がある REFRESH セカンダリネームサーバーがプライマリの更新を確認する間隔(秒) RETRY セカンダリがプライマリに接続できなかった場合の再試行間隔(秒) EXPIRE ゾーン情報の更新ができない状態が続いた場合、セカンダリが持っているデータを継続して利用できる最大時間(秒) MINIMUM (TTL) 他のレコードにTTLが指定されていない場合に適用されるデフォルトTTL、またはネガティブキャッシュTTL(※)
※「そのドメインが存在しない」という応答(否定応答)をキャッシュする有効期限のこと
SOAレコードの基本書式:
[ドメイン名] IN SOA [MNAME][RNAME](
[SERIAL]
[REFRESH]
[RETRY]
[EXPIRE]
[MINIMUM]
)
一般のユーザがSOAレコードを直接編集する機会は多くありませんが、ゾーン転送の制御や情報の同期において中心的な役割を持つ、DNS管理者にとって重要なレコードです。
PTRレコード
PTRレコード(Pointer Record)は、AレコードやAAAAレコードとは反対に、IPアドレスから対応するホスト名を調べるためのレコードで、いわゆる「逆引き」に用いられます。
逆引きは、ネットワークのトラブルシューティングの他、メールの送信元IPアドレスが適切なホスト名と紐づいているかを確認する目的でも利用されます。
逆引きについては、以下の記事で詳しく解説しています。
IPアドレスの逆引きとは?仕組みから正引きとの違い、活用シーン、確認方法まで解説|ベアメールブログ
PTRレコードは、通常のドメイン名のゾーンファイルではなく、in-addr.arpa(IPv4の場合)や ip6.arpa(IPv6の場合)という特殊なドメイン配下に、IPアドレスを逆順にした形式で登録されます。この設定は、通常IPアドレスを管理しているプロバイダやホスティング事業者が行います。
PTRレコードの基本書式:
[IPアドレスの逆引き用表記] IN PTR [ドメイン名]
例として、IPv4アドレス「192.0.2.1」のPTRレコードは、以下のように記述します。
1.2.0.192.in-addr.arpa. IN PTR mail.example.com.
PTRレコードは一つのIPアドレスにつき一つのみ設定されるのが原則で、逆引きと正引き(Aレコード)の対応が一致しているほど、メール配信における信頼性が高まります。適切にPTRレコードが設定されていることは、送信メールが迷惑メールと誤判定されるリスクを軽減するうえでも重要です。
PTRレコードについては、以下の記事も参考にしてください。
PTRレコードは何のために設定するの? DNSの逆引きとメール送信の関係について|ベアメールブログ
SRVレコード
SRVレコード(Service Record)は、特定のサービスがどのホスト(サーバー)のどのポート番号で提供されているかを指定するレコードです。AレコードやMXレコードが特定の用途(Webやメール)に紐付いているのに対し、SRVレコードはより汎用的で、VoIP(SIP)、XMPP、LDAPなど幅広いサービスを対象に利用されます。
SRVレコードの基本書式:
[サービス名].[プロトコル].[ドメイン名] IN SRV [優先度][重み][ポート番号][ホスト名]
例えば、example.com ドメインでSIPサービスを server1.example.com のポート 5060 で提供している場合、次のように設定します。
_sip._tcp.example.com. IN SRV 10 0 5060 server1.example.com.
一般的なWeb運用ではSRVレコードを使用する場面は多くありませんが、SIPやLDAPなど特定のサービスを利用する場合には、必要に応じて設定するケースがあります。
TXTレコードと送信ドメイン認証
TXTレコード(Text Record)は、ドメイン名に対して任意のテキスト情報を関連付けることができる汎用的なレコードです。特にメールのセキュリティ向上やドメイン管理において、重要な役割を担っています。 代表的な用途としては、次のようなものがあります。
SPF
SPF(Sender Policy Framework)は、あるドメインから送信されるメールが、そのドメイン管理者が許可したメールサーバーから送られているどうかを検証する技術です。送信ドメイン認証(SPF・DKIM・DMARC)の中でも基礎となる仕組みで、正しく設定することでなりすましのリスクを軽減できます。
SPFレコードは、送信を許可するサーバー情報を公開するためのもので、TXTレコードとして登録します。v=spf1から始まる構文の中に、メールを送信するIPアドレスや、外部サービスを利用する場合はincludeで参照先の情報を記述します。
例:
example.co.jp. IN TXT “v=spf1 ip4:192.168.10.1 include:spf.third-party.com -all”
SPFレコードの記載方法については、以下の記事で詳しく解説しています。
SPFレコードの書き方とは?記述例を総まとめ | ベアメールブログ
DKIM
DKIM(DomainKeys Identified Mail)は、メールが送信途中で改ざんされていないこと、そして送信元ドメインが正当であることを、電子署名を用いて検証する技術です。SPFと同様に送信ドメイン認証の基盤となる仕組みであり、DMARCを適切に運用するためにも重要な役割を果たします。
DKIMレコードは、署名の検証に必要となる公開鍵を公開するためのもので、TXTレコードとしてDNSに登録します。受信側は、送信者のDNSで公開されているDKIMレコードから公開鍵を取得し、署名の検証を行うことでDKIMが成立します。
例:
selector._domainkey.example.com. IN TXT “v=DKIM1; k=rsa; p=MIIBIjANBkg…”
DKIMレコードの書き方については、以下の記事を参考にしてください。
DKIMレコードの書き方は? 設定・確認方法や失敗例も解説|ベアメールブログ
DMARC
DMARC(Domain-based Message Authentication, Reporting & Conformance)は、SPFやDKIMの検証結果と組み合わせて、差出人ドメインが偽装されていないか確認する仕組みです。さらに、認証に失敗したメールの取り扱いポリシー(何もしない/隔離/拒否)を指定したり、認証結果のレポートを送信者側にフィードバックしたりする機能も備えており、ドメインの不正利用やなりすましを効果的に防ぐことができます。
DMARCレコードは、DMARCに関する情報を定義したもので、TXTレコードとしてDNSに登録します。レコード内には、DMARCポリシー(none/quarantine/reject)や、レポートの送信先など、DMARC運用に必要な情報を記載します。
例:
_dmarc.example.com IN TXT “v=DMARC1; p=none; rua=mailto:report@example.com”
DMARCレコードの書式や設定方法については、以下の記事で詳しく解説しています。
DMARCレコードの書き方は? 設定・確認方法や設定例も解説|ベアメールブログ
DNSレコードの設定を確認する方法
DNSレコードの設定を確認するには、Windows・macOS・Linux上でコマンドを使用する方法と、DNS情報を調べられるWebサービスを利用する方法があります。
コマンドで確認する
Windowsでは、コマンドプロンプト上でnslookupを使用します。macOSやLinuxの場合は、より機能の多いdigを使用するのが一般的です。
問い合わせを行うDNSサーバーを特に指定しない場合は、OSに設定されているDNSサーバーに対してクエリが送信され、その結果が表示されます。レコードタイプを指定すれば、MXレコードやTXTレコードなど特定のレコードだけを調べることもできます。
例:
nslookup example.com
dig MX example.com
dig TXT example.com
Webサービスを利用して確認する
より手軽な方法として、DNSレコードを確認できるWebサービスを利用する方法があります。代表的なサービスに、CMANが提供している「nslookup(dig)テスト【DNSサーバー接続確認】」があります。調べたいドメイン名を入力し、「nslookup実行」か「dig実行」のボタンを押すだけで結果を確認できます。
CMAN「nslookup(dig)テスト【DNSサーバー接続確認】」https://www.cman.jp/network/support/nslookup.html (2025/11/21確認)
まとめ
DNSレコードは、Webサイトやメールシステムの動作に欠かせない重要な要素です。本記事で紹介した各レコードの役割と確認方法を理解しておくことで、トラブルの予防やスムーズな運用につながります。設定を行う際は、正しい書式とルールを踏まえて取り扱うようにしましょう。