「ドメインを取得したけど、DNSの設定がよく分からない…」
「AレコードとCNAMEレコード、どう違うの?」
Webサイトやメールサーバーを運用するなら、DNSレコードの理解は必須です。
DNSレコードは、ドメイン名(例:example.com)とIPアドレスやサーバー情報を結びつける「設定情報」のこと。種類によって役割が異なり、正しく設定しないとWebサイトが表示されなかったり、メールが届かなかったりします。
この記事では、DNS レコードの主要なタイプについて、初心者の方にも分かるように丁寧に解説します。
「難しそう…」と思うかもしれませんが、一つずつ見ていけば理解できますよ。
- DNSとDNSレコードの基本
- 主要なDNSレコードタイプ
- 1. Aレコード(Address Record)
- 2. AAAAレコード(IPv6 Address Record)
- 3. CNAMEレコード(Canonical Name Record)
- 4. MXレコード(Mail Exchange Record)
- 5. TXTレコード(Text Record)
- 6. NSレコード(Name Server Record)
- 7. SOAレコード(Start of Authority Record)
- 8. PTRレコード(Pointer Record)
- 9. SRVレコード(Service Record)
- 10. CAAレコード(Certification Authority Authorization)
- DNSレコードの確認方法
- よくあるDNS設定例
- DNSレコード設定のベストプラクティス
- トラブルシューティング
- よくある質問(Q&A)
- まとめ:DNSレコードを正しく理解して活用しよう
DNSとDNSレコードの基本

