【図解】ドメインとDNSとは?インターネットの「住所」と「電話帳」の仕組み 更新日: 2026年1月10日 私が初めて独自ドメイン(自分だけの.com)を取得した日のことです。 意気揚々とDNSの設定を変更し、「さあ、これで世界中の人が僕のサイトを見れる!」とブラウザにURLを打ち込みました。 しかし、表示されたのは無慈悲な「サイトにアクセスできません」というエラー画面。 「設定を間違えたのか?」とパニックになり、徹夜で設定を見直し、F5キー(再読み込み)を1000回くらい連打しました。 結局、それは設定ミスではなく、単なる「DNSの浸透待ち(世界中に情報が行き渡るまでの時間)」だったのですが、当時の私はDNSの仕組みを全く理解していなかったため、無駄に寿命を縮めてしまったのです。 今日は、当時の私のような初心者エンジニアに向けて、インターネットの根幹をなす「ドメイン」と「DNS」の仕組みを、「住所」と「電話帳」の例えで、世界一わかりやすく解説します。 IPアドレス:インターネット上の「本当の住所(緯度経度)」 まず知っておくべきなのは、インターネットに接続されているすべてのコンピュータ(サーバー含む)には、「IPアドレス」という、ユニークな番号が割り当てられているということです。 172.217.25.206 これは、Googleのサーバーが持つIPアドレスの一つです。 この数字の羅列こそが、サーバーの本当の住所です。地球上の「緯度・経度」のようなものだと考えてください。 理論上は、この数字をブラウザに直接打ち込んでも、Googleのサイトにアクセスできます。 しかし、こんな無味乾燥な数字の羅列、とてもじゃありませんが覚えていられませんよね。 「友達の家に行くのに、毎回『北緯35度、東経139度』と指定するのは大変だ…」 そこで登場するのが、「ドメイン」です。 ドメイン:覚えやすい「愛称(住所のニックネーム)」 ドメインとは、この覚えにくいIPアドレスに付けられた、人間にとって分かりやすい「愛称」や「ニックネーム」のことです。 「北緯35度、東経139度」の代わりに、「東京タワー」という名前で呼ぶようなものです。 172.217.25.206 という数字の代わりに、google.com という、誰でも覚えられる名前を使っているのです。 このサイトで言えば、Renderが提供してくれているサーバーのIPアドレスに、serch-code-pro.com というドメイン名が割り当てられています。 DNS:世界規模の巨大な「電話帳(住所録)」 しかし、ブラウザは「google.com」という名前だけでは、どこに行けばいいのか分かりません。 ブラウザが知りたいのは、あくまで本当の住所である「IPアドレス」です。 そこで登場するのが、DNS (Domain Name System) です。 DNSは、一言で言えば、インターネット全体で共有されている、超巨大な「電話帳(住所録)」です。 あなたがブラウザにgoogle.comと入力すると、以下のことが瞬時に行われます。 あなたのブラウザは、まず最寄りのDNSサーバー(電話帳)に「ねえ、google.com さんのIPアドレス(電話番号)を教えてくれない?」と問い合わせます。 DNSサーバーは、その巨大な電話帳をパラパラとめくり、「はい、google.com さんの番号は 172.217.25.206 ですよ」と教えてくれます。 正しいIPアドレスを知ったブラウザは、ようやくその住所に向かって「ページをください!」というリクエストを送ることができるのです。 この一連の「名前解決」と呼ばれるプロセスは、私たちが意識することなく、わずか0.1秒にも満たない時間で行われています。 まとめ インターネットの住所の仕組みを、もう一度おさらいしましょう。 IPアドレス: コンピュータが理解できる、本当の住所(数字の羅列)。 ドメイン: 人間が理解できる、覚えやすい愛称 (google.comなど)。 DNS: ドメイン名とIPアドレスを、互いに変換してくれる、インターネットの巨大な電話帳。 冒頭で話した私の失敗談(DNSの浸透待ち)は、要するに「世界中の電話帳が書き換わるのには時間がかかる」ということを知らなかったために起きた悲劇でした。 この仕組みを理解しておけば、焦らずに「ああ、電話帳の更新待ちだな」と、余裕を持ってコーヒーでも飲めたはずなのです。 自分が毎日使っているインターネットが、どのような仕組みで動いているのかを知ることは、より信頼性の高い、優れたWebアプリケーションを作るための、重要な一歩なのです。 プログラミング学習に必須ツール! 記事で紹介したコードがよく分からなかったり、ご自身のコードについてもっと知りたい場合は、AIコード解説ツールが便利です。コードを貼り付けるだけで、AIが日本語で分かりやすく解説します。 AIコード解説ツールを使ってみる →