MENU
「安心のセキュリティをお得な価格」でご提供!
Fortinet商品など
ENGAGE fotinet

DNSキャッシュサーバーとはなんなのか

DNSキャッシュサーバーとは、利用者の端末からDNS問い合わせを受け取り、ドメイン名に対応するIPアドレスなどの情報を調べて返すサーバーです。

たとえば、ブラウザでWebサイトにアクセスするとき、人間は次のようなドメイン名を入力します。

www.example.com

しかし、コンピューター同士が通信するときには、基本的にドメイン名ではなくIPアドレスが使われます。

そのため、Webサイトへアクセスする前に、

www.example.com のIPアドレスは何か?

を調べる必要があります。

このドメイン名とIPアドレスを対応づける仕組みがDNSです。

そして、そのDNS問い合わせを利用者の代わりに行い、結果を一時的に保存しておくサーバーがDNSキャッシュサーバーです。

DNSキャッシュサーバーは、次のような名前で呼ばれることもあります。

再帰DNSサーバー
リカーシブDNSサーバー
再帰リゾルバ
フルリゾルバ
DNSリゾルバ

厳密には文脈によって少し意味が異なる場合もありますが、一般的なWebサイト運営やネットワークの説明では、近い意味で使われることが多いです。

DNSの基本的な仕組み

DNSはドメイン名をIPアドレスに変換する仕組み

DNSは、よく「インターネット上の住所録」に例えられます。

人間にとっては、

example.com

のようなドメイン名の方が覚えやすいですが、コンピューターにとっては、

192.0.2.1

のようなIPアドレスが通信先を示す情報になります。

つまりDNSは、

ドメイン名 → IPアドレス

を調べるための仕組みです。

たとえば、ユーザーがブラウザでWebサイトを開くと、裏側ではまずDNS問い合わせが行われます。

その問い合わせによってIPアドレスが判明し、ブラウザはそのIPアドレスに向けて通信を開始します。

DNSでは複数のサーバーが関係する

DNSの名前解決では、主に次のようなサーバーが関係します。

種類 役割
DNSキャッシュサーバー 利用者からの問い合わせを受け、必要に応じて他のDNSサーバーへ問い合わせる
ルートDNSサーバー DNS階層の最上位にあるサーバー
TLD DNSサーバー .com.jp などのトップレベルドメインを担当するサーバー
権威DNSサーバー 特定ドメインの正式なDNS情報を持つサーバー

この中で、利用者にもっとも近い位置で働くのがDNSキャッシュサーバーです。

ユーザーのPCやスマホは、多くの場合、まずDNSキャッシュサーバーに問い合わせます。

DNSキャッシュサーバーは、必要に応じてルートDNSサーバー、TLD DNSサーバー、権威DNSサーバーへ順番に問い合わせ、最終的な答えを取得します。

DNSキャッシュサーバーの役割

利用者の代わりにDNS問い合わせを行う

DNSキャッシュサーバーの大きな役割は、利用者の代わりにDNS問い合わせを行うことです。

ユーザーがWebサイトにアクセスするたびに、端末が直接ルートDNSサーバーや権威DNSサーバーへ問い合わせるのは効率的ではありません。

そこで、通常は次のような流れになります。

利用者の端末
↓
DNSキャッシュサーバー
↓
必要に応じて外部のDNSサーバーへ問い合わせ

DNSキャッシュサーバーは、利用者から

www.example.com のIPアドレスを教えてください

という問い合わせを受け取ります。

その答えをすでに知っていれば、保存済みの情報を返します。

知らない場合は、他のDNSサーバーに問い合わせて答えを探しに行きます。

取得したDNS情報を一時的に保存する

DNSキャッシュサーバーは、問い合わせによって得たDNS情報を一時的に保存します。

この一時保存のことを「キャッシュ」と呼びます。

たとえば、あるユーザーが www.example.com のIPアドレスを問い合わせたとします。

DNSキャッシュサーバーが答えを取得すると、その情報を一定時間保存します。

その後、別のユーザーが同じドメインにアクセスしようとした場合、DNSキャッシュサーバーは改めて外部のDNSサーバーへ問い合わせる必要がありません。

保存済みの情報を使って、すぐに答えを返すことができます。

