Anexar um front-end entre assinaturas a um Azure Load Balancer
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. Crie um grupo de recursos para o balanceador de carga e crie um balanceador de carga com um endereço IP de front-end. Você também cria um pool de endereços de back-end, uma investigação de integridade e uma regra de balanceador de carga.
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 assinatura para a rede virtual e outra para o balanceador de carga.
- Uma conta do Azure com assinaturas ativas. Crie uma conta gratuitamente
- Um endereço IP público implantado em uma das assinaturas. Para este exemplo, o endereço IP público está na Assinatura A do Azure.
- Uma Rede Virtual existente. implantada em uma das assinaturas. Para este exemplo, a rede virtual está na Assinatura B do Azure.
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 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ê 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
Nesta seção, você criará um balanceador de carga na Assinatura B do Azure. Você cria um balanceador de carga com um endereço IP de front-end.
Crie um balanceador de carga com New-AzLoadBalancer
, adicione uma configuração de IP de front-end com Add-AzLoadBalancerFrontendIpConfig
e 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 investigação de integridade e balanceador de carga
Crie uma investigação de integridade que determina a integridade das instâncias de VM de back-end e uma regra de balanceador de carga que define 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árias.
Com o Azure PowerShell, crie uma investigação de integridade com Add-AzLoadBalancerProbeConfig
que determina a integridade das instâncias de VM de back-end. Em seguida, crie uma regra de balanceador de carga com Add-AzLoadBalancerRuleConfig
que define a configuração de IP de front-end para o tráfego de entrada e o pool de IP de back-end para receber o tráfego, junto com as portas de origem e de destino necessárias.
## 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
Limpar os recursos
Quando não forem mais necessários, você poderá usar o comando Remove-AzResourceGroup para remover o grupo de recursos que você criou junto com o balanceador de carga e os recursos restantes.
Remove-AzResourceGroup -Name 'myResourceGroupLB'