DNS

ディーエヌエス / Domain Name System

DNS(Domain Name System) - インターネットの電話帳

概要

DNS(Domain Name System)とは、「インターネットの電話帳」です。

あなたがWebサイトにアクセスするとき、google.comのようなドメインを入力しますよね。 しかし、コンピュータはIPアドレス(例: 142.250.207.46)でしか通信できません。

そこでDNSが、ドメイン名をIPアドレスに自動変換してくれます。 この処理を「名前解決」または「DNS解決」と呼びます。

DNS解決の例:

google.com → DNS解決 → 142.250.207.46
itwords.jp → DNS解決 → 76.76.21.21
github.com → DNS解決 → 140.82.121.4

DNSがないと、私たちは数字の羅列(IPアドレス)を覚えて入力しなければなりません。 DNSのおかげで、覚えやすいドメイン名を使ってインターネットを利用できるのです。

体験してみよう:DNS解決の流れ

あなたがブラウザに「itwords.jp」と入力してから、 実際にWebサーバーに接続するまでの流れを確認してみましょう。

DNS解決プロセス

🌐

ブラウザにドメイン入力

itwords.jpにアクセス

実行中
💾

DNSキャッシュ確認

ブラウザのキャッシュをチェック

🔍

DNSリゾルバに問い合わせ

ISPのDNSサーバーに質問

🌲

ルートサーバーへ

.jpを管理するサーバーを教えてもらう

🏢

TLDサーバーへ

itwords.jpの権威サーバーを教えてもらう

権威サーバーから回答

IPアドレスを取得

🚀

Webサーバーに接続

IPアドレスでサーバーにアクセス

このプロセスは通常、数十ミリ秒〜数百ミリ秒で完了します

DNSの仕組み

DNS解決は、複数のDNSサーバーが協力して行います。

DNSサーバーの種類

1. DNSリゾルバ(フルサービスリゾルバ)

あなたのパソコンやスマホが最初に問い合わせるDNSサーバーです。 通常、ISP(インターネットサービスプロバイダー)が提供しています。

  • 役割: クライアントの代わりに、他のDNSサーバーに問い合わせる
  • : GoogleのパブリックDNS(8.8.8.8)、Cloudflare(1.1.1.1)

2. ルートサーバー

DNSの最上位にあるサーバーです。 世界中に13組のルートサーバーがあります。

  • 役割: TLD(.com、.jpなど)を管理するサーバーの場所を教える

3. TLDサーバー(トップレベルドメインサーバー)

.com.jp.orgなどのTLDを管理するサーバーです。

  • 役割: 各ドメインの権威サーバーの場所を教える

4. 権威サーバー(Authoritative Name Server)

実際にドメインとIPアドレスの対応情報を持っているサーバーです。

  • 役割: ドメインに対応するIPアドレスを返す
  • : Cloudflareの権威サーバー、AWSのRoute 53

DNSレコードの種類

DNSには、様々な種類のレコード(記録)があります。

レコード説明
Aドメイン → IPv4アドレスitwords.jp → 76.76.21.21
AAAAドメイン → IPv6アドレスitwords.jp → 2606:4700::
CNAMEドメインの別名(エイリアス)www.itwords.jp → itwords.jp
MXメールサーバーの指定itwords.jp → mail.example.com
TXTテキスト情報(認証など)SPF、DKIM、ドメイン所有確認
NS権威DNSサーバーの指定itwords.jp → ns1.cloudflare.com

DNSキャッシュ

毎回すべてのDNSサーバーに問い合わせると時間がかかるため、 DNSはキャッシュ(一時的な記録)を使います。

キャッシュの階層

  1. ブラウザキャッシュ: ブラウザが最近アクセスしたドメインを記憶
  2. OSキャッシュ: パソコン/スマホのOSが記憶
  3. リゾルバキャッシュ: ISPのDNSサーバーが記憶

キャッシュに情報があれば、すぐにIPアドレスを取得できます。 キャッシュがない場合のみ、ルートサーバーから順に問い合わせます。

TTL(Time To Live)

DNSレコードにはTTLという有効期限が設定されています。 TTLが切れると、キャッシュが削除され、再度DNSサーバーに問い合わせます。

  • 短いTTL(例: 60秒): IPアドレスの変更をすぐ反映したいとき
  • 長いTTL(例: 86400秒=1日): 変更が少なく、高速化を重視するとき

DNS設定の実際

Webサイトを公開する際、DNSの設定が必要です。

Vercelでドメインを設定する例

  1. Vercelのプロジェクト設定を開く
  2. 「Domains」タブで、取得したドメインを入力
  3. Vercelが指示するDNSレコードを、ドメインレジストラ(お名前.com等)に設定
    • Aレコード: 76.76.21.21
    • CNAMEレコード: cname.vercel-dns.com
  4. DNS設定が反映されるのを待つ(数分〜48時間)
  5. Vercelが自動的にSSL証明書を発行(HTTPS化)

DNS伝搬(Propagation): DNS設定の変更は、 世界中のDNSサーバーに伝わるまで時間がかかります。 通常は数分〜数時間、最大で48時間程度です。

パブリックDNSサービス

ISPのDNSが遅い場合、パブリックDNSサービスに変更できます。

主なパブリックDNS

  • Google Public DNS: 8.8.8.8 / 8.8.4.4
  • Cloudflare DNS: 1.1.1.1 / 1.0.0.1 - 高速でプライバシー重視
  • Quad9: 9.9.9.9 - セキュリティ重視(悪意あるサイトをブロック)

パソコンやルーターのDNS設定を変更することで、これらのサービスを利用できます。

DNSのセキュリティ

DNSハイジャック

攻撃者がDNSの応答を改ざんし、偽のサイトに誘導する攻撃です。

DNS over HTTPS(DoH)

DNS通信を暗号化し、盗聴や改ざんを防ぐ技術です。 最近のブラウザ(Chrome、Firefoxなど)はDoHをサポートしています。

DNSSEC

DNSの応答に電子署名を付けることで、改ざんを検知する技術です。

関連用語

用語説明
ドメインDNSが解決する人間が読みやすい名前
IPアドレスDNSが返す実際の通信先アドレス
サーバーDNSが解決した後に接続するコンピュータ
ホスティングサービスDNS設定を簡単にできるサービス
VercelDNS設定を自動化するホスティングサービス