Partilhar via


Anexar um front-end de assinatura cruzada a um Balanceador de Carga do Azure

Neste artigo, você aprenderá a criar um balanceador de carga em uma assinatura do Azure e anexar um endereço IP de front-end de outra assinatura. Você cria um grupo de recursos para o balanceador de carga e, em seguida, cria um balanceador de carga com um endereço IP frontend. Você também cria um pool de endereços de back-end, uma sonda de integridade e uma regra de balanceador de carga.

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 assinatura para a rede virtual e outra assinatura para o balanceador de carga.
  • Uma conta do Azure com subscrições ativas. Crie uma conta gratuitamente
  • Um endereço IP público implantado em uma das assinaturas. Neste exemplo, o endereço IP público está na Assinatura A do Azure.
  • Uma rede virtual existente. implantado em uma das assinaturas. Neste exemplo, a rede virtual está na Assinatura B do Azure.

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 de endereço IP público com Get-AzPublicIpAddress. 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 Public IP address information with Get-AzPublicIpAddress
$publicIp = Get-AzPublicIpAddress @pip

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

Nesta seção, você cria um balanceador de carga na Assinatura B do Azure. Você cria um balanceador de carga com um endereço IP frontend.

Crie um balanceador de carga com New-AzLoadBalancer, adicione uma configuração IP de front-end com Add-AzLoadBalancerFrontendIpConfige crie um pool de endereços de back-end com New-AzLoadBalancerBackendAddressPool.

# Create a load balancer

$tags = @{
'IsRemoteFrontend'= 'true'
}

$loadbalancer = @{
    ResourceGroupName = 'myResourceGroupLB'
    Name = 'myLoadBalancer'
    Location = 'westus'
    Sku = 'Standard'
    Tag = $tags
}


$LB = New-AzLoadBalancer @loadbalancer
 
$LBinfo = @{
    ResourceGroupName = 'myResourceGroupLB'
    Name = 'myLoadBalancer'
}


$fip = @{
    Name = 'Frontend Name'
    PublicIpAddress = $publicip
}
$LB = $LB | Add-AzLoadBalancerFrontendIpConfig @fip
$LB = $LB | Set-AzLoadBalancer

## Create backend address pool configuration and place in variable. 
$net = @{
    Name = 'vnet name'
    ResourceGroupName = 'myResourceGroupLB'
}
$vnet = Get-AzVirtualNetwork @net

$be = @{
    ResourceGroupName= "myResourceGroupLB"
    Name= "myBackEndPool"
    LoadBalancerName= "myLoadBalancer"
    VirtualNetwork=$vnet.id
    SyncMode= "Automatic"
}
 
#create the backend pool
$backend = New-AzLoadBalancerBackendAddressPool @be
$LB = Get-AzLoadBalancer @LBinfo

Criar uma regra de teste de integridade e balanceador de carga

Crie uma investigação de integridade que determine a integridade das instâncias de VM de back-end e uma regra de balanceador de carga que defina a configuração de IP de front-end para o tráfego de entrada, o pool de IP de back-end para receber o tráfego e a porta de origem e destino necessária.

Com o Azure PowerShell, crie uma investigação de integridade com Add-AzLoadBalancerProbeConfig a qual determine a integridade das instâncias de VM de back-end. Em seguida, crie uma regra de balanceador de carga que Add-AzLoadBalancerRuleConfig defina a configuração de IP de front-end para o tráfego de entrada, o pool de IP de back-end para receber o tráfego e a porta de origem e destino necessária.

## Create the health probe and place in variable. ##
$probe = @{
    Name = 'myHealthProbe2'
    Protocol = 'tcp'
    Port = '80'
    IntervalInSeconds = '360'
    ProbeCount = '5'
}

## Create the load balancer rule and place in variable. ##
$lbrule = @{
    Name = 'myHTTPRule2'
    Protocol = 'tcp'
    FrontendPort = '80'
    BackendPort = '80'
    IdleTimeoutInMinutes = '15'
    FrontendIpConfiguration = $LB.FrontendIpConfigurations[0]
    BackendAddressPool = $backend
}
## Set the load balancer resource. ##
$LB | Add-AzLoadBalancerProbeConfig @probe
$LB | Add-AzLoadBalancerRuleConfig  @lbrule
$LB | Set-AzLoadBalancer

Clean up resources (Limpar recursos)

Quando não for mais necessário, você poderá usar o comando Remove-AzResourceGroup para remover o grupo de recursos criado junto com o balanceador de carga e os recursos restantes.

Remove-AzResourceGroup -Name 'myResourceGroupLB'

Próximos passos