tocdepth

2

Быстрый старт

С помощью быстрого старта вы настроите распределение трафика между двумя веб-серверами Nginx на разных виртуальных машинах.

Перед началом работы

  1. Зарегистрируйтесь в личном кабинете Cloud.ru.

    Если вы уже зарегистрированы, войдите в консоль управления Advanced через личный кабинет Cloud.ru или как IAM-пользователь.

  2. Чтобы балансировщик мог взаимодействовать с виртуальными машинами, создайте группу безопасности и добавьте в нее входящее правило, разрешающее трафик по TCP из источника 100.125.0.0/16 по 80 порту.

  3. Создайте две виртуальные машины ECS с операционной системой Ubuntu 22.04 и публичным IP-адресом. При создании прикрепите к виртуальным машинам группу безопасности, созданную ранее.

Установите Nginx на виртуальные машины

Nginx позволяет проверить работу ELB. Сразу после установки и без дополнительных настроек он начнет прослушивать 80 порт, что позволит:

  • пройти Health Check — проверку сервера на работоспособность и готовность принимать запросы от балансировщика;

  • убедиться, что балансировщик работает и перенаправляет запросы на разные серверы.

Чтобы установить Nginx:

  1. В списке всех сервисов выберите Elastic Cloud Server.

  2. Напротив виртуальной машины, к которой нужно подключиться, нажмите Remote Login.

  3. Введите пароль пользователя для подключения к виртуальной машине.

  4. Установите Nginx с помощью команды:

    apt install nginx -y
    

Nginx установлен. Теперь при обращении к серверу по IP-адресу на экране появится стандартная главная страница Nginx.

Замените содержимое главной страницы Nginx на одной ВМ

Чтобы при обращении по IP-адресу балансировщика вы могли понять, к какому из серверов балансировщик отправил ваш запрос, отредактируйте главную страницу веб-сервера Nginx на одном из них. Для этого:

  1. Откройте в текстовом редакторе nano файл главной страницы Nginx с помощью команды:

    nano /var/www/html/index.nginx-debian.html
    
  2. Замените содержимое файла на:

    <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>
    
  3. Сохраните изменения с помощью CTRL + S.

Главная страница изменена. На другом сервере главная страница останется прежней. Это позволит вам убедиться, что ELB распределяет запросы между двумя серверами.

Создайте Shared Load Balancer

  1. В списке всех сервисов выберите Elastic Load Balance.

  2. В правом верхнем углу нажмите Create Elastic Load Balancer.

  3. Задайте только те параметры, которые указаны в списке:

    • Type — выберите бесплатный балансировщик Shared load balancer.

    • Enterprise Project — выберите любой проект из списка.

    • VPC — выберите ту же сеть, в которой расположены виртуальные машины для подключения к балансировщику.

    • Frontend Subnet — выберите доступную подсеть.

    • EIP — выберите New EIP, чтобы привязать к балансировщику публичный IP-адрес. По этому адресу он будет доступен в интернете.

    • Billed By — выберите способ тарификации Traffic. Это оптимальный вариант тарификации IP-адреса для выполнения быстрого старта.

    • Bandwidth — выберите максимальную пропускную способность 5 Мбит/с.

  4. Чтобы создать балансировщик, нажмите Create Now → Submit.

Shared Load Balancer будет создан практически моментально. Вы можете сразу перейти к следующему этапу.

Создайте Listener и Backend Server Group

Чтобы балансировщик мог принимать входящие запросы, нужно создать Listener. Listener прослушивает заданный ему порт и перенаправляет запросы на Backend Server.

Backend Server — это виртуальные машины, между которыми нужно распределить нагрузку с помощью балансировщика. Backend Server объединяются в Backend Server Group.

Чтобы создать Listener и Backend Server Group:

  1. Напротив созданного балансировщика нагрузки нажмите Add Listener.

  2. Оставьте все параметры по умолчанию и нажмите Next: Configure Request Routing Policy.

  3. Нажмите Next: Add Backend Server.

  4. Чтобы добавить виртуальные машины в группу, нажмите Add Backend Server.

  5. Выберите виртуальные машины, на которые ранее вы установили Nginx, и нажмите OK.

  6. В колонке Backend Port для каждой виртуальной машины укажите порт 80.

  7. Нажмите Next: Confirm → Submit.

Listener создан и прослушивает 80 порт. Входящие запросы будут перенаправляться между серверами, которые объединены в Backend Server Group. Теперь вы можете проверить работу балансировщика.

Проверьте работу ELB

  1. Перейдите в раздел Elastic Load Balance → Load Balancers и в столбце IP Address and Network скопируйте IPv4 EIP.

  2. В браузере перейдите по IP-адресу, который вы скопировали. При возникновении уведомления о незащищенном соединении все равно перейдите на сайт.

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

Вы настроили балансировщик нагрузки и проверили его работу.

Что дальше

Вы можете добавить новые серверы к ELB или настроить автомасштабирование с помощью сервиса Auto Scaling.

Также вы можете создать Dedicated Load Balancer, который отличается от Shared Load Balancer большей производительностью и надежностью.

Запустили Evolution free tier
для Dev & Test
Получить