DNS

ドメイン名を IP アドレスに変換するインターネットの名前解決システム

ネットワークインフラ

DNS とは

DNS (Domain Name System) は、ドメイン名 (example.com) を IP アドレス (93.184.216.34) に変換するインターネットの名前解決システムである。「インターネットの電話帳」と呼ばれる。

名前解決の流れ

ブラウザ → ローカルキャッシュ → OS キャッシュ → リゾルバ (ISP)
  → ルート DNS → .com TLD → example.com の権威 DNS → IP アドレス

レコードタイプ

タイプ 用途
A ドメイン → IPv4 example.com → 93.184.216.34
AAAA ドメイン → IPv6 example.com → 2606:2800::
CNAME ドメイン → 別ドメイン www → example.com
MX メールサーバー mail.example.com
TXT テキスト情報 SPF, DKIM, ドメイン検証
NS ネームサーバー ns1.example.com
SOA ゾーンの管理情報 シリアル番号、TTL

TTL (Time To Live)

example.com  A  93.184.216.34  TTL=300

TTL はキャッシュの有効期間 (秒)。TTL=300 なら 5 分間キャッシュされ、その間は DNS クエリが発生しない。

TTL 用途
60 秒 フェイルオーバー (素早い切り替え)
300 秒 通常の Web サイト
86400 秒 変更頻度が低いレコード

dig コマンド

# A レコードの確認
dig example.com A

# 特定の DNS サーバーに問い合わせ
dig @8.8.8.8 example.com

# 全レコードの確認
dig example.com ANY

Route 53 との関係

Route 53 は AWS の権威 DNS サービス。ドメインの DNS レコードを管理し、ヘルスチェックやルーティングポリシーを提供する。

CloudFront + カスタムドメイン

ユーザー → DNS (Route 53) → CloudFront → S3
  example.com → d1234.cloudfront.net → my-bucket

Route 53 の Alias レコードで CloudFront を指定する。

よくあるトラブル

問題 原因 対策
DNS の変更が反映されない TTL キャッシュ TTL を短くしてから変更
CNAME を Zone Apex に設定できない DNS の仕様 Route 53 の Alias レコード
メールが届かない MX レコードの設定ミス dig MX example.com で確認

基礎から学ぶなら関連書籍が手がかりになる。

関連用語