TTLとは?DNS反映時間との関係をわかりやすく解説

TTLとは?DNS反映時間との関係をわかりやすく解説

DNS設定を変更したあと、「いつ反映されるのか」「TTLを短くすると何が変わるのか」が分からず不安になることがあります。

TTLは、DNS情報をどのくらいの時間キャッシュしてよいかを示す値です。DNSの反映時間を理解するうえで重要ですが、TTLそのものが「全世界への反映完了時間」を表すわけではありません。

30秒でわかる結論

  • TTLは「Time To Live」の略で、DNS情報をキャッシュできる時間を秒数で示す
  • TTLが3,600なら1時間、300なら5分が目安
  • DNSレコード変更後も、旧情報をキャッシュしているDNSリゾルバでは旧設定が使われることがある
  • TTLを短くすると切り替えを早めやすいが、「TTL=完全反映時間」ではない
  • サーバー移転などでTTLを短くする場合は、変更直前ではなく旧TTLが切れる前から準備する
  • 通常の個人ブログでは、必要もないのにTTLを頻繁に変更しなくてよい

TTLとは?

TTLはTime To Liveの略で、DNSレコードをキャッシュしてよい時間を表す値です。

DNSでは、利用者がWebサイトへアクセスするたびに、毎回そのドメインの権威DNSサーバーへ最初から問い合わせるわけではありません。途中のDNSリゾルバなどが一度取得したDNS情報を一定時間保存し、同じ問い合わせに再利用します。

TTLの役割

「このDNS情報は、あと何秒までキャッシュとして使ってよいか」をDNS側へ伝えるための値です。

TTLは基本的に秒単位で扱います。たとえば、TTLが3,600なら3,600秒、つまり60分です。

3,600秒 ÷ 60 = 60分 = 1時間

DNSの仕様では、TTLはDNSレコードをキャッシュできる時間を秒数で示します。TTLが期限を迎えた場合、DNSリゾルバは必要に応じて新しい情報を問い合わせます。

TTLの数字は何分・何時間?

管理画面では「300」「3600」「86400」のように、秒数のまま表示されることがあります。

TTL 時間換算 イメージ
60 1分 かなり短い
300 5分 短い
600 10分 短め
1,800 30分 中程度
3,600 1時間 よく理解しやすい基準
86,400 24時間 長め

実際に設定できる最小値・最大値や初期値は、利用しているDNSサービスによって異なります。管理画面で指定可能な範囲を確認してください。

TTLとDNS反映時間の関係

DNSレコードを書き換えると、権威DNSサーバー側の情報は新しい値になります。しかし、各地のDNSリゾルバが旧情報をキャッシュしていれば、そのキャッシュが有効な間は旧情報が返されることがあります。

STEP 1.旧DNS情報を取得
DNSリゾルバがTTL付きで情報をキャッシュする
STEP 2.管理者がDNSレコードを変更
権威DNS側では新しい値になる
STEP 3.旧キャッシュが残る
環境によって旧設定が使われることがある
TTL経過後
再問い合わせによって新しい情報へ切り替わっていく

たとえば、旧AレコードのTTLが3,600秒だった場合、そのレコードをすでにキャッシュしていたDNSリゾルバでは、取得した時点から最大約1時間を目安に旧IPアドレスが使われる可能性があります。

TTL=反映完了時間ではない

TTLが3,600秒だからといって、「変更から必ず1時間後に世界中で完全反映する」という意味ではありません。問い合わせた時刻、DNSリゾルバの動作、端末側のキャッシュ、変更内容などによって見え方に差が出ることがあります。

「TTLが1時間なら1時間待てばよい」とは限らない

TTLを考えるときに重要なのは、変更後のTTLではなく、変更前にキャッシュされた旧レコードのTTLです。

例:TTLを24時間から5分へ変更した場合

旧TTLが86,400秒(24時間)の状態でDNSリゾルバが情報を取得し、その直後にTTLを300秒(5分)へ変更しても、すでに保存されている旧キャッシュが直ちに5分へ短縮されるわけではありません。

そのため、サーバー移転の直前になってTTLを短くしても、旧TTLで保存済みの情報が残っている環境では期待したほど早く切り替わらないことがあります。

移転前に見るべき数字

現在のTTLが86,400秒なら24時間です。切り替え時刻の24時間以上前からTTL変更を検討する、というように「旧TTLが切れる時間」を基準に計画します。

TTLを短くすると何が変わる?

TTLを短くすると、DNSリゾルバがキャッシュを保持できる時間が短くなるため、新しいDNS情報を問い合わせ直す機会が増えます。

TTL 特徴 向く場面
短い DNS変更後に新情報へ切り替わりやすい 計画的なサーバー移転・接続先変更
長い キャッシュを再利用しやすく、問い合わせ頻度を抑えやすい 接続先を頻繁に変更しない通常運用

ただし、短ければ短いほど常に優れているわけではありません。TTLを極端に短くするとDNSへの問い合わせ頻度が増えるため、通常運用ではDNSサービスの標準値や推奨値を理由なく変更しない方が分かりやすく安全です。

サーバー移転でTTLを短くする考え方

TTLを意識する代表的な場面がサーバー移転です。

