コンテンツにスキップ
X

ドメインとDNS

www.example.comを入力すると、なぜ正しいサーバーに繋がるのか?」この仕組みを支えているのが DNS です。ドメインとDNSを理解することで、独自ドメインの設定やネットワークトラブルのデバッグができるようになります。

対象読者: ウェブの基礎を学んでいる方、独自ドメインの設定に興味がある方

学習時間の目安: 読了 10分 + 実践 5分

前提知識: インターネットとは何か(IPアドレスの概念)

ドメイン名(Domain Name)とは、インターネット上のサーバーに割り当てられたIPアドレスに対応する、人間が読みやすい名前です。

サーバーの実際の住所はIPアドレス(例:93.184.216.34)ですが、毎回数字の羅列を入力するのは不便です。そこで「example.com」のような覚えやすい名前を使えるようにしたのがドメイン名です。

ドメイン名はいくつかのパーツで構成されています。

blog.example.com
│    │       │
│    │       └── TLD(トップレベルドメイン)
│    └────────── セカンドレベルドメイン(SLD)
└─────────────── サブドメイン
パーツ説明
TLD(トップレベルドメイン).com.jp.ioドメイン名の末尾。種類と目的による分類がある
セカンドレベルドメインexampleユーザーが取得・登録する名前の部分
サブドメインblogwwwapi同一ドメイン内でサービスを分けるための接頭辞

TLD(Top-Level Domain、トップレベルドメイン)にはさまざまな種類があります。

TLD意味・用途
.com商業(Commercial)。最も一般的google.comgithub.com
.org組織(Organization)。非営利団体などwikipedia.org
.netネットワーク(Network)。ISPなどspeedtest.net
.ioイギリス領インド洋地域のccTLD。テック系サービスで人気github.io
.jp日本(Japan)の国別コードTLD(ccTLD)nhk.jpgo.jp
.govアメリカ政府機関専用nasa.gov
.edu教育機関専用mit.edu

ccTLD(Country Code TLD)は国・地域ごとに割り当てられたTLDです。.jp(日本)・.uk(イギリス)・.de(ドイツ)などがあります。

DNS(Domain Name System)とは、ドメイン名をIPアドレスに変換する仕組みです。

電話帳に例えると分かりやすいです。「田中さん」という名前から電話番号を調べるように、DNSは「example.com」というドメイン名から「93.184.216.34」というIPアドレスを調べる役割を担います。

ブラウザがwww.example.comにアクセスするとき、以下の手順でIPアドレスが解決されます。

① [ブラウザのキャッシュ確認]
   以前に訪問したことがあれば、キャッシュからIPアドレスを取得
   → キャッシュにない場合は次のステップへ

② [OSのキャッシュ・hostsファイル確認]
   OSが保持するキャッシュと /etc/hosts ファイルを参照

③ [リゾルバ(プロバイダーのDNSサーバー)に問い合わせ]
   インターネットプロバイダー(ISP)が管理するDNSサーバーに問い合わせ

④ [ルートDNSサーバーに問い合わせ]
   「.com のTLDサーバーはどこ?」と聞く
   → TLDサーバーのアドレスを返す

⑤ [TLDサーバーに問い合わせ]
   「example.com の権威DNSサーバーはどこ?」と聞く
   → 権威DNSサーバーのアドレスを返す

⑥ [権威DNSサーバーに問い合わせ]
   「www.example.com のIPアドレスは?」と聞く
   → 「93.184.216.34」というIPアドレスを返す

⑦ [IPアドレスを取得してHTTP接続]
   ブラウザが 93.184.216.34 のサーバーにHTTPリクエストを送信

この一連の処理は通常、数十ミリ秒〜数百ミリ秒で完了します。キャッシュが有効な場合はさらに高速です。

独自のドメイン名を取得するには、レジストラ(Registrar)というドメイン登録業者を利用します。

主なドメインレジストラの例:

  • お名前.com(国内最大手)
  • Cloudflare Registrar(コスト重視・管理機能充実)
  • Namecheap(海外サービス・リーズナブル)
  • Google DomainsSquarespace Domains(Googleが事業売却)

取得の一般的な手順:

  1. レジストラのサイトで希望のドメイン名を検索
  2. 空いていれば購入(年間数百円〜数千円程度)
  3. DNS設定で、取得したドメインを使用するサーバーのIPアドレスを登録

.comの場合、年間1,000〜2,000円程度が目安です。人気のドメイン名や.ioなどの特定TLDはより高くなることがあります。

www.example.comexample.comは、厳密には別々のアドレスです。

  • example.com はドメインそのもの(ルートドメイン または ネイキッドドメイン と呼ぶ)
  • www.example.comwwwというサブドメインを付けたアドレス

現代のウェブサービスでは、多くの場合example.comwww.example.comの両方に同じサーバーを向けており、どちらでアクセスしてもページが表示されます。リダイレクト設定で一方をもう一方へ転送することが一般的です。

歴史的には、wwwは「これはウェブサーバーです」を示すサブドメインとして使われてきました。現在は省略されることも多くなっています。

  • ドメイン名 はIPアドレスに対応する人間向けの名前
  • ドメインは TLD・セカンドレベルドメイン・サブドメイン で構成される
  • DNS はドメイン名をIPアドレスに変換するシステム(電話帳の役割)
  • DNS解決はリゾルバ→ルートDNS→TLDサーバー→権威DNSサーバーの順で行われる
  • レジストラ からドメインを購入して独自ドメインを取得できる

Q: DNSの変更はすぐに反映されますか?

A: 反映されるまでに最大48〜72時間かかることがあります。これは「DNS伝播(DNS propagation)」と呼ばれ、世界中のDNSサーバーが最新の情報に更新されるまでの時間です。実際は数時間で反映されることが多いですが、余裕を持ったスケジュールで作業することが推奨されます。

Q: 同じドメイン名を2人が取得することはできますか?

A: できません。ドメイン名は世界で一意です。先に取得した人が使用権を持ちます。希望のドメイン名がすでに取得されている場合は、別のTLD(.net.ioなど)を検討するか、異なるドメイン名を選択する必要があります。

Q: 無料でドメインを取得する方法はありますか?

A: github.io(GitHub Pages)やvercel.app(Vercel)などのサービスが提供するサブドメインは無料で利用できます。独自ドメイン(yourdomain.comなど)は基本的に有料です。


このページへのリンク(英語): Domains and DNS