Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Из этой статьи вы узнаете, как создать подсистему балансировки нагрузки в одной подписке Azure и подключить внешний IP-адрес из другой подписки. Вы создаете группу ресурсов для подсистемы балансировки нагрузки, а затем создаете подсистему балансировки нагрузки с внешним IP-адресом. Вы также создаете серверный пул адресов, пробу работоспособности и правило подсистемы балансировки нагрузки.
Подсистема балансировки нагрузки между подписками может ссылаться на виртуальную сеть, которая находится в другой подписке, отличной от подсистем балансировки нагрузки. Эта функция позволяет развертывать подсистему балансировки нагрузки в одной подписке и ссылаться на виртуальную сеть в другой подписке.
Необходимые компоненты
- Две подписки Azure. Одна подписка для виртуальной сети и другая подписка для подсистемы балансировки нагрузки.
- Учетная запись Azure с активными подписками. Создание бесплатной учетной записи
- Общедоступный IP-адрес, развернутый в одной из подписок. В этом примере общедоступный IP-адрес находится в подписке Azure A.
- Существующий виртуальная сеть. развернуто в одной из подписок. В этом примере виртуальная сеть находится в подписке Azure B.
Чтобы установить и использовать 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. Затем получите сведения об общедоступном IP-адресе с Get-AzPublicIpAddressпомощью . Вам потребуется идентификатор подписки Azure, имя группы ресурсов и имя виртуальной сети из вашей среды.
# Sign in to Azure
Connect-AzAccount
# Set the subscription context to Azure Subscription A
Set-AzContext -Subscription '<Azure Subscription A>'
# Get the Public IP address information with Get-AzPublicIpAddress
$publicIp = Get-AzPublicIpAddress @pip
Создание или изменение группы ресурсов
В этом разделе описано, как создать группу ресурсов в подписке 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 = 'myResourceGroupLB'
Location = 'westus'
}
New-AzResourceGroup @rg
Примечание.
При создании группы ресурсов для подсистемы балансировки нагрузки используйте тот же регион Azure, что и виртуальная сеть в подписке Azure A.
Создание подсистемы балансировки нагрузки
В этом разделе описано, как создать подсистему балансировки нагрузки в подписке Azure B. Вы создаете подсистему балансировки нагрузки с внешним IP-адресом.
Создайте подсистему балансировки нагрузки, New-AzLoadBalancerдобавьте интерфейсную IP-конфигурацию с Add-AzLoadBalancerFrontendIpConfigпомощью и создайте пул внутренних адресов с New-AzLoadBalancerBackendAddressPoolпомощью .
# Create a load balancer
$tags = @{
'IsRemoteFrontend'= 'true'
}
$loadbalancer = @{
ResourceGroupName = 'myResourceGroupLB'
Name = 'myLoadBalancer'
Location = 'westus'
Sku = 'Standard'
Tag = $tags
}
$LB = New-AzLoadBalancer @loadbalancer
$LBinfo = @{
ResourceGroupName = 'myResourceGroupLB'
Name = 'myLoadBalancer'
}
$fip = @{
Name = 'Frontend Name'
PublicIpAddress = $publicip
}
$LB = $LB | Add-AzLoadBalancerFrontendIpConfig @fip
$LB = $LB | Set-AzLoadBalancer
## Create backend address pool configuration and place in variable.
$net = @{
Name = 'vnet name'
ResourceGroupName = 'myResourceGroupLB'
}
$vnet = Get-AzVirtualNetwork @net
$be = @{
ResourceGroupName= "myResourceGroupLB"
Name= "myBackEndPool"
LoadBalancerName= "myLoadBalancer"
VirtualNetwork=$vnet.id
SyncMode= "Automatic"
}
#create the backend pool
$backend = New-AzLoadBalancerBackendAddressPool @be
$LB = Get-AzLoadBalancer @LBinfo
Создание правила пробы работоспособности и подсистемы балансировки нагрузки
Создайте пробу работоспособности, которая определяет работоспособность экземпляров внутренних виртуальных машин и правило подсистемы балансировки нагрузки, определяющее конфигурацию внешнего IP-адреса для входящего трафика, внутренний пул IP-адресов для получения трафика и необходимый исходный и конечный порт.
С помощью Azure PowerShell создайте пробу работоспособности, Add-AzLoadBalancerProbeConfig определяющую работоспособность экземпляров серверной виртуальной машины. Затем создайте правило подсистемы балансировки нагрузки, Add-AzLoadBalancerRuleConfig определяющее конфигурацию внешнего IP-адреса для входящего трафика, серверный пул IP-адресов для получения трафика и необходимый исходный и конечный порт.
## Create the health probe and place in variable. ##
$probe = @{
Name = 'myHealthProbe2'
Protocol = 'tcp'
Port = '80'
IntervalInSeconds = '360'
ProbeCount = '5'
}
## Create the load balancer rule and place in variable. ##
$lbrule = @{
Name = 'myHTTPRule2'
Protocol = 'tcp'
FrontendPort = '80'
BackendPort = '80'
IdleTimeoutInMinutes = '15'
FrontendIpConfiguration = $LB.FrontendIpConfigurations[0]
BackendAddressPool = $backend
}
## Set the load balancer resource. ##
$LB | Add-AzLoadBalancerProbeConfig @probe
$LB | Add-AzLoadBalancerRuleConfig @lbrule
$LB | Set-AzLoadBalancer
Очистка ресурсов
При отсутствии необходимости можно использовать команду Remove-AzResourceGroup для удаления группы ресурсов, созданной вместе с подсистемой балансировки нагрузки, и остальных ресурсов.
Remove-AzResourceGroup -Name 'myResourceGroupLB'