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へ向けることが可能になっています。