DNS Failover. Что такое и как работает

Последние изменения: 18.07.2023

Что такое
Для чего
Как работает
Как настроить

Что такое DNS Failover

DNS Failover — это платная опция, которая проверяет доступность вашего сайта или сервера, а в случае возникновения проблем, выводит неработающие IP-адреса из ответов DNS. Трафик будет перенаправлен с неактивного сервера на другой активный, чтобы сервис оставался доступным для пользователей.

Для чего нужна опция

Опция DNS Failover обеспечивает отказоустойчивость вашего сайта или приложения, если некоторые серверы выходят из строя.

Актуально для бизнеса, где потеря доступности означает потерю клиентов. Приведём пример. Представьте, что вы владеете сайтом интернет-магазина, который работает в Европе и США. Сайт находится на двух серверах: европейском и американском. Вы используете гео-балансировку трафика и направляете людей по всему миру на ближайший для них сервер, чтобы сайт загружался быстрее. Клиенты из Франции и Испании балансируются на европейский сервер, а клиенты из Канады и США — на американский сервер.

e76dc2c4a26f3111ef32df6a7698cdd6.jpg

Вы замечаете, что европейский сервер перестаёт работать. Пользователи, которые балансируются на него, вместо страницы вашего сайта видят ошибку. Пока вы чините сервер, клиенты переходят на сайт вашего конкурента и покупают товары там.

71c51ec7f0bf55173504da9484ddfdd6.jpg

Затем вы включаете опцию DNS Failover. Опция постоянно проверяет доступность ваших серверов. Если ваш европейский сервер перестанет работать снова, DNS Failover скажет DNS-серверу, чтобы тот не добавлял IP-адрес неработающего европейского сервера в ответ DNS. Все запросы ваших клиентов будут перенаправлены на американский сервер, а сайт продолжит работать. Клиенты без проблем смогут совершать покупки.

3df9eea09139f7e67840fe004d1919d2.jpg

Когда ваш европейский сервер восстановится, DNS Failover заметит это и вернёт IP-адрес сервера обратно в ответ DNS.

Как работает DNS Failover

В общих чертах. DNS Failover регулярно отправляет запросы на IP-адреса, чтобы определить, доступны ли они. Если сервер не отвечает, DNS Failover отправит DNS-серверам команду на исключение IP-адреса из ответов DNS. Когда сервер восстановится, DNS Failover отправит DNS-серверам команду на возврат этого IP-адреса в ответы DNS.

DNS Failover по умолчанию использует балансировку Round robin, чтобы распределять пользовательские запросы по веб-серверам. Но вы можете включить гео-балансировку во время настройки сервиса.

В деталях:

1. DNS Failover отправляет запросы на серверы, чтобы проверить их доступность. Вам нужно настроить параметры отправляемого запроса (протокол, частоту запросов и другие) в личном кабинете после подключения опции.

Например, вы можете настроить запросы DNS Failover так:

  • Протокол: ICMP

  • Частота запросов: 1 в минуту

  • Время timeout: 10 секунд

При таких настройках DNS Failover будет отправлять запросы по протоколу ICMP каждые 60 секунд.

2. Запросы отправляются со всех локаций, где присутствуют наши DNS-серверы. Если ваши веб-серверы ответят на запросы 85% локаций наших DNS-серверов в течение времени установленного timeout (например, 10 секунд), ваши веб-серверы будут считаться доступными.

6f358491ab63d6352c07ee154c15b2a6.jpg

Если веб-серверы не ответят за это время на запросы 20% локаций наших DNS-серверов, ваши веб-серверы будут считаться недоступными.

08265fea8cf261c4f1ad050b902b6ba5.jpg

3. Если веб-сервер недоступен, DNS Failover оповестит DNS-сервер: “Перестаньте передавать IP (адрес недоступного сервера) в ответе DNS.

c6d4e228ed311858a1f9d4f091fd00ec.jpg

Важно. Если не ответит каждый веб-сервер, в ответе DNS будут переданы все А-записи, независимо от фильтров geo или first_n.

3. DNS-сервер исключит из ответов А-запись недоступного сервера. Все запросы, которые предназначались для этого сервера, будут перераспределены на другие доступные серверы.

540de5ee2c27f3d0a401a655edc0b72f.jpg

Перераспределением запросов занимается механизм балансировки. По умолчанию DNS Failover работает по балансировке Round-robin, но вы можете настроить собственную, например, гео-балансировку. Настройка такой балансировки описана в статье «DNS Failover. Настроить и использовать».

4. DNS Failover продолжит отправлять запросы к веб-серверам. Когда веб-сервер снова станет доступным и ответит на запрос, DNS Failover обновит информацию на DNS-сервере.

32d57811fa11dd77060becd8adf5acc8.jpg

Затем веб-сервер будет помечен как «доступный», и снова начнёт отвечать на запросы конечных пользователей.

a0c3a727d3c420868d298461388b19fd.jpg

Как настроить DNS Failover

Мы рассказываем, как настроить DNS Failover в статье «DNS Failover. Настроить и использовать».

Помогла ли вам статья?