Webサイトやメールの設定をしていると、こんな言葉に出会いませんか?
「Aレコードを設定してください」
「MXレコードの優先度は10にしてください」
「CNAMEレコードを追加してください」
DNSレコードとは:
ドメイン名とサーバー情報を結びつける「設定情報」のことです。
これを正しく設定しないと:
- Webサイトが表示されない
- メールが届かない
- サブドメインが使えない
難しそうに聞こえますが、基本を理解すれば誰でも設定できます。
この記事では、DNSレコードの種類と設定方法を、初心者にもわかりやすく完全解説します。
DNSレコードとは?基礎知識
まずは仕組みから理解しましょう。
DNSの役割
DNS(Domain Name System)は、インターネット上の「電話帳」のようなものです。
仕組み:
ユーザー:「example.comにアクセスしたい」
↓
DNS:「example.comのIPアドレスは192.0.2.10です」
↓
ブラウザ:192.0.2.10にアクセス
↓
Webサイトが表示される
DNSレコードとは
DNSレコードは、このDNSに登録されている「情報のリスト」です。
イメージ:
example.com → 192.0.2.10 (Webサーバーのアドレス)
mail.example.com → 198.51.100.20 (メールサーバーのアドレス)
これらの対応関係を記録したものが「DNSレコード」です。
DNSレコードの構成要素
各レコードは、以下の要素で構成されます:
1. 名前(Name/ホスト名)
example.com
www.example.com
mail.example.com
2. タイプ(Type/レコードタイプ)
A、AAAA、CNAME、MXなど
3. 値(Value/データ)
192.0.2.10 (IPアドレス)
mail.example.com (サーバー名)
4. TTL(Time To Live)
3600 (キャッシュする時間:秒)
主要なDNSレコードの種類
覚えるべき重要なレコードタイプを解説します。
Aレコード(Address Record)
用途: ドメイン名とIPv4アドレスを紐付ける
最も基本的なレコードで、Webサイト表示に必須です。
設定例:
名前:example.com
タイプ:A
値:192.0.2.10
TTL:3600
意味:
「example.comにアクセスしたら、192.0.2.10というIPアドレスのサーバーに接続する」
よくある使い方:
example.com → 192.0.2.10 (ルートドメイン)
www.example.com → 192.0.2.10 (wwwサブドメイン)
blog.example.com → 192.0.2.15 (ブログ用サーバー)
AAAAレコード(IPv6 Address Record)
用途: ドメイン名とIPv6アドレスを紐付ける
Aレコードの IPv6版です。
設定例:
名前:example.com
タイプ:AAAA
値:2001:0db8:85a3:0000:0000:8a2e:0370:7334
TTL:3600
必要性:
- IPv6対応サーバーを使う場合に設定
- Aレコードと併用することが多い
- 未対応なら設定不要
CNAMEレコード(Canonical Name Record)
用途: ドメインの別名(エイリアス)を設定
あるドメインを、別のドメインに転送します。
設定例:
名前:www.example.com
タイプ:CNAME
値:example.com
TTL:3600
意味:
「www.example.comにアクセスしたら、example.comの設定を見に行く」
よくある使い方:
www.example.com → example.com (wwwをルートに転送)
blog.example.com → myblog.wordpress.com (外部サービス)
shop.example.com → myshop.shopify.com (ECカート)
重要な制限:
CNAMEは、ルートドメイン(example.com)には設定できません。
必ずサブドメイン(www、blog など)で使います。
MXレコード(Mail eXchange Record)
用途: メールサーバーを指定
メールを受信するサーバーを設定します。
設定例:
名前:example.com
タイプ:MX
優先度:10
値:mail.example.com
TTL:3600
意味:
「example.com宛のメールは、mail.example.comで受信する」
優先度(Priority)の使い方:
複数のメールサーバーを設定できます。数字が小さい方が優先されます。
優先度:10 → mail1.example.com (メイン)
優先度:20 → mail2.example.com (バックアップ)
メインサーバーが故障しても、バックアップで受信できます。
Gmail(Google Workspace)の例:
優先度:1 → aspmx.l.google.com
優先度:5 → alt1.aspmx.l.google.com
優先度:5 → alt2.aspmx.l.google.com
優先度:10 → alt3.aspmx.l.google.com
優先度:10 → alt4.aspmx.l.google.com
TXTレコード(Text Record)
用途: テキスト情報を記録
様々な情報を自由に記述できます。
主な用途:
1. SPFレコード(メール送信認証)
名前:example.com
タイプ:TXT
値:v=spf1 include:_spf.google.com ~all
「このドメインからメールを送信できるサーバー」を定義します。
2. DKIMレコード(電子署名)
名前:default._domainkey.example.com
タイプ:TXT
値:v=DKIM1; k=rsa; p=MIGfMA0GCSq...
メールの改ざん防止に使います。
3. ドメイン所有権の確認
名前:example.com
タイプ:TXT
値:google-site-verification=abc123def456
Google Search Consoleなどでドメインの所有者確認に使います。
4. DMARCレコード(メール認証ポリシー)
名前:_dmarc.example.com
タイプ:TXT
値:v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com
なりすましメール対策です。
NSレコード(Name Server Record)
用途: ネームサーバーを指定
このドメインのDNS情報を管理するサーバーを指定します。
設定例:
名前:example.com
タイプ:NS
値:ns1.example.com
通常の使い方:
example.com → ns1.xserver.jp
example.com → ns2.xserver.jp
注意:
NSレコードは、通常ドメイン管理会社側で設定します。DNSサーバー側では編集しないことが多いです。
SOAレコード(Start Of Authority Record)
用途: ゾーンの基本情報を記録
DNS情報の管理者や、更新間隔などを定義します。
設定例:
名前:example.com
タイプ:SOA
値:ns1.example.com. admin.example.com. 2024121501 3600 900 604800 86400
含まれる情報:
- プライマリネームサーバー
- 管理者のメールアドレス
- シリアル番号(更新日時)
- リフレッシュ間隔
- リトライ間隔
- 有効期限
- 最小TTL
注意:
SOAレコードは通常、DNSサーバーが自動生成します。手動で編集することは稀です。
PTRレコード(Pointer Record)
用途: IPアドレスからドメイン名への逆引き
通常のDNSは「ドメイン → IP」ですが、PTRは「IP → ドメイン」です。
設定例:
192.0.2.10 → example.com
主な用途:
メールサーバーの信頼性確認に使われます。
設定場所:
通常、サーバー会社やプロバイダ側で設定します。
レコードタイプの使い分け早見表
どのレコードをいつ使うか、わかりやすくまとめました。
レコード | 用途 | 設定値の例 | 必須度 |
---|---|---|---|
A | Webサイト表示(IPv4) | 192.0.2.10 | ◎必須 |
AAAA | Webサイト表示(IPv6) | 2001:0db8… | △任意 |
CNAME | サブドメインの別名 | example.com | ○推奨 |
MX | メール受信 | mail.example.com | ◎必須 |
TXT | 各種認証情報 | SPF、DKIM等 | ○推奨 |
NS | ネームサーバー指定 | ns1.example.com | ◎必須 |
SOA | ゾーン情報 | (自動生成) | ◎必須 |
PTR | 逆引き | example.com | △任意 |
実際の設定方法:サービス別
主要DNSサービスでの設定手順です。
お名前.comでの設定
手順:
- お名前.com Naviにログイン
- 「DNS」→「ドメインのDNS設定」
- 対象ドメインを選択
- 「DNSレコード設定を利用する」→「設定する」
- レコードを追加
Aレコードの設定例:
ホスト名:www
TYPE:A
VALUE:192.0.2.10
TTL:3600
- 「追加」→「確認画面へ進む」→「設定する」
ムームードメインでの設定
手順:
- コントロールパネルにログイン
- 「ドメイン管理」→「ムームーDNS」
- 対象ドメインの「変更」をクリック
- 「カスタム設定」を選択
- レコードを追加
MXレコードの設定例:
サブドメイン:(空白)
種別:MX
内容:mail.example.com
優先度:10
- 「セットアップ情報変更」
Cloudflareでの設定
手順:
- Cloudflareダッシュボードにログイン
- 対象ドメインを選択
- 「DNS」→「レコード」
- 「レコードを追加」
CNAMEレコードの設定例:
タイプ:CNAME
名前:www
ターゲット:example.com
プロキシステータス:プロキシ済み(オレンジ雲)
TTL:自動
- 「保存」
さくらインターネットでの設定
手順:
- 会員メニューにログイン
- 「契約情報」→「契約ドメインの確認」
- 対象ドメインの「ゾーン編集」
- レコードを追加
TXTレコードの設定例:
エントリ名:@
種別:TXT
値:"v=spf1 include:_spf.google.com ~all"
- 「変更」→「データ送信」
よくある設定パターン
実際の使用例を紹介します。
パターン1:基本的なWebサイト
最小限の構成:
# Webサイト表示
example.com A 192.0.2.10
www.example.com CNAME example.com
# メール受信
example.com MX 10 mail.example.com
mail.example.com A 198.51.100.20
# メール送信認証
example.com TXT "v=spf1 mx ~all"
パターン2:サブドメインを複数使う
# メインサイト
example.com A 192.0.2.10
www.example.com CNAME example.com
# ブログ
blog.example.com A 192.0.2.15
# オンラインショップ
shop.example.com CNAME myshop.shopify.com
# 会員サイト
member.example.com A 192.0.2.20
パターン3:Google Workspaceを使う
# Webサイト
example.com A 192.0.2.10
www.example.com CNAME example.com
# Gmailでメール受信
example.com MX 1 aspmx.l.google.com
example.com MX 5 alt1.aspmx.l.google.com
example.com MX 5 alt2.aspmx.l.google.com
example.com MX 10 alt3.aspmx.l.google.com
example.com MX 10 alt4.aspmx.l.google.com
# SPFレコード
example.com TXT "v=spf1 include:_spf.google.com ~all"
# DKIM(Googleから提供される値)
google._domainkey TXT "v=DKIM1; k=rsa; p=MIGfMA..."
# DMARC
_dmarc.example.com TXT "v=DMARC1; p=quarantine; rua=mailto:postmaster@example.com"
パターン4:CDNを使う(Cloudflare)
# CDN経由でWebサイト表示
example.com A 104.26.10.100 (CloudflareのIP)
www.example.com CNAME example.com
# オリジンサーバー(直接アクセス用)
origin.example.com A 192.0.2.10
# メールは直接サーバーへ
example.com MX 10 mail.example.com
mail.example.com A 198.51.100.20
TTLの設定と使い分け
TTL(Time To Live)は、DNS情報をキャッシュする時間です。
TTLの単位と意味
単位: 秒
3600 = 1時間
86400 = 24時間
TTLの推奨値
通常運用:
3600〜86400秒(1時間〜24時間)
長い方がDNSサーバーの負荷が減ります。
サーバー移転前:
300〜600秒(5〜10分)
短くすることで、変更が早く反映されます。
TTL変更の手順
サーバー移転時の推奨手順:
- 1週間前: TTLを300秒に短縮
- 移転当日: DNSレコードを変更
- 反映確認後: TTLを3600秒に戻す
理由:
短いTTLは、DNSサーバーへの問い合わせが増えるため、通常は避けます。
DNS設定の確認方法
正しく設定されているか確認しましょう。
方法1:nslookupコマンド
Aレコードの確認:
nslookup example.com
結果:
Server: 8.8.8.8
Address: 8.8.8.8#53
Name: example.com
Address: 192.0.2.10
MXレコードの確認:
nslookup -type=mx example.com
方法2:digコマンド(Mac/Linux)
詳細な情報を取得:
dig example.com
特定のレコードタイプを指定:
dig example.com A
dig example.com MX
dig example.com TXT
方法3:オンラインツール
MXToolbox:
https://mxtoolbox.com/
- DNSレコードの一括確認
- メールサーバーの診断
- ブラックリストチェック
DNS Checker:
https://dnschecker.org/
世界各地からの反映状況を確認できます。
方法4:Google Admin Toolbox
Google Dig:
https://toolbox.googleapps.com/apps/dig/
Googleが提供する公式ツールです。
よくある間違いと解決法
設定でよくあるミスとその対処法です。
間違い1:AレコードとCNAMEの競合
ダメな例:
example.com A 192.0.2.10
example.com CNAME 別のドメイン
同じ名前に、AレコードとCNAMEは同時に設定できません。
解決策:
どちらか一方だけにしてください。
間違い2:ルートドメインにCNAME
ダメな例:
example.com CNAME 別のドメイン
ルートドメイン(example.com)には、CNAMEを設定できません。
解決策:
Aレコードを使うか、ALIASレコード(一部のDNSサービスのみ)を使います。
間違い3:MXレコードの値が間違っている
ダメな例:
example.com MX 10 192.0.2.10
MXレコードの値には、IPアドレスではなくドメイン名を指定します。
正しい例:
example.com MX 10 mail.example.com
mail.example.com A 192.0.2.10
間違い4:TXTレコードに改行が入っている
ダメな例:
TXT値:
v=spf1
include:_spf.google.com
~all
改行を入れると、エラーになります。
正しい例:
TXT値:v=spf1 include:_spf.google.com ~all
1行で記述してください。
間違い5:TTLを0に設定
TTLに0は設定できません。
最小値: サービスによって異なる(60秒、300秒など)
まとめ:DNSレコードは正しく設定しよう
DNSレコードは、インターネットの基礎となる重要な設定です。
この記事の重要ポイント:
主要なレコードタイプ:
- A → IPv4アドレス(必須)
- AAAA → IPv6アドレス(任意)
- CNAME → 別名(サブドメインのみ)
- MX → メールサーバー(必須)
- TXT → 各種認証情報(推奨)
- NS → ネームサーバー(必須)
使い分けのルール:
- Webサイト表示 → Aレコード
- サブドメイン転送 → CNAMEレコード
- メール受信 → MXレコード
- メール認証 → TXTレコード(SPF、DKIM)
設定時の注意:
- AとCNAMEは同時設定不可
- ルートドメインにCNAME不可
- MXの値はドメイン名(IPアドレス不可)
- TXTレコードは1行で記述
TTLの設定:
- 通常:3600〜86400秒
- 変更前:300〜600秒
確認方法:
- nslookup / dig コマンド
- オンラインツール(MXToolbox、DNS Checker)
DNSレコードの設定は、最初は難しく感じるかもしれません。
でも、基本的なパターンを覚えれば、ほとんどの設定は同じです。
間違えるとサイトやメールが使えなくなるので、慎重に設定してください。
不安な時は、設定前にバックアップを取るか、サーバー会社のサポートに相談しましょう!
コメント