コンピューターサイエンス:アルゴリズム / OS / ネットワーク / DB

DNS とは

生田 陸人
LuaGate エンジニア / 現役エンジニア
編集 LuaGate編集部

DNS とは

このレッスンで分かること

  • DNS はドメイン名と IP アドレスを変換する世界規模の分散データベースです
  • ルート → TLD → 権威の階層構造と、Anycast による多重化で高可用性を実現しています
  • ICANN・レジストリ・レジストラ・DNS プロバイダの分業で運用されており、購入と運用は別事業者にできます

DNS とは

人間が読める名前と IP を結びつける DNS の役割を理解します。本レッスンでは、DNS の基本から実際の使いどころまでを整理し、現場で迷わず使える形に落とし込みます。

この章のポイント

DNS とは (要約)

ドメイン名と IP アドレスを変換する世界規模の分散データベース

  • 階層構造 = ルート (.) → TLD (.com/.jp) → セカンドレベル (noimancode) → サブドメイン
  • ルート DNS は Anycast で世界中に冗長化されており、1 拠点が落ちても全体は止まらない
  • ICANN がルール、レジストリが TLD 管理、レジストラが利用者販売、DNS プロバイダがレコード運用、という分業

DNS の関係者まとめ

役割責任
ICANNICANNドメイン全体のポリシー決定
レジストリ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.100

DNS は世界中の何万台ものサーバーが連携し、毎秒数億回のクエリをさばいています。

ドメイン名の構造

ドメイン名は階層構造で、右側ほど上位を表します。

プレーンテキスト

www.noimancode.com. └┬─┘ └────┬───┘ └┬┘ └ ルート (省略可) │ │ └ TLD (Top Level Domain) │ └ Second Level Domain (登録単位) └ サブドメイン (ホスト名)
  • ルート — 表記上は最後の . (普段省略)
  • TLD — .com, .org, .jp など
  • セカンドレベル — noimancode、google、yahoo など登録者が決める
  • サブドメイン — www、api、blog など好きに切れる

ドメインを取るとき登録するのは「セカンドレベル + TLD」の単位 (noimancode.com) で、その下のサブドメインは自由に作れます。

階層型の名前解決

DNS の本質は階層型のディレクトリ問い合わせです。クライアントは下記の順で問い合わせ、徐々に答えに近づきます。

  1. ルートサーバー — TLD サーバーの情報を返す
  2. TLD サーバー — そのドメインの権威サーバーの情報を返す
  3. 権威サーバー — 最終的な 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 の階層で「ルートサーバー」が答える内容は?

  1. 全ドメインの A レコード
  2. TLD ごとの権威 DNS サーバーの情報
  3. サブドメインの A レコード
  4. ユーザーごとのアクセスログ
答えを見る

正解は 2。ルートは「.com の権威はここ」「.jp の権威はここ」という TLD サーバーへの誘導だけ答えます。実際の A レコードは権威サーバーが返します。

出典 (References)

最終更新: 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 つができることを確認しましょう。

  1. DNS とは の要点を自分の言葉で説明できる
  2. このレッスンの最小コード (または操作手順) を見ずに書ける
  3. 練習問題やクイズで間違えた箇所を読み直して理解した

理解度チェック (30 秒)

Q. DNS とは とは何か、1 文で説明してください。

この章のポイント

A. 本文の「このレッスンで分かること」または冒頭の説明文を見直し、自分の言葉で要約できれば OK。詰まったら本レッスンの最初の H2 セクションを読み返してみましょう。

関連レッスン

復習ミニクイズ

DNS の階層で最上位に位置するのはどれですか