Partilhar 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 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-AzAccounto 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-AzResourceGroupo .


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

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


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