Что такое TTL в DNS?

TTL (time to live) — это число секунд, в течение которых ответ DNS можно хранить в кэше, прежде чем резолверу придётся снова обратиться к авторитетным серверам.

Каждая DNS-запись публикуется с TTL. Когда рекурсивный резолвер получает запись, он сохраняет её в кэше и отвечает на последующие запросы оттуда, отсчитывая TTL. Только когда значение дойдёт до нуля, резолвер снова обращается к авторитетному серверу имён. Именно кэширование делает DNS быстрым и удерживает нагрузку на авторитетные серверы на низком уровне.

Компромисс здесь между управляемостью и эффективностью. Большой TTL (часы или сутки) означает меньше запросов и большую устойчивость при сбое у DNS-провайдера, но изменение столько же времени будет становиться видимым повсюду. Малый TTL (несколько минут) ускоряет вступление изменений в силу ценой большего числа запросов.

Практический порядок при плановом переезде: заранее уменьшите TTL (не позже чем за один период старого TTL до изменения), внесите изменение, убедитесь, что всё работает, затем снова увеличьте TTL. Уменьшать TTL одновременно с изменением бесполезно, потому что резолверы всё ещё хранят старый ответ со старым TTL.

Пример

example.com.  300  IN  A  192.0.2.10   ; cacheable for 300 seconds

Проверьте сами

TTL: посмотрите на примере реального домена.

Проверка DNS