С помощью быстрого старта вы настроите распределение трафика между двумя веб-серверами Nginx на разных виртуальных машинах.
Если вы уже зарегистрированы, войдите в консоль управления Advanced через личный кабинет Cloud.ru или как IAM-пользователь.
Чтобы балансировщик мог взаимодействовать с виртуальными машинами, создайте группу безопасности и добавьте в нее входящее правило, разрешающее трафик по TCP из источника 100.125.0.0/16 по 80 порту.
Создайте две виртуальные машины ECS с операционной системой Ubuntu 22.04 и публичным IP-адресом. При создании прикрепите к виртуальным машинам группу безопасности, созданную ранее.
Nginx позволяет проверить работу ELB. Сразу после установки и без дополнительных настроек он начнет прослушивать 80 порт, что позволит:
пройти Health Check — проверку сервера на работоспособность и готовность принимать запросы от балансировщика;
убедиться, что балансировщик работает и перенаправляет запросы на разные серверы.
Чтобы установить Nginx:
В списке сервисов выберите Elastic Cloud Server.
Напротив виртуальной машины, к которой нужно подключиться, нажмите Remote Login.
Введите пароль пользователя для подключения к виртуальной машине.
Установите Nginx с помощью команды:
apt install nginx -y
Nginx установлен. Теперь при обращении к серверу по IP-адресу на экране появится стандартная главная страница Nginx.
Чтобы при обращении по IP-адресу балансировщика вы могли понять, к какому из серверов балансировщик отправил ваш запрос, отредактируйте главную страницу веб-сервера Nginx на одном из них. Для этого:
Откройте в текстовом редакторе nano файл главной страницы Nginx с помощью команды:
nano /var/www/html/index.nginx-debian.html
Замените содержимое файла на:
<body><h1>Welcome to <strong>ELB</strong> test page one!</h1><div class="content"><p>This page is used to test the <strong>ELB</strong>!</p><div class="alert"><h2>ELB01</h2><div class="content"><p><strong>ELB test (page one)!</strong></p><p><strong>ELB test (page one)!</strong></p><p><strong>ELB test (page one)!</strong></p></div></div></div></body>
Сохраните изменения с помощью CTRL + S.
Главная страница изменена. На другом сервере главная страница останется прежней. Это позволит вам убедиться, что ELB распределяет запросы между двумя серверами.
Чтобы балансировщик мог принимать входящие запросы, нужно создать Listener. Listener прослушивает заданный ему порт и перенаправляет запросы на Backend Server.
Backend Server — это виртуальные машины, между которыми нужно распределить нагрузку с помощью балансировщика. Backend Server объединяются в Backend Server Group.
Чтобы создать Listener и Backend Server Group:
Напротив созданного балансировщика нагрузки нажмите Add Listener.
Оставьте все параметры по умолчанию и нажмите Next: Configure Request Routing Policy.
Нажмите Next: Add Backend Server.
Чтобы добавить виртуальные машины в группу, нажмите Add Backend Server.
Выберите виртуальные машины, на которые ранее вы установили Nginx, и нажмите OK.
В колонке Backend Port для каждой виртуальной машины укажите порт 80.
Нажмите Next: Confirm → Submit.
Listener создан и прослушивает 80 порт. Входящие запросы будут перенаправляться между серверами, которые объединены в Backend Server Group. Теперь вы можете проверить работу балансировщика.
Перейдите в раздел Elastic Load Balance → Load Balancers и в столбце IP Address and Network скопируйте IPv4 EIP.
В браузере перейдите по IP-адресу, который вы скопировали. При возникновении уведомления о незащищенном соединении все равно перейдите на сайт.
Подождите несколько минут и несколько раз обновите страницу. Или воспользуйтесь режимом инкогнито или другим браузером. Изменение на странице означает, что запросы распределяются между двумя серверами.
Вы настроили балансировщик нагрузки и проверили его работу.
Вы можете добавить новые серверы к ELB или настроить автомасштабирование с помощью сервиса Auto Scaling.
Также вы можете создать Dedicated Load Balancer, который отличается от Shared Load Balancer большей производительностью и надежностью.