Настройка балансировки входящих соединений для группы автомасштабирования в AWS¶
Теперь, когда у вас есть настроенная группа автоматического масштабирования нод Вебмониторэкс, необходимо создать и настроить балансировщик нагрузки (Load Balancer), который будет распределять входящие HTTP‑ и HTTPS‑соединения по нескольким нодам в группе масштабирования.
Работа с балансировщиком нагрузки включает в себя следующие шаги:
1. Создание балансировщика нагрузки¶
Вы можете настроить несколько типов балансировщиков нагрузки в облаке Amazon:
-
Classic Load Balancer
-
Network Load Balancer
-
Application Load Balancer
Сравнение балансировщиков нагрузки
Подробная информация о различиях балансировщиков доступна здесь.
В этом документе в качестве примера будут продемонстрированы настройка и использование Network Load Balancer, который занимается балансировкой на транспортном уровне сетевой модели OSI/ISO.
Создайте балансировщик нагрузки, выполнив следующие действия:
-
Перейдите на вкладку Load Balancers в дашборде Amazon EC2 и нажмите на кнопку Create Load Balancer.
-
Создайте Network Load Balancer, нажав на соответствующую кнопку Create.
-
Настройте базовые параметры балансировщика:
-
Имя балансировщика (параметр Name)
-
Тип балансировщика (параметр Scheme)
Обычно необходимо, чтобы балансировщик был доступен в Интернете. Для этого выберите вариант internet-facing.
-
Укажите, на каких портах необходимо слушать входящие соединения, с помощью группы параметров Listeners.
-
Задайте необходимые VPC и зоны доступности (Availability Zones), в которых балансировщик должен осуществлять маршрутизацию трафика.
Проверьте доступность группы масштабирования
Убедитесь, что вы выбрали VPC и зоны доступности, в которых находится развернутая ранее группа автоматического масштабирования.
-
-
Перейдите к следующему шагу, нажав на кнопку Next: Configure Security Settings.
При необходимости настройте параметры безопасности.
-
Перейдите к следующему шагу, нажав на кнопку Next: Configure Routing.
Настройте маршрутизацию входящих соединений к нодам в группе автоматического масштабирования:
-
Создайте новую целевую группу и задайте для нее имя в поле Name.
Балансировщик нагрузки будет маршрутизировать входящие запросы к инстансам, находящимся в указанной целевой группе (например, demo-target). -
Настройте протокол и порт, с помощью которого необходимо осуществлять маршрутизацию запросов.
Для ноды Вебмониторэкс укажите протокол TCP, порты 80 и 443 (если у вас присутствует HTTPS‑трафик).
-
При необходимости настройте проверку доступности с помощью группы параметров Health Checks.
-
-
Перейдите к следующему шагу, нажав на кнопку Next: Register Targets.
На данном шаге не требуется выполнять никаких действий.
-
Перейдите к следующему шагу, нажав на кнопку Next: Review.
Убедитесь, что все параметры заданы верно, и запустите процесс создания балансировщика нагрузки, нажав на кнопку Create.
Дождитесь окончания настройки балансировщика
После создания балансировщика должно пройти некоторое количество времени, прежде чем он сможет принимать трафик.
2. Настройка группы автоматического масштабирования для использования созданного балансировщика¶
Настройте вашу группу масштабирования так, чтобы балансировщик нагрузки отправлял трафик на запущенные в ней инстансы ноды.
Для этого выполните следующие действия:
-
Перейдите на вкладку Auto Scaling Groups в дашборде Amazon EC2 и выберите ранее созданную группу масштабирования.
-
Откройте диалог изменения настроек группы, выбрав в выпадающем меню Actions пункт Edit.
-
В выпадающем списке Target groups выберите созданную при создании балансировщика нагрузки целевую группу demo-target.
-
Сохраните внесенные изменения, нажав на кнопку Save.
Теперь вы сможете обрабатывать ваш входящий трафик к приложению с помощью динамически изменяемого набора нод Вебмониторэкс.
Вы можете проверить работоспособность развернутых нод следующим образом:
-
Убедитесь, что ваше приложение доступно через балансировщик нагрузки и ноды Вебмониторэкс, перейдя по IP‑адресу балансировщика или обратившись к его доменному имени в браузере.
-
Убедитесь, что сервисы Вебмониторэкс защищают ваше приложение, выполнив тестовую атаку: