CNAME レコード確認(dig/nslookup)と CNAME Flattening・Zone Apex の制約
DNS CNAME dig インフラ Cloudflare
CNAME レコード(Canonical Name Record)の確認方法、設定時の落とし穴(Zone Apex制限 / CNAME Flattening)、およびトラブルシューティングです。
1. オンライン DNS ルックアップツール
A / AAAA / CNAME / MX / TXT / NS レコードの現在の名前解決状態をリアルタイムで確認できます。
🌐 この場でDNSをチェックする
2. CLI コマンドでの CNAME ルックアップ
① dig コマンド(Linux / macOS / WSL)
# CNAME レコードのみを直接検索
dig sub.example.com CNAME +short
# 出力例: target-cdn.net. (末尾のピリオドはFQDN)
② nslookup コマンド(Windows / 全環境)
nslookup -type=CNAME sub.example.com
3. 実務でよくあるDNSトラブルと注意点
| 症状 / 課題 | 発生原因 | 対処法 |
|---|---|---|
| ドメイン直下 (Apex) に CNAME を設定したらMXが消えた | Zone Apex制約: RFC 1034 仕様上、ルートドメイン (example.com) に CNAME は他のレコード(MX, TXT等)と同居できない | DNSプロバイダの ALIAS レコード や ANAME レコード を使用する |
| dig で A レコードしか返ってこない | Cloudflare CNAME Flattening (プロキシ機能): CDNプロキシが有効な場合、外部からは A/AAAA レコードとして見える | 正常な動作。原点サーバー(Origin)の向き先は Cloudflare ダッシュボードで確認する |
| 設定変更したのに切り替わらない | TTL (Time to Live) キャッシュ: 前回のTTL時間が過ぎるまでリゾルバが結果を保持する | ipconfig /flushdns (Windows) または Google 8.8.8.8 の Flush Cache を実行 |
4. CNAME Flattening(CNAMEのAレコード化)とは
Cloudflare などの現代的なDNSサービスでは、Apexドメインであっても自社のエッジIPに自動置換して A / AAAA レコードとして動的に応答する CNAME Flattening 機能が標準で組み込まれています。これにより、RFC制約を回避して example.com を直接S3バケットやVercelへ向けることが可能になっています。