DNSとは? — レコード・CNAME・TTLを、技術者以外のために
最終更新: 2026-09-09
SPFもDKIMもDMARCも、設定する場所はすべてDNSです。ところが「DNSに追加してください」から先が説明されていないことが多く、ここでつまずくと、その先の解説はすべて意味を持ちません。このページで、必要なぶんだけ押さえます。
- DNSは「ドメイン名を引くと答えが返ってくる、公開された名簿」であること
- レコードは「ホスト名・種類・値・TTL」の4つでできていること
- CNAMEは「別名を、正規の名前に転送する」ためのもので、同じ名前に他のレコードを置けないこと
- ホスト名の
@はドメイン自身を指し、末尾のドットには意味があること - あなたが開くべき管理画面は、ドメインを買った会社とは限らないこと
DNSとは、公開された名簿です
インターネット上のサーバーは、本当は 203.0.113.10 のような数字(IPアドレス)で識別されています。でも人間が数字を覚えるのは無理なので、yourdomain.com という名前を使います。
その名前と中身を対応づけている名簿が、DNSです。「yourdomain.com のWebサーバーはどこ?」「yourdomain.com のメールはどこで受け取る?」と聞かれたら答えを返す、そういう仕組みです。
大事なのは、この名簿は世界中の誰からでも見られるということです。あなたのドメインのDNSに何が書いてあるかは、公開情報です。だからこそ、受信側のメールサーバーは「このメールは本物か」を確かめるために、あなたのDNSを見にきます。SPFもDKIMもDMARCも、「名簿に書いておくことで、世界に宣言する」という仕組みなのです。
レコードは「4つの部品」でできています
名簿の1行1行をレコードと呼びます。管理画面の入力欄がバラバラに見えても、書いているのは次の4つだけです。
レコードの種類 — 何のためのものか
種類はたくさんありますが、メールの設定で出てくるのは実質5つです。
| 種類 | 何を登録するか | 何のためのものか |
|---|---|---|
A | IPアドレス(数字) | Webサイトの置き場所を教える |
CNAME | 別のホスト名 | 別名を、正規の名前に転送する(下で詳しく) |
MX | メールを受け取るサーバー名 | そのドメイン宛のメールの届け先を教える |
TXT | 自由な文字列 | SPF・DKIM・DMARCはすべてこれ。「宣言を書いておく」場所 |
NS | ネームサーバーの名前 | この名簿を管理している会社を指す(最重要。下で詳しく) |
CNAMEとは — 別名を、正規の名前に転送する
CNAMEは Canonical NAME(正規名)の略です。「ホスト名」に書いた別名を、「値」に書いた正規の名前に転送し、その正規名に登録されている設定をそのまま参照させるためのものです。
ホスト名 種類 値
www CNAME webhost.example.net.
↓ 意味
「www.yourdomain.com を聞かれたら、webhost.example.net. の登録を見てください」
便利なのは、参照先が変わっても、こちらを直さなくてよいことです。上の例なら、Webサーバーを引っ越してIPアドレスが変わっても、直すのは webhost.example.net. 側だけ。あなたのDNSはそのままで構いません。
メールの設定で「TXTではなくCNAMEを登録してください」と案内されるのは、この性質を使うためです。設定の中身をサービス会社が管理してくれるので、こちらは1行置くだけで済みます。
CNAMEには、1つだけ強い制約があります
同じホスト名に、CNAMEと他のレコードを一緒に置くことはできません。DNSの決まりごとです。
mail CNAME esp.example.net. ← これがあるとき
mail TXT "v=spf1 ..." ← これは置けない(設定が壊れます)
「念のためTXTも書いておこう」が事故になる典型です。CNAMEを置いた名前には、何も足さないでください。
同じ理由で、ドメイン本体(yourdomain.com そのもの)にCNAMEは置けません。そこにはMXレコードなどが必要だからです。CNAMEを使うときは、必ず mail.yourdomain.com のようなサブドメインになります。
ホスト名の書き方 — @ と、末尾のドット
ここは管理画面ごとに書き方が違い、非常に間違えやすいところです。
| 書きたいもの | ホスト名の欄に入れる値 | 注意 |
|---|---|---|
yourdomain.com そのもの | @ または空欄 | 会社によって違う。yourdomain.com と書くと二重になることがある |
mail.yourdomain.com | mail | ドメイン名の部分は書かない(自動で付く) |
_dmarc.yourdomain.com | _dmarc | 先頭のアンダースコアは省かない |
値の末尾のドットにも意味があります。webhost.example.net. のように最後に . が付いていたら「これで完全な名前」という意味です。省くと、管理画面によっては自分のドメインを勝手に足してしまいます(webhost.example.net.yourdomain.com のように)。案内された値は、末尾のドットも含めてそのまま貼り付けてください。
TTLとは — 「何秒覚えておいてよいか」
世界中のDNSサーバーは、一度引いた答えをしばらく覚えています(キャッシュ)。その保存期間を秒数で指定するのがTTLです。3600なら1時間です。
だから、DNSを直してもすぐには反映されません。直す前の答えを覚えている相手には、TTLが切れるまで古い答えが返り続けます。
- 設定を変更する予定があるなら、事前にTTLを300秒(5分)程度に下げておくと、切り替えが速くなります
- 反映の確認は、時間をおいて何度か行ってください。「入れたのに反映されない」の大半はこれです
- 落ち着いたらTTLは戻して構いません(3600程度)
いちばん大事な話 — あなたが開く管理画面は、どこですか
ドメインを買った会社と、DNSを管理している会社は、同じとは限りません。ここを取り違えて「案内どおり入力したのに反映されない」となるのが、最も多いつまずきです。
このサイトの診断は、ドメイン名を入れるとネームサーバーを調べ、該当するドメイン管理サービスの手順ページを自動で出します。どこを開けばいいか分からないときは、まず診断してみてください。管理画面別の設定ガイドも用意しています。
間違えると、何が起きるのか
先に知っておいてください。DNSの変更は、間違えるとメールやWebサイトが止まります。ただし元の値に書き戻せば必ず戻せます。
| やってしまいがちなこと | 起きること |
|---|---|
| 既存のTXTレコードを上書きしてしまう | 元の設定(他サービスの認証など)が消えて、そちらが動かなくなる。追加すべきものを上書きしない |
| SPFのTXTを2本登録する | 規格違反になり、両方とも無効になる(1本にまとめる) |
| CNAMEを置いた名前にTXTも足す | その名前の設定が壊れる |
| MXレコードを消す | そのドメイン宛のメールが届かなくなる(最も影響が大きい) |
| 値の末尾のドットを省く | 自分のドメインが勝手に足され、参照先が存在しない名前になる |
触る前に、いまの内容をコピーして保存しておいてください。それだけで、いつでも戻せる状態になります。
よくある質問
Q. DNSを触ると、Webサイトも止まりますか?
A. Webサイトに関係するのはAレコードとCNAMEです。メールの設定で追加するのはTXTレコード(SPF・DKIM・DMARC)なので、既存のレコードを消さないかぎり、Webサイトには影響しません。
Q. 反映されたかどうかは、どう確かめますか?
A. このサイトの診断にドメイン名を入れてください。TTLの分だけ時間がかかることがあるので、入れた直後に出なくても、しばらく待ってからもう一度お試しください。
Q. 自分ではDNSを触れません。
A. それが普通です。設定値をつくるで値を作り、依頼文テンプレートと一緒に、制作会社やサーバー会社の担当者に渡してください。費用はかかりません。
Q. サブドメインだけ別の会社で管理できますか?
A. できます(DNSの委任といいます)。ただし設定が複雑になるため、必要に迫られていないなら1か所にまとめるほうが安全です。