Руководство: создание подсистемы балансировки нагрузки в нескольких регионах с помощью 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 между регионами.