Поделиться через


Руководство: создание подсистемы балансировки нагрузки в нескольких регионах с помощью Azure CLI

В службе Azure Load Balancer предусмотрены SKU "Стандартный", "Базовый" и "Шлюз". Подсистема балансировки нагрузки шлюза используется для прозрачного добавления сетевых виртуальных модулей (NVA). Подсистема балансировки нагрузки шлюза предназначена для сценариев, требующих высокой производительности и высокой масштабируемости NVA.

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

  • Создайте виртуальную сеть.
  • Создание группы безопасности сети.
  • Создание подсистемы балансировки нагрузки шлюза.
  • Связывание интерфейса подсистемы балансировки нагрузки с подсистемой балансировки нагрузки шлюза.

Необходимые компоненты

  • Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см . в кратком руководстве по Bash в Azure Cloud Shell.

  • Если вы предпочитаете выполнять справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, Azure CLI можно запустить в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.

    • Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Сведения о других возможностях, доступных при входе, см. в статье Вход с помощью Azure CLI.

    • Установите расширение Azure CLI при первом использовании, когда появится соответствующий запрос. Дополнительные сведения о расширениях см. в статье Использование расширений с Azure CLI.

    • Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.

  • Для работы с этим руководством требуется Azure CLI версии 2.0.28 или более поздней. Если вы используете Azure Cloud Shell, последняя версия уже установлена.

  • Учетная запись Azure с активной подпиской. Создайте бесплатную учетную запись.

  • Существующий общедоступный SKU уровня "Стандартный" службы Azure Load Balancer. Дополнительные сведения о создании подсистемы балансировки нагрузки см. в статье Создание общедоступной подсистемы балансировки нагрузки с помощью Azure CLI.

    • В рамках этого руководства существующая подсистема балансировки нагрузки в примерах называется myLoadBalancer.

Создание или изменение группы ресурсов

Группа ресурсов Azure является логическим контейнером, в котором происходит развертывание ресурсов Azure и управление ими.

Создайте группу ресурсов с помощью команды az group create:

  az group create \
    --name TutorGwLB-rg \
    --location eastus

Настройка виртуальной сети

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

Создание виртуальной сети

Создайте виртуальную сеть с помощью командлета az network vnet create.

  az network vnet create \
    --resource-group TutorGwLB-rg \
    --location eastus \
    --name myVNet \
    --address-prefixes 10.1.0.0/16 \
    --subnet-name myBackendSubnet \
    --subnet-prefixes 10.1.0.0/24

Создание общедоступного IP-адреса бастиона

Чтобы создать общедоступный IP-адрес узла Бастиона Azure, воспользуйтесь командлетом az network public-ip create

az network public-ip create \
    --resource-group TutorGwLB-rg \
    --name myBastionIP \
    --sku Standard \
    --zone 1 2 3

Создание подсети бастиона

Используйте командлет az network vnet subnet create, чтобы создать подсеть бастиона:

az network vnet subnet create \
    --resource-group TutorGwLB-rg \
    --name AzureBastionSubnet \
    --vnet-name myVNet \
    --address-prefixes 10.1.1.0/27

Создание узла-бастиона

Используйте командлет az network bastion create для развертывания узла-бастиона с целью безопасного управления ресурсами в виртуальной сети.

az network bastion create \
    --resource-group TutorGwLB-rg \
    --name myBastionHost \
    --public-ip-address myBastionIP \
    --vnet-name myVNet \
    --location eastus

Развертывание узла-бастиона может занять несколько минут.

Внимание

Почасовая цена начинается с момента развертывания Бастиона независимо от использования исходящих данных. Дополнительные сведения см. в разделе "Цены и номера SKU". Если вы развертываете Бастион в рамках руководства или теста, рекомендуется удалить этот ресурс после завершения работы с ним.

Настройка NSG

В примере ниже создается группа безопасности сети. Вы настроите правила NSG, необходимые для обслуживания сетевого трафика в созданной ранее виртуальной сети.

Создание NSG

Используйте командлет az network nsg create, чтобы создать группу безопасности сети.

  az network nsg create \
    --resource-group TutorGwLB-rg \
    --name myNSG

Создание правил NSG

Используйте командлет az network nsg rule create, чтобы создать правила для группы безопасности сети.

  az network nsg rule create \
    --resource-group TutorGwLB-rg \
    --nsg-name myNSG \
    --name myNSGRule-AllowAll \
    --protocol '*' \
    --direction inbound \
    --source-address-prefix '0.0.0.0/0' \
    --source-port-range '*' \
    --destination-address-prefix '0.0.0.0/0' \
    --destination-port-range '*' \
    --access allow \
    --priority 100

  az network nsg rule create \
    --resource-group TutorGwLB-rg \
    --nsg-name myNSG \
    --name myNSGRule-AllowAll-TCP-Out \
    --protocol 'TCP' \
    --direction outbound \
    --source-address-prefix '0.0.0.0/0' \
    --source-port-range '*' \
    --destination-address-prefix '0.0.0.0/0' \
    --destination-port-range '*' \
    --access allow \
    --priority 100

