[Документация Yandex Cloud](../index.md) > [Yandex Application Load Balancer](index.md) > Пошаговые инструкции > Создать инфраструктуру Application Load Balancer c помощью визарда

# Создание инфраструктуры Application Load Balancer с помощью визарда


{% note info %}

В [регионе Казахстан](../overview/concepts/region.md) доступна только [зона доступности](../overview/concepts/geo-scope.md) `kz1-a`.

{% endnote %}


Yandex Application Load Balancer служит для распределения запросов по бэкендам ваших сетевых приложений и терминирования TLS-шифрования. Application Load Balancer работает на 7-м уровне [модели OSI](https://ru.wikipedia.org/wiki/OSI_model) с протоколами HTTP и HTTPS.

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

Ниже описано как создать инфраструктуру с помощью [визарда](concepts/index.md#alb-wizard). Также вы можете [создавать каждый компонент по отдельности](quickstart.md).

## Перед началом работы {#before-begin}

1. Войдите в [консоль управления](https://kz.console.yandex.cloud) или зарегистрируйтесь. Если вы еще не зарегистрированы, перейдите в консоль управления и следуйте инструкциям.
1. На странице [**Yandex Cloud Billing**](https://kz.console.yandex.cloud/billing) убедитесь, что у вас подключен [платежный аккаунт](../billing/concepts/billing-account.md) и он находится в статусе `ACTIVE` или `TRIAL_ACTIVE`. Если платежного аккаунта нет, [создайте его](../billing/quickstart/index.md#create_billing_account).
1. Если у вас еще нет каталога, [создайте его](../resource-manager/operations/folder/create.md). Во время создания каталога вы можете создать виртуальную сеть по умолчанию с подсетями во всех зонах доступности.

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

1. [Создайте](../compute/operations/vm-create/create-linux-vm.md) виртуальную машину `test-vm1` из публичного образа [Ubuntu 24.04](https://yandex.cloud/ru-kz/marketplace/products/yc/ubuntu-2404-lts-oslogin) в зоне доступности `kz1-a`.
   
1. [Подключитесь к ВМ по SSH](../compute/operations/vm-connect/ssh.md).
   
    Если у вас установлен [интерфейс командной строки Yandex Cloud](../cli/quickstart.md), вы можете подключиться к ВМ по [OS Login](../compute/operations/vm-connect/os-login.md):

    ```bash
    yc compute ssh --name test-vm1
    ```
    

1. Запустите тестовый веб-сервер, который будет отвечать на запросы на порте `8080`:

    ```bash
    mkdir test-server; echo 'HELLO' > test-server/hello.txt; python3 -m http.server -d test-server 8080
    ```

1. Убедитесь, что веб-сервер возвращает список папок из каталога `test-server`. В терминале вашего компьютера выполните:

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

## Создайте инфраструктуру Application Load Balancer {#create-alb-infrastructure}

{% list tabs group=instructions %}

- Консоль управления {#console}

  1. В [консоли управления](https://kz.console.yandex.cloud) выберите [каталог](../resource-manager/concepts/resources-hierarchy.md#folder), в котором будет создан балансировщик.
  1. Перейдите в сервис **Application Load Balancer**.
  1. Нажмите кнопку **Создать L7-балансировщик** и выберите **Визард**.

{% endlist %}

### Настройки целевой группы {#settings-target-group}

На ВМ из [целевой группы](concepts/target-group.md) развертываются бэкенды вашего приложения. Целевая группа будет подключена к балансировщику, чтобы на эндпоинты бэкендов вашего приложения можно было направлять запросы.

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

{% list tabs group=instructions %}

- Консоль управления {#console}

  1. Введите имя целевой группы: `test-target-group`.
  1. Выберите ВМ `test-vm1`.
  1. Остальные настройки оставьте без изменений и нажмите кнопку **Создать и продолжить**.

{% endlist %}

### Настройки группы бэкендов {#settings-backend-group}

[Группы бэкендов](concepts/backend-group.md) содержат настройки балансировки трафика и проверок состояния целевых ресурсов. Визард автоматически создает один бэкенд и одну группу проверки состояния. В качестве целевой группы будет выбрана группа, созданная на предыдущем шаге.

{% list tabs group=instructions %}

- Консоль управления {#console}

  1. Введите имя группы бэкендов: `test-backend-group`.
   
  1. Чтобы открыть настройки бэкенда и группы проверки состояния, включите переключатель **Расширенные настройки**.

  1. Введите имя бэкенда: `backend-1`.

  1. Укажите порт: `8080`.

  1. Задайте настройки проверки состояния:
      1. **Интервал**: `3`.
      1. **Порог работоспособности**: `2`.
      1. **Порт**: `8080`.
  
  1. Остальные настройки оставьте без изменений и нажмите кнопку **Создать и продолжить**.

{% endlist %}

### Настройки HTTP-роутера {#settings-http-router}

[HTTP-роутеры](concepts/http-router.md) определяют правила маршрутизации запросов к бэкендам и позволяют модифицировать запросы прямо на балансировщике. Визард автоматически создает виртуальный хост и правило маршрутизации. В качестве группы бэкендов будет выбрана группа, созданная на предыдущем шаге.

{% list tabs group=instructions %}

- Консоль управления {#console}

  1. Введите имя роутера: `test-http-router`.
  1. Включите переключатель **Расширенные настройки**.
  1. В блоке **Виртуальные хосты** введите:
     1. Имя хоста: `test-virtual-host`.
     1. Имя маршрута: `test-route`.
  1. Остальные настройки оставьте без изменений и нажмите кнопку **Создать и продолжить**.

{% endlist %}

### Настройки L7-балансировщика {#create-load-balancer}

[Балансировщик](concepts/application-load-balancer.md) принимает запросы и распределяет их по ВМ из целевой группы по правилам, указанным в HTTP-роутере. Для приема трафика балансировщик использует [обработчики](concepts/application-load-balancer.md#listener). Визард создает обработчик автоматически. В качестве HTTP-роутера будет выбран роутер, созданный на предыдущем шаге.

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

{% list tabs group=instructions %}

- Консоль управления {#console}

  1. Введите имя балансировщика: `test-load-balancer`.
  1. В блоке **Сетевые настройки** выберите сеть, в подсети которой будет размещаться узел балансировщика.
  1. Включите переключатель **Расширенные настройки**.
  1. В блоке **Размещение** выберите подсеть в одной [зоне доступности](../overview/concepts/geo-scope.md) и включите прием трафика в этой подсети.

      Остальные зоны доступности удалите, нажав ![xmark](../_assets/console-icons/xmark.svg) в соответствующей строке.

  1. В блоке **Обработчики** введите имя обработчика: `test-listener`.
   
  1. Остальные настройки оставьте без изменений и нажмите кнопку **Создать**.

{% endlist %}

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

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

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

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

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

## Как удалить созданные ресурсы {#clear-out}

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

{% list tabs group=instructions %}

- Консоль управления {#console}

  1. [Удалите](operations/application-load-balancer-delete.md) L7-балансировщик `test-load-balancer`.
  1. [Удалите](operations/http-router-delete.md) HTTP-роутер `test-http-router`.
  1. [Удалите](operations/backend-group-delete.md) группу бэкендов `test-backend-group`.
  1. [Удалите](operations/target-group-delete.md) целевую группу `test-target-group`.

{% endlist %}