DNSレコードとは何か — A/CNAME/MX/TXT/TTLを初めて設定する人向けに噛み砕いて解説
本記事はアフィリエイト広告(A8.net)を含みます。価格・仕様は2026年6月時点の目安です。最新は各公式サイトでご確認ください。
TL;DR
DNS(Domain Name System)とは、「ドメイン名(例:example.com)」を「サーバーのIPアドレス(例:203.0.113.10)」に変換する電話帳のような仕組みです。人間はドメインで覚え、コンピュータはIPで通信する——この橋渡しをするのがDNSです。
サイト公開やメール開通でつまずく原因の多くは、レコードを1種類だけ覚えて使い回そうとすることにあります。最低限おさえるのは次の対応関係です。
- A / AAAA → ドメインをIPアドレスに向ける(サイト公開の土台)
- CNAME → ドメインを別のドメイン名に向ける(
wwwや外部サービスの別名) - MX → そのドメイン宛てメールの配送先を指定する
- TXT → 任意の文字列。SPF / DKIM / DMARCや所有権確認に使う
- NS → そのドメインのDNSを管理するネームサーバーを指定する
「何をIPに向け、何を別名に向け、メールはどこへ送るか」を分けて考えると、設定が一気に整理できます。
DNSとは:名前解決の流れ
ブラウザに example.com と入力してからページが表示されるまで、裏では次の順で問い合わせが走ります。これを名前解決(name resolution)と呼びます。
- PCがキャッシュDNSサーバー(自分の代わりに問い合わせを肩代わりする中間サーバー。プロバイダやCloudflareの
1.1.1.1など)に「example.comのIPは?」と尋ねる - キャッシュサーバーがルートサーバーに尋ね、
.comを管理するサーバーを教わる - 続いて
.comの権威サーバーに尋ね、example.comのネームサーバー(NS)を教わる - そのネームサーバーに尋ね、
example.comのAレコード(IPアドレス)を受け取る - PCはそのIPアドレスのサーバーへ接続し、ページを取得する
ポイントは、DNSはあくまで「名前→IP」の対応表を返すだけで、サイトの中身そのものは持っていないことです。だから「DNSは設定したのにサイトが表示されない」ときは、向き先のサーバー側の問題であることも多くあります。
主要レコードの役割と使い分け
実務で触る代表的なレコードは6種類です。まず全体像を表で押さえます。
| レコード | 役割 | 値(右辺)の中身 | 主な用途 |
|---|---|---|---|
| A | ドメイン → IPv4 | 203.0.113.10 のようなIPv4アドレス | サイト公開・サーバー指定 |
| AAAA | ドメイン → IPv6 | 2001:db8::1 のようなIPv6アドレス | IPv6対応 |
| CNAME | ドメイン → 別のドメイン名 | example.com のような名前 | wwwや外部サービスの別名 |
| MX | ドメイン宛てメールの配送先 | 優先度+メールサーバー名 | 独自ドメインメール |
| TXT | 任意のテキスト | 自由な文字列 | SPF/DKIM/DMARC・所有権確認 |
| NS | DNSを管理するサーバー | ネームサーバー名 | DNSの委任 |
Aレコード / AAAAレコード:IPアドレスに向ける
Aレコード(A record)とは、ドメインをIPv4アドレス(数字4つ区切りの住所)に対応させる、最も基本のレコードです。example.com のAレコードにサーバーのIPを設定すれば、そのドメインで自分のサーバーが見えるようになります。
IPv6(より新しい形式の住所)を使う場合はAAAAレコードで同じことをします。AとAAAAは両方設定でき、対応している経路の方が使われます。
CNAMEレコード:別のドメイン名に向ける
CNAMEレコード(Canonical Name record)とは、ドメインを「IPアドレス」ではなく「別のドメイン名」に向けるレコードです。代表例が www です。
example.com→ AレコードでIPを設定www.example.com→ CNAMEでexample.comに向ける
こうすると、IPが変わったときにexample.comのAレコードを直すだけでwww側も追従します。GitHub PagesやCDN、各種SaaSの独自ドメイン設定でCNAMEを指定されるのも同じ理由です。
注意点として、ドメインの頂点(zone apex、example.comそのもの)には原則CNAMEを設定できません。ここは後述の「よくあるミス」で詳しく扱います。
AレコードとCNAMEレコードの違い
AとCNAMEの違いは、「値の中身がIPアドレスか、別のドメイン名か」の一点に尽きます。
| A(AAAA) | CNAME | |
|---|---|---|
| 向け先 | IPアドレス(数字) | 別のドメイン名(文字列) |
| 頂点(zone apex)に設定 | できる | できない(原則) |
| IP変更時の追従 | そのレコード自体を直す | 向け先のA/AAAAが変われば自動追従 |
| 使う場面 | サーバー本体を指定するとき | wwwや外部SaaSの別名を作るとき |
判断に迷ったら、「IPアドレスを直接知っているか」で分けます。自分のサーバーのIPを直接指定するならA、GitHub PagesやSaaSが指定する「向け先のドメイン名」をそのまま使うならCNAMEです。zone apexにCNAMEを設定できないのは、CNAMEが「そのドメインのすべての情報を別名に委ねる」仕様のため、MXやNSなど他のレコードと共存できなくなるからです。
MXレコード:メールの配送先
MXレコード(Mail eXchanger record)とは、そのドメイン宛てのメールをどのメールサーバーへ届けるかを指定するレコードです。値には優先度(数値)とメールサーバー名を書きます。
example.com. IN MX 10 mail.example.com.
example.com. IN MX 20 mail2.example.com.
数値が小さいほど優先されます。上の例では mail.example.com(優先度10)が先に使われ、届かないときに mail2(優先度20)が使われます。
重要なのは、MXはサイト表示(A/CNAME)とは独立していることです。「サイトはConoHa、メールはGoogle Workspace」のように、WebとメールはMXを使って別の事業者に向けることができます。
TXTレコード:認証・所有権確認の万能枠
TXTレコードとは、任意の文字列を置けるレコードです。「ここで好きなテキストを公開できる」と考えると、なぜ認証に使われるかが分かります——外部サービスから「このドメインにこの文字列を置けたなら、あなたがドメインの持ち主だ」と確認できるからです。
実務では次の用途が中心になります。
- SPF / DKIM / DMARC(メール認証。後述)
- Google Search Consoleなどのドメイン所有権確認
- 各種SaaSのドメイン認証
1つのドメインに複数のTXTレコードを共存させられます。
NSレコード:DNSを誰が管理するか
NSレコード(Name Server record)とは、そのドメインのDNSを管理しているネームサーバーを示すレコードです。レジストラ(お名前.comなど、ドメインを登録・管理する事業者)で設定するネームサーバーと、ゾーン内のNSレコードが食い違うと名前解決が不安定になります。ネームサーバーの委任は後の章でまとめます。
よくある設定パターン
1. サイトを独自ドメインで公開する
最小構成は次の2レコードです。
example.com. IN A 203.0.113.10
www.example.com. IN CNAME example.com.
サーバーのIPをAに設定し、wwwをCNAMEで頂点に向けます。SaaSやCDNを使う場合は、提供元が指定するIPやCNAME先を入れます。
2. 独自ドメインでメールを使う
独自ドメインのメールを使うには、MX・SPF・DKIM・DMARC の4点が必要です。「MXを入れただけなのにメールが届かない」「迷惑メールに落ちる」の原因の多くは、残り3点が抜けていることにあります。
メール事業者が指定するMXを設定し、合わせて認証用のTXTを入れます。たとえばメールをGoogle Workspaceで運用する場合、Google側が案内するMXとSPF/DKIM/DMARCの値を登録します(具体的なホスト名・値は必ず利用するサービスの公式手順に従ってください)。
3. SPF・DKIM・DMARC(なりすまし対策)
独自ドメインでメールを送るなら、迷惑メール判定や送信ドメイン認証のためにこの3点をTXTで設定します。役割は次のとおりです。
| 仕組み | 何を守るか | 形式 |
|---|---|---|
| SPF(Sender Policy Framework) | このドメインから送ってよい送信元サーバーを宣言 | TXT(v=spf1 ...) |
| DKIM(DomainKeys Identified Mail) | メールに電子署名を付け改ざん・なりすましを検知 | TXT(署名用の公開鍵) |
| DMARC(Domain-based Message Authentication, Reporting, and Conformance) | SPF/DKIMに失敗したメールの扱いを指定(通過/隔離/拒否)とレポート受信 | TXT(v=DMARC1; p=...) |
SPFは「誰が送ってよいか」、DKIMは「本物か(署名)」、DMARCは「失敗時にどうするか」を担当すると整理すると役割が混ざりません。3つは併用が前提で、DMARCはSPF/DKIMの結果を踏まえて動きます。
TTLと反映待ち:設定を直したのに反映されないとき
「DNSを変更したのに、まだ古いサイトが見える」——これは最も多い詰まりです。原因はTTL(Time To Live)です。
TTLとは、キャッシュDNSサーバーがそのレコードを「何秒間キャッシュ(一時保存)してよいか」を指定した値です。TTLの秒数が切れるまで、各地のキャッシュサーバーは古い値を返し続けます。
- TTLが3600(1時間) → 変更しても、最大1時間は古い値が各地でキャッシュされ得る
- TTLが300(5分) → 反映が速いが、問い合わせ回数は増える
サーバー移転やIP変更を予定しているなら、作業の前にTTLを短く(例:300秒)下げておくと切り替えがスムーズです。移転完了後に元の値へ戻します。
手元のキャッシュ確認・更新は次のコマンドで行えます。
# Aレコードを引く(短く確認)
dig +short example.com A
# 特定のリゾルバ(1.1.1.1)に問い合わせて値を確認する
dig @1.1.1.1 example.com A
# Windowsの場合
nslookup -type=A example.com
# 手元のDNSキャッシュをクリア(macOS例)
sudo dscacheutil -flushcache
dig のTTL表示を見れば、あと何秒で各キャッシュが切れるかの目安が分かります。
ネームサーバーの委任:レジストラとDNSを分ける
混乱しやすいのが、「ドメインを買った場所(レジストラ)」と「DNSを管理する場所」は分けられるという点です。
ネームサーバーって別サービス? ネームサーバーとは、「このドメインのDNSレコードを実際に管理・応答するサーバー」のことです。ドメインを買うレジストラがそのままネームサーバーを提供することもありますが、Cloudflareなど別の事業者を使う方が機能・速度の面で有利なことも多くあります。
- レジストラ:ドメインを登録・管理する事業者(お名前.comなど)
- DNS(ネームサーバー):そのドメインのレコードを実際に応答する場所
レジストラの管理画面でネームサーバー(NS)を指定すると、DNSの管理権限がそのネームサーバーへ委任されます。たとえば「ドメインはお名前.comで取得し、DNSはCloudflareで管理する」場合は、お名前.com側のネームサーバー設定をCloudflareが指定する値に書き換えます。
注意点は、ネームサーバーを切り替えると、レコードの管理場所もそちらに移ることです。お名前.comのDNS設定に入れていたAやMXは、新しいネームサーバー(Cloudflare等)側に作り直す必要があります。移しただけでレコードが付いてこない、という取りこぼしが起きやすい工程です。
CloudflareをDNSに使う利点
DNSを自前のサーバーやレジストラの簡易DNSで運用する代わりに、Cloudflareのネームサーバーへ委任する構成がよく使われます。
Cloudflareって何?お金かかる? Cloudflare(クラウドフレア)は、DNS管理・CDN(コンテンツ配信高速化)・セキュリティなどを提供するサービスです。基本的なDNSホスティングは無料プランで使え、クレジットカード登録も不要です。
主な利点は次のとおりです。
- 応答が速い:世界各地のエッジから名前解決を返す
- 管理画面が分かりやすい:レコード追加・編集・TTL変更が直感的
- プロキシ(オレンジ雲)でIP秘匿・CDN・WAFが乗る:Aレコードをプロキシ有効にすると、実サーバーのIPが隠れ、キャッシュや防御も効く
- DNS自体は無料:基本的なDNSホスティングは無料プランで使える
Cloudflareで防御やキャッシュをさらに詰める設定は、当サイトのCloudflare突破スクレイピング環境の構築のような検知レイヤーの理解とも繋がります。
なお、Cloudflareのプロキシ(オレンジ雲)を有効にしたレコードは、dig で引くとCloudflareのIPが返り、実サーバーのIPは見えなくなります。「設定したIPと違うIPが返る」のはこの仕様であることが多く、異常ではありません。
よくあるミス
DNSでつまずく典型を、原因とセットで整理します。
| 症状 | 原因 | 対処 |
|---|---|---|
| 頂点ドメインにCNAMEを設定できない/エラー | zone apexにはCNAME不可(MX/NSと共存できないため) | Aレコードを使う。または事業者のALIAS/CNAMEフラット化機能を使う |
| サイトは映るがメールが届かない | MXを設定していない/向き先が誤り | MXを独立して設定。A/CNAMEとは別物と理解する |
| メールが迷惑メール扱いされる | SPF/DKIM/DMARC未設定 | TXTで3点を設定(前章) |
| 値の末尾に意図せず自ドメインが付く | レコード末尾のドット(.)漏れ | FQDNの末尾は mail.example.com. のようにドットで終える(管理画面の仕様に従う) |
| 直したのに反映されない | TTLのキャッシュが残っている | TTLを事前に短縮。digで残り時間を確認し待つ |
| ネームサーバー変更後にサイト/メールが落ちた | 委任先にレコードを作り直していない | 新ネームサーバー側にA/MX/TXTを再登録 |
特に多いのがCNAMEとAの混同と末尾ドットの扱いです。「IPに向けるならA、名前に向けるならCNAME」「頂点はCNAME不可」「FQDNは末尾ドットで閉じる」の3点を覚えておくと、大半の事故は避けられます。
独自ドメインの取得そのもの(TLDの選び方)は、当サイトの法人ドメインの選び方・TLD比較ガイドも参考にしてください。
まとめ
| やりたいこと | 使うレコード |
|---|---|
| ドメインをサーバー(IP)に向ける | A(IPv4)/ AAAA(IPv6) |
wwwや外部サービスの別名にする | CNAME |
| 独自ドメインでメールを受け取る | MX |
| なりすまし対策(SPF/DKIM/DMARC)・所有権確認 | TXT |
| DNSの管理場所を委任する | NS(レジストラ側で設定) |
| 移転をスムーズにする | 事前にTTLを短縮 |
DNSは「名前→IP」の対応表という一点を軸にすると、レコードの役割がきれいに分かれます。IPに向けるか、名前に向けるか、メールをどこへ送るかを分けて考えるのが、設定で詰まらないコツです。
各サービス公式(最新の価格・申込はこちら)
独自ドメイン取得
お名前.com(ドメイン取得)![]()