Criar um balanceador de carga global com back-ends entre assinaturas
Neste artigo, você aprenderá a criar um balanceador de carga global com back-ends entre assinaturas.
Um balanceador de carga entre assinaturas pode referenciar uma rede virtual que reside em uma assinatura diferente dos balanceadores de carga. Esse recurso permite implantar um balanceador de carga em uma assinatura e fazer referência a uma rede virtual em outra assinatura.
Pré-requisitos
- Duas assinaturas do Azure.
- Uma conta do Azure com assinaturas ativas. Crie uma conta gratuitamente
- Um endereço IP público global implantado na Assinatura A do Azure.
- Um balanceador de carga regional implantado na Assinatura B do Azure.
- O Azure PowerShell instalado localmente ou o Azure Cloud Shell.
Se você optar por instalar e usar o PowerShell localmente, este artigo exigirá o módulo do Azure PowerShell versão 5.4.1 ou posterior. Execute Get-Module -ListAvailable Az
para localizar a versão instalada. Se você precisa atualizar, consulte Instalar o módulo do Azure PowerShell. Se você estiver executando o PowerShell localmente, também precisará executar o Connect-AzAccount
para criar uma conexão com o Azure.
Importante
Todos os exemplos de código usarão nomes de exemplo e espaços reservados. Substitua-os pelos valores do seu ambiente.
Os valores que precisam de substituição serão colocados entre colchetes angulares, assim: <example value>
.
Entrar no Azure
Com o Azure PowerShell, você entra no Azure com Connect-AzAccount
e altera o contexto da assinatura com Set-AzContext
para a Assinatura A do Azure. Em seguida, obtenha as informações do balanceador de carga regional com Get-AzLoadBalancer
e `Get-AzLoadBalancerFrontendIpConfig. Você precisa da ID da assinatura do Azure, do nome do grupo de recursos e do nome da rede virtual do seu ambiente.
# Sign in to Azure
Connect-AzAccount
# Set the subscription context to Azure Subscription A
Set-AzContext -Subscription '<Azure Subscription A>'
# Get the Virtual Network information with Get-AzVirtualNetwork
$rlb= @{
Name = '<regional load balancer name>'
ResourceGroupName = '<Resource Group Subscription A>'
}
$RLB-info = Get-AzLoadBalancer @rlb
$RLBFE = Get-AzLoadBalancerFrontendIpConfig @ RLB-info
Criar um grupo de recursos
Nesta seção, você criará um grupo de recursos na Assinatura B do Azure. Esse grupo de recursos é para todos os seus recursos associados ao balanceador de carga.
Com o Azure PowerShell, você alterna o contexto de assinatura com Set-AzContext
e cria um grupo de recursos com 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
Observação
Ao criar o grupo de recursos para o balanceador de carga, use a mesma região do Azure que a rede virtual na Assinatura A do Azure.
Criar um balanceador de carga global
Nesta seção, você cria os recursos necessários para o balanceador de carga entre regiões. Um IP público de SKU padrão global é usado no front-end do balanceador de carga entre regiões.
Com o Azure PowerShell, você:
- Usa
New-AzPublicIpAddress
para criar o endereço IP público. - Cria uma configuração de IP de front-end com
New-AzLoadBalancerFrontendIpConfig
. - Criar um pool de endereços de back-end com
New-AzLoadBalancerBackendAddressPoolConfig
. - Cria uma regra do balanceador de carga com
Add-AzLoadBalancerRuleConfig
. - Cria um balanceador de carga global com
New-AzLoadBalancer
.
# Create global IP address for load balancer
$ip = @{
Name = 'myPublicIP-CR'
ResourceGroupName = ‘ Resource Group B’
Location = 'eastus2'
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 cross-region load balancer resource
$lbp = @{
ResourceGroupName = ‘ Resource Group B’
Name = 'myLoadBalancer-CR'
Location = ‘eastus2’
Sku = 'Standard'
Tier = 'Global'
FrontendIpConfiguration = $feip
BackendAddressPool = $bepool
LoadBalancingRule = $rule
}
$lb = New-AzLoadBalancer @lbp
Adiciona front-ends do balanceador de carga ao balanceador de carga entre regiões
Nesta seção, você adicionará uma configuração de IP de front-end ao balanceador de carga entre regiões.
Com o Azure PowerShell, você:
- Usa
Set-AzLoadBalancerFrontendIpConfig
para adicionar o front-end do balanceador de carga regional ao pool de back-end entre regiões. - Usa
New-AzLoadBalancerBackendAddressConfig
para criar a configuração do pool de endereços de back-end para o balanceador de carga.
## Create the cross-region backend address pool configuration for region 2 ##
$RLB-BAF = @{
Name = 'MyBackendPoolConfig-RLB'
LoadBalancerFrontendIPConfigurationId = $RLBFE.Id
}
$beaddressconfigRLB = New-AzLoadBalancerBackendAddressConfig @region2ap
## Apply the backend address pool configuration for the cross-region load balancer ##
$bepoolcr = @{
ResourceGroupName = ‘ Resource Group B’
LoadBalancerName = 'myLoadBalancer-CR'
Name = 'myBackEndPool-CR'
LoadBalancerBackendAddress = $beaddressconfigRLB
}
Set-AzLoadBalancerBackendAddressPool @bepoolcr