Distribuera en Azure Gateway Load Balancer med dubbla staplar
I den här självstudien distribuerar du IPv6-konfigurationer till en befintlig IPv4-konfigurerad Azure Gateway Load Balancer.
Du får lära dig att:
- Lägg till IPv6-adressintervall i ett befintligt undernät.
- Lägg till en IPv6-klientdel i Gateway Load Balancer.
- Lägg till en IPv6-serverdelspool i Gateway Load Balancer.
- Lägg till IPv6-konfiguration i nätverksgränssnitt.
- Lägg till en belastningsutjämningsregel för IPv6-trafik.
- Länka IPv6-lastbalanserarens klientdel till Gateway Load Balancer.
Tillsammans med Gateway Load Balancer innehåller det här scenariot följande redan distribuerade resurser:
- Ett virtuellt nätverk och undernät med dubbla staplar.
- En standard load balancer med dubbla (IPv4 + IPv6) klientdelskonfigurationer.
- En Gateway Load Balancer med endast IPv4.
- Ett nätverksgränssnitt med en IP-konfiguration med dubbla staplar, en ansluten nätverkssäkerhetsgrupp och offentliga IPv4- och IPv6-adresser.
Förutsättningar
- Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
- En befintlig lastbalanserare med dubbla staplar. Mer information om hur du skapar en lastbalanserare med dubbla staplar finns i Distribuera IPv6-program med dubbla staplar – Standard Load Balancer.
- En befintlig IPv4-gatewaybalanserare. Mer information om hur du skapar en gateway-lastbalanserare finns i Skapa en gateway-lastbalanserare.
Lägga till IPv6-adressintervall i ett befintligt undernät
Den här artikeln förutsätter att du redan har en Gateway Load Balancer konfigurerad för IPv4-trafik, med ett motsvarande virtuellt nätverk och undernät. I det här steget lägger du till IPv6-intervall i gatewayens virtuella nätverk och undernät. Det här intervallet behövs när du skapar en IPv6-klientdelskonfiguration för gatewayens lastbalanserare med hjälp av en privat IP-adress från det här undernätet/det virtuella nätverket.
#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
Lägga till en IPv6-klientdel i gatewayens lastbalanserare
Nu när du har lagt till IPv6-prefixintervall i Gateway Load Balancers undernät och virtuella nätverk kan vi skapa en ny IPv6-klientdelskonfiguration på Gateway Load Balancer med en IPv6-adress från undernätets intervall.
# 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
Lägga till en IPv6-serverdelspool i gatewayens lastbalanserare
För att distribuera IPv6-trafik behöver du en serverdelspool som innehåller instanser med IPv6-adresser. Först skapar du en serverdelspool på Gateway Load Balancer. I följande steg skapar du IPv6-konfigurationer till dina befintliga nätverkskort för IPv4-trafik och kopplar dem till den här serverdelspoolen.
## 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
Lägga till IPv6-konfiguration i nätverksgränssnitt
#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
Lägga till en belastningsutjämningsregel för IPv6-trafik
Regler för belastningsutjämning avgör hur trafik dirigeras till dina serverdelsinstanser. För Gateway Load Balancer skapar du en belastningsutjämningsregel med HA-portar aktiverade, så att du kan inspektera trafiken för alla protokoll och komma till alla portar.
# 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
Länka IPv6-lastbalanserarens klientdel till gatewayens lastbalanserare
I det här sista steget kedjar du din befintliga IPv6-klientdel för Standard Load Balancer till Gateway Load Balancers IPv6-klientdel. Nu vidarebefordras all IPv6-trafik som är på väg till standardlastbalanserarens klientdel till gatewayens lastbalanserare för kontroll av de konfigurerade NVA:erna innan du når programmet.
## 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
Begränsningar
- Gateway load balancer stöder inte NAT 64/46.
- När du implementerar länkning måste IP-adressversionen av Standard- och Gateway Load Balancer-klientdelskonfigurationerna matcha.
Nästa steg
- Läs mer om Azure Gateway Load Balancer-partner för distribution av virtuella nätverksinstallationer.