コンピューターサイエンス:アルゴリズム / OS / ネットワーク / DB
DNS とは
DNS とは
このレッスンで分かること
- DNS はドメイン名と IP アドレスを変換する世界規模の分散データベースです
- ルート → TLD → 権威の階層構造と、Anycast による多重化で高可用性を実現しています
- ICANN・レジストリ・レジストラ・DNS プロバイダの分業で運用されており、購入と運用は別事業者にできます
DNS とは
人間が読める名前と IP を結びつける DNS の役割を理解します。本レッスンでは、DNS の基本から実際の使いどころまでを整理し、現場で迷わず使える形に落とし込みます。
DNS とは (要約)
ドメイン名と IP アドレスを変換する世界規模の分散データベース。
- 階層構造 = ルート (
.) → TLD (.com/.jp) → セカンドレベル (noimancode) → サブドメイン - ルート DNS は Anycast で世界中に冗長化されており、1 拠点が落ちても全体は止まらない
- ICANN がルール、レジストリが TLD 管理、レジストラが利用者販売、DNS プロバイダがレコード運用、という分業
DNS の関係者まとめ
| 役割 | 例 | 責任 |
|---|---|---|
| ICANN | ICANN | ドメイン全体のポリシー決定 |
| レジストリ | Verisign (.com), JPRS (.jp) | TLD の管理 |
| レジストラ | お名前.com, Google Domains, Cloudflare Registrar | ドメインの販売 |
| DNS プロバイダー | Route 53, Cloudflare DNS, NS1 | レコードホスティング |
このレッスンで学ぶこと
ドメイン名を IP アドレスに変換する DNS (Domain Name System) の全体像を学びます。Web の裏方として全リクエストの起点となる重要なシステムです。
なぜ DNS が必要か
Web ブラウザに https://noimancode.com と入れたとき、ブラウザは最終的にサーバーの IP アドレスに向けてパケットを送ります。しかし IP アドレスは 192.0.2.5 のような数字列で、人間が覚えるには向いていません。
DNS は人間に優しいドメイン名と、機械が必要とする IP アドレスを変換する分散データベースです。電話帳のように「名前 → 番号」を引きます。
プレーンテキスト
noimancode.com → 104.21.50.100DNS は世界中の何万台ものサーバーが連携し、毎秒数億回のクエリをさばいています。
ドメイン名の構造
ドメイン名は階層構造で、右側ほど上位を表します。
プレーンテキスト
www.noimancode.com.
└┬─┘ └────┬───┘ └┬┘ └ ルート (省略可)
│ │ └ TLD (Top Level Domain)
│ └ Second Level Domain (登録単位)
└ サブドメイン (ホスト名)- ルート — 表記上は最後の
.(普段省略) - TLD —
.com,.org,.jpなど - セカンドレベル — noimancode、google、yahoo など登録者が決める
- サブドメイン — www、api、blog など好きに切れる
ドメインを取るとき登録するのは「セカンドレベル + TLD」の単位 (noimancode.com) で、その下のサブドメインは自由に作れます。
階層型の名前解決
DNS の本質は階層型のディレクトリ問い合わせです。クライアントは下記の順で問い合わせ、徐々に答えに近づきます。
- ルートサーバー — TLD サーバーの情報を返す
- TLD サーバー — そのドメインの権威サーバーの情報を返す
- 権威サーバー — 最終的な IP アドレスを返す
実際には各段で結果がキャッシュされ、何度も全部問い合わせる必要はありません。詳細は別レッスンで扱います。
13 のルートサーバー (実は数百台)
ルートサーバーは A〜M の 13 個の論理名がついていて、Verisign や ICANN などの組織が運営しています。実体は Anycast で世界中に複数台ずつ配置されており、合計すると 1,000 台以上が稼働しています。
ルートサーバーは「.com の権威サーバーはここ」「.jp の権威サーバーはここ」というだけを答えます。
Anycast のおかげで止まらない
ルート DNS や主要な DNS は Anycast を使っており、世界中の同じ IP アドレスから最寄りの実機が応答します。1 拠点が落ちても他拠点が自動でカバーするので、ルート DNS が全滅することはまずありません。
TLD の種類
- gTLD (Generic) —
.com,.org,.net,.app,.dev,.aiなど - ccTLD (Country Code) —
.jp,.us,.de,.co.ukなど国別 - sTLD (Sponsored) —
.edu,.gov,.museumなど特定組織向け
新 gTLD は 2010 年代に大量に追加され、.tokyo, .shop, .blog のような目的別ドメインも増えました。
DNS の運営者
- ICANN — ドメイン全体の方針決定
- レジストリ — TLD ごとの管理者 (Verisign が .com を管理など)
- レジストラ — 利用者にドメインを売る業者 (お名前.com, Google Domains, Cloudflare Registrar など)
- DNS プロバイダー — レコードをホスティングする業者 (Route 53, Cloudflare DNS など)
ドメインを買うときと、その DNS レコードを管理するときは、別のサービスを使うこともよくあります。
なぜ DNS は分散システムなのか
仮に世界に 1 台の中央 DNS があったとすると、その 1 台が落ちた瞬間にすべての Web アクセスが止まります。階層化と分散・キャッシュによって、どこか 1 ヶ所が壊れても全体が機能し続ける、極めて堅牢な設計になっています。
まとめ
このレッスンの要点は、階層的な名前空間 / Anycast による冗長化 / DNS 関係者の分業 の 3 点です。実務でこれらを切り分けて説明できるようになると、設計レビューや障害対応の精度が一段上がります。
理解度チェック
Q. DNS の階層で「ルートサーバー」が答える内容は?
- 全ドメインの A レコード
- TLD ごとの権威 DNS サーバーの情報
- サブドメインの A レコード
- ユーザーごとのアクセスログ
答えを見る
正解は 2。ルートは「.com の権威はここ」「.jp の権威はここ」という TLD サーバーへの誘導だけ答えます。実際の A レコードは権威サーバーが返します。
出典 (References)
- IETF RFC 1034 — Domain Names: Concepts
- IETF RFC 1035 — Domain Names: Implementation
- ICANN — DNS Root Servers
最終更新: 2026-05-28
関連レッスン
よくある質問
Q. DNS のキャッシュ TTL は何分が適切?
A. 通常は 3600 秒(1 時間)程度が一般的です。IP を頻繁に変えるサービスは 60 秒など短く、安定したサービスは 86400 秒(1 日)でも問題ありません。ドメイン移行直前は数分まで下げ、切替後に戻すという運用が定番です。
Q. A レコードと CNAME の違いは?
A. A は直接 IP アドレスを返し、CNAME は別のドメイン名にエイリアスします。ALIAS / ANAME と呼ぶ DNS 業者は CNAME の制限(ZONE apex で使えない)を緩和してくれます。サブドメインの移行であれば CNAME で十分ですが、apex ドメインも含めた移行容易性を重視するなら ALIAS / ANAME に対応した DNS プロバイダーを選ぶとよいでしょう。
Q. 名前解決が遅いとき何を疑うべきですか?
A. DNS サーバーへの到達遅延、再帰問い合わせの段数、TTL 切れによるリクエスト集中などが原因です。dig や nslookup でクエリ時間を計測し、必要なら Cloudflare DNS や Google Public DNS など低遅延のレゾルバに切り替えると改善します。
次のレッスン
次は レコードタイプ で、人間が読める名前と IP を結びつける DNS の役割を理解します を学びます。
事前確認 — 進む前に次の 3 つができることを確認しましょう。
- DNS とは の要点を自分の言葉で説明できる
- このレッスンの最小コード (または操作手順) を見ずに書ける
- 練習問題やクイズで間違えた箇所を読み直して理解した
理解度チェック (30 秒)
Q. DNS とは とは何か、1 文で説明してください。
A. 本文の「このレッスンで分かること」または冒頭の説明文を見直し、自分の言葉で要約できれば OK。詰まったら本レッスンの最初の H2 セクションを読み返してみましょう。
関連レッスン
復習ミニクイズ
DNS の階層で最上位に位置するのはどれですか