Поделиться через


Создание глобальной подсистемы балансировки нагрузки с внутренними серверными службами между подписками

Из этой статьи вы узнаете, как создать глобальную подсистему балансировки нагрузки с внутренними серверными службами между подписками.

Подсистема балансировки нагрузки между подписками может ссылаться на виртуальную сеть, которая находится в другой подписке, отличной от подсистем балансировки нагрузки. Эта функция позволяет развертывать подсистему балансировки нагрузки в одной подписке и ссылаться на виртуальную сеть в другой подписке.

Необходимые компоненты

  • Две подписки 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 вы:

# 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