Отказоустойчивый DNS
Оригинальное название: Failover DNS
Коротко
Схема, при которой DNS-провайдер регулярно проверяет доступность сервера и при его отказе автоматически переключает домен на резервный IP-адрес.
Что такое «Отказоустойчивый DNS»
Обычная DNS-запись статична: в ней указан один адрес, и если сервер с этим адресом упал, посетители видят ошибку, пока администратор не исправит запись вручную. Отказоустойчивый DNS добавляет к записи мониторинг. Провайдер раз в несколько секунд или минут обращается к сайту по HTTP, HTTPS или TCP, и если основной сервер перестал отвечать, начинает выдавать в ответах адрес резервного.
Такую функцию предлагают крупные DNS-сервисы — например, маршрутизация с проверками здоровья в Amazon Route 53 или балансировка в Cloudflare. Её используют магазины и сервисы, для которых час простоя ощутимо дороже резервного сервера.
Как работает переключение
Ключевой параметр — TTL записи. Резолверы хранят ответ, пока не истечёт TTL, и только потом спрашивают снова. Поэтому для записей с failover ставят короткое время жизни — от 30 секунд до нескольких минут:
; основной сервер, пока он жив
example.com. 60 IN A 203.0.113.10
; после срабатывания проверки провайдер отдаёт
example.com. 60 IN A 198.51.100.20
Даже с коротким TTL переключение не мгновенно: часть резолверов и браузеров держит старый ответ дольше положенного, а пользователи с открытой вкладкой могут ещё какое-то время стучаться на упавший сервер.
Ограничения, о которых забывают
- Резервный сервер должен быть готов принять трафик: с актуальным кодом, базой и файлами. Без репликации переключение приведёт посетителей на сайт недельной давности.
- Если оба сервера стоят в одном дата-центре, авария площадки выключит оба.
- Сам DNS-провайдер тоже не должен быть единой точкой отказа.
- Возврат на основной сервер после восстановления лучше делать под контролем, иначе данные, записанные на резерве, потеряются.
Чем отличается от вторичного DNS
Вторичный DNS защищает саму службу имён: если один NS-сервер недоступен, на запросы отвечает другой. Failover DNS защищает сайт: имена отвечают всегда, но ответ меняется в зависимости от того, жив ли веб-сервер. На практике их используют вместе. А для небольшого сайта разумнее начать с мониторинга и надёжного резервного копирования: без актуальной копии резервному серверу нечего показывать.

