はじめに
インフラ構築やドメイン運用の際、必ず向き合うのがDNSレコードです。「AレコードとCNAMEの使い分けは?」「メールが届かない原因はMX?SPF?」といった疑問を解消するため、主要なDNSレコードの種類と役割を整理しました。
1. 主要DNSレコード一覧表
まずは、よく使うレコードを一覧で把握しましょう。
| レコード名 | 略称 | 役割 | 設定値(Value)の例 |
|---|---|---|---|
| Address | A | ドメイン名を IPv4 に紐付ける | 192.0.2.1 |
| IPv6 Address | AAAA | ドメイン名を IPv6 に紐付ける | 2001:db8::1 |
| Canonical Name | CNAME | ドメイン名の 別名(エイリアス) を定義 | example.com |
| Mail Exchanger | MX | メールサーバー の配送先を指定 | mail.example.com |
| Name Server | NS | ドメインを管理する DNSサーバー を指定 | ns1.provider.jp |
| Text | TXT | 任意の文字列(主に 認証・セキュリティ) | v=spf1 ... |
2. 各レコードの詳解
Aレコード / AAAAレコード
最も基本的なレコードです。ブラウザにURLを入力した際、最終的にこのIPアドレスへ通信しに行きます。
- ポイント: 1つのドメインに複数のAレコードを登録して、簡易的なロードバランシング(ラウンドロビン)を行うことも可能です。
CNAMEレコード
「この名前は、あっちのドメインと同じだよ」という参照設定です。
-
注意点: RFCの仕様上、Zone Apex(サブドメインなしのルートドメイン)には設定できません。
- ❌
example.comに CNAME は不可 - ⭕️
www.example.comに CNAME は可能
- ❌
MXレコード
メールの配送先を決めます。
- 優先順位(Priority): 複数のサーバーを指定する場合、数字が小さい方が優先されます。
- ルール: 宛先には必ず「ホスト名」を指定します(直接IPアドレスを書くのはNG)。
NSレコード
そのドメインの「権威(正解)」を持っているサーバーを指定します。
- ドメイン移管や、AWS Route 53などの外部DNSサービスを利用する際に、レジストラ側でこの設定を書き換えます。
TXTレコード
最近では、Webサイトの表示よりもセキュリティや所有権確認で多用されます。
- SPF設定: 送信元メールサーバーのIPを記述し、なりすましメール判定を防ぐ。
- ドメイン所有権確認: Google Search ConsoleやGitHub Pagesのカスタムドメイン設定などで、「この文字列をTXTレコードに入れてください」と要求されるアレです。
3. 実践:digコマンドでの確認方法
設定したレコードが正しく反映されているか、ターミナルから確認してみましょう。
# Aレコードを確認
dig google.com A
# MXレコードを確認
dig google.com MX
#TXTレコードを確認
dig google.com TXT
4. TTL(Time To Live)の落とし穴
DNSにはキャッシュの仕組みがあります。
- TTL = 3600 なら「1時間はキャッシュを信じてね」という意味です。
- 教訓: サーバー移行時は、作業の24〜48時間前にTTLを短く(300など)設定しておくのが、ダウンタイムを最小限にするコツです。
まとめ
DNSは「インターネットの電話帳」です。それぞれのレコードが何のためにあるのかを理解しておくと、トラブルシューティングのスピードが格段に上がります。