ablog

不器用で落着きのない技術者のメモ

DNS の TTL はキャッシュサーバとリゾルバキャッシュで使われる

DNSのレコードはDNSのキャッシュサーバでもキャッシュされるし、クライアントOSのDNSゾルバでもキャッシュされ、キャッシュ期間は TTL で決まる。従って、DNS変更時に浸透するまでのタイムラグを短くしたい場合は、事前に TTL を短くしておき十分に浸透した上で、切り替えるとタイムラグが小さくなる。後はOSではなくアプリケーションレイヤーでキャッシュするものもある。「DNS浸透いうな」と言いますが、よい表現が見つからず一旦「浸透」と書きました。

参考

Windows 2000/XPにおけるDNSゾルバ・キャッシュは、次のようにして機能している。

(中略)

3. キャッシュに保持される時間には限度がある。DNSサーバから返された結果のレコード(SOAリソース・レコード)には必ずTTL(Time To Live。生存時間)が指定されているので、その時間になるまではDNSサーバに対する再クエリーは行われない(キャッシュされる)。ただしこの有効時間は(デフォルトでは)最大で1日(8万6400秒)に制限されており、1日以上経過すれば、元のDNSレコードのTTLにかかわらず、キャッシュから破棄される。否定応答の場合は、最大300秒キャッシュされ、その後キャッシュから破棄される。

Windowsの名前解決のトラブルシューティング(DNSリゾルバーキャッシュ編):Tech TIPS - @IT