TTL DNS: сколько времени займёт изменение?
TTL (time to live, время жизни) — это число секунд, в течение которых ответ DNS можно хранить в кэше, прежде чем резолвер должен спросить снова; именно поэтому изменение DNS для одних занимает минуты, а для других — сутки. Проверьте TTL записей A и AAAA домена ниже, а затем воспользуйтесь планом под ним, прежде чем что-либо менять.
TTL, который вы видите здесь, — это обратный отсчёт
TTL привязывает к каждой записи тот, кто управляет DNS домена. Когда резолвер получает запись, он хранит копию и отсчитывает TTL вниз. Этот инструмент обращается к публичному кэширующему резолверу, поэтому число — это время, оставшееся у его копии. Оно может быть меньше значения, заданного владельцем, и возвращается к полному значению после обновления кэша.
Чтобы оценить заданное значение, выполните проверку дважды с интервалом в несколько секунд. Если число уменьшается, вы наблюдаете обратный отсчёт, а наибольшее значение, которое вы когда-либо увидите, ближе всего к заданному.
Распространённые значения TTL и когда их использовать
| TTL | Секунды | Типичное применение |
|---|---|---|
| 1 минута | 60 | Записи, которые могут срочно измениться, например адреса для аварийного переключения |
| 5 минут | 300 | Хорошая настройка при подготовке к миграции или переключению |
| 1 час | 3600 | Распространённое значение по умолчанию для обычных записей |
| 4 часа | 14400 | Стабильные записи, которые изменяются изредка |
| 1 день | 86400 | Записи, которые почти не меняются, например давно работающие почтовые серверы |
План изменений без потери посетителей
- Проверьте текущий TTL записи, которую собираетесь менять.
- За сутки или больше до изменения снизьте TTL до 300 секунд. Подождите не меньше, чем длился старый TTL, чтобы все кэши получили короткое значение.
- Внесите изменение. В течение нескольких минут большинство резолверов начнёт отдавать новый ответ.
- Когда всё заработает, снова увеличьте TTL. Очень короткий TTL означает больше DNS-трафика и чуть более медленный первый визит.
Что происходит, когда TTL слишком большой или слишком маленький
- Слишком большой: ошибка или устаревший адрес остаются видимыми столько, сколько указано в TTL, а переключение на резервный сервер идёт медленно, потому что посетители продолжают использовать старый адрес.
- Слишком маленький: ваш DNS-провайдер обрабатывает намного больше запросов, что может стоить денег и добавляет небольшую задержку при первом визите из каждой сети.
- Некоторые резолверы применяют собственный нижний или верхний предел и игнорируют значения за его пределами, поэтому очень низкий TTL соблюдается не всегда.
- Записи, которые отдаются через CDN или балансировщик нагрузки, часто намеренно используют короткий TTL, потому что провайдер часто меняет стоящие за ними адреса.