DNSとは?ドメインとIPアドレスを結ぶ「電話帳」の仕組み

結論: DNS(Domain Name System)とは、インターネット上の「住所(IPアドレス)」と「名前(ドメイン名)」を紐づける、世界規模の電話帳のような仕組みです。

あなたがブラウザの検索バーに google.com と入力したとき、裏側では「google.com のIPアドレスを教えてください」という通信が瞬時に行われています。この仲介役を担っているのがDNSです。

この記事では、ITの基礎知識として欠かせないDNSの仕組みから、実務で触れるレコードの種類、そして運用時にハマりやすい注意点までを網羅して解説します。

Contents

なぜDNSが必要なのか?

コンピュータは、数字の羅列である「IPアドレス(例:142.250.196.110)」で通信相手を特定します。しかし、人間にとってこの数字を覚えるのは非常に困難です。

そこで、人間が理解しやすい「ドメイン名(例:google.com)」を、コンピュータが理解できる「IPアドレス」に変換する必要が出てきました。この変換作業を名前解決(Name Resolution)と呼びます。

もしDNSがこの世から消えてしまったら、私たちはWebサイトにアクセスするたびに、全てのサービスのIPアドレスをメモ帳に控えておかなければならなくなります。

「IPアドレス」の詳しい仕組みについてはこちらの記事が参考になります。

DNSの仕組みを「住所検索」で理解する

DNSは、たった一台の巨大なサーバーが世界中の情報を管理しているわけではありません。階層構造になっており、世界中に分散されたサーバーが連携して動作しています。

ユーザーがドメインを入力してからサイトが表示されるまでの流れは、よく「役所でのたらい回し」に例えられます。

  • ブラウザ: 「www.example.com の住所を教えて!」
  • キャッシュDNSサーバー: 「持ってないな。トップのサーバーに聞いてみるよ」
  • ルートサーバー: 「.com のことは、.comを管理しているところに聞いて」
  • TLDサーバー(.com担当): 「example.com のことは、この権威サーバーが知ってるよ」
  • 権威DNSサーバー: 「はい、www.example.com のIPアドレスは 93.184.216.34 です!」
  • キャッシュDNSサーバー: 「わかった。ブラウザさん、これだよ。しばらく覚えておくね(キャッシュ)」

このように、最上位の「ルート」から順に、より詳細な情報を知っているサーバーへと問い合わせを繋いでいくことで、最終的に正しい住所にたどり着きます。

Yachi

開発中にドメインの設定を変更しても、すぐには反映されないことがあります。これは手順6の「キャッシュDNSサーバー」が古い情報を一定期間保持しているためです。この仕様を知らないと「設定したはずなのに動かない」と数時間悩むことになります。

「キャッシュ」の仕組みや更新されない時の対策はこちらの記事で解説しています。

覚えておくべき主要なDNSレコード

DNSには、ドメインに対してどのような情報を紐づけるかを定義する「レコード」という設定項目があります。Web開発や運用で頻繁に登場するのは以下の4つです。

1. Aレコード(Address Record)

最も基本的なレコードです。「ドメイン名」と「IPv4アドレス」を紐づけます。

  • 例: example.com93.184.216.34

2. AAAAレコード(Quad-A Record)

AレコードのIPv6版です。「ドメイン名」と「IPv6アドレス」を紐づけます。

  • 例: example.com2606:2800:220:1:248:1893:25c8:1946

3. CNAMEレコード(Canonical Name Record)

ドメインに「別名」をつけます。「ドメイン名」を「別のドメイン名」に転送したいときに使います。

  • 例: shop.example.comstores.myshopify.com
  • メリット: 転送先のIPアドレスが変わっても、こちら側の設定を書き換える必要がありません。

4. MXレコード(Mail Exchange Record)

そのドメイン宛てのメールを配送する先のサーバーを指定します。

  • メール送受信を行うサービス(Google WorkspaceやMicrosoft 365など)を利用する際に必ず設定します。

実務で直面する「TTL(Time To Live)」の壁

DNSを語る上で避けて通れないのが TTL(Time To Live) です。これは、「そのDNS情報をキャッシュしていい時間」を秒単位で指定するものです。

