DNSのTTLと反映時間の目安の計算
DNSのTTL(秒)を入れると、設定を変更したときに、すでにキャッシュを持っている利用者に新しい内容が反映されるまでの最大時間を計算します。
秒
計算方法
DNSのキャッシュは、最後に問い合わせた時点からTTL(秒)が経つと、サーバーに新しい値を取りに行く仕組みです。設定を変更した直後にキャッシュを取得してしまった利用者は、そのキャッシュのTTLが切れるまで古い内容のままになります。
最大で反映にかかる時間 = 変更前のTTL(秒)
そのため、設定変更の予定がある場合は、事前にTTLを短い値(たとえば300秒)に下げておくと、切り替え時に古い内容が見える時間を短くできます。
例:TTLが3600秒(1時間)の場合、最大で1時間後にはすべての利用者に新しい内容が反映されます。
出典:式の定義(DNSキャッシュの仕組み。最後に取得した時点からTTL秒経過で再取得する動作そのもの)
PR
よくある質問
「DNSの浸透に48時間かかる」とよく聞くけど?
TTLが長い設定のまま変更した場合や、一部のリゾルバがTTLを無視して長く保持する場合を見込んだ、安全を見た目安です。TTLを短くしておけば、実際にはもっと早く反映されます。
変更前にTTLを短くする意味は?
TTLを短くしてから十分な時間(元のTTL以上)を置いて変更すると、変更時点ではほとんどのキャッシュが新しいTTLに入れ替わっているため、反映が早くなります。
レジストラでネームサーバーを変える場合も同じ?
ネームサーバー自体の変更は、親のドメイン(上位のDNS)のTTLにも影響されるため、レコードのTTL変更よりも反映に時間がかかることがあります。