TTL (Time To Live) とは、 DNS レコードやキャッシュの有効期間を秒数で指定する値です。 TTL が経過すると、キャッシュされた情報は無効になり、次回のアクセス時に最新の情報が取得されます。
DNS における TTL の典型的な設定値は、安定したレコード (変更頻度が低い) で 86400 秒 (24 時間) 〜 604800 秒 (7 日) 、頻繁に変更するレコードで 300 秒 (5 分) 〜 3600 秒 (1 時間) です。 CDN のキャッシュ TTL は、静的アセット (画像、 CSS 、 JS) で 1 年、動的コンテンツで数分〜数時間が一般的です。
TTL の設定はトレードオフです。 TTL が長いとキャッシュヒット率が上がり DNS クエリが減少しますが、レコード変更の反映に時間がかかります。 TTL が短いと変更の反映は早いですが、 DNS クエリが増加しレスポンス時間が悪化する可能性があります。
実務上のベストプラクティスとして、 DNS レコードの変更を予定している場合は、変更の 24 〜 48 時間前に TTL を短く (300 秒程度に) 設定し、変更後に元の TTL に戻す手法があります。これにより、変更の反映を早めつつ、通常時はキャッシュの恩恵を受けられます。
短縮 URL サービスでは、カスタムドメインの CNAME レコードの TTL 設定が重要です。 TTL が長すぎると、サービス側の IP アドレス変更時に反映が遅れ、短縮 URL が一時的にアクセス不能になるリスクがあります。関連書籍は Amazon でも探せます。