1回目:
利用者 → DNSキャッシュサーバー → 外部DNSへ問い合わせ → 答えを取得

2回目以降:
利用者 → DNSキャッシュサーバー → 保存済みの答えを返す

この仕組みによって、DNS問い合わせの時間を短縮できます。

DNS問い合わせを高速化する

DNSキャッシュサーバーがあることで、名前解決が速くなります。

Webサイトを表示する前には、まずドメイン名からIPアドレスを調べる必要があります。

そのため、DNSの応答が遅いと、Webサイトの表示開始も遅くなる可能性があります。

DNSキャッシュサーバーがよく使われるドメインの情報を保存していれば、毎回外部へ問い合わせる必要がなくなります。

その結果、名前解決にかかる時間を短縮できます。

ただし、Webサイト全体の表示速度はDNSだけで決まるわけではありません。

実際には、次のような要素も大きく影響します。

サーバーの応答速度
画像の重さ
JavaScriptやCSSの読み込み
CDNの有無
ブラウザキャッシュ
ネットワーク環境

DNSキャッシュは、Web表示速度を改善する要素のひとつと考えるとよいでしょう。

DNSキャッシュサーバーの動作の流れ

キャッシュがない場合の流れ

DNSキャッシュサーバーに問い合わせ対象の情報がない場合、DNSキャッシュサーバーは他のDNSサーバーへ問い合わせて答えを探します。

たとえば、www.example.com にアクセスする場合、流れは次のようになります。

1. 利用者の端末がDNSキャッシュサーバーに問い合わせる
   「www.example.com のIPアドレスは?」

2. DNSキャッシュサーバーがルートDNSサーバーに問い合わせる
   「www.example.com はどこに聞けばよい?」

3. ルートDNSサーバーが答える
   「.com のDNSサーバーに聞いてください」

4. DNSキャッシュサーバーが .com のTLD DNSサーバーに問い合わせる
   「example.com はどこに聞けばよい?」

5. .com のTLD DNSサーバーが答える
   「example.com の権威DNSサーバーに聞いてください」

6. DNSキャッシュサーバーが example.com の権威DNSサーバーに問い合わせる
   「www.example.com のIPアドレスは?」

7. 権威DNSサーバーが正式なDNS情報を返す

8. DNSキャッシュサーバーが利用者の端末に答えを返す

9. 利用者の端末が取得したIPアドレスへ接続する

このように、DNSキャッシュサーバーは利用者の代わりに複数のDNSサーバーをたどり、最終的な答えを取得します。

キャッシュがある場合の流れ

DNSキャッシュサーバーがすでに対象ドメインの情報を保存している場合、流れはより短くなります。

1. 利用者の端末がDNSキャッシュサーバーに問い合わせる
   「www.example.com のIPアドレスは?」

2. DNSキャッシュサーバーが保存済みの情報を確認する

3. DNSキャッシュサーバーが利用者の端末に答えを返す

この場合、ルートDNSサーバーやTLD DNSサーバー、権威DNSサーバーへ問い合わせる必要がありません。

そのため、名前解決が速くなり、外部のDNSサーバーへの負荷も減ります。

DNSキャッシュサーバーと権威DNSサーバーの違い

DNSキャッシュサーバーは利用者側のサーバー

DNSキャッシュサーバーは、利用者側に近い位置で使われるDNSサーバーです。

主な役割は、利用者からの問い合わせを受け、必要に応じて他のDNSサーバーへ問い合わせ、結果を返すことです。

また、取得したDNS情報を一定時間キャッシュします。

代表的なDNSキャッシュサーバーには、次のようなものがあります。

プロバイダのDNSサーバー
会社や学校のDNSサーバー
Google Public DNS
Cloudflare 1.1.1.1
Quad9

多くの一般ユーザーは、インターネット接続時にプロバイダが提供するDNSキャッシュサーバーを自動的に利用しています。

権威DNSサーバーは正式なDNS情報を持つサーバー

権威DNSサーバーは、特定のドメインについて正式なDNS情報を持っているサーバーです。

たとえば、example.com のDNS情報を管理しているサーバーが、example.com の権威DNSサーバーです。

権威DNSサーバーは、次のような情報を返します。

このドメインのAレコードはこれです
このドメインのMXレコードはこれです
このドメインのTXTレコードはこれです
このドメインのネームサーバーはこれです

Webサイト運営者がDNS設定を変更する場合、基本的にはこの権威DNSサーバー側の情報を変更します。

代表的な権威DNSサービスには、次のようなものがあります。

Amazon Route 53
Cloudflare Authoritative DNS
Xserverのネームサーバー
お名前.comのネームサーバー
ムームードメインのネームサーバー

両者の違い

DNSキャッシュサーバーと権威DNSサーバーの違いを整理すると、次のようになります。

項目 DNSキャッシュサーバー 権威DNSサーバー
立場 利用者側 ドメイン管理者側
主な役割 DNS問い合わせを代理で行う 特定ドメインの正式なDNS情報を返す
キャッシュ 取得した情報を一時保存する 自分が管理するゾーンの情報を返す
代表例 ISP DNS、Google Public DNS、Cloudflare 1.1.1.1、Quad9 Route 53、Cloudflare Authoritative DNS、レンタルサーバー会社のDNS
利用者 一般ユーザー、企業、学校など ドメイン管理者、Webサイト運営者など

簡単にいうと、次のような違いです。

DNSキャッシュサーバー:
必要に応じてDNS情報を調べに行き、結果をキャッシュして返すサーバー

権威DNSサーバー:
特定ドメインについて正式なDNS情報を持っているサーバー

DNSキャッシュとTTL

DNSキャッシュとは

DNSキャッシュとは、過去に取得したDNS情報を一時的に保存して再利用する仕組みです。

DNSキャッシュサーバーは、ドメイン名とIPアドレスの対応情報などを一定時間保存します。

たとえば、次のような情報を保存します。

www.example.com → 192.0.2.1

この情報がキャッシュに残っている間は、同じ問い合わせが来ても外部のDNSサーバーへ再問い合わせする必要がありません。

TTLとは

TTLとは、Time To Live の略で、DNSレコードをキャッシュしてよい時間を表します。

たとえば、TTLが 3600秒 に設定されている場合、そのDNS情報は最大で1時間キャッシュされます。

TTL 300    = 5分
TTL 3600   = 1時間
TTL 86400  = 24時間

DNSキャッシュサーバーは、このTTLに従って情報を保存します。

ただし、キャッシュ済みの情報を返す場合、返されるTTLは「最初に設定されていたTTL」ではなく、「残りの有効時間」になることがあります。

たとえば、TTLが3600秒のDNSレコードを取得してから30分経過した場合、次に返されるTTLは約1800秒になることがあります。

TTLが短い場合

TTLが短いと、DNS情報の変更が比較的早く反映されやすくなります。

たとえば、Webサーバーの移転やCDNの導入などでDNS設定を変更する場合、TTLを短くしておくと、古い情報が長く残りにくくなります。

TTLが短い場合のメリットは次の通りです。

DNS変更が比較的早く反映されやすい
サーバー移転や切り替えに対応しやすい
障害時の切り替えに使いやすい

一方で、デメリットもあります。

DNS問い合わせの回数が増えやすい
DNSキャッシュの効果が弱くなる
DNSサーバーへの負荷が増える場合がある

TTLが長い場合

TTLが長いと、DNS情報が長くキャッシュされます。

そのため、同じ問い合わせに対してキャッシュから答えを返せる時間が長くなります。

TTLが長い場合のメリットは次のとおりです。

DNS問い合わせの回数を減らせる
DNSサーバーへの負荷を下げやすい
キャッシュによる高速化効果を得やすい

一方で、DNS設定を変更したときに古い情報が残りやすくなります。

DNS変更の反映に時間がかかる
古いIPアドレスへ接続される可能性がある
旧サーバーと新サーバーへアクセスが分散する場合がある

そのため、サーバー移転やネームサーバー変更を行う前には、事前にTTLを短くしておくことがあります。

DNSキャッシュサーバーはどこにあるのか

プロバイダのDNSキャッシュサーバー

家庭や会社でインターネットを使う場合、多くは契約しているプロバイダのDNSキャッシュサーバーを利用します。

通常、インターネット接続時にルーターや端末へDNSサーバー情報が自動的に設定されます。

そのため、多くのユーザーはDNSサーバーを意識しなくても、プロバイダのDNSキャッシュサーバーを使っています。

パブリックDNS

誰でも利用できるDNSキャッシュサーバーもあります。

これをパブリックDNSと呼びます。

代表的なパブリックDNSには、次のようなものがあります。

サービス DNSアドレス例
Google Public DNS 8.8.8.8 / 8.8.4.4
Cloudflare 1.1.1.1 1.1.1.1 / 1.0.0.1
Quad9 9.9.9.9
OpenDNS 208.67.222.222 / 208.67.220.220

PC、スマホ、ルーターのDNS設定を変更することで、これらのパブリックDNSを利用できます。

会社や学校のDNSサーバー

企業や学校では、組織内にDNSキャッシュサーバーを設置していることがあります。

この場合、外部Webサイトの名前解決だけでなく、社内システムの名前解決にも使われます。

たとえば、次のような内部用の名前を解決する場合があります。

intranet.local
fileserver.local
printer01.example.local

社内DNSを使うことで、社内専用システムやファイルサーバー、プリンターなどにわかりやすい名前でアクセスできるようになります。

家庭用ルーター

家庭用ルーターがDNS問い合わせを中継する場合もあります。

たとえば、PCのDNS設定を見ると、DNSサーバーが次のようなローカルIPアドレスになっていることがあります。

192.168.1.1

これは、PCがルーターにDNS問い合わせを送り、ルーターがさらに上流のDNSサーバーへ問い合わせている状態です。

ただし、家庭用ルーターは本格的なDNSキャッシュサーバーというより、DNSフォワーダーやDNSプロキシとして動作する場合が多いです。

機種によっては、簡易的なDNSキャッシュ機能を持つこともあります。

DNSキャッシュサーバーを使うメリット

名前解決が速くなる

DNSキャッシュサーバーを使う大きなメリットは、名前解決が速くなることです。

一度調べたドメインの情報をキャッシュしておけば、次回以降は外部DNSサーバーへ問い合わせずに答えを返せます。

そのため、よくアクセスされるWebサイトやサービスでは、DNS問い合わせの時間を短縮できます。

特に、画像、広告タグ、アクセス解析タグ、CDN、外部APIなど、複数のドメインを読み込むWebサイトでは、DNS問い合わせが複数回発生することがあります。

DNSの応答が速いほど、Webページの読み込み開始がスムーズになります。

DNSサーバーへの負荷を減らせる

DNSキャッシュサーバーは、同じ問い合わせを何度も外部へ送らなくて済むようにします。

その結果、ルートDNSサーバー、TLD DNSサーバー、権威DNSサーバーへの問い合わせ回数を減らせます。

大規模なネットワークでは、DNS問い合わせが大量に発生するため、キャッシュによる負荷軽減の効果は大きくなります。

ネットワーク全体の通信量を減らせる

DNS問い合わせ自体は比較的小さな通信です。

しかし、ユーザー数やアクセス数が多い環境では、DNS問い合わせも大量に発生します。

DNSキャッシュサーバーによって同じ問い合わせを減らせれば、ネットワーク全体の通信量を抑えることにもつながります。

一時的な障害時に名前解決を継続できる場合がある

DNSキャッシュサーバーに情報が残っている間は、上位のDNSサーバーや権威DNSサーバーに一時的な障害が起きても、保存済みの情報を返せる場合があります。

ただし、これはキャッシュが残っている場合に限られます。

TTLが切れていたり、キャッシュが破棄されていたりする場合は、再問い合わせが必要になります。

そのため、常に障害対策になるわけではありません。

DNSキャッシュサーバーの注意点

古いDNS情報が残ることがある

DNSキャッシュサーバーは、TTLの期間中、取得済みのDNS情報を保持します。

そのため、DNS設定を変更しても、すぐにすべての環境で新しい情報が使われるとは限りません。

たとえば、Webサーバーを移転してAレコードを変更した場合でも、一部のDNSキャッシュサーバーには古いIPアドレスが残っている可能性があります。

その結果、ユーザーによって次のような違いが出ることがあります。

あるユーザーは新サーバーへ接続される
別のユーザーは旧サーバーへ接続される

