DNS и настройка

TTL DNS-записей: почему изменения домена применяются не сразу

TTL (Time To Live) — это время в секундах, которое DNS-запись хранится в кэше у провайдеров, браузеров и почтовых серверов, прежде чем они снова спросят актуальные данные у DNS-сервера. Пока TTL не истёк, все продолжают пользоваться старым значением записи — даже если вы уже поменяли её в панели управления доменом.

Что вообще такое TTL и зачем он нужен?

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

TTL можно сравнить с сроком годности справки. Пока справка действительна, все ей доверяют и не перепроверяют. Как только срок истёк, за новой информацией снова обращаются к первоисточнику — то есть к вашему DNS-серверу.

Почему после изменения записи сайт всё ещё открывается по-старому?

Это самая частая жалоба при переезде на новый хостинг: запись A поменяли, а сайт у части посетителей по-прежнему грузится со старого сервера. Причина в кэше — провайдер интернет-доступа, браузер или даже сам компьютер пользователя запомнил старый IP-адрес и будет пользоваться им, пока не истечёт TTL.

Если TTL был выставлен на сутки, то теоретически обновление может «доезжать» до всех пользователей около суток. На практике многие провайдеры обновляют кэш быстрее, но полагаться на это не стоит — правильнее заранее спланировать снижение TTL.

Как заранее подготовиться к переезду домена?

Профессиональный приём — уменьшить TTL заблаговременно, за сутки-двое до переезда. Например, если обычно TTL стоит на уровне нескольких часов, его снижают до нескольких минут. Когда короткий TTL «разошёлся» по кэшам (то есть прошло время, равное старому TTL), можно спокойно менять саму запись — новое значение подхватится почти мгновенно у всех.

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

Какой TTL ставить в обычной жизни, без переезда?

Для записей, которые редко меняются — например, MX-записи почты или NS-записи домена, — разумно ставить длинный TTL: от нескольких часов до суток. Это снижает нагрузку на DNS-инфраструктуру и немного ускоряет отклик для пользователей, потому что не нужно постоянно перезапрашивать данные.

А вот для записей, которые вы планируете скоро менять — например, при тестировании нового сервера или временной миграции части сервисов, — лучше держать TTL коротким: минуты, максимум час. Это даёт свободу быстро откатить изменения, если что-то пойдёт не так.

Клауд АйСи — цифровые сервисы для бизнеса в одном кабинете: сайт с доменом и хостингом, Умный онлайн-чат, проверка контрагентов и 1С в облаке.
Запустите присутствие в интернете без лишних хлопот.
Есть бесплатные тарифы навсегда.

Влияет ли TTL на настройку почты так же, как на сайт?

Да, причём для почты цена ошибки выше. Если после смены MX-записи (она указывает, какой сервер принимает почту для домена) старое значение ещё долго висит в кэшах, часть писем может продолжать уходить на старый почтовый сервер — и там просто теряться, если ящики уже отключены. Поэтому смену почтового хостинга стоит планировать по той же схеме: заранее снизить TTL у MX-записи, дождаться, пока изменения разойдутся, и только потом переключать почту на новый сервер.

Хорошая практика — не отключать старый почтовый сервер сразу, а подержать его активным ещё сутки-двое после переключения, чтобы «догоняющие» письма из устаревшего кэша всё равно доходили до адресата.

Можно ли ускорить обновление DNS вручную?

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

Именно поэтому единственный надёжный способ ускорить массовое обновление — заранее снизить TTL, а не пытаться «продавить» изменения после того, как они уже сделаны.

Что будет, если вообще не думать про TTL при переезде?

Ничего катастрофического, но неприятного хватает: сайт может быть недоступен или открываться нестабильно у части посетителей несколько часов или даже дольше, письма — теряться или задерживаться, а разбираться, кто и почему видит старую версию сайта, придётся буквально методом опроса пользователей. Для интернет-магазина или сервиса с онлайн-оплатой такие часы простоя особенно чувствительны.

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

Как избежать ошибок при работе с DNS самостоятельно?

Если управлять DNS-записями вручную и без опыта, легко забыть про TTL, перепутать типы записей или оставить домен без почты на время миграции. В «Клауд АйСи» настройка DNS, привязка домена к хостингу и почте делается через понятную панель управления, а миграция между серверами сопровождается корректной работой с TTL, чтобы переезд сайта или почты проходил без простоя и потери писем — это снимает с бизнеса необходимость разбираться в тонкостях DNS вручную.

Сайт, домен и сервисы — в Клауд АйСи

Зарегистрируйтесь и соберите сайт с подключённым доменом и хостингом за считанные минуты.

Частые вопросы

Что такое TTL простыми словами?

Это время, на которое DNS-запись «запоминается» у провайдеров и устройств пользователей, прежде чем они снова спросят актуальные данные у DNS-сервера домена.

Почему сайт после смены хостинга открывается то по-новому, то по-старому?

Потому что разные провайдеры и устройства обновляют свой кэш в разное время — все ориентируются на значение TTL, которое было установлено до изменения записи.

За сколько времени до переезда стоит снижать TTL?

Обычно за сутки-двое, чтобы старое, более длинное значение TTL успело истечь у большинства кэширующих серверов до момента фактической смены записи.

Нужно ли снижать TTL для MX-записи почты при смене почтового сервера?

Да, это особенно важно, иначе часть писем может продолжать уходить на старый сервер и теряться, если ящики там уже отключены.

Можно ли ускорить обновление DNS у всех пользователей вручную?

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