まずは基礎から理解しましょう。
DNSとは?
DNS(Domain Name System)は、「ドメイン名」と「IPアドレス」を変換するシステムです。
まるでインターネット版の電話帳のようなもの。
例:
- ドメイン名:
google.com - IPアドレス:
142.250.207.46
人間はgoogle.comのような文字列の方が覚えやすいですが、コンピュータは数字のIPアドレスで通信します。
DNSがこの2つを結びつけてくれるんです。
DNSレコードとは?
DNSレコードは、DNS サーバーに保存されている「設定情報」です。
各レコードは、ドメイン名に関する特定の情報を持っています。
レコードの構成要素:
名前 タイプ 値 TTL
example.com. A 192.0.2.1 3600
- 名前:ドメイン名またはサブドメイン
- タイプ:レコードの種類(A、CNAME、MXなど)
- 値:設定内容(IPアドレス、サーバー名など)
- TTL(Time To Live):情報をキャッシュする時間(秒)
なぜ複数のレコードタイプがあるの?
用途によって必要な情報が違うからです。
- Webサイトの表示:IPアドレスが必要 → Aレコード
- メールの配信:メールサーバーの情報が必要 → MXレコード
- 別名の設定:エイリアス(別名)が必要 → CNAMEレコード
- 認証情報:テキスト情報が必要 → TXTレコード
それぞれの役割に応じて、適切なレコードタイプを使います。
ゾーンファイル
DNSレコードは、ゾーンファイルという形式で管理されます。
; ゾーンファイルの例
$TTL 3600
example.com. IN SOA ns1.example.com. admin.example.com. (
2024010101 ; シリアル番号
3600 ; リフレッシュ
1800 ; リトライ
604800 ; 有効期限
86400 ) ; ネガティブキャッシュTTL
IN NS ns1.example.com.
IN NS ns2.example.com.
IN A 192.0.2.1
www IN A 192.0.2.1
mail IN A 192.0.2.2
IN MX 10 mail.example.com.
最近では、多くのレジストラやホスティングサービスが、GUI(グラフィカル画面)でDNSレコードを編集できるようになっています。
主要なDNSレコードタイプ
代表的なレコードタイプを一つずつ見ていきましょう。
1. Aレコード(Address Record)
最も基本的で重要なレコードです。
役割
ドメイン名をIPv4アドレスに変換します。
書き方
example.com. IN A 192.0.2.1
www.example.com. IN A 192.0.2.1
用途
- Webサイトの公開
- サーバーへのアクセス
- 基本的なドメイン名解決
実例
設定:
example.com A 203.0.113.10
結果:
example.comにアクセスすると、203.0.113.10のサーバーに接続されます。
注意点
- 1つのドメインに複数のAレコードを設定できる(ラウンドロビン)
- IPv4アドレス専用(IPv6にはAAAAレコードを使用)
2. AAAAレコード(IPv6 Address Record)
Aレコードの IPv6 版です。
役割
ドメイン名をIPv6アドレスに変換します。
書き方
example.com. IN AAAA 2001:0db8::1
www.example.com. IN AAAA 2001:0db8::1
IPv6アドレスの例
2001:0db8:85a3:0000:0000:8a2e:0370:7334
用途
- IPv6対応のWebサイト
- 将来を見据えたネットワーク構成
実例
設定:
example.com AAAA 2001:db8::1
結果:
IPv6ネットワークからexample.comにアクセスすると、IPv6アドレスで接続されます。
推奨事項
最近では、AレコードとAAAAレコードの両方を設定することが推奨されています(デュアルスタック)。
3. CNAMEレコード(Canonical Name Record)
エイリアス(別名)を設定するレコードです。
役割
あるドメイン名を、別のドメイン名に転送します。
書き方
www.example.com. IN CNAME example.com.
blog.example.com. IN CNAME example.com.
用途
- サブドメインの設定
- CDN(コンテンツ配信ネットワーク)の設定
- 複数のドメインを1つのサーバーに向ける
実例
設定:
www.example.com CNAME example.com
blog.example.com CNAME example.com
結果:
www.example.comにアクセスすると、内部的にexample.comに転送され、そのAレコードで解決されます。
重要な制約
CNAMEレコードは他のレコードと共存できません。
❌ 間違った例:
example.com A 192.0.2.1
example.com CNAME other.com ← エラー!
✅ 正しい例:
example.com A 192.0.2.1
www.example.com CNAME example.com
CNAMEの連鎖
CNAMEは別のCNAMEを参照できますが、推奨されません。
www.example.com CNAME cdn.example.com
cdn.example.com CNAME server.example.com
server.example.com A 192.0.2.1
これは動作しますが、解決に時間がかかり、トラブルの原因になります。
4. MXレコード(Mail Exchange Record)
メール配信に使われるレコードです。
役割
ドメイン宛のメールをどのサーバーに配信するかを指定します。
書き方
example.com. IN MX 10 mail.example.com.
example.com. IN MX 20 mail2.example.com.
数字は優先度(Priority)を表します。小さい方が優先されます。
用途
- メールサーバーの指定
- メール配信の冗長化
実例
設定:
example.com MX 10 mail1.example.com
example.com MX 20 mail2.example.com
動作:
user@example.com宛のメールが送信される- まず優先度10の
mail1.example.comに配信を試みる - 失敗したら優先度20の
mail2.example.comに配信
必須の設定
MXレコードで指定したメールサーバーには、Aレコードも必要です。
example.com MX 10 mail.example.com
mail.example.com A 192.0.2.2
Google WorkspaceやMicrosoft 365の例
Google Workspace:
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
Microsoft 365:
example.com MX 0 example-com.mail.protection.outlook.com
5. TXTレコード(Text Record)
任意のテキスト情報を保存するレコードです。
役割
ドメインに関する追加情報を記録します。
書き方
example.com. IN TXT "v=spf1 include:_spf.google.com ~all"
用途
- SPFレコード:メール送信の認証
- DKIMレコード:メール署名の公開鍵
- DMARCレコード:メール認証ポリシー
- ドメイン所有権の証明:Google Search Consoleなど
- サイト認証:各種サービスのドメイン確認
実例1:SPFレコード
example.com TXT "v=spf1 ip4:192.0.2.0/24 include:_spf.google.com ~all"
これは「このドメインからのメールは、192.0.2.0/24のIPアドレスまたはGoogleのサーバーから送信されます」という意味。
実例2:ドメイン所有権の証明
example.com TXT "google-site-verification=abcd1234efgh5678"
Googleにドメインの所有者であることを証明します。
実例3:DMARCレコード
_dmarc.example.com TXT "v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com"
メール認証に失敗したメールの処理方法を指定します。
6. NSレコード(Name Server Record)
権威DNSサーバーを指定するレコードです。
役割
どのDNSサーバーがそのドメインを管理しているかを示します。
書き方
example.com. IN NS ns1.example.com.
example.com. IN NS ns2.example.com.
用途
- ドメインのDNSサーバーを指定
- 通常、複数のNSレコードを設定(冗長化)
実例
設定:
example.com NS ns1.example.com
example.com NS ns2.example.com
ns1.example.com A 192.0.2.1
ns2.example.com A 192.0.2.2
注意点
NSレコードは、レジストラ(ドメイン登録業者)の設定画面でも設定する必要があります。
ゾーンファイル内のNSレコードと、レジストラ側の設定が一致している必要があります。
7. SOAレコード(Start of Authority Record)
ゾーンの管理情報を記録するレコードです。
役割
DNSゾーンの基本情報と管理パラメータを定義します。
書き方
example.com. IN SOA ns1.example.com. admin.example.com. (
2024010101 ; シリアル番号
3600 ; リフレッシュ(セカンダリが問い合わせる間隔)
1800 ; リトライ(失敗時の再試行間隔)
604800 ; 有効期限(セカンダリが無効と判断する時間)
86400 ; ネガティブキャッシュTTL
)
パラメータの説明
- シリアル番号:ゾーンファイルのバージョン番号。更新のたびに増やす
- リフレッシュ:セカンダリDNSがプライマリに問い合わせる間隔
- リトライ:リフレッシュ失敗時の再試行間隔
- 有効期限:プライマリに接続できない場合の有効期限
- ネガティブキャッシュ:存在しないレコードのキャッシュ時間
用途
各ゾーンに1つだけ存在し、ゾーン全体の管理情報を提供します。
通常、レジストラやホスティングサービスが自動的に設定してくれます。
8. PTRレコード(Pointer Record)
逆引きDNSに使われるレコードです。
役割
IPアドレスからドメイン名を逆引き(逆方向の解決)します。
書き方
1.2.0.192.in-addr.arpa. IN PTR example.com.
用途
- メールサーバーの信頼性向上
- ログファイルでの識別
- セキュリティ確認
実例
通常のDNS(正引き):
example.com → 192.0.2.1
逆引きDNS:
192.0.2.1 → example.com
重要性
特にメールサーバーでは、PTRレコードが正しく設定されていないと、送信したメールがスパム判定される可能性があります。
設定場所
PTRレコードは、IPアドレスを管理しているプロバイダ(ISPやホスティング会社)側で設定します。
9. SRVレコード(Service Record)
特定のサービスの場所を指定するレコードです。
役割
サービス名、プロトコル、ポート番号、ホスト名を結びつけます。
書き方
_service._protocol.name TTL IN SRV priority weight port target
_sip._tcp.example.com. 86400 IN SRV 10 60 5060 sipserver.example.com.
パラメータ
- priority:優先度(小さい方が優先)
- weight:同じ優先度の場合の重み付け
- port:サービスのポート番号
- target:サービスを提供するホスト名
用途
- VoIP(SIP、Skype for Businessなど)
- XMPP(Jabber)
- Microsoft Active Directory
- LDAP
実例:Microsoft 365のSIPサーバー
_sip._tls.example.com SRV 100 1 443 sipdir.online.lync.com
_sipfederationtls._tcp.example.com SRV 100 1 5061 sipfed.online.lync.com
10. CAAレコード(Certification Authority Authorization)
SSL/TLS証明書の発行を制限するレコードです。
役割
どの認証局(CA)がそのドメインの証明書を発行できるかを指定します。
書き方
example.com. IN CAA 0 issue "letsencrypt.org"
example.com. IN CAA 0 issuewild "letsencrypt.org"
example.com. IN CAA 0 iodef "mailto:security@example.com"
パラメータ
- issue:通常の証明書の発行を許可するCA
- issuewild:ワイルドカード証明書の発行を許可するCA
- iodef:違反があった場合の通知先
用途
- 証明書の不正発行を防ぐ
- セキュリティの強化
実例
example.com CAA 0 issue "letsencrypt.org"
example.com CAA 0 issue "digicert.com"
Let’s EncryptとDigiCertのみが証明書を発行できるようになります。
DNSレコードの確認方法

