Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Application Load Balancer
  • Начало работы
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • Логи L7-балансировщика
  • История изменений
  • Обучающие курсы

В этой статье:

  • Перед началом работы
  • Создайте ВМ и запустите на ней тестовый веб-сервер
  • Создайте целевую группу
  • Создайте группу бэкендов
  • Создайте HTTP-роутер
  • Создайте L7-балансировщик
  • Протестируйте работу балансировщика
  • Как удалить созданные ресурсы

Как начать работать с Yandex Application Load Balancer

Статья создана
Yandex Cloud
Улучшена
Обновлена 21 апреля 2025 г.
  • Перед началом работы
  • Создайте ВМ и запустите на ней тестовый веб-сервер
  • Создайте целевую группу
  • Создайте группу бэкендов
  • Создайте HTTP-роутер
  • Создайте L7-балансировщик
  • Протестируйте работу балансировщика
  • Как удалить созданные ресурсы

Yandex Application Load Balancer служит для распределения запросов по бэкендам ваших сетевых приложений и терминирования TLS-шифрования. Application Load Balancer работает на 7-м уровне модели OSI с протоколами HTTP и HTTPS.

С помощью этой инструкции вы развернете инфраструктуру сервиса Application Load Balancer и настроите передачу трафика на бэкенд тестового приложения.

В инфраструктуру сервиса входят компоненты:

  • Целевая группа.
  • Группа бэкендов.
  • HTTP-роутер.
  • L7-балансировщик.

Ниже описано как создать каждый компонент по отдельности. Также вы можете воспользоваться визардом, чтобы создавать все компоненты на одной странице.

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

  1. Войдите в консоль управления или зарегистрируйтесь. Если вы еще не зарегистрированы, перейдите в консоль управления и следуйте инструкциям.
  2. На странице Yandex Cloud Billing убедитесь, что у вас подключен платежный аккаунт и он находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его.
  3. Если у вас еще нет каталога, создайте его. Во время создания каталога вы можете создать виртуальную сеть по умолчанию с подсетями во всех зонах доступности.

Создайте ВМ и запустите на ней тестовый веб-серверСоздайте ВМ и запустите на ней тестовый веб-сервер

  1. Создайте виртуальную машину test-vm1 из публичного образа Ubuntu 24.04 в зоне доступности ru-central1-a.

  2. Подключитесь к ВМ по SSH.

    Если у вас установлен интерфейс командной строки Yandex Cloud, вы можете подключиться к ВМ по OS Login:

    yc compute ssh --name test-vm1
    
  3. Запустите тестовый веб-сервер, который будет отвечать на запросы на порте 8080:

    mkdir test-server; echo 'HELLO' > test-server/hello.txt; python3 -m http.server -d test-server 8080
    
  4. Убедитесь, что веб-сервер возвращает список папок из каталога test-server. В терминале вашего компьютера выполните:

    curl --verbose <публичный_IP-адрес_ВМ>:8080
    

Создайте целевую группуСоздайте целевую группу

На ВМ из целевой группы развертываются бэкенды вашего приложения. Целевая группа будет подключена к балансировщику, чтобы на эндпоинты бэкендов вашего приложения можно было направлять запросы.

Для примера в целевой группе будет находиться только одна виртуальная машина.

Консоль управления
CLI
  1. В консоли управления выберите каталог, в котором будет создаваться целевая группа.
  2. В списке сервисов выберите Application Load Balancer.
  3. В меню слева выберите Целевые группы.
  4. Нажмите кнопку Создать целевую группу.
  5. Введите имя целевой группы: test-target-group.
  6. Выберите ВМ test-vm1.
  7. Нажмите кнопку Создать.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

Выполните команду:

yc alb target-group create test-target-group \
  --target subnet-name=<имя_подсети_ВМ>,ip-address=<внутренний_IP-адрес_ВМ>

Создайте группу бэкендовСоздайте группу бэкендов

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