これは、DNSキャッシュが残っている環境と、すでに新しいDNS情報を取得している環境が混在するためです。

DNS変更時に反映待ちが発生する

Webサイト運営では、次のような場面でDNS設定を変更することがあります。

サーバー移転
CDN導入
メールサーバー変更
SSL証明書のDNS認証
ドメイン移管
ネームサーバー変更

このような変更を行うと、DNSキャッシュの影響で反映に時間差が出ることがあります。

実務では「DNSが浸透するまで待つ」と表現されることがありますが、厳密にはDNS情報が世界中へ順番に広がっていくわけではありません。

多くの場合は、各DNSキャッシュサーバーや端末に残っている古いキャッシュが期限切れになるのを待っている状態です。

ただし、いわゆる「DNS浸透」の問題には、キャッシュ以外の要因もあります。

旧権威DNSサーバーと新権威DNSサーバーの内容が一致していない
親ゾーン側のNS情報と子ゾーン側のNS情報が不整合になっている
ネームサーバー変更の手順が不適切
ローカルPCやブラウザ、ルーターに古いキャッシュが残っている

そのため、DNS変更時にはTTLだけでなく、権威DNSサーバーやネームサーバー設定も正しく確認する必要があります。

DNSキャッシュポイズニングのリスクがある

DNSキャッシュサーバーには、DNSキャッシュポイズニングという攻撃リスクがあります。

DNSキャッシュポイズニングとは、DNSキャッシュサーバーに偽のDNS情報を覚え込ませる攻撃です。

たとえば、本来は正しいWebサイトのIPアドレスを返すべきところで、攻撃者が用意した偽サイトのIPアドレスをキャッシュさせるような攻撃です。

本来のDNS情報:
bank.example → 正しい銀行サイトのIPアドレス

偽のDNS情報:
bank.example → 攻撃者が用意した偽サイトのIPアドレス

もしこの攻撃が成功すると、ユーザーは正しいドメインにアクセスしているつもりでも、偽サイトへ誘導される可能性があります。

このようなリスクに対しては、次のような対策が使われます。

DNSSEC
問い合わせIDのランダム化
送信元ポートのランダム化
信頼できるDNSサーバーの利用

なお、DNSSECはDNS応答の正当性を検証するための仕組みです。

DNS通信そのものを暗号化する仕組みではありません。

DNS問い合わせの盗聴や改ざん対策としては、DNS over HTTPSやDNS over TLSが使われることもあります。

DNSキャッシュサーバーと端末内キャッシュの違い

OSのDNSキャッシュ

DNSキャッシュは、DNSキャッシュサーバーだけにあるわけではありません。

Windows、macOS、LinuxなどのOSも、DNSの問い合わせ結果を一時的に保存することがあります。

Windowsでは、次のコマンドでDNSキャッシュを確認できます。

ipconfig /displaydns

DNSキャッシュを削除する場合は、次のコマンドを使います。

ipconfig /flushdns

ただし、PCのDNSキャッシュを削除しても、上流のDNSキャッシュサーバーに古い情報が残っている場合は、古いDNS情報が返ってくることがあります。

ブラウザのDNSキャッシュ

Chromeなどのブラウザも、DNSキャッシュを持つことがあります。

ブラウザはWebサイトへ頻繁にアクセスするため、DNS情報を一時的に保存して高速化する場合があります。

そのため、DNS設定を変更したあとにPCのDNSキャッシュを削除しても、ブラウザ側のキャッシュが影響することがあります。

ルーターのDNSキャッシュ

家庭用ルーターや社内ルーターがDNS情報を一時的に保持する場合もあります。

端末側のDNS設定ではルーターのIPアドレスが指定され、ルーターが上流のDNSサーバーへ問い合わせる構成です。

この場合、端末側のキャッシュを削除しても、ルーター側に古い情報が残っていれば、古いDNS情報が返る可能性があります。

DNSキャッシュの場所を整理する

DNSキャッシュは、複数の場所に存在する可能性があります。

キャッシュの場所 対象
ブラウザ そのブラウザでの名前解決
OS その端末全体の名前解決
ルーター 同じネットワーク内の端末
社内DNSサーバー 社内ネットワークの利用者
プロバイダDNS プロバイダ利用者
パブリックDNS そのDNSサービスの利用者

