ブラウザに「www.google.com」と入力すると、Googleのトップページが表示されます。このとき、裏側で何が起きているか考えたことはありますか?その仕組みの中心にあるのが「DNS」です。
この記事では、DNSとは何か、URLがWebサイトにつながる仕組みをわかりやすく解説します。
この記事でわかること
- DNSとは何か(シンプルな定義)
- URLがWebサイトに届くまでの流れ
- 名前解決とは何か
- DNS障害が起きるとどうなるか
- IT現場でのDNSの扱い方
DNSとは?
DNS(Domain Name System)とは、ドメイン名(URL)をIPアドレスに変換する仕組みのことです。
コンピューターはIPアドレス(数字の住所)を使って通信しますが、人間にとって「93.184.216.34」のような数字を覚えるのは大変です。そこで「example.com」のようなわかりやすい名前(ドメイン名)を使えるようにしているのがDNSです。
身近な例で考えると
スマートフォンの連絡先(電話帳)を思い浮かべてください。
「山田さんに電話したい」と思ったとき、山田さんの電話番号を覚えていなくても、名前で検索すれば電話番号が見つかります。DNSは、インターネット上の「巨大な電話帳」のようなものです。
- 電話帳に登録された名前 = ドメイン名(example.com)
- 実際の電話番号 = IPアドレス(93.184.216.34)
ブラウザに「example.com」と入力すると、DNSサーバーに「このドメイン名のIPアドレスを教えてください」と問い合わせ、返ってきたIPアドレスを使って実際のサーバーにアクセスします。
URLがWebサイトにつながるまでの流れ
- ブラウザに「www.example.com」と入力する
- パソコンが「www.example.comのIPアドレスは?」とDNSサーバーに問い合わせる
- DNSサーバーが「93.184.216.34です」と返答する
- パソコンが「93.184.216.34」のサーバーにアクセスする
- Webページが表示される
この一連の流れは通常、一瞬(数十ミリ秒)で完了します。
DNS障害が起きるとどうなるか
DNSサーバーに問題が発生すると、IPアドレスを調べられなくなるため、Webサイトにアクセスできなくなります。
「サイトのIPアドレス自体は正常に動いているのに、URLからアクセスできない」という状態です。これをDNS障害と呼びます。
実際に大手DNSサービスで障害が発生したとき、多くのWebサービスにアクセスできなくなるという事例が過去に起きています。
IT現場ではどう使われるか
- 新しいWebサービスを公開するとき、DNSの設定(Aレコード・CNAMEなど)を行う
- サービスのIPアドレスを変更したとき、DNS設定を更新する(変更が世界中に反映されるまでに時間がかかる「TTL」という概念がある)
- 社内のDNSサーバーを使って「社内システムのURL→サーバーIPアドレス」を管理するケースもある
- セキュリティ対策として、悪意あるサイトへのアクセスをDNSレベルでブロックする「DNSフィルタリング」も使われる
初心者がつまずきやすいポイント
DNS設定の変更はすぐ反映されない DNSの設定を変更しても、世界中のDNSサーバーへの反映には数時間〜最大72時間かかることがあります。「設定したのになぜアクセスできないの?」という場面で出てくる「DNS伝播」の話です。
「www」は必須ではない 「www.example.com」と「example.com」は異なる設定ですが、多くのサービスでは同じサイトにアクセスできるよう設定されています。
DNSと「ドメイン取得」は別の作業 ドメイン名を取得する(登録する)ことと、そのドメインのDNS設定をする作業は別ステップです。
関連用語
- Aレコード:ドメイン名をIPアドレスに対応づけるDNSの設定項目
- CNAMEレコード:ドメイン名を別のドメイン名に対応づける設定
- TTL(Time To Live):DNSの設定が各サーバーにキャッシュされる時間
- ドメイン:「example.com」のような、Webサイトの名前部分
仕事で使うときの注意点
新しいシステムを立ち上げる際やドメイン移行を行う際には、DNS設定の変更と反映時間を考慮したスケジュールが必要です。「設定変更した翌日すぐ使えると思っていたが、まだ反映されていない」というトラブルを防ぐために、余裕を持った計画が重要です。
さらに学ぶなら
DNSを含むネットワークの基本は、FEX-118「ネットワーク入門」で体系的に学べます。宅配便というわかりやすいたとえで、データが届く仕組みを解説しています。
- 自分に合う講座を探す:/course-diagnosis/
- ネットワーク・IT基礎シリーズを見る:/courses/
- 講師クーポンを確認する:/coupons/