← 用語集一覧へ戻る

DNS

Domain Name System
network beginner
ドメイン名を、実際の接続先であるIPアドレスへ対応付けてくれる仕組みのこと。
DNS (Domain Name System)

概要(サマリー)

ドメイン名を、実際の接続先であるIPアドレスへ対応付けてくれる仕組みのこと。

私たちは普段、google.comexample.com のような覚えやすい名前でWebサイトにアクセスしている。
しかし、コンピュータ同士は本来、192.0.2.1 のようなIPアドレスを使って通信している。
DNS は、その人間向けの名前と、コンピュータ向けの数字の住所を結びつける仕組みである。

よく「インターネットの電話帳」にたとえられる。
名前から電話番号を調べるように、ドメイン名から接続先のIPアドレスを調べてくれる存在だと考えるとわかりやすい。

詳細解説

DNS(Domain Name System)とは、ドメイン名をIPアドレスに変換するための仕組みである。
Webサイトを見るとき、私たちは普通 example.com のような文字列を使うが、コンピュータはそれだけでは通信先を判断できない。
実際に通信するには、その名前がどのIPアドレスに対応しているかを知る必要がある。

その対応表を管理し、問い合わせに応じて教えてくれる仕組みがDNSである。
つまりDNSは、人間が使いやすい名前コンピュータが使う実際の住所をつなぐ翻訳係のような存在である。

なお、WebサイトへのアクセスではIPアドレスを調べる場面が目立つが、DNSが扱う情報はそれだけではない。
メールの配送先、ドメイン所有確認、認証用の文字情報などもDNSで管理されることがある。

なぜDNSが必要なのか

もしDNSがなければ、私たちはWebサイトへアクセスするたびに、数字のIPアドレスを直接覚えなければならなくなる。
たとえば、

https://example.com

の代わりに、毎回

https://192.0.2.1

のような数字を入力しなければならないかもしれない。

しかし、数字の羅列は覚えにくく、サーバーの引っ越しでIPアドレスが変わることもある。
そのたびに全員が新しい数字を覚え直すのは現実的ではない。

そこでDNSを使えば、

  • 人間は覚えやすいドメイン名を使う
  • 裏側でDNSがIPアドレスを調べる
  • コンピュータは正しい接続先へ通信する

という流れにできる。
これにより、インターネットを人間が使いやすくなる。

どんなイメージで考えればよいか

初心者向けには、次のようなたとえがわかりやすい。

電話帳

「山田さん」という名前を見て電話番号を調べるように、example.com という名前を見てIPアドレスを調べる。

住所録

店名は覚えていても、実際の住所は住所録を見て確認する。
DNSも、名前から本当の場所を調べる仕組みである。

案内所

「この店はどこですか」と聞くと、案内所が住所を教えてくれる。
DNSは、そのネットワーク版の案内所のようなものだと考えるとわかりやすい。

DNSで実際に何が起きているのか

たとえばブラウザで example.com を開くとき、裏側ではざっくり次のようなことが起きる。

  1. ユーザーがドメイン名を入力する
  2. ブラウザやOSが、その名前のIPアドレスを知っているか確認する
  3. 分からなければDNSサーバーへ問い合わせる
  4. DNSサーバーが対応するIPアドレスを返す
  5. ブラウザがそのIPアドレスのサーバーへ接続する

つまりDNSは、Webページの中身を返すわけではなく、
どこへ接続すればよいかを教える役目
を持っている。

実際のDNSは、1台の巨大な電話帳サーバーだけで動いているわけではない。
世界中に分散した複数のDNSサーバーが協力し、問い合わせをたどりながら必要な情報を見つける仕組みになっている。

DNSはドメイン名を「変換」しているのか

初心者向けには「変換」と説明されることが多いが、厳密には
ドメイン名に対応するIPアドレスを調べて返している
と考える方が近い。

たとえば、example.com という文字列を別の形に作り変えるのではなく、
「その名前に対応するIPアドレスはこれです」と案内しているイメージである。

DNSレコードとは

DNSを理解するときによく出てくるのが DNSレコード という言葉である。
これは、「どの名前を、どこへ向けるか」という設定情報のことである。

たとえば、

  • example.com はこのIPアドレスへ向ける
  • www.example.com は別の場所へ向ける
  • メールはこのメールサーバーへ向ける

といった情報がDNSレコードに書かれている。

初心者向けには、
DNSの中に登録されている個別の案内メモ
のようなものと考えるとよい。

よく出てくるDNSレコードの種類

初心者が最初によく目にするのは次のようなものだ。

Aレコード

ドメイン名をIPv4アドレスへ向ける。

AAAAレコード

ドメイン名をIPv6アドレスへ向ける。

CNAMEレコード