DNS変更後に反映が遅いと感じる場合、どこかの階層に古いDNSキャッシュが残っている可能性があります。

DNSキャッシュサーバーが関係するWebサイト運営の場面

サーバー移転

Webサイトのサーバーを移転するときは、DNSのAレコードやCNAMEレコードを変更することがあります。

このとき、DNSキャッシュの影響で、しばらく旧サーバーへアクセスするユーザーと新サーバーへアクセスするユーザーが混在する場合があります。

サーバー移転前には、事前にTTLを短くしておくことがあります。

たとえば、移転の数日前からTTLを短くしておき、変更当日の反映時間を短縮しやすくします。

CDN導入

Cloudflare、Amazon CloudFront、Fastly、AkamaiなどのCDNを導入するときも、DNS設定を変更することがあります。

たとえば、CNAMEレコードをCDN指定のホスト名に変更するケースがあります。

この場合も、古いDNSキャッシュが残っている環境では、しばらく旧設定が参照されることがあります。

メールサーバー変更

Google Workspace、Microsoft 365、SendGrid、Mailchimpなどを使う場合、DNSにMXレコードやTXTレコードを設定することがあります。

メール関連では、次のようなDNSレコードが重要になります。

MXレコード
SPF用TXTレコード
DKIM用TXTレコード
DMARC用TXTレコード

これらを変更した場合も、DNSキャッシュの影響で反映確認に時間がかかることがあります。

SSL証明書のDNS認証

SSL証明書を発行するとき、DNS認証を使う場合があります。

DNS認証では、指定されたTXTレコードをDNSに追加し、認証局がそのレコードを確認します。

このとき、DNSキャッシュやTTLの影響で、TXTレコードの確認に時間がかかることがあります。

ネームサーバー変更

ドメインのネームサーバーを変更するときも、DNSキャッシュが関係します。

ネームサーバー変更では、旧ネームサーバーを参照する環境と、新ネームサーバーを参照する環境が一時的に混在することがあります。

また、旧ネームサーバーと新ネームサーバーでDNSレコードの内容が異なっていると、ユーザーによって異なる結果が返ることがあります。

そのため、ネームサーバー変更時には、旧DNSと新DNSの設定内容を事前にそろえておくことが重要です。

DNSキャッシュを確認する方法

nslookupを使う

nslookup は、Windows、macOS、Linuxで使える基本的なDNS確認コマンドです。

通常の問い合わせは次のように行います。

nslookup example.com

特定のDNSサーバーを指定して問い合わせることもできます。

nslookup example.com 8.8.8.8

CloudflareのDNSへ問い合わせる場合は、次のように指定します。

nslookup example.com 1.1.1.1

複数のDNSサーバーに問い合わせて結果を比較すると、DNSキャッシュや反映状況の違いを確認しやすくなります。

digを使う

dig は、DNS調査でよく使われるコマンドです。

LinuxやmacOSでは利用しやすいですが、Windowsでは標準で入っていない場合があります。

基本的な使い方は次の通りです。

dig example.com

Aレコードを確認する場合は、次のように指定します。

dig example.com A

Google Public DNSへ問い合わせる場合は、次のように書きます。

dig @8.8.8.8 example.com A

CloudflareのDNSへ問い合わせる場合は、次のように書きます。

dig @1.1.1.1 example.com A

dig の結果にはTTLも表示されます。

たとえば、次のような表示があった場合、

example.com.  3600  IN  A  192.0.2.1

3600 がTTLです。

DNSキャッシュを削除する方法

WindowsでDNSキャッシュを削除する

Windowsでは、次のコマンドでOSのDNSキャッシュを削除できます。

ipconfig /flushdns

DNSキャッシュの内容を確認したい場合は、次のコマンドを使います。

ipconfig /displaydns

macOSでDNSキャッシュを削除する

macOSでは、バージョンによってコマンドが異なる場合があります。

近年のmacOSでは、次のコマンドが使われることが多いです。

sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder

管理者権限が必要になるため、パスワード入力を求められることがあります。

ブラウザのキャッシュも確認する

