Как безболезненно сменить ip-адрес сайта?

За разрешение имён хостов в ip-адреса и наоборот ответственна служба DNS. Чтобы снизить нагрузку на уполномоченные за зону (домен) сервера используется кеширование dns-запросов, и в настройках DNS-сервисов есть параметры, помогающие гибко сконфигурировать данную функциональность.

В описании зоны есть параметры для вторичных серверов:
refresh – интервал обновления зоны (в секундах) для вторичных уполномоченных серверов
retry – интервал попытки обновления зоны (в секундах) при неудаче обновления
expire – интервал истечения полномочий для вторичных уполномоченных серверов при неудаче обновления (в секундах)

В рамках вопроса, который интересовал меня (см. subject) наиболее интересны параметры Default TTL, TTL, Minimum TTL. Они определяют время TTL (Time-to-live – “время жизни”), в течение которого DNS-серверы (кроме вторичных), получившие информацию о записях с любого DNS-сервера, будут ее хранить в своей памяти (кэше) и сообщать ее по запросам других DNS-серверов.

  • TTL – этот параметр определяет период времени (в секундах), в течение которого другие DNS-сервера должны хранить запись в кэше. Если значение параметра в записи не указано, то “время жизни” определяется параметром Default TTL.
  • Default TTL – определяет значение параметра TTL для тех записей, для которых это значение не установлено явно. Обычно используется именно Default TTL вместо указания TTL для каждой записи.
  • Minimum TTL – определяет “время жизни” отрицательных ответов на запросы о ресурсах, не существующих в DNS.

Таким образом, если Вы готовитесь сменить ip-адрес сайта (хоста) и хотите об этом объявить через СМИ (с указанием конкретной даты), Вам необходимо заранее изменить (Default)TTL-записи Вашей зоны (либо конкретных хостов в зоне) на маленькие значения, например 5 минут (60 секунд), подождать, пока изменения вступят в силу и обязательно проверить.
После того как перенос будет завершён не забудьте вернуть значения назад, чтобы снизить нагрузку на уполномоченные за Вашу зону dns-сервера.

Безусловно, это не решит всех проблем, так как есть крупные dns-forward’еры (dns-сервера), которые используются большим числом людей (например, провайдер даёт пользоваться своим dns-сервером) и которые могут игнорировать заданные Вами TTL-значения. В данном случае ничего кроме пресловутого “ждите” не поможет. Хотя можете попробовать добраться до админов данного dns-сервера и попросить их руками выбросить из кэша данные о Вашем старом ip-адресе 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *