Wdrażanie usługi Azure Gateway Load Balancer z dwoma stosami

W tym samouczku wdrożysz konfiguracje protokołu IPv6 w istniejącym skonfigurowanym protokołie IPv4 modułu równoważenia obciążenia usługi Azure Gateway.

Dowiesz się, jak wykonywać następujące czynności:

  • Dodaj zakresy adresów IPv6 do istniejącej podsieci.
  • Dodaj fronton IPv6 do modułu równoważenia obciążenia bramy.
  • Dodaj pulę zaplecza IPv6 do modułu równoważenia obciążenia bramy.
  • Dodaj konfigurację protokołu IPv6 do interfejsów sieciowych.
  • Dodaj regułę równoważenia obciążenia dla ruchu IPv6.
  • Łączenie frontonu modułu równoważenia obciążenia IPv6 z modułem równoważenia obciążenia bramy.

Wraz z modułem równoważenia obciążenia bramy ten scenariusz obejmuje następujące już wdrożone zasoby:

  • Sieć wirtualna i podsieć z podwójnym stosem.
  • Standardowy moduł równoważenia obciążenia z podwójnymi konfiguracjami frontonu (IPv4 + IPv6).
  • Moduł równoważenia obciążenia bramy tylko z protokołem IPv4.
  • Interfejs sieciowy z konfiguracją adresu IP z podwójnym stosem, dołączoną sieciową grupą zabezpieczeń i publicznymi adresami IPv4 i IPv6.

Wymagania wstępne

Dodawanie zakresów adresów IPv6 do istniejącej podsieci

W tym artykule założono, że masz już skonfigurowany moduł równoważenia obciążenia bramy dla ruchu IPv4 z odpowiednią siecią wirtualną i podsiecią. W tym kroku dodasz zakresy IPv6 do sieci wirtualnej i podsieci modułu równoważenia obciążenia bramy. Ten zakres jest potrzebny podczas tworzenia konfiguracji frontonu IPv6 dla modułu równoważenia obciążenia bramy przy użyciu prywatnego adresu IP z tej podsieci/sieci wirtualnej.


#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

Dodawanie frontonu IPv6 do modułu równoważenia obciążenia bramy

Teraz, po dodaniu zakresów prefiksów IPv6 do podsieci i sieci wirtualnej modułu równoważenia obciążenia bramy, możemy utworzyć nową konfigurację frontonu IPv6 w module równoważenia obciążenia bramy z adresem IPv6 z zakresu podsieci.


# 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 

Dodawanie puli zaplecza IPv6 do modułu równoważenia obciążenia bramy

Aby dystrybuować ruch IPv6, potrzebna jest pula zaplecza zawierająca wystąpienia z adresami IPv6. Najpierw należy utworzyć pulę zaplecza w module równoważenia obciążenia bramy. W poniższym kroku utworzysz konfiguracje IPv6 do istniejących kart sieciowych zaplecza dla ruchu IPv4 i dołączysz je do tej puli zaplecza.


## 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

Dodawanie konfiguracji protokołu IPv6 do interfejsów sieciowych


#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


Dodawanie reguły równoważenia obciążenia dla ruchu IPv6

Reguły równoważenia obciążenia określają sposób kierowania ruchu do wystąpień zaplecza. W przypadku modułu równoważenia obciążenia bramy należy utworzyć regułę równoważenia obciążenia z włączonymi portami wysokiej dostępności, aby można było sprawdzić ruch wszystkich protokołów przychodzących na wszystkich portach.


# 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
 

Łączenie frontonu modułu równoważenia obciążenia IPv6 z modułem równoważenia obciążenia bramy

W tym ostatnim kroku utworzysz łańcuch istniejących frontonów IPv6 usługa Load Balancer w warstwie Standardowa do frontonu IPv6 usługi Gateway Load Balancer. Teraz cały ruch IPv6 kierowany do frontonu usługa Load Balancer w warstwie Standardowa jest przekazywany do modułu równoważenia obciążenia bramy w celu przeprowadzenia inspekcji przez skonfigurowane urządzenia WUS przed dotarciem do aplikacji.


## 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

Ograniczenia

  • Moduł równoważenia obciążenia bramy nie obsługuje translatora adresów sieciowych 64/46.
  • Podczas implementowania tworzenia łańcucha musi być zgodna wersja adresu IP konfiguracji frontonu usługi Load Balancer w warstwie Standardowa i bramy.

Następne kroki

  • Dowiedz się więcej o partnerach usługi Azure Gateway Load Balancer na potrzeby wdrażania wirtualnych urządzeń sieciowych.