Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Начните работу с Azure Load Balancer, создав с помощью Azure CLI общедоступную подсистему балансировки нагрузки и две виртуальные машины. Наряду с этими ресурсами вы развертываете Бастион Azure, шлюз NAT, виртуальную сеть и необходимые подсети.
Если у вас нет аккаунта Azure, создайте бесплатную учетную запись перед началом.
Предварительные условия
Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см. в статье "Начало работы с Azure Cloud Shell".
Если вы предпочитаете выполнять справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, Azure CLI можно запустить в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.
Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Сведения о других параметрах входа см. в статье "Проверка подлинности в Azure с помощью Azure CLI".
Установите расширение Azure CLI при первом использовании, когда появится соответствующий запрос. Дополнительные сведения о расширениях см. в статье Использование расширений и управление ими с помощью Azure CLI.
Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.
- Для работы с этим кратким руководством требуется Azure CLI версии 2.0.28 или более поздней. Если вы используете Azure Cloud Shell, последняя версия уже установлена.
Создание группы ресурсов
Группа ресурсов Azure является логическим контейнером, в котором происходит развертывание ресурсов Azure и управление ими.
Создайте группу ресурсов с помощью команды az group create:
az group create \
--name CreatePubLBQS-rg \
--location eastus
Создание виртуальной сети
Прежде чем развертывать виртуальные машины и тестировать подсистему балансировки нагрузки, создайте для них виртуальную сеть и подсеть.
Создайте виртуальную сеть с помощью команды az network vnet create. Виртуальная сеть и подсеть содержат ресурсы, развернутые далее в этой статье.
az network vnet create \
--resource-group CreatePubLBQS-rg \
--location eastus \
--name myVNet \
--address-prefixes 10.1.0.0/16 \
--subnet-name myBackendSubnet \
--subnet-prefixes 10.1.0.0/24
Создание общедоступного IP-адреса
Для доступа к веб-приложению через Интернет подсистеме балансировки нагрузки требуется общедоступный IP-адрес.
Чтобы создать общедоступный IP-адрес для внешнего интерфейса балансировщика нагрузки, используйте команду az network public-ip create.
az network public-ip create \
--resource-group CreatePubLBQS-rg \
--name myPublicIP \
--sku Standard \
--zone 1 2 3
Чтобы создать зональный общедоступный IP-адрес в зоне 1, используйте следующую команду:
az network public-ip create \
--resource-group CreatePubLBQS-rg \
--name myPublicIP \
--sku Standard \
--zone 1
Создание подсистемы балансировки нагрузки
В этом разделе описано, как создать и настроить следующие компоненты подсистемы балансировки нагрузки:
внешний пул IP-адресов, который получает входящий сетевой трафик на балансировщике нагрузки;
Пул IP-адресов бэкенда, в который фронтенд пул отправляет трафик с балансировкой нагрузки.
проба работоспособности, определяющая работоспособность внутренних экземпляров виртуальной машины;
правило подсистемы балансировки нагрузки, определяющее распределение трафика между виртуальными машинами.
Создание ресурса подсистемы балансировки нагрузки
С помощью команды az network lb create создайте общедоступную подсистему балансировки нагрузки:
az network lb create \
--resource-group CreatePubLBQS-rg \
--name myLoadBalancer \
--sku Standard \
--public-ip-address myPublicIP \
--frontend-ip-name myFrontEnd \
--backend-pool-name myBackEndPool
Если созданный общедоступный IP-адрес зональный, при создании общедоступной подсистемы балансировки нагрузки необходимо определить указанную зону.
az network lb create \
--resource-group CreatePubLBQS-rg \
--name myLoadBalancer \
--sku Standard \
--public-ip-address myPublicIP \
--frontend-ip-name myFrontEnd \
--public-ip-zone 1 \
--backend-pool-name myBackEndPool
Создание зонда проверки состояния
При пробе работоспособности выполняется проверка всех экземпляров виртуальной машины, чтобы убедиться, что они могут отправлять сетевой трафик.
Виртуальная машина с неудачной пробой удаляется из подсистемы балансировки нагрузки Виртуальная машина добавляется обратно в балансировщик нагрузки после устранения сбоя.
Создайте пробу работоспособности с помощью команды az network lb probe create.
az network lb probe create \
--resource-group CreatePubLBQS-rg \
--lb-name myLoadBalancer \
--name myHealthProbe \
--protocol tcp \
--port 80
Создайте правило балансировщика нагрузки
Правило подсистемы балансировки нагрузки определяет:
конфигурацию интерфейсных IP-адресов для входящего трафика;
серверный пул IP-адресов для приема трафика;
требуемые порты источника и назначения.
Создайте правило балансировщика нагрузки с помощью команды az network lb rule create.
az network lb rule create \
--resource-group CreatePubLBQS-rg \
--lb-name myLoadBalancer \
--name myHTTPRule \
--protocol tcp \
--frontend-port 80 \
--backend-port 80 \
--frontend-ip-name myFrontEnd \
--backend-pool-name myBackEndPool \
--probe-name myHealthProbe \
--disable-outbound-snat true \
--idle-timeout 15 \
--enable-tcp-reset true
Создание группы безопасности сети
Для стандартного балансировщика нагрузки виртуальные машины в серверном пуле должны иметь сетевые интерфейсы, принадлежащие группе безопасности сети.
Создайте группу безопасности сети с помощью команды az network nsg create.
az network nsg create \
--resource-group CreatePubLBQS-rg \
--name myNSG
Создание правила группы безопасности сети
Создайте правило для группы безопасности сети с помощью az network nsg rule create:
az network nsg rule create \
--resource-group CreatePubLBQS-rg \
--nsg-name myNSG \
--name myNSGRuleHTTP \
--protocol '*' \
--direction inbound \
--source-address-prefix '*' \
--source-port-range '*' \
--destination-address-prefix '*' \
--destination-port-range 80 \
--access allow \
--priority 200
Создайте узел-бастион.
В этом разделе описано, как создать ресурсы для Бастиона Azure. Бастион Azure используется для безопасного управления виртуальными машинами во внутреннем пуле подсистемы балансировки нагрузки.
Внимание
Почасовой тариф начинается с момента развертывания Бастиона, вне зависимости от использования исходящих данных. Дополнительные сведения см. в разделе "Цены и номера SKU". Если вы развертываете Бастион в рамках руководства или теста, рекомендуется удалить этот ресурс после завершения работы с ним.
Создание общедоступного IP-адреса
Чтобы создать общедоступный IP-адрес для узла-бастиона, воспользуйтесь командой az network public-ip create. Этот общедоступный IP-адрес используется узлом-бастионом для безопасного доступа к ресурсам виртуальной машины.
az network public-ip create \
--resource-group CreatePubLBQS-rg \
--name myBastionIP \
--sku Standard \
--zone 1 2 3
Создайте подсеть бастиона
Используйте команду az network vnet subnet create, чтобы создать подсеть бастиона. Эта подсеть бастиона используется сервером-бастионом для доступа к виртуальной сети.
az network vnet subnet create \
--resource-group CreatePubLBQS-rg \
--name AzureBastionSubnet \
--vnet-name myVNet \
--address-prefixes 10.1.1.0/27
Создание узла бастиона
Используйте команду az network bastion create, чтобы создать узел-бастион. Этот узел-бастион используется для безопасного подключения к ресурсам виртуальной машины, которые мы создадим далее в этой статье.
az network bastion create \
--resource-group CreatePubLBQS-rg \
--name myBastionHost \
--public-ip-address myBastionIP \
--vnet-name myVNet \
--sku Basic \
--location eastus
Развертывание узла Azure Bastion может занять несколько минут.
Создание внутренних серверов
В этом разделе вы создаете:
два сетевых интерфейса для виртуальных машин;
две виртуальные машины, которые будут использоваться в качестве внутренних серверов для подсистемы балансировки нагрузки.
Создание сетевых интерфейсов для виртуальных машин
Создайте два сетевых интерфейса с помощью команды az network nic create.
array=(myNicVM1 myNicVM2)
for vmnic in "${array[@]}"
do
az network nic create \
--resource-group CreatePubLBQS-rg \
--name $vmnic \
--vnet-name myVNet \
--subnet myBackEndSubnet \
--network-security-group myNSG
done
Создание виртуальных машин
Создайте виртуальные машины с помощью az vm create:
az vm create \
--resource-group CreatePubLBQS-rg \
--name myVM1 \
--nics myNicVM1 \
--image win2019datacenter \
--admin-username azureuser \
--zone 1 \
--no-wait
az vm create \
--resource-group CreatePubLBQS-rg \
--name myVM2 \
--nics myNicVM2 \
--image win2019datacenter \
--admin-username azureuser \
--zone 2 \
--no-wait
На развертывание виртуальных машин может потребоваться несколько минут. Пока создаются виртуальные машины, вы можете перейти к следующим шагам.
Примечание.
Azure предоставляет IP-адрес исходящего доступа по умолчанию для виртуальных машин, которые либо не назначены общедоступным IP-адресом, либо находятся в серверном пуле внутренней подсистемы балансировки нагрузки Azure. Механизм IP-адреса исходящего трафика по умолчанию предоставляет исходящий IP-адрес, который нельзя настроить.
IP-адрес исходящего доступа по умолчанию отключен при возникновении одного из следующих событий:
- Общедоступный IP-адрес назначается виртуальной машине.
- Виртуальная машина размещается в серверном пуле стандартной подсистемы балансировки нагрузки с правилами исходящего трафика или без нее.
- Ресурс шлюза NAT Azure назначается подсети виртуальной машины.
Виртуальные машины, созданные с помощью масштабируемых наборов виртуальных машин в гибком режиме оркестрации, не имеют исходящего доступа по умолчанию.
Дополнительные сведения об исходящих подключениях в Azure см. в статье об исходящем доступе по умолчанию в Azure и использовании преобразования исходящих сетевых адресов (SNAT) для исходящих подключений.
Добавление виртуальных машин во внутренний пул подсистемы балансировки нагрузки
Добавьте виртуальные машины во внутренний пул, используя команду az network nic ip-config address-pool add:
array=(myNicVM1 myNicVM2)
for vmnic in "${array[@]}"
do
az network nic ip-config address-pool add \
--address-pool myBackendPool \
--ip-config-name ipconfig1 \
--nic-name $vmnic \
--resource-group CreatePubLBQS-rg \
--lb-name myLoadBalancer
done
Создание шлюза NAT
Чтобы предоставить исходящий доступ к Интернету для ресурсов во внутреннем пуле, создайте шлюз NAT.
Создание общедоступного IP-адреса
Используйте команду az network public-ip create, чтобы создать отдельный IP-адрес для исходящего подключения.
az network public-ip create \
--resource-group CreatePubLBQS-rg \
--name myNATgatewayIP \
--sku Standard \
--zone 1 2 3
Чтобы создать зональный общедоступный IP-адрес в зоне 1, используйте следующую команду:
az network public-ip create \
--resource-group CreatePubLBQS-rg \
--name myNATgatewayIP \
--sku Standard \
--zone 1
Создание ресурса шлюза NAT
Выполните команду az network nat gateway create для создания ресурса шлюза NAT. Общедоступный IP-адрес, созданный на предыдущем шаге, связывается с шлюзом NAT.
az network nat gateway create \
--resource-group CreatePubLBQS-rg \
--name myNATgateway \
--public-ip-addresses myNATgatewayIP \
--idle-timeout 10
Сопоставление шлюза NAT с подсетью
Настройте исходную подсеть в виртуальной сети, чтобы использовать конкретный ресурс шлюза NAT в команде az network vnet subnet update.
az network vnet subnet update \
--resource-group CreatePubLBQS-rg \
--vnet-name myVNet \
--name myBackendSubnet \
--nat-gateway myNATgateway
Установить IIS
Используйте az vm extension set, чтобы установить IIS на виртуальных машинах и назначить имя компьютера в качестве имени веб-сайта по умолчанию.
array=(myVM1 myVM2)
for vm in "${array[@]}"
do
az vm extension set \
--publisher Microsoft.Compute \
--version 1.8 \
--name CustomScriptExtension \
--vm-name $vm \
--resource-group CreatePubLBQS-rg \
--settings '{"commandToExecute":"powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $($env:computername)"}'
done
Тестирование подсистемы балансировки нагрузки
Чтобы получить общедоступный IP-адрес подсистемы балансировки нагрузки, используйте команду az network public-ip show.
Скопируйте общедоступный IP-адрес и вставьте его в адресную строку браузера.
az network public-ip show \
--resource-group CreatePubLBQS-rg \
--name myPublicIP \
--query ipAddress \
--output tsv
Очистка ресурсов
Вы можете удалить ненужную группу ресурсов, подсистему балансировки нагрузки и все связанные с ней ресурсы, выполнив команду az group delete.
az group delete \
--name CreatePubLBQS-rg
Следующие шаги
В этом кратком руководстве:
Вы создали стандартный публичный балансировщик нагрузки.
подключили к ней две виртуальные машины;
настроили правило трафика подсистемы балансировки нагрузки и пробу работоспособности;
Протестировали подсистему балансировки нагрузки
Чтобы узнать больше об Azure Load Balancer, ознакомьтесь со следующей статьей: