Перейти к содержимому
Skip to content
← Все статьи

TTL в DNS: оптимальные значения для каждого типа записи

Что такое DNS TTL?

TTL (Time to Live) — значение в DNS Lookup, указывающее резолверам, как долго кешировать ответ перед повторным запросом к авторитативному серверу имен. Измеряется в секундах и напрямую влияет на скорость распространения изменений DNS, нагрузку на серверы имен и устойчивость инфраструктуры к сбоям DNS.

Как работает DNS-кеширование

Когда пользователь посещает ваш сайт, его устройство отправляет запрос рекурсивному резолверу (обычно предоставляемому провайдером или публичным сервисом вроде 1.1.1.1 или 8.8.8.8). Резолвер сначала проверяет свой кеш. Если валидный кешированный ответ существует и TTL не истек, он возвращается без обращения к вашим серверам имен.

Цепочка кеширования

  1. Кеш браузера: современные браузеры кешируют DNS-ответы на короткий период (обычно 60 секунд в Chrome), игнорируя фактическое значение TTL.
  2. Кеш операционной системы: ОС поддерживает собственный DNS-кеш (systemd-resolved в Linux, mDNSResponder в macOS), учитывающий TTL от резолвера.
  3. Кеш рекурсивного резолвера: резолверы провайдеров или публичные кешируют ответы на полную длительность TTL. Это наиболее значимый уровень кеширования.
  4. Кеш CDN: при использовании CDN пограничные узлы могут кешировать DNS-ответы независимо по собственным политикам.

Рекомендуемые значения TTL по типам записей

Тип записиОбычный TTLTTL перед миграциейОбоснование
A / AAAA3600 (1 час)300 (5 мин)Баланс между эффективностью кеша и скоростью обновления
CNAME3600 (1 час)300 (5 мин)Аналогично A-записям; разрешение CNAME зависит и от TTL цели
MX3600-14400600 (10 мин)Маршрутизация почты меняется редко; высокий TTL снижает нагрузку
TXT3600 (1 час)300 (5 мин)Записи SPF, DKIM и верификации домена выигрывают от умеренного кеширования
NS86400 (24 часа)3600 (1 час)Смена серверов имен — редкое событие; высокий TTL уместен
SOA86400 (24 часа)3600 (1 час)Интервалы обновления SOA управляют передачей зон
SRV300-360060-300Записи обнаружения сервисов могут требовать быстрого обновления для отказоустойчивости

TTL и время распространения

Распространенное заблуждение — что распространение DNS занимает 24-48 часов. В реальности время распространения ограничено предыдущим значением TTL, а не фиксированной длительностью.

Как на самом деле работает распространение

Хронология изменения DNS с TTL=3600:

T+0:    Вы обновляете DNS-запись
T+0:    Новые посетители получают новый IP немедленно
T+1с:   Посетители с только что закешированным ответом получают старый IP
T+3600: ВСЕ кеши резолверов истекли
T+3600: Каждый посетитель получает новую запись

Максимальная задержка распространения равна TTL, установленному до изменения, а не после. Именно поэтому снижение TTL перед миграцией критически важно.

Стратегии миграции

При планировании миграции серверов переключение DNS — часто самый деликатный этап. Грамотная стратегия DNS-миграции минимизирует простой и влияние на пользователей.

Пошаговый план миграции

  1. За 48 часов до миграции: снизьте TTL на всех затрагиваемых записях до 300 секунд (5 минут). Дождитесь полного истечения старого TTL.
  2. Предмиграционная проверка: используйте несколько инструментов DNS-проверки для подтверждения, что низкий TTL обслуживается глобально.
  3. Во время миграции: обновите DNS-записи для указания на новый сервер. При TTL=300с полное распространение займет 5 минут.
  4. мониторинг сайтов после миграции: мониторьте оба сервера. Оставьте старый сервер работающим минимум 24 часа для обслуживания устаревших кешированных запросов.
  5. После стабилизации: увеличьте TTL обратно до нормальных значений (3600с или выше) после подтверждения стабильности нового сервера.

Команды для проверки

# Проверка текущего TTL от авторитативного сервера
dig +norecurse @ns1.example.com example.com A

# Проверка кешированного TTL от публичных резолверов
dig @8.8.8.8 example.com A
dig @1.1.1.1 example.com A

# Проверка оставшегося TTL (уменьшается со временем)
dig example.com A +noall +answer

# Трассировка полного пути разрешения
dig +trace example.com A

Типичные ошибки с TTL

TTL для высокой доступности

Для сервисов с высокой доступностью DNS-фейловер зависит от низких TTL. При TTL=3600 секунд и сбое основного сервера пользователи продолжают обращаться к недоступному серверу до часа. Сервисы DNS с проверкой состояния, такие как Route 53 или Cloudflare, используют TTL 60-300 секунд для быстрого переключения.

Заключение

Настройка DNS TTL — баланс между эффективностью кеширования и операционной гибкостью. Используйте умеренные TTL (3600с) для стабильных записей, снижайте их временно для миграций и держите низкими для записей, участвующих в отказоустойчивости. Всегда планируйте изменения DNS минимум за 48 часов с учетом окна истечения текущего TTL.

Проверьте ваш сайт прямо сейчас

Проверить →
Другие статьи: DNS
DNS
Anycast DNS: как работает, преимущества и реализация
16.03.2026 · 20 просм.
DNS
Как выбрать идеальное доменное имя: полное руководство
16.03.2026 · 16 просм.
DNS
DNS Failover: автоматическое переключение трафика для высокой доступности
16.03.2026 · 12 просм.
DNS
DNS Propagation — почему изменения DNS не работают сразу
12.03.2026 · 16 просм.