結論: DNS(Domain Name System)とは、インターネット上の「住所(IPアドレス)」と「名前(ドメイン名)」を紐づける、世界規模の電話帳のような仕組みです。
あなたがブラウザの検索バーに google.com と入力したとき、裏側では「google.com のIPアドレスを教えてください」という通信が瞬時に行われています。この仲介役を担っているのがDNSです。
この記事では、ITの基礎知識として欠かせないDNSの仕組みから、実務で触れるレコードの種類、そして運用時にハマりやすい注意点までを網羅して解説します。
なぜDNSが必要なのか?
コンピュータは、数字の羅列である「IPアドレス(例:142.250.196.110)」で通信相手を特定します。しかし、人間にとってこの数字を覚えるのは非常に困難です。
そこで、人間が理解しやすい「ドメイン名(例:google.com)」を、コンピュータが理解できる「IPアドレス」に変換する必要が出てきました。この変換作業を名前解決(Name Resolution)と呼びます。
もしDNSがこの世から消えてしまったら、私たちはWebサイトにアクセスするたびに、全てのサービスの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.com→93.184.216.34
2. AAAAレコード(Quad-A Record)
AレコードのIPv6版です。「ドメイン名」と「IPv6アドレス」を紐づけます。
- 例:
example.com→2606:2800:220:1:248:1893:25c8:1946
3. CNAMEレコード(Canonical Name Record)
ドメインに「別名」をつけます。「ドメイン名」を「別のドメイン名」に転送したいときに使います。
- 例:
shop.example.com→stores.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のトラフィックルーティングが行われており、私たちの問いかけに対して最も近いリージョンのサーバーが応答するように制御されています。

まとめ
- DNSはドメイン名をIPアドレスに変換する電話帳。
- ツリー状の階層構造で、世界中に分散管理されている。
- Aレコード、CNAME、TTLなどの用語が、運用上の肝になる。
- 情報の反映には時間がかかるため、計画的な設定変更が必要。
DNSは、一度設定してしまえば普段意識することはありません。しかし、ネットワークの不調やサーバー移転などの際、真っ先に疑い、調整するポイントでもあります。この仕組みを正しく理解しておくことは、安定したサービス運用への第一歩となります。
