Share via


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.

Vai aprender a:

  • Adicione intervalos de endereços IPv6 a uma sub-rede existente.
  • Adicione um frontend IPv6 ao Balanceador de Carga de Gateway.
  • Adicione um pool de back-end IPv6 ao Balanceador de Carga de Gateway.
  • Adicione a 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 Gateway Load Balancer.

Junto com o Balanceador de Carga de 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 de frontend duplas (IPv4 + IPv6).
  • Um balanceador de carga de gateway apenas 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 ou IPv6 públicos.

Pré-requisitos

Adicionar intervalos de endereços IPv6 a uma sub-rede existente

Este artigo pressupõe que você já tenha um Balanceador de Carga de Gateway configurado para tráfego IPv4, com uma VNET e uma sub-rede correspondentes. Nesta etapa, você adiciona intervalos IPv6 à VNET e à sub-rede do Balanceador de Carga de Gateway. Esse intervalo é necessário ao criar uma configuração de front-end IPv6 para seu Balanceador de Carga de Gateway usando um endereço IP privado dessa sub-rede/VNET.


#Add IPv6 ranges to the VNET and subnet
#Retrieve the VNET object
$rg = Get-AzResourceGroup  -ResourceGroupName "myResourceGroup"
$vnet = Get-AzVirtualNetwork  -ResourceGroupName $rg.ResourceGroupName -Name "myVNet"  

#Add IPv6 prefix to the VNET
$vnet.addressspace.addressprefixes.add("fd00:db8:deca::/48")

#Update the running VNET
$vnet |  Set-AzVirtualNetwork

#Retrieve the subnet object from the local copy of the VNET
$subnet= $vnet.subnets[0]

#Add IPv6 prefix to the subnet
$subnet.addressprefix.add("fd00:db8:deca::/64")

#Update the running VNET with the new subnet configuration
$vnet |  Set-AzVirtualNetwork

Adicionar um frontend IPv6 ao balanceador de carga do gateway

Agora que você adicionou intervalos de prefixos IPv6 à sub-rede e à VNET do Balanceador de Carga de Gateway, podemos criar uma nova configuração de frontend IPv6 no Balanceador de Carga de Gateway, com um endereço IPv6 do intervalo da 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 de 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 front-end IPv6 existente do Standard Load Balancer ao frontend IPv6 do Gateway Load Balancer. Agora, todo o tráfego IPv6 direcionado para o frontend do seu Balanceador de Carga Padrão é encaminhado para o seu Balanceador de Carga de Gateway para inspeção pelos NVAs configurados antes de chegar ao seu 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 suporta NAT 64/46.
  • Quando você implementa o encadeamento, a versão do endereço IP das configurações de front-end do Standard e do Gateway Load Balancer deve corresponder.

Próximos passos

  • Saiba mais sobre os parceiros do Balanceador de Carga do Gateway do Azure para implantar dispositivos virtuais de rede.