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-AzAccount
o 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-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
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-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 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'