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 de assinatura cruzada.
Um balanceador de carga entre assinaturas pode fazer referência a 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 subscrições 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.
- Azure PowerShell instalado localmente ou Azure Cloud Shell.
Se optar por instalar e utilizar o PowerShell localmente, este artigo requer a versão 5.4.1 ou posterior do módulo Azure PowerShell. Execute Get-Module -ListAvailable Az
para localizar a versão instalada. Se precisar de atualizar, veja Install Azure PowerShell module (Instalar o módulo do Azure PowerShell). Se você estiver executando o PowerShell localmente, também precisará executar 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. Certifique-se de substituí-los pelos valores do seu ambiente.
Os valores que necessitam de substituição serão colocados entre parênteses angulares, da seguinte forma: <example value>
.
Iniciar sessão no Azure
Com o Azure PowerShell, você entra no Azure com Connect-AzAccount
o e altera o contexto da assinatura com Set-AzContext
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ê cria um grupo de recursos na Assinatura B do Azure. Este grupo de recursos destina-se a todos os seus recursos associados ao seu balanceador de carga.
Com o Azure PowerShell, você alterna o contexto de assinatura e Set-AzContext
cria um grupo de recursos com New-AzResourceGroup
o .
# 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
Nota
Ao criar o grupo de recursos para seu 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 para o frontend do balanceador de carga entre regiões.
Com o Azure PowerShell, você:
- Use
New-AzPublicIpAddress
para criar o endereço IP público. - Crie uma configuração de IP frontend com
New-AzLoadBalancerFrontendIpConfig
o . - Crie um pool de endereços de back-end com
New-AzLoadBalancerBackendAddressPoolConfig
o . - Crie uma regra de balanceador de carga com
Add-AzLoadBalancerRuleConfig
o . - Crie um balanceador de carga global com
New-AzLoadBalancer
o .
# 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
Adicionar front-ends do balanceador de carga ao balanceador de carga entre regiões
Nesta seção, você adiciona uma configuração IP de front-end ao balanceador de carga entre regiões.
Com o Azure PowerShell, você:
- Use
Set-AzLoadBalancerFrontendIpConfig
para adicionar o frontend do balanceador de carga regional ao pool de back-end entre regiões. - Use
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