Консоль управления
CLI
  1. В меню слева выберите Группы бэкендов.
  2. Нажмите кнопку Создать группу бэкендов.
  3. Введите имя группы бэкендов: test-backend-group.
  4. В блоке Бэкенды нажмите кнопку Добавить. Задайте настройки бэкенда:
    1. Введите имя бэкенда: backend-1.
    2. В списке Целевая группа выберите test-target-group.
    3. Укажите Порт: 8080.
  5. Разверните поле Настройки протокола и задайте их параметры:
    1. Выберите тип HTTP.
  6. Нажмите кнопку Добавить проверку состояния и задайте настройки проверки:
    1. Таймаут, с: 1.
    2. Интервал: 3.
    3. Порог работоспособности: 2.
    4. Порог неработоспособности: 2.
    5. Тип: HTTP.
    6. Путь: /.
  7. Нажмите кнопку Создать.
  1. Создайте группу бэкендов:

    yc alb backend-group create test-backend-group
    
  2. Создайте бэкенд и проверку состояния:

    yc alb backend-group add-http-backend \
      --backend-group-name test-backend-group \
      --name backend-1 \
      --port 8080 \
      --target-group-name test-target-group \
      --target-group-id <идентификатор_целевой_группы> \
      --http-healthcheck healthy-threshold=2,unhealthy-threshold=2,timeout=1s,interval=3s,path=/
    

Создайте HTTP-роутерСоздайте HTTP-роутер

HTTP-роутеры определяют правила маршрутизации запросов к бэкендам и позволяют модифицировать запросы прямо на балансировщике.

Консоль управления
CLI
  1. В меню слева выберите HTTP-роутеры.
  2. Нажмите кнопку Создать HTTP-роутер.
  3. Введите имя роутера: test-http-router.
  4. В блоке Виртуальные хосты нажмите кнопку Добавить виртуальный хост.
  5. Введите имя хоста: test-virtual-host.
  6. Нажмите кнопку Добавить маршрут.
  7. Введите Имя: test-route.
  8. В поле Путь выберите Начинается с и укажите путь /.
  9. В поле Действие оставьте Маршрутизация.
  10. В списке Группа бэкендов выберите test-backend-group.
  11. Остальные настройки оставьте без изменений и нажмите кнопку Создать.
  1. Создайте HTTP-роутер:

    yc alb http-router create test-http-router
    
  2. Создайте виртуальный хост:

    yc alb virtual-host create test-virtual-host --http-router-name test-http-router
    
  3. Добавьте маршрут:

    yc alb virtual-host append-http-route test-route \
      --http-router-name test-http-router \
      --prefix-path-match / \
      --backend-group-name test-backend-group \
      --virtual-host-name test-virtual-host
    

Создайте L7-балансировщикСоздайте L7-балансировщик

Балансировщик принимает запросы и распределяет их по ВМ из целевой группы по правилам, указанным в HTTP-роутере. Для приема трафика балансировщик использует обработчики.

Для примера будет создан балансировщик с узлом в одной подсети в одной зоне доступности.

Консоль управления
CLI
  1. В меню слева выберите Балансировщики.

  2. Нажмите кнопку Создать L7-балансировщик.

  3. Введите имя балансировщика: test-load-balancer.

  4. В блоке Сетевые настройки выберите сеть, в подсети которой будет размещаться узел балансировщика.

  5. В блоке Размещение выберите подсеть в одной зоне доступности и включите прием трафика в этой подсети.

    Остальные зоны доступности удалите, нажав в соответствующей строке.

  6. В блоке Обработчики нажмите кнопку Добавить обработчик. Задайте настройки обработчика:

    1. Введите имя обработчика: test-listener.
    2. В блоке Публичный IP-адрес включите передачу трафика.
    3. Укажите порт 80.
    4. Выберите тип Автоматически.
  7. В поле HTTP-роутер выберите test-http-router.

  8. Нажмите кнопку Создать.

  1. Создайте балансировщик с узлом в одной подсети:

    yc alb load-balancer create test-load-balancer \
      --network-name <имя_сети> \
      --location subnet-name=<имя_подсети_в_зоне_ru-central1-a>,zone=ru-central1-a
    
  2. Добавьте обработчик:

    yc alb load-balancer add-listener test-load-balancer \
      --listener-name test-listener \
      --http-router-id <идентификатор_HTTP-роутера> \
      --external-ipv4-endpoint port=80
    

Протестируйте работу балансировщикаПротестируйте работу балансировщика

В терминале выполните следующую команду:

curl --verbose <публичный_IP-адрес_балансировщика>:80

В ответ должен вернуться HTTP-ответ с кодом 200 и список папок из каталога тестовой ВМ в HTML-разметке.

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

Как удалить созданные ресурсыКак удалить созданные ресурсы

Чтобы перестать платить за созданные ресурсы, удалите их в указанном порядке:

Консоль управления
  1. Удалите L7-балансировщик test-load-balancer.
  2. Удалите HTTP-роутер test-http-router.
  3. Удалите группу бэкендов test-backend-group.
  4. Удалите целевую группу test-target-group.

Была ли статья полезна?

Следующая
Все инструкции
Проект Яндекса
© 2025 ООО «Яндекс.Облако»