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 で確認 |
基礎から学ぶなら関連書籍が手がかりになる。