ある名前を別のドメイン名へ向ける。

MXレコード

メールの配送先サーバーを示す。

NSレコード

そのドメインのDNS情報を、どのネームサーバーが管理しているかを示す。

TXTレコード

認証や確認用の文字情報を持たせる。
SPF やドメイン所有確認などで使われることが多い。

初心者はまず、
「DNSにはWebサイト用だけでなく、メール用や認証用の設定もある」
と知っておくとよい。

キャッシュとの関係

DNSは毎回ゼロから調べているわけではなく、結果を一時的に覚えておくことがある。
これがDNSキャッシュである。

たとえば、一度 example.com のIPアドレスを調べたら、その結果をしばらく保存しておき、次回はすぐ使えるようにする。
これにより、問い合わせ回数を減らし、表示も速くしやすくなる。

この「どれくらいの時間、結果を覚えておくか」を決める値を TTL という。
TTL が長いと問い合わせ回数は減りやすいが、設定変更が反映されるまで時間がかかりやすくなる。

ただし、この仕組みのせいで、

  • DNS設定を変えたのにすぐ反映されない
  • 古い接続先へつながるように見える

ことがある。
これはDNSの不具合というより、キャッシュが残っているために起こることが多い。

反映に時間がかかることがある理由

DNS設定を変更しても、すぐ全世界で完全に切り替わるとは限らない。
その理由の1つが、各所に残っているDNSキャッシュである。

たとえば、サーバー移転でAレコードを変えたとしても、

  • 自分のPC
  • プロバイダのDNS
  • 各地のDNSキャッシュ

などに古い情報が残っていると、しばらくは古い場所へアクセスされることがある。

そのため、DNS変更時には「反映待ち」の時間が話題になりやすい。

ドメインとDNSの違い

初心者がよく混同するが、ドメインとDNSは同じではない。

ドメイン

example.com のような名前そのもの。

DNS

その名前がどこを指すかを管理する仕組み。

つまり、

  • ドメイン = 名前
  • DNS = その名前の行き先案内

という関係である。

サーバーとの関係

DNSはサーバーそのものではない。
DNSは「どのサーバーへ行くか」を教える役であり、実際にページを返すのはWebサーバーである。

たとえば、

  • DNS が example.com192.0.2.1 と教える
  • ブラウザが 192.0.2.1 のWebサーバーへ接続する
  • そのサーバーがHTMLや画像を返す

という流れになる。

つまりDNSは、サーバーへつなぐ前の案内係である。

Webサイト以外でも使われる

初心者はDNSを「Webサイトを見るためのもの」と思いやすいが、実際にはそれだけではない。
メール配送や各種認証、サブドメイン運用など、さまざまな用途で使われる。

たとえば、

  • メールの配送先指定
  • サービス確認用レコード
  • SPF / DKIM / DMARC などの設定
  • サブドメインごとの振り分け

にもDNSが関わる。

AI時代にDNSが重要な理由

AIを使ってWebアプリやサイトを公開すると、コードを書くことだけでなく、
公開先へ正しくつなぐ設定
も必要になる。
そのときDNSの理解がないと、

  • 独自ドメインがつながらない
  • メール設定がうまくいかない
  • サーバー移転後に古いサイトが見える
  • SSL設定や外部サービス連携で混乱する

といった問題が起こりやすい。

そのため、DNSはインフラ寄りの用語ではあるが、AIコーディング初心者にとってもかなり重要な基礎知識である。

よくある勘違い

DNS = ドメインそのもの?

同じではない。
ドメインは名前で、DNSはその名前の行き先を管理する仕組みである。

DNSがWebページを表示している?

直接表示しているわけではない。
DNSは接続先を教えるだけで、実際のページデータを返すのはサーバーである。

DNS設定を変えたらすぐ全員に反映される?

そうとは限らない。
DNSキャッシュの影響で、しばらく古い情報が使われることがある。

DNSはWebサイト用だけの仕組み?

違う。
メール配送や認証レコードなど、Web以外にも広く使われている。

IPアドレスがわかればDNSは不要?

理論上は直接アクセスできることもあるが、運用上は名前で管理できた方が圧倒的に便利である。
サーバー変更や複数サービス連携もしやすい。

より詳しくAIに聞いてみよう

  • DNSとは何かを、中学生でもわかるように説明してください。
  • ドメインとDNSとサーバーの違いを、初心者向けに整理してください。
  • Aレコード、CNAME、MX、TXT の違いをやさしく説明してください。
  • DNS変更後に反映が遅れる理由を教えてください。
  • 独自ドメインをWebサイトとメールで使うとき、DNSがどう関わるのか説明してください。
  • NSレコードとTTLの意味を、初心者向けに説明してください。