OSのDNSキャッシュを削除しても、ブラウザ側にDNSキャッシュや接続情報が残っている場合があります。

そのため、DNS変更後に表示が変わらない場合は、次のような対応も検討します。

ブラウザを再起動する
シークレットウィンドウで確認する
別のブラウザで確認する
別のネットワークで確認する
パブリックDNSを指定して確認する

DNSキャッシュサーバーに関するよくある誤解

DNS変更は世界中に順番に広がるわけではない

DNS設定を変更したとき、「DNSが浸透する」と表現されることがあります。

しかし、DNS情報が世界中へ順番に配布されていくわけではありません。

実際には、各DNSキャッシュサーバーや端末が古い情報を持っている場合、そのキャッシュが期限切れになるまで古い情報が使われることがあります。

つまり、多くの場合は「浸透を待つ」というより、次の状態に近いです。

古いDNS情報のキャッシュが残っている
↓
TTLが切れる
↓
新しいDNS情報を問い合わせる
↓
新しい情報が返る

このため、DNS変更時にはTTLを意識することが重要です。

PCのDNSキャッシュを消しても必ず解決するわけではない

PCのDNSキャッシュを削除すれば、必ず新しいDNS情報が取得されるとは限りません。

なぜなら、上流のDNSキャッシュサーバーに古い情報が残っている場合があるからです。

PCのDNSキャッシュを削除
↓
DNSキャッシュサーバーへ問い合わせ
↓
DNSキャッシュサーバーが古い情報を持っている
↓
古い情報が返る

このような場合、PC側でキャッシュを削除しても、古いIPアドレスが返ることがあります。

DNS変更後の確認では、複数のDNSサーバーを指定して確認するのが有効です。

パブリックDNSに変えれば必ず速くなるわけではない

Google Public DNSやCloudflare 1.1.1.1などのパブリックDNSは、便利で高速な場合があります。

ただし、必ずしもすべての環境で速くなるとは限りません。

DNSの応答速度は、次のような要素に左右されます。

利用者の地域
ネットワーク環境
プロバイダとの経路
DNSサーバーの混雑状況
CDNとの相性

そのため、プロバイダのDNSの方が速い場合もありますし、パブリックDNSの方が安定する場合もあります。

実際の環境で比較して判断するのがよいでしょう。

DNSキャッシュサーバーのまとめ

DNSキャッシュサーバーとは、利用者の代わりにDNS問い合わせを行い、取得したDNS情報を一時的に保存して返すサーバーです。

主な役割は次の通りです。

利用者からDNS問い合わせを受ける
必要に応じて他のDNSサーバーへ問い合わせる
取得したDNS情報をTTLに従ってキャッシュする
同じ問い合わせが来た場合にキャッシュから答える

DNSキャッシュサーバーを使うことで、名前解決が速くなり、DNSサーバーへの負荷も減ります。

一方で、DNS設定を変更したあとに古い情報が残ることがあるため、サーバー移転、CDN導入、メール設定変更、ネームサーバー変更などでは注意が必要です。

特に重要なポイントは次の通りです。

ポイント 内容
DNSキャッシュサーバーの役割 DNS問い合わせを代理で行い、結果を一時保存する
別名 再帰DNSサーバー、リカーシブDNSサーバー、再帰リゾルバ
キャッシュの期限 TTLによって決まる
メリット 名前解決の高速化、DNS負荷の軽減
注意点 古いDNS情報が残る場合がある
権威DNSサーバーとの違い 権威DNSサーバーは特定ドメインの正式なDNS情報を持つ
Web運営で重要な場面 サーバー移転、CDN導入、メール設定、SSL認証、ネームサーバー変更

短くまとめると、DNSキャッシュサーバーは次のような存在です。

DNSキャッシュサーバーは、ドメイン名とIPアドレスなどの対応情報を調べ、
その結果を一時保存して、次回以降の問い合わせにすばやく答えるサーバー

Webサイト運営やサーバー管理では、DNSキャッシュサーバーの仕組みを理解しておくことで、DNS変更時の反映遅れやアクセス先の違いを正しく判断しやすくなります。

以上、DNSキャッシュサーバーとはなんなのかについてでした。

最後までお読みいただき、ありがとうございました。

カテゴリ一覧

ページトップへ