Implantar um Balanceador de carga do gateway do Azure de pilha dupla
Neste tutorial, você implanta configurações IPv6 em um Balanceador de carga do gateway do Azure configurado para IPv4 existente.
Você aprenderá a:
- Adicione intervalos de endereços IPv6 a uma sub-rede existente.
- Adicione um frontend IPv6 ao Balanceador de carga do gateway.
- Adicione um pool de back-end IPv6 ao Balanceador de carga do gateway.
- Adicione configuração IPv6 às interfaces de rede.
- Adicione uma regra de balanceamento de carga para o tráfego IPv6.
- Encadeie o frontend do balanceador de carga IPv6 ao Balanceador de carga do gateway.
Junto com o Balanceador de carga do gateway, esse cenário inclui os seguintes recursos já implantados:
- Uma rede virtual de pilha dupla e sub-rede.
- Um Load Balancer padrão com configurações front-end duplas (IPv4 + IPv6).
- Um Balanceador de carga do gateway somente com IPv4.
- Uma interface de rede com uma configuração IP de pilha dupla, um grupo de segurança de rede anexado e endereços IPv4 e IPv6 públicos.
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
- Um balanceador de carga de pilha dupla existente. Para obter mais informações sobre como criar um balanceador de carga de pilha dupla, consulte Implantar aplicativo de pilha dupla IPv6 - Standard Load Balancer.
- Um balanceador de gateway IPv4 existente. Para obter mais informações sobre como criar um Balanceador de carga do gateway, consulte Criar um Balanceador de carga do gateway.
Adicionar intervalos de endereços IPv6 a uma sub-rede existente
Esse artigo pressupõe que você já tenha um Gateway Load Balancer configurado para tráfego IPv4, com uma rede virtual e sub-rede correspondentes. Nessa etapa, você adiciona intervalos IPv6 à rede virtual e à sub-rede do seu Balanceador de carga de gateway. Esse intervalo é necessário ao criar uma configuração de front-end IPv6 para seu Gateway Load Balancer usando um endereço IP privado desta sub-rede/rede virtual.
#Add IPv6 ranges to the virtual network and subnet
#Retrieve the virtual network object
$rg = Get-AzResourceGroup -ResourceGroupName "myResourceGroup"
$vnet = Get-AzVirtualNetwork -ResourceGroupName $rg.ResourceGroupName -Name "myVNet"
#Add IPv6 prefix to the virtual network
$vnet.addressspace.addressprefixes.add("fd00:db8:deca::/48")
#Update the running virtual network
$vnet | Set-AzVirtualNetwork
#Retrieve the subnet object from the local copy of the virtual network
$subnet= $vnet.subnets[0]
#Add IPv6 prefix to the subnet
$subnet.addressprefix.add("fd00:db8:deca::/64")
#Update the running virtual network with the new subnet configuration
$vnet | Set-AzVirtualNetwork
Adicionar um frontend IPv6 ao Balanceador de carga do gateway
Agora que você adicionou intervalos de prefixo IPv6 à sub-rede e à rede virtual do seu Gateway Load Balancer, podemos criar uma nova configuração de front-end IPv6 no Gateway Load Balancer, com um endereço IPv6 do intervalo da sua sub-rede.
# Retrieve the load balancer configuration
$gwlb = Get-AzLoadBalancer -ResourceGroupName "myResourceGroup"-Name "myGatewayLoadBalancer"
# Add IPv6 frontend configuration to the local copy of the load balancer configuration
$gwlb | Add-AzLoadBalancerFrontendIpConfig `
-Name "myGatewayFrontEndv6" `
-PrivateIpAddressVersion "IPv6" `
-Subnet $subnet
#Update the running load balancer with the new frontend
$gwlb | Set-AzLoadBalancer
Adicionar um pool de back-end IPv6 ao Balanceador de carga do gateway
Para distribuir o tráfego IPv6, você precisa de um pool de back-end contendo instâncias com endereços IPv6. Primeiro, você cria um pool de back-end no Balanceador de carga do gateway. Na etapa a seguir, você cria configurações IPv6 para suas NICs de back-end existentes para tráfego IPv4 e as anexa a esse pool de back-end.
## Create IPv6 tunnel interfaces
$int1 = @{
Type = 'Internal'
Protocol = 'Vxlan'
Identifier = '866'
Port = '2666'
}
$tunnelInterface1 = New-AzLoadBalancerBackendAddressPoolTunnelInterfaceConfig @int1
$int2 = @{
Type = 'External'
Protocol = 'Vxlan'
Identifier = '867'
Port = '2667'
}
$tunnelInterface2 = New-AzLoadBalancerBackendAddressPoolTunnelInterfaceConfig @int2
# Create the IPv6 backend pool
$pool = @{
Name = 'myGatewayBackendPoolv6'
TunnelInterface = $tunnelInterface1,$tunnelInterface2
}
# Add the backend pool to the load balancer
$gwlb | Add-AzLoadBalancerBackendAddressPoolConfig @pool
# Update the load balancer
$gwlb | Set-AzLoadBalancer
Adicionar configuração IPv6 a interfaces de rede
#Retrieve the NIC object
$NIC_1 = Get-AzNetworkInterface -Name "myNic1" -ResourceGroupName $rg.ResourceGroupName
$backendPoolv6 = Get-AzLoadBalancerBackendAddressPoolConfig -Name "myGatewayBackendPoolv6" -LoadBalancer $gwlb
#Add an IPv6 IPconfig to NIC_1 and update the NIC on the running VM
$NIC_1 | Add-AzNetworkInterfaceIpConfig -Name myIPv6Config -Subnet $vnet.Subnets[0] -PrivateIpAddressVersion IPv6 -LoadBalancerBackendAddressPool $backendPoolv6
$NIC_1 | Set-AzNetworkInterface
Adicionar uma regra de balanceamento de carga para tráfego IPv6
As regras de balanceamento de carga determinam como o tráfego é roteado para suas instâncias de back-end. Para o Balanceador de carga do gateway, você cria uma regra de balanceamento de carga com portas HA habilitadas, para que possa inspecionar o tráfego de todos os protocolos, chegando em todas as portas.
# Retrieve the updated (live) versions of the frontend and backend pool, and existing health probe
$frontendIPv6 = Get-AzLoadBalancerFrontendIpConfig -Name "myGatewayFrontEndv6" -LoadBalancer $gwlb
$backendPoolv6 = Get-AzLoadBalancerBackendAddressPoolConfig -Name "myGatewayBackendPoolv6" -LoadBalancer $gwlb
$healthProbe = Get-AzLoadBalancerProbeConfig -Name "myHealthProbe" -LoadBalancer $gwlb
# Create new LB rule with the frontend and backend
$gwlb | Add-AzLoadBalancerRuleConfig `
-Name "myRulev6" `
-FrontendIpConfiguration $frontendIPv6 `
-BackendAddressPool $backendPoolv6 `
-Protocol All `
-FrontendPort 0 `
-BackendPort 0 `
-Probe $healthProbe
#Finalize all the load balancer updates on the running load balancer
$gwlb | Set-AzLoadBalancer
Encadear o front-end do balanceador de carga IPv6 ao Balanceador de carga do gateway
Nesta etapa final, você encadeará o frontend IPv6 do Standard Load Balancer existente ao frontend IPv6 do Balanceador de carga do gateway. Agora, todo o tráfego IPv6 direcionado para o front-end do Standard Load Balancer é encaminhado para o Balanceador de carga do gateway para inspeção pelos NVAs configurados antes de chegar ao aplicativo.
## Place the existing Standard load balancer into a variable. ##
$par1 = @{
ResourceGroupName = 'myResourceGroup'
Name = 'myLoadBalancer'
}
$lb = Get-AzLoadBalancer @par1
## Place the public frontend IP of the Standard load balancer into a variable.
$par3 = @{
ResourceGroupName = 'myResourceGroup'
Name = 'myIPv6PublicIP'
}
$publicIP = Get-AzPublicIPAddress @par3
## Chain the Gateway load balancer to your existing Standard load balancer frontend. ##
# $feip = Get-AzLoadBalancerFrontendIpConfig -Name "myGatewayFrontEndv6" -LoadBalancer $gwlb
$par4 = @{
Name = 'myIPv6FrontEnd'
PublicIPAddress = $publicIP
LoadBalancer = $lb
GatewayLoadBalancerId = $feip.id
}
$config = Set-AzLoadBalancerFrontendIpConfig @par4
$config | Set-AzLoadBalancer
Limitações
- O Balanceador de carga do gateway não oferece suporte ao NAT 64/46.
- Quando você implementa o encadeamento, a versão de endereço IP das configurações de front-end Standard e Balanceador de carga do gateway deve corresponder.
Próximas etapas
- Saiba mais sobre parceiros do Balanceador de carga do gateway do Azure para implantar dispositivos virtuais de rede.