Compartilhar via


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-AzContextpara 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ê:

# 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ê:


## 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