設定したDNSレコードが正しく機能しているか確認する方法です。
方法1:nslookupコマンド
WindowsとmacOS、Linuxで使える標準的なツールです。
基本的な使い方
Aレコードの確認:
nslookup example.com
出力例:
Server: 192.168.1.1
Address: 192.168.1.1#53
Non-authoritative answer:
Name: example.com
Address: 192.0.2.1
MXレコードの確認:
nslookup -type=MX example.com
TXTレコードの確認:
nslookup -type=TXT example.com
方法2:digコマンド
より詳細な情報を得られる、上級者向けのツールです。
インストール
Mac/Linux:標準でインストール済み
Windows:BIND toolsをインストールするか、WSL(Windows Subsystem for Linux)を使用
基本的な使い方
Aレコードの確認:
dig example.com
詳細出力:
dig example.com +noall +answer
出力例:
example.com. 3600 IN A 192.0.2.1
MXレコードの確認:
dig example.com MX +short
特定のDNSサーバーに問い合わせ:
dig @8.8.8.8 example.com
逆引きDNSの確認:
dig -x 192.0.2.1
方法3:オンラインツール
ブラウザで簡単に確認できるツールもあります。
おすすめのツール
MXToolbox(https://mxtoolbox.com/):
- 様々なDNSレコードを確認
- メール設定の診断
- ブラックリストチェック
DNSChecker(https://dnschecker.org/):
- 世界中のDNSサーバーから確認
- DNSの伝播状況を確認
Google Admin Toolbox(https://toolbox.googleapps.com/apps/dig/):
- Googleが提供する無料ツール
- digコマンドのWeb版
方法4:Windowsのコマンドプロンプト
Windowsではpowershellを使う方法もあります。
Resolve-DnsName example.com
より詳細な情報:
Resolve-DnsName example.com -Type A
Resolve-DnsName example.com -Type MX
よくあるDNS設定例
実際の使用例を見ていきましょう。
例1:基本的なWebサイト
要件
- ドメイン:example.com
- Webサーバー:192.0.2.1
- www付きでもアクセス可能にする
DNS設定
example.com A 192.0.2.1
www.example.com CNAME example.com
または
example.com A 192.0.2.1
www.example.com A 192.0.2.1
例2:Webサイト + メール(Google Workspace)
要件
- Webサイト:独自サーバー
- メール:Google Workspace
DNS設定
; Webサイト
example.com A 192.0.2.1
www.example.com CNAME example.com
; メールサーバー
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"
例3:サブドメインを別サーバーに
要件
- メインサイト:example.com(192.0.2.1)
- ブログ:blog.example.com(192.0.2.2)
- API:api.example.com(192.0.2.3)
DNS設定
example.com A 192.0.2.1
www.example.com A 192.0.2.1
blog.example.com A 192.0.2.2
api.example.com A 192.0.2.3
例4:CDNの利用(CloudflareやAWS CloudFront)
要件
- オリジンサーバー:192.0.2.1
- CDN:d111111abcdef8.cloudfront.net
DNS設定
example.com A 192.0.2.1
www.example.com CNAME d111111abcdef8.cloudfront.net
例5:冗長化構成
要件
- 複数のWebサーバーで負荷分散
DNS設定
example.com A 192.0.2.1
example.com A 192.0.2.2
example.com A 192.0.2.3
DNSラウンドロビンにより、アクセスが分散されます。
ただし、これは簡易的な負荷分散で、専用のロードバランサーを使う方が推奨されます。
DNSレコード設定のベストプラクティス

効果的なDNS設定のコツです。
1. TTLを適切に設定する
TTL(Time To Live)は、レコードがキャッシュされる時間です。
推奨値
- 通常時:3600秒(1時間)または86400秒(24時間)
- 変更前:300秒(5分)に短縮
- 変更後:元の値に戻す
理由
変更前にTTLを短くしておくと、変更が速く反映されます。
2. 複数のNSレコードを設定
最低2つ、できれば3つ以上のネームサーバーを設定しましょう。
example.com NS ns1.example.com
example.com NS ns2.example.com
example.com NS ns3.example.com
1つのサーバーがダウンしても、他のサーバーで対応できます。
3. SPFレコードを設定
メール送信の認証のため、SPFレコードは必須です。
example.com TXT "v=spf1 mx ~all"
これにより、メールがスパム判定されにくくなります。
4. CNAMEの使いすぎに注意
CNAMEの連鎖は避けましょう。
❌ 悪い例:
www.example.com CNAME cdn.example.com
cdn.example.com CNAME server.example.com
server.example.com CNAME host.provider.com
✅ 良い例:
www.example.com CNAME host.provider.com
5. 定期的に確認する
DNSレコードは「設定したら終わり」ではありません。
定期的に確認しましょう:
- 月1回:設定内容の確認
- サーバー変更時:即座に確認
- 問題発生時:詳細に調査
6. ドキュメント化する
DNS設定の変更履歴を記録しておきましょう。
- いつ変更したか
- 何を変更したか
- なぜ変更したか
- 誰が変更したか
7. テスト環境で確認
本番環境で変更する前に、可能であればテスト環境で確認しましょう。
特に大規模な変更の場合は重要です。
トラブルシューティング
DNSに関するよくある問題と解決方法です。
問題1:DNSが反映されない
症状
DNSレコードを変更したのに、反映されない。
原因
- TTLによるキャッシュ
- DNSの伝播に時間がかかっている
- 設定が間違っている
解決策
- TTLの確認:前回のTTLが長い場合、その時間が経過するまで待つ
- キャッシュのクリア:
- Windows:
ipconfig /flushdns - Mac:
sudo dscacheutil -flushcache - Linux:
sudo systemd-resolve --flush-caches
- 伝播の確認:DNSCheckerなどで世界中の伝播状況を確認
- 設定の再確認:タイポがないか、構文が正しいか確認
問題2:Webサイトは表示されるがメールが届かない
原因
MXレコードの設定ミス
解決策
- MXレコードを確認:
nslookup -type=MX example.com - MXレコードで指定したホストのAレコードを確認
- 優先度が正しいか確認
- SPFレコードを確認
問題3:CNAMEとAレコードの競合
症状
「CNAMEとAレコードは共存できません」というエラー
解決策
ルートドメイン(example.com)にはAレコードのみ使用し、サブドメイン(www.example.com)にCNAMEを使います。
example.com A 192.0.2.1
www.example.com CNAME example.com
問題4:SSL証明書のエラー
症状
HTTPSでアクセスすると証明書エラーが出る
原因
- CNAMEの設定が間違っている
- CAAレコードで証明書発行がブロックされている
解決策
- CNAMEが正しいホストを指しているか確認
- CAAレコードを確認:
dig example.com CAA - 必要に応じてCAAレコードを修正または削除
よくある質問(Q&A)
DNSレコードについて、よくある質問にお答えします。
Q1:AレコードとCNAMEレコード、どちらを使うべき?
A:状況によります。
- ルートドメイン(example.com):Aレコードのみ使用可能
- サブドメイン(www.example.com):どちらでも可能
- IPアドレスが頻繁に変わる場合:CNAMEが便利
- CDN利用時:通常はCNAME
一般的に、サブドメインにはCNAMEを使う方が管理しやすいです。
Q2:DNSの変更はどれくらいで反映される?
A:数分から48時間です。
- 最短:数分(TTLが短い場合)
- 通常:数時間
- 最長:48時間(TTLが長い場合)
世界中のDNSサーバーに伝播するには時間がかかります。
Q3:無料のDNSサービスはある?
A:はい、多数あります。
- Cloudflare:無料で高性能
- Google Cloud DNS:一部無料
- Amazon Route 53:従量課金(安価)
- レジストラ提供のDNS:ドメイン購入時に無料で付属
Cloudflareは特に人気があり、無料でも充実した機能を提供しています。
Q4:サブドメインにもDNSレコードが必要?
A:はい、必要です。
サブドメインごとに、AレコードまたはCNAMEレコードを設定する必要があります。
example.com A 192.0.2.1
www.example.com CNAME example.com
blog.example.com A 192.0.2.2
Q5:ワイルドカード(*)は使える?
A:はい、使えます。
*.example.com A 192.0.2.1
これにより、定義されていないすべてのサブドメインが、指定したIPアドレスに解決されます。
ただし、セキュリティ上のリスクもあるので、慎重に使用してください。
Q6:DNSレコードの設定はどこでする?
A:ドメインレジストラまたはDNSホスティングサービスで設定します。
- レジストラの管理画面:お名前.com、ムームードメインなど
- DNSホスティング:Cloudflare、Google Cloud DNS、Route 53など
ネームサーバーをどこに向けているかで、設定場所が変わります。
Q7:DNS設定を間違えたらどうなる?
A:Webサイトが表示されなくなったり、メールが届かなくなったりします。
ただし、元に戻せば復旧するので、心配しすぎる必要はありません。
重要な変更の前には:
- 現在の設定をメモしておく
- TTLを短くしておく
- バックアップを取る
まとめ:DNSレコードを正しく理解して活用しよう
DNSレコードタイプについて、理解できましたか?
この記事の重要ポイント:
- Aレコード:ドメイン名をIPv4アドレスに変換(最も基本)
- AAAAレコード:ドメイン名をIPv6アドレスに変換
- CNAMEレコード:ドメインの別名を設定(エイリアス)
- MXレコード:メール配信先を指定
- TXTレコード:テキスト情報を保存(SPF、DKIMなど)
- NSレコード:権威DNSサーバーを指定
- SOAレコード:ゾーンの管理情報
- PTRレコード:逆引きDNS(IPアドレス→ドメイン名)
- 各レコードには適切な用途がある
- nslookupやdigで設定を確認できる
- TTLを適切に設定することが重要
DNSは「インターネットの電話帳」として、Webサイトやメールの動作に不可欠です。
最初は複雑に感じるかもしれませんが、基本的なレコードタイプを理解すれば、自分でDNS設定ができるようになります。
この記事を参考に、正しいDNS設定を行ってくださいね!

コメント