DNS・ドメイン

TTL てぃーてぃーえる

TTLTime to LiveDNSキャッシュキャッシュ有効期限DNS切り替えネットワーク
TTLについて教えて

簡単に言うとこんな感じ!

TTLはDNSの文脈では「キャッシュの有効期限」のこと。「このドメインの情報は3600秒(1時間)は再確認しなくていいよ」という指示なんだ。TTLを長くすると問い合わせが減って速いけど、サーバーを変えたときに古い情報が残りやすい。短くすると変更が素早く反映されるよ!


TTLとは

TTL(Time to Live)はDNSとネットワークパケットの両方の文脈で使われる概念です。

DNSのTTL:権威DNSサーバーが各レコードに設定する「キャッシュ有効時間(秒)」です。フルリゾルバ(キャッシュDNS)は応答を受けてTTLの時間だけキャッシュし、その間は権威サーバーへの再問い合わせをスキップします。TTLは通常3600(1時間)〜86400(1日)程度に設定されますが、変更直前は短縮することが推奨されます。

IPパケットのTTL:IPヘッダーに含まれる値で、パケットが経由できるルーターの最大ホップ数を示します。ルーターを1つ通過するたびに1ずつ減り、0になるとパケットが破棄され、送信元にICMPエラーが返ります。ルーティングループによるパケットの無限流れを防ぐ仕組みです。


DNSのTTL設計

設定値用途・場面
60秒〜300秒頻繁な変更が必要なサービス(CDN切り替え等)
3600秒(1時間)一般的なWebサービス
86400秒(1日)変更頻度が低いレコード
削除・変更直前3600秒以下に短縮してからレコード変更

歴史と背景

  • 1983年:RFC 882/883でDNSの仕組みとTTLが定義
  • 1987年:RFC 1035でTTLの動作が詳細規定
  • 2000年代:CDN普及に伴い短いTTLの活用が一般的に
  • 現在:ゼロダウンタイム切り替えのためにTTL運用が重視される

IPパケットのTTL

OSデフォルトTTL値
Windows128
Linux64
macOS64
ネットワーク機器255

pingコマンドでの応答パケットのTTL値から、相手OSの種類を推測できます(セキュリティ観点では情報漏洩になる場合もあります)。


DNS変更時のTTL運用手順

  1. 変更の数日〜1週間前:TTLを300秒以下に短縮
  2. 変更当日:新しいIPアドレスでAレコードを更新
  3. TTLの時間経過後:世界中のキャッシュが新しいIPに更新される
  4. 変更確認後:TTLを元の長い値に戻す

関連する規格・RFC

規格内容
RFC 1035DNS TTLの基本仕様
RFC 791IP TTLの定義(IPv4)
RFC 2460IPv6のHop Limit(TTL相当)

関連用語