- tocdepth
2
Быстрый старт
С помощью быстрого старта вы настроите распределение трафика между двумя веб-серверами Nginx на разных виртуальных машинах.
Перед началом работы
Зарегистрируйтесь в личном кабинете Cloud.ru.
Если вы уже зарегистрированы, войдите в консоль управления Advanced через личный кабинет Cloud.ru или как IAM-пользователь.
Чтобы балансировщик мог взаимодействовать с виртуальными машинами, создайте группу безопасности и добавьте в нее входящее правило, разрешающее трафик по TCP из источника
100.125.0.0/16
по 80 порту.Создайте две виртуальные машины ECS с операционной системой Ubuntu 22.04 и публичным IP-адресом. При создании прикрепите к виртуальным машинам группу безопасности, созданную ранее.
Установите Nginx на виртуальные машины
Nginx позволяет проверить работу ELB. Сразу после установки и без дополнительных настроек он начнет прослушивать 80 порт, что позволит:
пройти Health Check — проверку сервера на работоспособность и готовность принимать запросы от балансировщика;
убедиться, что балансировщик работает и перенаправляет запросы на разные серверы.
Чтобы установить Nginx:
В списке сервисов выберите Elastic Cloud Server.
Напротив виртуальной машины, к которой нужно подключиться, нажмите Remote Login.
Введите пароль пользователя для подключения к виртуальной машине.
Установите Nginx с помощью команды:
apt install nginx -y
Nginx установлен. Теперь при обращении к серверу по IP-адресу на экране появится стандартная главная страница Nginx.
Замените содержимое главной страницы 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 и Backend Server Group
Чтобы балансировщик мог принимать входящие запросы, нужно создать 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.
Нажмите
.
Listener создан и прослушивает 80 порт. Входящие запросы будут перенаправляться между серверами, которые объединены в Backend Server Group. Теперь вы можете проверить работу балансировщика.
Проверьте работу ELB
Перейдите в раздел IP Address and Network скопируйте IPv4 EIP.
и в столбцеВ браузере перейдите по IP-адресу, который вы скопировали. При возникновении уведомления о незащищенном соединении все равно перейдите на сайт.
Подождите несколько минут и несколько раз обновите страницу. Или воспользуйтесь режимом инкогнито или другим браузером. Изменение на странице означает, что запросы распределяются между двумя серверами.
Вы настроили балансировщик нагрузки и проверили его работу.
Что дальше
Вы можете добавить новые серверы к ELB или настроить автомасштабирование с помощью сервиса Auto Scaling.
Также вы можете создать Dedicated Load Balancer, который отличается от Shared Load Balancer большей производительностью и надежностью.
для Dev & Test