例えば、TTLを 3600(1時間)に設定している場合、一度名前解決が行われると、世界中のDNSサーバーはその情報を1時間は保持し続けます。

TTL設定のジレンマ

  • TTLが長い場合: DNSサーバーへの負荷が減り、名前解決が高速化します。しかし、サーバーの切り替え(IPアドレスの変更)を行った際、反映されるまで長時間待つ必要があります。
  • TTLが短い場合: 設定変更がすぐに行き渡りますが、毎回問い合わせが発生するため、わずかにレスポンスが低下したり、DNSサービスの利用料が増えたりすることがあります。
Yachi

サーバー移転やメンテナンスの予定がある場合は、数日前にTTLを 300(5分)程度に短くしておくのが定石です。切り替えが終わった後に、再度 TTL を1時間や1日に戻すと、トラブルなくスムーズに移行できます。

よくある誤解:ドメインを買っただけではダメ

「ドメインを取得したのにサイトが表示されない」という初心者のミスは多いです。ドメインを取得した後に必要なのは、以下のセットアップです。

  • ネームサーバーの指定: ドメインの管理元(レジストラ)で、「私のドメインの情報はこのDNSサーバーを見てね」と指定する。
  • DNSレコードの登録: DNSサーバー側に、先述のAレコードなどを登録する。

これらが両方揃って初めて、世界からあなたのサイトにアクセスできるようになります。

似た用語との比較:DNSとIPアドレス、URL

整理のため、Webブラウジングに必要な要素を比較表にまとめました。

用語役割例え
IPアドレスネットワーク上の本番の場所緯度・経度 / 座標192.168.1.1
ドメイン人間がわかりやすい看板建物名 / 表札example.com
DNS名前から場所を教える仕組み電話帳 / 案内所(仕組みそのもの)
URL特定のファイルまでのフルパス住所+部屋番号https://example.com/index.html

安全なインターネットのための「DNSセキュリティ」

最近では、DNSを標的にした攻撃(DNSキャッシュポイズニングなど)も増えています。偽の情報をキャッシュに流し込み、ユーザーを偽サイトへ誘導する手法です。

これに対抗するための技術として DNSSEC(DNS Security Extensions) があります。これは、DNSの応答にデジタル署名を付与することで、「その情報は本当に正しいサーバーから来たものか」を確認できる仕組みです。

最近のブラウザやモダンなインフラサービス(AWS Route 53, Cloudflareなど)では標準的にサポートされていますが、設定を誤ると名前解決ができなくなることもあります。個人開発の段階ではあまり意識しすぎる必要はありませんが、プロダクトの規模が大きくなってきた際には、セキュリティの観点から必ず検討すべき項目です。

生成AIとDNSの関わり

昨今のAI技術においても、DNSは重要な役割を果たしています。

例えば、大規模言語モデル(LLM)を活用する際、APIを通じてモデルと通信を行いますが、このAPIエンドポイント(通信先)も当然DNSによって名前解決されています。膨大なトラフィックを効率よく処理するために、AIサービスの裏側では高度なDNSのトラフィックルーティングが行われており、私たちの問いかけに対して最も近いリージョンのサーバーが応答するように制御されています。

APIの仕組みや通信の全体像を知りたい方はこちらの記事もチェック!

まとめ

  • DNSはドメイン名をIPアドレスに変換する電話帳。
  • ツリー状の階層構造で、世界中に分散管理されている。
  • Aレコード、CNAME、TTLなどの用語が、運用上の肝になる。
  • 情報の反映には時間がかかるため、計画的な設定変更が必要。

DNSは、一度設定してしまえば普段意識することはありません。しかし、ネットワークの不調やサーバー移転などの際、真っ先に疑い、調整するポイントでもあります。この仕組みを正しく理解しておくことは、安定したサービス運用への第一歩となります。

この記事を書いた人

生成AIコンサルタント / テックリード

外資系IT企業にて社内の生成AI活用推進と
生成AIプロダクト開発リードを担当。

かつてはWeb系のエンジニアとして、
モダンな技術スタックでのシステム開発から
数百億レコード規模のデータベース運用までを
フルスタックに経験。

「コードも書けるコンサルタント」として、
活用論と実装論の両面から、
現場で使えるIT知識を発信します。

Contents