DNSキャッシュが原因で名前解決が遅い際の対処方法

  • URLをコピーしました!

Webサイトの表示が遅い、特定サービスだけ名前解決に時間がかかるといったトラブルの原因として「DNSキャッシュ」が影響しているケースがあります。本記事では、DNSキャッシュの仕組みから、遅延の原因、確認手順、キャッシュクリア方法、再発防止策を詳しく解説します。

目次

1. DNSキャッシュとは?

DNSキャッシュとは、一度名前解決した結果(IPアドレス)を端末・ブラウザ・DNSサーバが保持し、再度問い合わせる時間を短縮する仕組みです。

キャッシュを保持する場所

  • PC やサーバ(OS 内キャッシュ)
  • Webブラウザ(Chrome、Edge など)
  • 社内 DNS サーバ
  • ルーター、FW の DNS プロキシ

便利な仕組みですが、キャッシュが古かったり壊れたりすると逆に遅延を引き起こします。

2. DNSキャッシュが原因で遅くなる主な症状

  • 一部サイト・サービスだけアクセスが遅い
  • 特定ドメインの名前解決に 1〜5秒以上かかる
  • nslookup は速いがブラウザが遅い
  • ページ更新しても改善しない
  • DNS サーバ側のログに同じドメインへの再問い合わせが続く

特に「社内 DNS のキャッシュが壊れている」または「端末のキャッシュTTL切れ時の再問い合わせが遅い」などがよくある原因です。

3. DNSキャッシュが遅延を起こす典型原因

① キャッシュが古い(TTL 不一致)

  • サーバ移行後のIP変更が端末に反映されない
  • TTLが長すぎて更新されない

② キャッシュが破損している

  • OS の DNS Resolver が誤動作
  • ブラウザのキャッシュ汚染

③ 社内 DNS サーバの応答遅延

  • DNSサーバの負荷増大
  • 上位DNSへの転送が遅い
  • FWやプロキシが DNS を検査して遅延発生

④ 端末が複数 DNS を参照している(順番の問題)

  • プライマリDNSが死んでいて、セカンダリにフォールバックしている

4. 障害発生時の確認方法

① 名前解決に時間がかかっているか確認 (Windows)

nslookup www.example.com

応答時間が 1 秒以上かかる場合は、DNS 側の遅延が疑われます。

② DNS キャッシュの状態を確認

Windows

ipconfig /displaydns

Linux

systemd-resolve --statistics
systemd-resolve --status

Mac

sudo killall -INFO mDNSResponder

③ 上位 DNS サーバ(社内DNS)の応答確認

nslookup www.example.com 

社内DNSを明示することで遅延がDNSキャッシュかどうか切り分けできます。

④ ブラウザキャッシュの確認

Chrome の内部DNSキャッシュを確認:

chrome://net-internals/#dns

5. DNSキャッシュクリア手順(最重要)

① OS 内 DNS キャッシュ削除

Windows

ipconfig /flushdns

Linux (systemd-resolved)

sudo systemd-resolve --flush-caches

Mac

sudo killall -HUP mDNSResponder

② ブラウザDNSキャッシュを削除

Chrome / Edge

chrome://net-internals/#dns

[Clear host cache] をクリック。

Firefox

  • オプション → プライバシー → キャッシュクリア

③ 社内DNSキャッシュ(DNSサーバ)のクリア

Windows DNS サーバ

dnscmd /clearcache

Bind9

rndc flush

Unbound

sudo unbound-control flush_zone example.com

6. 再発防止策

① TTL の適切な設定

  • サービス切替直後は TTL を短く(300秒以下)
  • 安定後は 3600 秒〜86400 秒へ調整

② DNSサーバの冗長化と負荷分散

  • 2台構成・Anycastの採用も有効

③ プライマリDNS障害時の遅延を防ぐ

  • 死んだDNSへ問い合わせ続ける設定を改善

④ ブラウザ・OS のキャッシュ不具合回避

  • 定期的な再起動
  • ブラウザ自動更新

7. まとめ

  • DNSキャッシュは便利だが、破損や期限切れで遅延を起こす
  • 症状が「特定サイトのみ遅い」場合はキャッシュが原因の可能性が高い
  • OS・ブラウザ・DNSサーバのキャッシュを順番にクリアすると改善しやすい
  • TTLの適正化やDNS冗長化で再発防止が可能

DNSの問題は原因切り分けが重要です。キャッシュクリアは最も効果的な対処法のひとつです。

目次