Bereitstellen eines Azure-Gatewaylastenausgleichs mit zwei Stapeln
In diesem Tutorial stellen Sie IPv6-Konfigurationen für einen bestehenden IPv4-konfigurierten Azure-Gatewaylastenausgleich bereit.
Folgendes wird beschrieben:
- Fügen Sie IPv6-Adressbereiche zu einem bestehenden Subnetz hinzu.
- Fügen Sie ein IPv6-Front-End zum Gatewaylastenausgleich hinzu.
- Fügen Sie einen IPv6-Backend-Pool zum Gatewaylastenausgleich hinzu.
- IPv6-Konfiguration zu Netzwerkschnittstellen hinzufügen.
- Fügen Sie eine Lastenausgleichsregel für IPv6-Datenverkehr hinzu.
- Verketten Sie das IPv6-Lastenausgleichs-Front-End mit dem Gatewaylastenausgleich.
Neben dem Gatewaylastenausgleich enthält dieses Szenario die folgenden schon bereitgestellten Ressourcen:
- Ein virtuelles Dual-Stack-Netzwerk und Subnetz.
- Einen Load Balancer Standard mit dualen (IPv4 + IPv6) Frontendkonfigurationen.
- Einen Gatewaylastenausgleich nur mit IPv4.
- Eine Netzwerkschnittstelle mit einer Dual-Stack-IP-Konfiguration, einer angefügten Netzwerksicherheitsgruppe und öffentlichen IPv4- und IPv6-Adressen.
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.
- Einen bestehenden Dual-Stack-Lastenausgleich. Weitere Informationen zur Erstellung eines Dual-Stack-Lastenausgleichs finden Sie unter Bereitstellen einer IPv6-Dual-Stack-Anwendung – Load Balancer Standard.
- Einen bestehenden IPv4-Gateway-Ausgleich. Weitere Informationen zum Erstellen eines Gatewaylastenausgleichs finden Sie unter Erstellen eines Gatewaylastenausgleichs.
Hinzufügen von IPv6-Adressbereichen zu einem bestehenden Subnetz
In diesem Artikel wird davon ausgegangen, dass Sie bereits einen Gatewaylastenausgleich für IPv4-Datenverkehr mit einem entsprechenden VNet und Subnetz konfiguriert haben. In diesem Schritt fügen Sie IPv6-Bereiche zum VNet und Subnetz Ihres Gatewaylastenausgleichs hinzu. Dieser Bereich wird benötigt, wenn Sie eine IPv6-Front-End-Konfiguration für Ihren Gatewaylastenausgleich mit einer privaten IP-Adresse aus diesem Subnetz/VNet erstellen.
#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
Hinzufügen eines IPv6-Front-Ends zum Gatewaylastenausgleich
Nachdem Sie nun IPv6-Präfixbereiche zum Subnetz und VNet Ihres Gatewaylastenausgleichs hinzugefügt haben, können Sie eine neue IPv6-Front-End-Konfiguration im Gatewaylastenausgleich mit einer IPv6-Adresse aus dem Subnetzbereich erstellen.
# 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
Hinzufügen eines IPv6-Back-End-Pools zum Gatewaylastenausgleich
Um IPv6-Datenverkehr zu verteilen, benötigen Sie einen Back-End-Pool, der Instanzen mit IPv6-Adressen umfasst. Zuerst erstellen Sie einen Back-End-Pool im Gatewaylastenausgleich. Im folgenden Schritt erstellen Sie IPv6-Konfigurationen für Ihre vorhandenen Backend-NICs für IPv4-Verkehr und verbinden sie mit diesem Back-End-Pool.
## 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
IPv6-Konfiguration zu Netzwerkschnittstellen hinzufügen
#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
Hinzufügen einer Lastausgleichsregel für IPv6-Verkehr
Lastausgleichsregeln bestimmen, wie der Datenverkehr an Ihre Back-End-Instanzen weitergeleitet wird. Für den Gatewaylastenausgleich erstellen Sie eine Lastenausgleichsregel mit aktivierten Hochverfügbarkeits-Ports, sodass Sie den Datenverkehr aller Protokolle, die auf allen Ports ankommen, überprüfen können.
# 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
Verkettung des IPv6-Lastenausgleich-Front-Ends mit dem Gatewaylastenausgleich-Instanz
In diesem letzten Schritt koppeln Sie das IPv6-Front-End Ihres bestehenden Load Balancer Standard mit dem IPv6-Front-End des Gatewaylastenausgleichs. Nun wird der gesamte IPv6-Datenverkehr, der zum Front-End Ihres Load Balancer Standard geleitet wird, an Ihren Gatewaylastenausgleich weitergeleitet, wo er von den konfigurierten NVAs überprüft wird, bevor er Ihre Anwendung erreicht.
## 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
Begrenzungen
- Der Gatewaylastenausgleich unterstützt NAT 64/46 nicht.
- Wenn Sie die Verkettung implementieren, muss die IP-Adressversion der Front-End-Konfigurationen des Load Balancer Standard und Gatewaylastenausgleichs übereinstimmen.
Nächste Schritte
- Erfahren Sie mehr über Azure-Gatewaylastenausgleich-Partner für die Bereitstellung virtueller Netzwerkgeräte.