DNS
ドメイン名を IP アドレスに変換するインターネットの名前解決システム
DNS とは
DNS (Domain Name System) は、ドメイン名 (example.com) を IP アドレス (93.184.216.34) に変換するインターネットの名前解決システムである。「インターネットの電話帳」と呼ばれる。
名前解決の流れ
ブラウザがドメイン名から IP アドレスを取得する過程は、ローカルキャッシュ → OS キャッシュ → ISP のリゾルバ → ルート DNS → TLD DNS → 権威 DNS の順に問い合わせが進む。一度解決した結果は TTL の間キャッシュされ、次回以降は高速に応答する。
ブラウザ → ローカルキャッシュ → 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)
TTL (Time To Live) を図で示す。
example.com A 93.184.216.34 TTL=300
TTL はキャッシュの有効期間 (秒)。TTL=300 なら 5 分間キャッシュされ、その間は DNS クエリが発生しない。
| TTL | 用途 |
|---|---|
| 60 秒 | フェイルオーバー (素早い切り替え) |
| 300 秒 | 通常の Web サイト |
| 86400 秒 | 変更頻度が低いレコード |
dig コマンド
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 + カスタムドメイン
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 で確認 |
基礎から学ぶなら関連書籍が手がかりになる。
この記事は役に立ちましたか?
関連用語
Route 53
AWS のマネージド DNS サービスで、ドメイン登録、DNS ルーティング、ヘルスチェックを提供する
CDN
世界中のエッジロケーションにコンテンツをキャッシュし、低レイテンシで配信するネットワーク
VPC
AWS 上に論理的に隔離されたプライベートネットワークを構築するサービス
ドメイン駆動設計 (DDD)
ビジネスドメインの知識を中心に据え、ドメインエキスパートと開発者が共通言語で協働しながらソフトウェアを設計する手法
貧血ドメインモデル
ドメインオブジェクトがデータのみを持ち、ビジネスロジックが外部のサービスに散在するアンチパターン
集約
ドメイン駆動設計において、一貫性を保つべきオブジェクト群をまとめ、単一のルートエンティティ経由でアクセスする設計パターン
関連する記事
技術書がエンジニアのキャリアを変える - 読書習慣と年収の関係
技術書の読書習慣がエンジニアのキャリアアップに影響する 3 つの経路と、ジュニア / ミドル / シニア各段階に応じた読書戦略を具体的に解説します。
インフラ / クラウド本ガイド - AWS や Docker を本で学ぶ
クラウドインフラ、コンテナ、IaC を学べる技術書の選び方と学習順序を紹介。インフラ本の賞味期限問題と公式ドキュメントとの使い分けも解説します。
Linux 本ガイド - コマンドライン / しくみ / 性能の 3 層で選ぶ技術書
Linux を学ぶ技術書の選び方を 3 層 (コマンドラインの操作 → カーネルのしくみ → 性能と運用) で整理。新しい Linux の教科書や [試して理解] Linux のしくみなどの定番書の使い分けと、学ぶ順番を解説します。