DNS TTL確認:変更の反映にはどのくらいかかる?
TTL(Time To Live)は、リゾルバーが再び問い合わせるまで、DNSの応答をキャッシュしてよい秒数です。DNSの変更が、人によっては数分、人によっては1日かかる理由は、これにあります。下でドメインのAレコードとAAAAレコードのTTLを確認し、作業を始める前に、その下の手順を参考にしてください。
ここに表示されるTTLはカウントダウン
TTLは、ドメインのDNSを運用している人が、レコードごとに設定します。リゾルバーはレコードを取得するとコピーを保持し、TTLをカウントダウンします。このツールはキャッシュを持つパブリックなリゾルバーに問い合わせるので、表示される数字は、そのコピーに残っている時間です。所有者が設定した値より小さいことがあり、キャッシュが更新されると、元の値に戻ります。
設定された値を推測するには、数秒あけて検索を2回実行します。数字が減っていれば、カウントダウンを見ていることになります。これまでに見た中で最も大きい値が、設定値に最も近いものです。
よくあるTTLの値と使いどころ
| TTL | 秒数 | 主な用途 |
|---|---|---|
| 1分 | 60 | フェイルオーバー用アドレスなど、急に変更する可能性があるレコード |
| 5分 | 300 | 移行や切り替えの準備中に適した設定 |
| 1時間 | 3600 | 通常のレコードによくある既定値 |
| 4時間 | 14400 | 安定していて、ときどき変更されるレコード |
| 1日 | 86400 | 長期間運用しているメールサーバーなど、ほとんど変更されないレコード |
訪問者を失わないための変更手順
- 変更を予定しているレコードの、現在のTTLを確認します。
- 変更の1日以上前に、TTLを300秒に下げます。すべてのキャッシュが短い値を取得できるよう、少なくとも元のTTLと同じ時間は待ちます。
- 変更を実施します。数分以内に、ほとんどのリゾルバーが新しい応答を返すようになります。
- すべてが正常に動作したら、TTLを元に戻します。TTLが非常に短いと、DNSのトラフィックが増え、最初のアクセスがわずかに遅くなります。
TTLが高すぎる、または低すぎるとどうなるか
- 高すぎる場合:ミスや古いアドレスが、TTLの示す時間だけ見え続けます。訪問者が古いアドレスを使い続けるため、バックアップサーバーへのフェイルオーバーも遅くなります。
- 低すぎる場合:DNSプロバイダーが処理するクエリがはるかに増え、コストがかかることがあります。ネットワークごとの最初のアクセスにも、わずかな遅延が加わります。
- リゾルバーによっては独自の下限や上限を適用し、範囲外の値を無視するため、非常に低いTTLが常に守られるとは限りません。
- CDNやロードバランサー経由で提供されるレコードは、背後のアドレスをプロバイダーが頻繁に変更するため、意図的に短いTTLを使うことがよくあります。