Поиск по сайту:

Как настроить балансировку нагрузки DNS и аварийное переключение с помощью AWS Route 53


Балансировка нагрузки — это концепция разделения нагрузки приложения или сети между двумя или более серверами, что позволяет повысить производительность и увеличить время безотказной работы. Запуск балансировщиков нагрузки AWS стоит денег, но вы можете добиться того же эффекта бесплатно, используя Route 53.

Как работает балансировка нагрузки DNS?

При использовании обычного балансировщика нагрузки, такого как Application Load Balancer от AWS, вы направляете весь трафик на балансировщик нагрузки, а он выполняет работу по маршрутизации трафика к вашим экземплярам. На самом деле все балансировщики нагрузки AWS — это экземпляры, на которых запущен такой сервис, как HAProxy, и они обрабатывают большой объем трафика.

Идея балансировки нагрузки DNS довольно проста. Даже с обычным балансировщиком нагрузки пользователю необходимо выполнить поиск в DNS, чтобы узнать, куда отправлять любые запросы на ваш веб-сайт. Однако DNS не обязательно должен быть статичным, и именно эту идею реализовал DNS-сервис AWS Route 53. После настройки всякий раз, когда пользователь A запрашивает сайт, он будет отправлен на сервер 1, а когда пользователь B запрашивает сайт, Route 53 вместо этого отправит их на сервер 2.

При желании это можно настроить по другому шаблону — отказоустойчивость. Если ваше приложение может работать на одном сервере, но вам требуется 100% время безотказной работы, Route 53 может перенаправлять трафик на резервный экземпляр всякий раз, когда основной экземпляр становится перегруженным или недоступным.

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

Настройка маршрута 53

Войдите в консоль управления Route 53, выберите «Проверки работоспособности» на боковой панели и создайте новую проверку работоспособности. Они будут использоваться для направления трафика от неработоспособных экземпляров в группе масштабирования. Запуск каждого из них стоит 0,50 доллара США в месяц, но они не являются обязательными.

У проверки работоспособности есть несколько вариантов, но в основном вы просто предоставляете Route 53 конечную точку для мониторинга. Вы можете использовать IP-адрес или доменное имя, но если вы следите за состоянием отдельного сервера, вам нужно использовать эластичный IP-адрес для этого сервера.

Вы захотите повторить этот процесс для всех своих серверов, создав проверку работоспособности для каждого.

Нажмите «Hosted Zones» на боковой панели и откройте зону хостинга для вашего домена. «Создайте» или отредактируйте новую запись A и введите IP-адрес одного из ваших серверов. Вы также можете просто использовать псевдонимы, которые динамически сопоставляются с ресурсом AWS.

Если вы установите для политики маршрутизации значение «Взвешенный», вы можете присвоить этой записи вес. Присвоение веса 1 нескольким записям A заставит Route 53 выбирать между ними в равной степени. В поле «Установить идентификатор» введите что-то уникальное, одинаковое для всех записей в этой весовой группе.

Ниже нажмите «Да» для «Связать с проверкой работоспособности» и выберите проверку работоспособности для этого сервера. Если проверка работоспособности не удалась, эта запись не будет выбрана.

Повторите этот процесс для каждого сервера.

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

После сохранения записей Route 53 должен начать балансировку трафика.