Глобальная подсистема балансировки нагрузки гарантирует, что служба доступна глобально в нескольких регионах Azure. В случае сбоя одного региона его трафик направляется на подсистему балансировки нагрузки в ближайшем работоспособном регионе.
В этом руководстве вы узнаете, как:
- Создайте глобальную подсистему балансировки нагрузки.
- Создайте внутренний пул, содержащий две региональные подсистемы балансировки нагрузки.
- Создайте правило балансировщика нагрузки.
- Проверьте подсистему балансировки нагрузки.
Для работы с этим руководством можно использовать портал Azure, Azure CLI или Azure PowerShell.
Prerequisites
- Подписка Azure. Если у вас нет подписки Azure, создайте бесплатную учетную запись перед началом работы.
- Два стандартных SKU Azure Load Balancer с серверными пулами, развернутыми в двух разных регионах Azure.
- Подписка Azure. Если у вас нет подписки Azure, создайте бесплатную учетную запись перед началом работы.
- Два стандартных SKU Azure Load Balancer с серверными пулами, развернутыми в двух разных регионах Azure.
- Azure CLI устанавливается локально или Azure Cloud Shell.
Если вы решили установить и использовать интерфейс командной строки локально, для этого краткого руководства требуется Azure CLI версии 2.0.28 или более поздней. Чтобы узнать версию, выполните команду az --version. Если вам необходимо выполнить установку или обновление, обратитесь к статье Установка Azure CLI. При локальном запуске Azure CLI необходимо войти в систему с помощью az login, чтобы создать подключение к Azure.
- Подписка Azure. Если у вас нет подписки Azure, создайте бесплатную учетную запись перед началом работы.
- Два стандартных SKU Azure Load Balancer с серверными пулами, развернутыми в двух разных регионах Azure.
- Локальная установка Azure PowerShell или Azure Cloud Shell.
Чтобы установить и использовать PowerShell локально, для работы с этой статьей вам понадобится модуль Azure PowerShell 5.4.1 или более поздней версии. Выполните команду Get-Module -ListAvailable Az, чтобы узнать установленную версию. Если вам необходимо выполнить обновление, ознакомьтесь со статьей, посвященной установке модуля Azure PowerShell. При использовании PowerShell на локальном компьютере также нужно запустить Connect-AzAccount, чтобы создать подключение к Azure.
Создание глобальной подсистемы балансировки нагрузки
В этом разделе описано, как создать глобальную подсистему балансировки нагрузки с общедоступным IP-адресом, интерфейсной IP-конфигурацией, серверным пулом с добавленными подсистемами балансировки нагрузки региона и правилом подсистемы балансировки нагрузки.
Создайте ресурс балансировщика нагрузки и другие ресурсы
Войдите на портал Azure.
В поле поиска в верхней части портала введите Подсистема балансировки нагрузки. Выберите подсистему балансировки нагрузки в результатах поиска.
На странице Подсистема балансировки нагрузки щелкните Создать.
На странице Создание подсистемы балансировки нагрузки на вкладке Основные сведения укажите следующее.
| Setting |
Value |
|
Сведения о проекте |
|
| Subscription |
Выберите подписку. |
| Группа ресурсов |
Выберите "Создать новую " и введите CreateCRLBTutorial-rg в текстовом поле. |
|
Сведения об инстанции |
|
| Name |
Введите myLoadBalancer-cr |
| Region |
Выберите регион (США) Восточная часть США. |
| Type |
Выберите Общедоступный. |
| SKU |
Оставьте значение по умолчанию "Стандартный". |
| Tier |
Выберите Global |
В нижней части страницы выберите Далее: интерфейсная IP-конфигурация.
В разделе IP-конфигурация внешнего интерфейса нажмите кнопку + Добавить IP-адрес внешнего интерфейса.
Введите LoadBalancerFrontend в Имя в поле Добавить внешний IP-адрес.
Выберите IPv4 или IPv6 для версии IP-адреса.
В публичном IP-адресе выберите Создать новый. Введите myPublicIP-cr в поле Имя. Нажмите кнопку "Сохранить " для диалогового окна "Добавить общедоступный IP-адрес".
Нажмите кнопку "Сохранить".
Внизу страницы выберите элемент Далее. Серверные пулы.
В внутренних пулах выберите +Добавить внутренний пул.
Введите myBackendPool-cr в поле "Имя" в Добавить серверный пул.
В подсистемах балансировки нагрузки выберите myLoadBalancer-r1 или первый региональный балансировщик нагрузки в раскрывающемся списке подсистемы балансировки нагрузки. Убедитесь, что конфигурация внешнего IP и IP-адрес соответствуют myLoadBalancer-r1.
Выберите myLoadBalancer-r2 или ваш второй региональный балансировщик нагрузки в раскрывающемся списке балансировщика нагрузки. Убедитесь, что конфигурация внешнего IP-адреса и IP-адрес соответствуют myLoadBalancer-r2.
Нажмите кнопку "Добавить".
Внизу страницы выберите Далее. Правила для входящего трафика.
В правилах входящего трафика выберите +Добавить правило балансировки нагрузки.
В разделе Добавление правила балансировки нагрузки введите следующую информацию или выберите указанные ниже варианты.
| Setting |
Value |
| Name |
Введите myHTTPRule-cr. |
| Версия IP |
Выберите IPv4 или IPv6 для IP-версии. |
| IP-адрес фронтенда |
Выберите LoadBalancerFrontend. |
| Protocol |
Выберите TCP. |
| Port |
Введите 80. |
| Пул серверов заднего плана |
Выберите myBackendPool-cr. |
| Сохраняемость сеанса |
Выберите "Нет". |
| Время ожидания простоя (в минутах) |
Введите или переместите ползунок на 15. |
| Сброс TCP |
Выберите "Включено". |
| Плавающий IP-адрес |
Оставьте значение по умолчанию Отключено. |
Нажмите кнопку "Добавить".
В нижней части страницы выберите Проверить и создать.
Выберите Создать на вкладке Просмотр и создание.
Note
Развертывание подсистемы балансировки нагрузки между регионами отображается в определенных домашних регионах Azure. Сведения о текущем списке см. в разделе "Домашние регионы" в Azure для балансировки нагрузки между регионами.
Создайте группу ресурсов
Группа ресурсов Azure является логическим контейнером, в котором происходит развертывание ресурсов Azure и управление ими.
Создайте группу ресурсов с помощью команды az group create:
- Названный myResourceGroupLB-CR.
- В регионе westus.
az group create \
--name myResourceGroupLB-CR \
--location westus
Создание глобального ресурса подсистемы балансировки нагрузки
Создайте глобальный балансировщик нагрузки с помощью команды az network cross-region-lb create:
- Имя myLoadBalancer-CR.
- Фронтенд-пул с именем myFrontEnd-CR.
- Серверный пул с именем myBackEndPool-CR.
az network cross-region-lb create \
--name myLoadBalancer-CR \
--resource-group myResourceGroupLB-CR \
--frontend-ip-name myFrontEnd-CR \
--backend-pool-name myBackEndPool-CR
Создать правило балансировки нагрузки
Правило подсистемы балансировки нагрузки определяет:
- конфигурация Frontend IP для входящего трафика.
- серверный пул IP-адресов для приема трафика;
- требуемые порты источника и назначения.
Создайте правило балансировщика нагрузки с помощью команды az network cross-region-lb rule create:
- Имя myHTTPRule-CR
- Прослушивание порта 80 в интерфейсном пуле myFrontEnd-CR.
- Отправка сетевого трафика с балансировкой нагрузки в серверный пул адресов myBackEndPool-CR с помощью порта 80.
- Протокол TCP.
az network cross-region-lb rule create \
--backend-port 80 \
--frontend-port 80 \
--lb-name myLoadBalancer-CR \
--name myHTTPRule-CR \
--protocol tcp \
--resource-group myResourceGroupLB-CR \
--backend-pool-name myBackEndPool-CR \
--frontend-ip-name myFrontEnd-CR
Создать бэкенд-пул
В этом разделе описано, как добавить два региональных стандартных подсистемы балансировки нагрузки в внутренний пул глобальной подсистемы балансировки нагрузки.
Добавление региональных интерфейсов в подсистему балансировки нагрузки
В этом разделе вы поместите идентификаторы ресурсов двух интерфейсов региональных подсистем балансировки нагрузки в переменные, а затем используйте переменные для добавления интерфейсов в внутренний пул адресов глобальной подсистемы балансировки нагрузки.
Получите идентификаторы ресурсов с помощью az network lb frontend-ip show.
Используйте az network cross-region-lb address-pool address add, чтобы добавить frontends, которые вы указали в переменных, в серверный пул глобального балансировщика нагрузки:
region1id=$(az network lb frontend-ip show \
--lb-name myLoadBalancer-R1 \
--name myFrontEnd-R1 \
--resource-group CreatePubLBQS-rg-r1 \
--query id \
--output tsv)
az network cross-region-lb address-pool address add \
--frontend-ip-address $region1id \
--lb-name myLoadBalancer-CR \
--name myFrontEnd-R1 \
--pool-name myBackEndPool-CR \
--resource-group myResourceGroupLB-CR
region2id=$(az network lb frontend-ip show \
--lb-name myLoadBalancer-R2 \
--name myFrontEnd-R2 \
--resource-group CreatePubLBQS-rg-r2 \
--query id \
--output tsv)
az network cross-region-lb address-pool address add \
--frontend-ip-address $region2id \
--lb-name myLoadBalancer-CR \
--name myFrontEnd-R2 \
--pool-name myBackEndPool-CR \
--resource-group myResourceGroupLB-CR
Создайте группу ресурсов
Группа ресурсов Azure является логическим контейнером, в котором происходит развертывание ресурсов Azure и управление ими.
Создайте группу ресурсов с помощью New-AzResourceGroup.
$rg = @{
Name = 'MyResourceGroupLB-CR'
Location = 'westus'
}
New-AzResourceGroup @rg
Создание ресурсов глобальной подсистемы балансировки нагрузки
В этом разделе вы создадите ресурсы, необходимые для глобальной подсистемы балансировки нагрузки.
Общедоступный IP-адрес SKU глобального стандарта используется для внешнего интерфейса глобальной подсистемы балансировки нагрузки.
`## Create global IP address for load balancer ##
$ip = @{
Name = 'myPublicIP-CR'
ResourceGroupName = 'MyResourceGroupLB-CR'
Location = 'westus'
Sku = 'Standard'
Tier = 'Global'
AllocationMethod = 'Static'
}
$publicIP = New-AzPublicIpAddress @ip
## Create frontend configuration ##
$fe = @{
Name = 'myFrontEnd-CR'
PublicIpAddress = $publicIP
}
$feip = New-AzLoadBalancerFrontendIpConfig @fe
## Create backend address pool ##
$be = @{
Name = 'myBackEndPool-CR'
}
$bepool = New-AzLoadBalancerBackendAddressPoolConfig @be
## Create the load balancer rule ##
$rul = @{
Name = 'myHTTPRule-CR'
Protocol = 'tcp'
FrontendPort = '80'
BackendPort = '80'
FrontendIpConfiguration = $feip
BackendAddressPool = $bepool
}
$rule = New-AzLoadBalancerRuleConfig @rul
## Create global load balancer resource ##
$lbp = @{
ResourceGroupName = 'myResourceGroupLB-CR'
Name = 'myLoadBalancer-CR'
Location = 'westus'
Sku = 'Standard'
Tier = 'Global'
FrontendIpConfiguration = $feip
BackendAddressPool = $bepool
LoadBalancingRule = $rule
}
$lb = New-AzLoadBalancer @lbp`
В этом разделе описано, как добавить два региональных стандартных подсистемы балансировки нагрузки в внутренний пул глобальной подсистемы балансировки нагрузки.
## Place the region one load balancer configuration in a variable ##
$region1 = @{
Name = 'myLoadBalancer-R1'
ResourceGroupName = 'CreatePubLBQS-rg-r1'
}
$R1 = Get-AzLoadBalancer @region1
## Place the region two load balancer configuration in a variable ##
$region2 = @{
Name = 'myLoadBalancer-R2'
ResourceGroupName = 'CreatePubLBQS-rg-r2'
}
$R2 = Get-AzLoadBalancer @region2
## Place the region one load balancer frontend configuration in a variable ##
$region1fe = @{
Name = 'MyFrontEnd-R1'
LoadBalancer = $R1
}
$R1FE = Get-AzLoadBalancerFrontendIpConfig @region1fe
## Place the region two load balancer frontend configuration in a variable ##
$region2fe = @{
Name = 'MyFrontEnd-R2'
LoadBalancer = $R2
}
$R2FE = Get-AzLoadBalancerFrontendIpConfig @region2fe
## Create the global backend address pool configuration for region 1 ##
$region1ap = @{
Name = 'MyBackendPoolConfig-R1'
LoadBalancerFrontendIPConfigurationId = $R1FE.Id
}
$beaddressconfigR1 = New-AzLoadBalancerBackendAddressConfig @region1ap
## Create the global backend address pool configuration for region 2 ##
$region2ap = @{
Name = 'MyBackendPoolConfig-R2'
LoadBalancerFrontendIPConfigurationId = $R2FE.Id
}
$beaddressconfigR2 = New-AzLoadBalancerBackendAddressConfig @region2ap
## Apply the backend address pool configuration for the global load balancer ##
$bepoolcr = @{
ResourceGroupName = 'myResourceGroupLB-CR'
LoadBalancerName = 'myLoadBalancer-CR'
Name = 'myBackEndPool-CR'
LoadBalancerBackendAddress = $beaddressconfigR1,$beaddressconfigR2
}
Set-AzLoadBalancerBackendAddressPool @bepoolcr
Тестирование подсистемы балансировки нагрузки
В этом разделе описано, как протестировать глобальную подсистему балансировки нагрузки. Вы подключаетесь к общедоступному IP-адресу в веб-браузере. Вы останавливаете виртуальные машины в одном из серверных пулов региональной подсистемы балансировки нагрузки и наблюдаете переключение на резервную систему.
Найдите общедоступный IP-адрес для подсистемы балансировки нагрузки на экране обзора. Выберите все службы в меню слева, выберите все ресурсы и выберите myPublicIP-cr.
Скопируйте общедоступный IP-адрес и вставьте его в адресную строку браузера. В браузере отобразится страница по умолчанию веб-сервера IIS.
Остановите виртуальные машины в серверном пуле одного из региональных подсистем балансировки нагрузки.
Обновите веб-браузер и просмотрите отработку отказа подключения к другой региональной подсистеме балансировки нагрузки.
В этом разделе описано, как протестировать глобальную подсистему балансировки нагрузки. Вы подключаетесь к общедоступному IP-адресу в веб-браузере. Вы останавливаете виртуальные машины в одном из серверных пулов региональной подсистемы балансировки нагрузки и наблюдаете переключение на резервную систему.
Чтобы получить общедоступный IP-адрес подсистемы балансировки нагрузки, используйте az network public-ip show:
az network public-ip show \
--resource-group myResourceGroupLB-CR \
--name PublicIPmyLoadBalancer-CR \
--query ipAddress \
--output tsv
Скопируйте общедоступный IP-адрес и вставьте его в адресную строку браузера. В браузере отобразится страница по умолчанию веб-сервера IIS.
Остановите виртуальные машины в серверном пуле одного из региональных подсистем балансировки нагрузки.
Обновите веб-браузер и просмотрите отработку отказа подключения к другой региональной подсистеме балансировки нагрузки.
В этом разделе описано, как протестировать глобальную подсистему балансировки нагрузки. Вы подключаетесь к общедоступному IP-адресу в веб-браузере. Вы останавливаете виртуальные машины в одном из серверных пулов региональной подсистемы балансировки нагрузки и наблюдаете переключение на резервную систему.
- Используйте командлет Get-AzPublicIPAddress, чтобы получить сведения об общедоступном IP-адресе подсистемы балансировки нагрузки:
$ip = @{
Name = 'myPublicIP-CR'
ResourceGroupName = 'myResourceGroupLB-CR'
}
Get-AzPublicIPAddress @ip | select IpAddress
Скопируйте общедоступный IP-адрес и вставьте его в адресную строку браузера. В браузере отобразится страница по умолчанию веб-сервера IIS.
Остановите виртуальные машины в серверном пуле одного из региональных подсистем балансировки нагрузки.
Обновите веб-браузер и просмотрите отработку отказа подключения к другой региональной подсистеме балансировки нагрузки.
Очистите ресурсы
Ставшие ненужными группу ресурсов, подсистему балансировки нагрузки и все связанные ресурсы можно удалить.
Для этого выберите группу ресурсов CreateCRLBTutorial-rg , содержащую ресурсы, а затем нажмите кнопку "Удалить".
Вы можете удалить ненужную группу ресурсов, подсистему балансировки нагрузки и все связанные с ней ресурсы, выполнив команду az group delete.
az group delete \
--name myResourceGroupLB-CR
Когда в них больше нет необходимости, вы можете использовать командлет Remove-AzResourceGroup, чтобы удалить группу ресурсов, подсистему балансировки нагрузки и все оставшиеся ресурсы.
Remove-AzResourceGroup -Name 'myResourceGroupLB-CR'
Дальнейшие шаги
Изучив это руководство, вы:
- Создана глобальная подсистема балансировки нагрузки.
- Добавлены региональные подсистемы балансировки нагрузки в внутренний пул глобальной подсистемы балансировки нагрузки.
- Создано правило балансировки нагрузки.
- протестировали балансировщик нагрузки.
Дополнительные сведения о глобальной подсистеме балансировки нагрузки см. в следующем разделе: