デュアルスタックの Azure Gateway Load Balancer をデプロイする
このチュートリアルでは、IPv6 構成を既存の IPv4 構成の Azure Gateway Load Balancer にデプロイします。
学習内容は、次のとおりです。
- 既存のサブネットに IPv6 アドレス範囲を追加します。
- Gateway Load Balancer に IPv6 フロントエンドを追加します。
- Gateway Load Balancer に IPv6 バックエンド プールを追加します。
- ネットワーク インターフェイスに IPv6 構成を追加します。
- IPv6 トラフィックの負荷分散規則を追加します。
- IPv6 ロード バランサー フロントエンドを Gateway Load Balancer にチェーンします。
Gateway Load Balancer と共に、このシナリオには、次の既にデプロイされているリソースが含まれています:
- デュアル スタック仮想ネットワークとサブネット。
- デュアル (IPv4 + IPv6) フロントエンド構成を備えた Standard Load Balancer。
- IPv4 のみの Gateway Load Balancer。
- デュアルスタック IP 構成、ネットワーク セキュリティ グループがアタッチされたネットワーク インターフェイス、およびパブリック IPv4 および IPv6 アドレス。
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
- 既存のデュアルスタック ロード バランサー。 デュアルスタック ロード バランサーの作成の詳細については、「IPv6 デュアル スタック アプリケーションのデプロイ - Standard Load Balancer」を参照してください。
- 既存の IPv4 ゲートウェイ バランサー。 ゲートウェイ ロード バランサーの作成の詳細については、「ゲートウェイ ロード バランサー の作成」を参照してください。
既存のサブネットに IPv6 アドレス範囲を追加する
この記事では、対応する仮想ネットワークとサブネットを使用して、IPv4 トラフィック用に Gateway Load Balancer が既に構成されていることを前提としています。 この手順では、Gateway Load Balancer の仮想ネットワークとサブネットに IPv6 範囲を追加します。 この範囲は、このサブネット/仮想ネットワークのプライベート IP アドレスを使用して Gateway Load Balancer の IPv6 フロントエンド構成を作成するときに必要です。
#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 プレフィックス範囲を追加したので、サブネットの範囲の IPv6 アドレスを使用して、Gateway Load Balancer に新しい 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 アドレスを持つインスタンスを含むバックエンド プールが必要です。 まず、Gateway Load Balancer にバックエンド プールを作成します。 次の手順では、IPv4 トラフィック用の既存のバックエンド NIC に IPv6 構成を作成し、それをこのバックエンド プールにアタッチします。
## 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 トラフィックの負荷分散規則を追加する
負荷分散規則は、トラフィックをバックエンド インスタンスにルーティングする方法を決定します。 Gateway Load Balancer の場合は、HA ポートが有効になっている負荷分散規則を作成して、すべてのポートに到着するすべてのプロトコルのトラフィックを検査できるようにします。
# 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 ロード バランサーフロントエンドをゲートウェイ ロード バランサーにチェーンする
この最後の手順では、既存の Standard Load Balancer の IPv6 フロントエンドを Gateway Load Balancer の IPv6 フロントエンドにチェーンします。 これで、Standard Load Balancer のフロントエンドに向かうすべての IPv6 トラフィックが、アプリケーションに到達する前に、構成された NVA による検査のために Gateway Load Balancer に転送されます。
## 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 はサポートされていません。
- チェーンを実装する場合、Standard と Gateway Load Balancer のフロントエンド構成の IP アドレス バージョンが一致している必要があります。
次のステップ
- ネットワーク仮想アプライアンスをデプロイするための Azure Gateway Load Balancer パートナー の詳細について説明します。