Конфигурация подсистемы балансировки нагрузки шлюза

В этом разделе вы создадите конфигурацию и развернете подсистему балансировки нагрузки шлюза.

Создание подсистемы балансировки нагрузки шлюза

Создайте балансировщик нагрузки с помощью команды az network lb create.

  az network lb create \
    --resource-group TutorGwLB-rg \
    --name myLoadBalancer-gw \
    --sku Gateway \
    --vnet-name myVNet \
    --subnet myBackendSubnet \
    --backend-pool-name myBackendPool \
    --frontend-ip-name myFrontEnd

Создание туннельного интерфейса

Внутренний интерфейс создается автоматически с помощью Azure CLI с --identifier — 900 и --port — 10800.

Для создания внешнего туннельного интерфейса подсистемы балансировки нагрузки используйте командлет az network lb address-pool tunnel-interface add.

  az network lb address-pool tunnel-interface add \
    --address-pool myBackEndPool \
    --identifier '901' \
    --lb-name myLoadBalancer-gw \
    --protocol VXLAN \
    --resource-group TutorGwLB-rg \
    --type External \
    --port '10801'

Создание пробы работоспособности

Проба работоспособности необходима для отслеживания работоспособности экземпляров серверной части в подсистеме балансировки нагрузки. Чтобы создать пробу работоспособности, используйте командлет az network lb probe create.

  az network lb probe create \
    --resource-group TutorGwLB-rg \
    --lb-name myLoadBalancer-gw \
    --name myHealthProbe \
    --protocol http \
    --port 80 \
    --path '/' \
    --interval '5' \
    --threshold '2'
    

Создание правила балансировки нагрузки

Трафик, предназначенный для экземпляров серверной части, направляется с помощью правила подсистемы балансировки нагрузки. Чтобы создать правило балансировки нагрузки, используйте командлет az network lb rule create.

  az network lb rule create \
    --resource-group TutorGwLB-rg \
    --lb-name myLoadBalancer-gw \
    --name myLBRule \
    --protocol All \
    --frontend-port 0 \
    --backend-port 0 \
    --frontend-ip-name myFrontEnd \
    --backend-pool-name myBackEndPool \
    --probe-name myHealthProbe

Добавление сетевых виртуальных модулей в пул серверной части подсистемы балансировки нагрузки шлюза

Разверните NVA с помощью Azure Marketplace. После развертывания добавьте виртуальные машины в пул серверной части, используя командлет az network nic ip-config address-pool add.

Связывание интерфейсной части подсистемы балансировки нагрузки с подсистемой балансировки нагрузки шлюза

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

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

Используйте командлет az network lb frontend-ip show, чтобы поместить идентификатор ресурса интерфейсной части подсистемы балансировки нагрузки шлюза в переменную.

Используйте командлет az network lb frontend-ip update, чтобы связать интерфейсную часть подсистемы балансировки нагрузки шлюза с существующей подсистемой балансировки нагрузки.

  feid=$(az network lb frontend-ip show \
    --resource-group TutorGwLB-rg \
    --lb-name myLoadBalancer-gw \
    --name myFrontend \
    --query id \
    --output tsv)

  az network lb frontend-ip update \
    --resource-group CreatePubLBQS-rg \
    --name myFrontendIP \
    --lb-name myLoadBalancer \
    --public-ip-address myPublicIP \
    --gateway-lb $feid

Создание цепочки виртуальных машин для подсистемы балансировки нагрузки шлюза

Кроме того, можно связать конфигурацию IP-адреса сетевой карты виртуальной машины с подсистемой балансировки нагрузки шлюза.

Вы добавите интерфейс подсистемы балансировки нагрузки шлюза в конфигурацию IP сетевой карты существующей виртуальной машины.

Используйте командлет az network lb frontend-ip show, чтобы поместить идентификатор ресурса интерфейсной части подсистемы балансировки нагрузки шлюза в переменную.

Используйте командлет az network lb frontend-ip update, чтобы связать интерфейсную часть подсистемы балансировки нагрузки шлюза с конфигурацией IP сетевой карты существующей виртуальной машины.

 feid=$(az network lb frontend-ip show \
    --resource-group TutorGwLB-rg \
    --lb-name myLoadBalancer-gw \
    --name myFrontend \
    --query id \
    --output tsv)
    
  az network nic ip-config update \
    --resource-group MyResourceGroup
    --nic-name MyNIC 
    --name MyIPconfig 
    --gateway-lb $feid

Очистка ресурсов

Вы можете удалить ставшие ненужными группу ресурсов, подсистему балансировки нагрузки и все оставшиеся ресурсы, использовав командлет az group delete.

  az group delete \
    --name TutorGwLB-rg

Следующие шаги

Создайте сетевые виртуальные модули в Azure.

При создании NVA выберите ресурсы, созданные в этом руководстве:

  • Виртуальная сеть

  • Подсеть

  • группу безопасности сети;

  • Gateway Load Balancer

Перейдите к следующей статье, чтобы узнать, как создать службу Azure Load Balancer между регионами.