旧サーバーから新サーバーへAレコードなどを切り替える場合、事前にTTLを短くしておくと、切り替え後に旧接続先がキャッシュされ続ける時間を短くしやすくなります。

1.現在のTTLを確認
2.必要なら事前にTTLを短縮
3.旧TTLが切れる時間を確保
4.A・AAAA・CNAMEなど必要なレコードを切り替える
5.新旧サーバーへのアクセスを確認
6.安定後にTTLを通常値へ戻す

旧サーバーをすぐ停止しない

DNS切り替え後も旧情報を参照する利用者が残る可能性があります。移転では新旧環境が一時的に混在する前提で、旧サーバーをすぐ解約・停止しないようにします。

TTLとDNSキャッシュの違い

TTLとDNSキャッシュは関係が深いため、同じもののように感じるかもしれませんが役割が違います。

用語 意味
TTL DNS情報をキャッシュできる時間を示す値
DNSキャッシュ 一度取得したDNS情報を一時保存して再利用する仕組み

覚え方

DNSキャッシュ=保存する仕組み、TTL=保存してよい時間と考えると整理しやすくなります。

「DNS変更後も古いサイトが表示される」という問題では、TTLだけでなく、実際にどこへ旧DNS情報がキャッシュされているかを確認する必要があります。

どんな場合にTTLを意識すべき?

個人ブログを通常運用 重要度 ★★☆☆☆

接続先を変更しない期間は、TTLを頻繁に触る必要はありません。

サーバー移転 重要度 ★★★★★

切り替え時の新旧混在時間を考えるため、事前確認が重要です。

会社サイト・業務メール 重要度 ★★★★★

WebだけでなくMX・TXTなどへの影響も含め、変更計画を作る必要があります。

DNS設定を頻繁に変更 重要度 ★★★★☆

切り替え時間と問い合わせ頻度のバランスを理解して設定します。

TTLを変更するときの注意点

変更直前に短くしても間に合わないことがある

旧TTLのキャッシュが残っていれば、その期限が切れるまで古い情報が参照される可能性があります。

「反映しない=設定ミス」とすぐ判断しない

設定値が正しくても、DNSキャッシュのために旧情報が見える場合があります。反映待ちなのか設定ミスなのかを切り分けます。

逆に「待てば必ず直る」と決めつけない

権威DNS側のレコードが間違っている場合、何時間待っても正しい接続先にはなりません。変更後は設定値そのものも確認します。

サービスごとの設定可能範囲を確認する

DNSサービスによってはTTLを自由入力できず、選択式だったり最小値が決められていたりします。実際の設定では利用サービスの公式仕様を優先してください。

教科書判定

教科書判定

初心者は「TTL=DNSキャッシュの保存時間」「TTL=完全反映時間ではない」の2点を覚えればよい

通常のWordPressサイトを運営しているだけなら、TTLを日常的に調整する必要はありません。サーバー移転やDNSの接続先変更を行うときだけ、現在のTTLを確認し、旧TTLが切れる時間を見込んで作業してください。

会社サイトや独自ドメインメールを運用している場合は、Web用レコードだけでなくMX・TXTなども含めたDNS全体への影響を確認してから変更するのが安全です。

FAQ

Q.TTLが3,600ならDNSは1時間で完全反映しますか?

いいえ。3,600秒はキャッシュできる時間の目安です。DNSリゾルバがいつ旧情報を取得したかなどでも差が出るため、全利用者が変更から1時間後に同時に切り替わることを保証する数字ではありません。

Q.TTLは短いほどよいですか?

常に短いほどよいわけではありません。短いTTLは切り替え時には便利ですが、DNS問い合わせが増えます。通常運用ではサービスの標準値や推奨値を理由なく変更しなくて構いません。

Q.TTLを300に変更したら5分後に新サーバーへ切り替わりますか?

必ず5分とは限りません。変更前の長いTTLで旧情報がすでにキャッシュされていれば、その旧キャッシュの期限が切れるまで残る場合があります。

Q.TTLはどこで確認できますか?

利用中のDNS管理画面やDNS検索ツールなどで確認できます。自分のドメインを変更する場合は、まず現在使っているDNSサービスの管理画面で対象レコードのTTLを確認してください。

Q.DNS変更後に古いサイトが表示されるのはTTLが原因ですか?

原因の1つです。旧DNS情報のキャッシュが残っている可能性があります。ただし、A・AAAA・CNAMEやネームサーバー設定自体が誤っている場合もあるため、時間だけでなく設定値も確認してください。

まとめ

この記事の結論

  • TTLはDNS情報をキャッシュできる時間を秒数で示す
  • 300秒は5分、3,600秒は1時間、86,400秒は24時間
  • TTLが切れると、DNSリゾルバは必要に応じて新しい情報を取得する
  • TTLはDNS変更の「完全反映時間」を保証する数字ではない
  • 移転前にTTLを短くするなら、旧TTLが切れる時間を考えて事前に行う
  • 通常の個人ブログではTTLを頻繁に変更する必要はない
  • 会社サイト・メール運用ではDNS全体への影響を確認してから変更する
次に読む

「DNSキャッシュとは?反映されない原因と対処法」もあわせて確認してください。