DNS変更が反映されない理由とは?TTL・キャッシュ・伝播時間の仕組みを理解する

目次
DNS変更が反映されない理由
Webサーバ移転やメールサーバ切り替え、クラウド移行などの作業でDNSレコードを変更したにもかかわらず、「反映されない」という問題は非常によく発生します。
実際にはDNSサーバ側の設定は正しいにもかかわらず、利用者からは「サイトが見えない」「古いサーバへ接続される」と報告されることがあります。
この現象の多くはDNSのキャッシュやTTLが原因です。
本記事ではDNS変更が反映されない理由や確認方法、実務での対処方法について解説します。
DNS変更とは何か
例えばWebサーバを移行するケースを考えます。
変更前です。
www.example.com
↓
192.168.60.20
変更後です。
www.example.com
↓
192.168.60.50
DNS管理画面では変更が完了しています。
しかし利用者全員が即座に新サーバへ接続されるわけではありません。
DNSは即時反映ではない
初心者が最も誤解しやすいポイントです。
DNSはデータベースのように即時反映される仕組みではありません。
世界中のDNSキャッシュが段階的に更新されます。
DNSキャッシュの存在
DNSは負荷軽減のためキャッシュを利用します。
利用者
↓
ブラウザ
↓
OS
↓
キャッシュDNS
↓
権威DNS
それぞれがDNS情報を保存しています。
TTLとは
DNS変更が反映されない最大の理由です。
TTLは次のように表示されます。
www.example.com. 3600 IN A 192.168.60.20
3600がTTLです。
TTLの意味
TTLはキャッシュ保持時間です。
3600秒
↓
60分
↓
1時間
この期間は古い情報を利用し続ける可能性があります。
利用者によって結果が違う理由
DNS変更後によく見られる現象です。
- Aさんは新サーバへ接続
- Bさんは旧サーバへ接続
これは保持しているキャッシュが異なるためです。
ブラウザキャッシュ
最近のブラウザはDNS情報を保持しています。
- Chrome
- Edge
- Firefox
ブラウザ再起動で解決することもあります。
OSキャッシュ
WindowsにもDNSキャッシュがあります。
確認します。
ipconfig /displaydns
保存中の情報を確認できます。
Windowsのキャッシュ削除
ipconfig /flushdns
実務で頻繁に利用します。
Linuxのキャッシュ削除
systemd-resolved利用時です。
$ resolvectl flush-cachesキャッシュを削除できます。
ISP DNSのキャッシュ
利用者が削除できないキャッシュもあります。
PC
↓
ISP DNS
↓
権威DNS
ISPのDNSサーバが古い情報を保持している場合があります。
Google Public DNSとの比較
反映状況を確認します。
$ dig @8.8.8.8 www.example.comGoogle Public DNSの結果を確認できます。
Cloudflare DNSとの比較
$ dig @1.1.1.1 www.example.com異なる結果になる場合があります。
権威DNSへ直接確認する
最も重要な確認方法です。
$ dig @ns1.example.com www.example.com権威DNSが正しい情報を持っているか確認します。
権威DNSが正しい場合
例えば次のような結果です。
www.example.com. 300 IN A 192.168.60.50
権威DNSが正しいならキャッシュの問題です。
権威DNSも古い場合
DNS変更自体が反映されていません。
次を確認します。
- 管理画面設定
- ゾーンファイル
- シリアル番号
- ゾーン転送
セカンダリーDNS未同期
よくある原因です。
SOAレコードを確認します。
$ dig @ns1.example.com SOA example.com
$ dig @ns2.example.com SOA example.comシリアル番号を比較します。
シリアル番号不一致
ns1
2026060902
ns2
2026060901
ゾーン転送が失敗している可能性があります。
TTLを変更しても即時反映されない
これも誤解されやすいポイントです。
例えば次の状態です。
TTL 86400
DNS変更前日に次へ変更します。
TTL 300
しかし既存キャッシュは86400秒有効です。
TTL短縮は事前に行う
実務では次の流れです。
1週間前
↓
TTL短縮
↓
数日待機
↓
DNS変更
これが一般的です。
MXレコード変更時も同じ
メールサーバ移行時です。
example.com MX
TTLの影響を受けます。
新旧サーバへメールが配送されることがあります。
CDN利用時の注意
CDNを利用している場合です。
- Cloudflare
- Akamai
- Fastly
DNS以外のキャッシュも確認する必要があります。
ブラウザだけ古い場合
次を試します。
- ブラウザ再起動
- シークレットモード
- キャッシュ削除
DNS以外のキャッシュが原因の場合があります。
実務でよくある原因ランキング
- TTLによるキャッシュ残存
- ブラウザキャッシュ
- ISP DNSキャッシュ
- シリアル番号更新忘れ
- セカンダリーDNS未同期
- ゾーンファイル更新ミス
- DNS管理画面設定ミス
反映確認の手順
権威DNS確認
↓
Google DNS確認
↓
Cloudflare DNS確認
↓
クライアント確認
↓
ブラウザ確認
この順番で確認すると効率的です。
実務で覚えておきたいポイント
- DNSは即時反映ではない
- TTLが反映時間を左右する
- 権威DNSを最初に確認する
- シリアル番号確認が重要
- ブラウザやOSもキャッシュを持つ
- TTL短縮は事前に実施する
まとめ
DNS変更が反映されない原因の多くはTTLとキャッシュです。
また、ブラウザ、OS、ISP DNS、キャッシュDNSサーバなど複数の場所にキャッシュが存在するため、利用者ごとに結果が異なることがあります。
DNS変更時は権威DNSを基準に確認し、TTLやセカンダリーDNSの同期状況を確認することが重要です。
事前にTTLを短縮する運用を行うことで、多くのDNS移行トラブルを防ぐことができます。





