Azure NAT Gatewayを使用して SNAT ポートをスケーリングする

Azure Firewallは、バックエンド仮想マシン スケール セット インスタンスごとに構成されたパブリック IP アドレスあたり 2,496 個の SNAT ポートを提供し (2 つ以上のインスタンス)、最大で 250 パブリック IP アドレスを関連付けることができます。 アーキテクチャとトラフィック パターンによっては、この構成で 1,248,000 を超える SNAT ポートが必要になる場合があります。 たとえば、Microsoft 365 Appsと統合される大規模な Azure Virtual Desktop デプロイを保護するために使用する場合です。

多数のパブリック IP アドレスを使用する場合の課題の 1 つは、ダウンストリームの IP アドレス フィルター要件がある場合です。 Azure Firewallは公開IPプレフィックス自体の付与をサポートしていませんが、公開IPプレフィックスからプロビジョニングされた個別の標準SKU公開IPアドレスを使用できます。 Azure Firewallが複数のパブリックIPアドレスに関連付けられている場合、ダウンストリームフィルタリングはそれに関連するすべてのパブリックIPアドレスを許可しなければなりません。 これらのアドレスを パブリックIPプレフィックスからプロビジョニングすれば、それぞれのアドレスを個別にリストする代わりに対応するプレフィックス範囲を許可できます。

送信 SNAT ポートをスケーリングして動的に割り当てるより優れたオプションは、Azure NAT Gatewayを使用することです。 パブリック IP アドレスあたり 64,512 個の SNAT ポートを提供し、最大 16 個の IPv4 パブリック IP アドレスをサポートします。 これにより、最大 1,032,192 個の送信 SNAT ポートが効果的に提供されます。 Azure NAT Gatewayサブネット レベルで SNAT ポートを動的に割り当てます。そのため、関連付けられている IP アドレスによって提供されるすべての SNAT ポートをオンデマンドで使用して送信接続を提供できます。

NATゲートウェイを AzureFirewallSubnetに関連付けると、ファイアウォールからの送信トラフィックはNATゲートウェイの公開IPアドレスを使用します。 ファイアウォールからNATゲートウェイ経由でトラフィックを送信するのに、追加のユーザー定義ルート(UDR)は必要ありません。 トラフィックをファイアウォールのプライベートIPアドレスに誘導する ワークロードのサブネットルート は保持して検査します。 アウトバウンドフローへのレスポンストラフィックもNATゲートウェイを通過します。 NATゲートウェイに複数のパブリックIPアドレスが関連付けられている場合、ランダムにアドレスを選択します。 どの住所を使うかは指定できません。

このアーキテクチャでは、二重 NAT はありません。 Azure Firewallインスタンスは、パブリック IP アドレスではなくプライベート IP アドレスを使用して NAT ゲートウェイにトラフィックAzure Firewall送信します。

複数のパブリック IP アドレスと NAT ゲートウェイを選択する

ファイアウォールの SNAT ポートが不足している場合は、複数のパブリック IP アドレスを追加するか、NAT ゲートウェイを使用できます。

  • コストが高く、スケールのニーズが中程度の場合は、複数のパブリック IP アドレスを追加します。 1つのパブリックIPアドレスはバックエンドインスタンスあたり2,496のSNATポートを追加し、最大250のパブリックIPアドレスを関連付けることができます。 手順については、「複数のパブリック IP アドレスを持つAzure Firewallをデプロイする」を参照してください。
  • サブネット間で動的なSNATポート割り当てが必要な場合はNATゲートウェイを使いましょう。 1つのパブリックIPアドレスあたり最大64,512のSNATポートを提供します。

長所と短所の完全な比較については、「Azure Firewallパフォーマンスのベスト プラクティス」を参照してください。

ポータル内でAzure Firewall展開の一環としてStandardV2 NATゲートウェイを作成するには、「Advanced」タブで「NATゲートウェイを有効にする」を選択してください。手順の詳細については、「StandardV2 NATゲートウェイでAzure Firewallを作成する」をご覧ください。 以下のPowerShellおよびCLIの例は、標準NATゲートウェイを既存のファイアウォールサブネットに関連付けています。

注意

ゾーン冗長ファイアウォールを備えたStandardV2 NATゲートウェイを使いましょう。 標準NATゲートウェイはゾーン冗長展開をサポートしません。 手順については、「Azure Firewall with NAT Gateway V2 の統合」をご覧ください。 SKU の違いの詳細については、「 NAT ゲートウェイ SKU」を参照してください。 Azure NAT Gatewayは、セキュアな仮想ハブ(vWAN)内ではサポートされていません。 vWANアーキテクチャでは、スポーク仮想ネットワーク上で直接NATゲートウェイを設定します。 ハブ仮想ネットワーク内のファイアウォールにNATゲートウェイを統合する手順については、「NATゲートウェイとAzure Firewall統合」チュートリアルをご覧ください。 Azure Firewall アーキテクチャ オプションの詳細については、「Azure Firewall Manager アーキテクチャ オプションとは」を参照してください>

NAT ゲートウェイを Azure Firewall サブネットに関連付ける - Azure PowerShell

次の例では、Azure PowerShellを使用して、Azure Firewall サブネットを持つ NAT ゲートウェイを作成してアタッチします。

# Create public IP addresses
New-AzPublicIpAddress -Name public-ip-1 -ResourceGroupName nat-rg -Sku Standard -AllocationMethod Static -Location 'South Central US'
New-AzPublicIpAddress -Name public-ip-2 -ResourceGroupName nat-rg -Sku Standard -AllocationMethod Static -Location 'South Central US'

# Create NAT gateway
$PublicIPAddress1 = Get-AzPublicIpAddress -Name public-ip-1 -ResourceGroupName nat-rg
$PublicIPAddress2 = Get-AzPublicIpAddress -Name public-ip-2 -ResourceGroupName nat-rg
New-AzNatGateway -Name firewall-nat -ResourceGroupName nat-rg -PublicIpAddress $PublicIPAddress1,$PublicIPAddress2 -Location 'South Central US' -Sku Standard

# Associate NAT gateway to subnet
$virtualNetwork = Get-AzVirtualNetwork -Name nat-vnet -ResourceGroupName nat-rg
$natGateway = Get-AzNatGateway -Name firewall-nat -ResourceGroupName nat-rg
$firewallSubnet = $virtualNetwork.subnets | Where-Object -Property Name -eq AzureFirewallSubnet
$firewallSubnet.NatGateway = $natGateway
$virtualNetwork | Set-AzVirtualNetwork

NAT ゲートウェイを Azure Firewall サブネットに関連付ける - Azure CLI

次の例では、Azure CLIを使用して、Azure Firewall サブネットを持つ NAT ゲートウェイを作成してアタッチします。

# Create public IP addresses
az network public-ip create --name public-ip-1 --resource-group nat-rg --sku standard
az network public-ip create --name public-ip-2 --resource-group nat-rg --sku standard
# Create NAT gateway
az network nat gateway create --name firewall-nat --resource-group nat-rg --public-ip-addresses public-ip-1 public-ip-2 --sku standard
# Associate NAT gateway to subnet
az network vnet subnet update --name AzureFirewallSubnet --vnet-name nat-vnet --resource-group nat-rg --nat-gateway firewall-nat

次のステップ