Развертывание подсистемы балансировки нагрузки шлюза Azure с двумя стеками
В этом руководстве описано, как развернуть конфигурации IPv6 в существующем настроенном IPv4-шлюзе Azure Load Balancer.
Вы научитесь выполнять следующие задачи:
- Добавьте диапазоны адресов IPv6 в существующую подсеть.
- Добавьте интерфейс IPv6 в Подсистему балансировки нагрузки шлюза.
- Добавьте внутренний пул IPv6 в шлюз Load Balancer.
- Добавьте конфигурацию IPv6 в сетевые интерфейсы.
- Добавьте правило балансировки нагрузки для трафика IPv6.
- Прицепляет интерфейс подсистемы балансировки нагрузки IPv6 к шлюзу Load Balancer.
Наряду с подсистемой балансировки нагрузки шлюза этот сценарий включает следующие уже развернутые ресурсы:
- Виртуальная сеть и подсеть двойного стека.
- Стандартная подсистема балансировки нагрузки с двумя интерфейсными конфигурациями (IPv4 и IPv6).
- Подсистема балансировки нагрузки шлюза только с IPv4.
- Сетевой интерфейс с ip-конфигурацией с двумя стеками, подключенной группой безопасности сети и общедоступными IPv4 и IPv6-адресами.
Необходимые компоненты
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
- Существующий подсистема балансировки нагрузки с двумя стеками. Дополнительные сведения о создании подсистемы балансировки нагрузки с двумя стеками см. в статье "Развертывание приложения с двойным стеком IPv6" Load Balancer (цен. категория .
- Существующий балансировщик шлюза IPv4. Дополнительные сведения о создании подсистемы балансировки нагрузки шлюза см. в статье "Создание подсистемы балансировки нагрузки шлюза".
Добавление диапазонов адресов IPv6 в существующую подсеть
В этой статье предполагается, что у вас уже есть подсистема балансировки нагрузки шлюза, настроенная для трафика IPv4 с соответствующей виртуальной сетью и подсетью. На этом шаге вы добавите диапазоны IPv6 в виртуальную сеть и подсеть шлюза Load Balancer. Этот диапазон необходим при создании конфигурации внешнего интерфейса IPv6 для подсистемы балансировки нагрузки шлюза с помощью частного IP-адреса из этой подсети или виртуальной сети.
#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
Добавление внешнего интерфейса IPv6 в подсистему балансировки нагрузки шлюза
Теперь, когда вы добавили диапазоны префикса IPv6 в подсеть и виртуальную сеть Шлюза Load Balancer, можно создать новую конфигурацию интерфейсного интерфейса IPv6 в подсистеме балансировки нагрузки шлюза с IPv6-адресом из диапазона подсети.
# 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
Добавление серверного пула IPv6 в подсистему балансировки нагрузки шлюза
Для распространения трафика IPv6 требуется внутренний пул, содержащий экземпляры с IPv6-адресами. Во-первых, вы создадите внутренний пул в подсистеме балансировки нагрузки шлюза. На следующем шаге вы создадите конфигурации IPv6 к существующим сетевым адаптерам серверной части для трафика IPv4 и подключите их к этому внутреннему пулу.
## 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 в сетевые интерфейсы
#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
Добавление правила балансировки нагрузки для трафика IPv6
Правила балансировки нагрузки определяют, как трафик направляется в серверные экземпляры. Для подсистемы балансировки нагрузки шлюза создается правило балансировки нагрузки с включенными портами высокого уровня доступности, чтобы можно было проверить трафик всех протоколов, поступающих на все порты.
# 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
Цепочка внешнего интерфейса подсистемы балансировки нагрузки IPv6 с подсистемой балансировки нагрузки шлюза
На этом последнем шаге вы зацепите существующий интерфейс IPv6 Load Balancer (цен. категория с интерфейсом IPv6 шлюза Load Balancer шлюза. Теперь весь трафик IPv6, который направляется на интерфейс Load Balancer (цен. категория , перенаправляется в подсистему балансировки нагрузки шлюза для проверки настроенными NVAs перед достижением приложения.
## 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
Ограничения
- Подсистема балансировки нагрузки шлюза не поддерживает NAT 64/46.
- При реализации цепочки интерфейсные конфигурации ip-адреса уровня "Стандартный" и "Подсистема балансировки нагрузки шлюза" должны соответствовать.
Следующие шаги
- Дополнительные сведения о партнерах Load Balancer шлюза Azure для развертывания виртуальных сетевых устройств.