Создание глобальной подсистемы балансировки нагрузки с внутренними серверными службами между подписками
Из этой статьи вы узнаете, как создать глобальную подсистему балансировки нагрузки с внутренними серверными службами между подписками.
Подсистема балансировки нагрузки между подписками может ссылаться на виртуальную сеть, которая находится в другой подписке, отличной от подсистем балансировки нагрузки. Эта функция позволяет развертывать подсистему балансировки нагрузки в одной подписке и ссылаться на виртуальную сеть в другой подписке.
Необходимые компоненты
- Две подписки Azure.
- Учетная запись Azure с активными подписками. Создание бесплатной учетной записи
- Глобальный общедоступный IP-адрес, развернутый в подписке Azure A, расположенный в домашнем регионе глобальной подсистемы балансировки нагрузки.
- Региональный балансировщик нагрузки, развернутый в подписке Azure A.
- Локальная установка Azure PowerShell или Azure Cloud Shell.
Чтобы установить и использовать PowerShell локально, для работы с этой статьей вам понадобится модуль Azure PowerShell 5.4.1 или более поздней версии. Выполните командлет Get-Module -ListAvailable Az
, чтобы узнать установленную версию. Если вам необходимо выполнить обновление, ознакомьтесь со статьей, посвященной установке модуля Azure PowerShell. При использовании PowerShell на локальном компьютере также нужно запустить Connect-AzAccount
, чтобы создать подключение к Azure.
Внимание
Все примеры кода будут использовать примеры имен и заполнителей. Не забудьте заменить их значениями из вашей среды.
Значения, необходимые для замены, будут заключены в угловые скобки, как показано ниже <example value>
.
Вход в Azure
С помощью Azure PowerShell вы войдите в Azure Connect-AzAccount
и измените контекст подписки на Set-AzContext
подписку Azure A. Затем получите сведения о региональной подсистеме балансировки нагрузки с Get-AzLoadBalancer
помощью и Get-AzLoadBalancerFrontendIpConfig
. Вам потребуется идентификатор подписки Azure, имя группы ресурсов и имя виртуальной сети из вашей среды.
# Sign in to Azure
Connect-AzAccount
# Set the subscription context to Azure Subscription A
Set-AzContext -Subscription '<Subscription ID of Subscription A>'
# Get the Virtual Network information with Get-AzVirtualNetwork
$rlb= @{
Name = 'load-balancer-regional'
ResourceGroupName = 'resource-group-a'
}
$rlbinfo = Get-AzLoadBalancer @rlb
$rlbfe = Get-AzLoadBalancerFrontendIpConfig @rlbinfo
Создание или изменение группы ресурсов
В этом разделе описано, как создать группу ресурсов в подписке Azure B. Эта группа ресурсов используется для всех ресурсов, связываемых с подсистемой балансировки нагрузки.
С помощью Azure PowerShell вы переключаете контекст подписки и Set-AzContext
создаете группу ресурсов с New-AzResourceGroup
помощью .
# Set the subscription context to Azure Subscription B
Set-AzContext -Subscription '<Azure Subscription B>'
# Create a resource group
$rg = @{
Name = 'resource-group-b'
Location = 'eastus2'
}
New-AzResourceGroup @rg
Примечание.
При создании группы ресурсов для подсистемы балансировки нагрузки используйте тот же регион Azure, что и виртуальная сеть в подписке Azure A.
Создание глобальной подсистемы балансировки нагрузки
В этом разделе вы создадите ресурсы, необходимые для глобальной подсистемы балансировки нагрузки. Общедоступный IP-адрес SKU глобального стандарта используется для внешнего интерфейса глобальной подсистемы балансировки нагрузки.
С помощью Azure PowerShell вы:
- Используется
New-AzPublicIpAddress
для создания общедоступного IP-адреса. - Создайте интерфейсную IP-конфигурацию с
New-AzLoadBalancerFrontendIpConfig
помощью . - Создайте серверный пул адресов с
New-AzLoadBalancerBackendAddressPoolConfig
помощью . - Создайте правило подсистемы балансировки нагрузки с
Add-AzLoadBalancerRuleConfig
помощью . - Создайте глобальную подсистему балансировки нагрузки с
New-AzLoadBalancer
помощью .
# Create global IP address for load balancer
$ip = @{
Name = 'public-IP-global'
ResourceGroupName = 'resource-group-b'
Location = 'eastus2'
Sku = 'Standard'
Tier = 'Global'
AllocationMethod = 'Static'
}
$publicIP = New-AzPublicIpAddress @ip
# Create frontend configuration
$fe = @{
Name = 'front-end-config-global'
PublicIpAddress = $publicIP
}
$feip = New-AzLoadBalancerFrontendIpConfig @fe
# Create backend address pool
$be = @{
Name = 'backend-pool-global'
}
$bepool = New-AzLoadBalancerBackendAddressPoolConfig @be
# Create the load balancer rule
$rul = @{
Name = 'HTTP-rule-global'
Protocol = 'tcp'
FrontendPort = '80'
BackendPort = '80'
FrontendIpConfiguration = $feip
BackendAddressPool = $bepool
}
$rule = New-AzLoadBalancerRuleConfig @rul
# Create global load balancer resource
$lbp = @{
ResourceGroupName = 'resource-group-b'
Name = 'load-balancer-global'
Location = ‘eastus2’
Sku = 'Standard'
Tier = 'Global'
FrontendIpConfiguration = $feip
BackendAddressPool = $bepool
LoadBalancingRule = $rule
}
$lb = New-AzLoadBalancer @lbp
Добавление интерфейсов подсистемы балансировки нагрузки в глобальную подсистему балансировки нагрузки
В этом разделе описано, как добавить интерфейсную IP-конфигурацию в глобальную подсистему балансировки нагрузки.
С помощью Azure PowerShell вы:
- Используйте
Set-AzLoadBalancerFrontendIpConfig
для добавления внешнего интерфейса региональной подсистемы балансировки нагрузки в глобальный серверный пул. - Используется
New-AzLoadBalancerBackendAddressConfig
для создания конфигурации серверного пула адресов для подсистемы балансировки нагрузки.
## Create the global backend address pool configuration for region 2 ##
$rlbbaf = @{
Name = 'backend-pool-config-regional'
LoadBalancerFrontendIPConfigurationId = $rlbfe.Id
}
$beaddressconfigRLB = New-AzLoadBalancerBackendAddressConfig @region2ap
## Apply the backend address pool configuration for the global load balancer ##
$bepoolcr = @{
ResourceGroupName = 'resource-group-b'
LoadBalancerName = 'load-balancer-global'
Name = 'backend-pool-global'
LoadBalancerBackendAddress = $beaddressconfigRLB
}
Set-AzLoadBalancerBackendAddressPool @bepoolcr