Azure PowerShell を使用して複数のパブリック IP アドレスを使用する Azure Firewall をデプロイする
この機能により、次のシナリオが可能になります。
- DNAT - 複数の標準ポート インスタンスをバックエンド サーバーに変換できます。 たとえば、2 つのパブリック IP アドレスがある場合、両方の IP アドレス用の TCP ポート 3389 (RDP) を変換できます。
- SNAT -送信 SNAT 接続に追加のポートを使用できるので、SNAT ポートが不足する可能性が低減されます。 Azure Firewall は、接続に使用する最初のソース パブリック IP アドレスをランダムに選択し、最初の IP のポートが使い果たされると別のパブリック IP を選択します。 ネットワークにダウンストリーム フィルターがある場合、ファイアウォールに関連付けられているすべてのパブリック IP アドレスを許可する必要があります。 この構成を簡略化するには、パブリック IP アドレス プレフィックスを使用することを検討してください。
Azure portal、Azure PowerShell、Azure CLI、REST、テンプレートで、複数のパブリック IP アドレスを持つ Azure Firewall を使用できます。
最大 250 個のパブリック IP アドレスを使用する Azure Firewall をデプロイできますが、DNAT 宛先ルールも最大 250 個にカウントされます。
パブリック IP + DNAT 宛先ルール = 最大 250。
Note
トラフィック量とスループットが大きいシナリオでは、NAT Gateway を使用してアウトバウンド接続を提供することが推奨されます。 SNAT ポートは、NAT Gateway に関連付けられているすべてのパブリック IP に動的に割り当てられます。 詳しくは、NAT Gateway と Azure Firewall の統合に関する記事をご覧ください。
以下の Azure PowerShell の例は、Azure Firewall のパブリック IP アドレスを構成、追加、および削除する方法を示しています。
重要
Azure Firewall のパブリック IP アドレス構成ページから最初の ipConfiguration を削除することはできません。 IP アドレスを変更する場合は、Azure PowerShell を使用できます。
2 つ以上のパブリック IP アドレスを使用するファイアウォールを作成する
この例では、2 つのパブリック IP アドレスで仮想ネットワーク vnet に接続されたファイアウォールを作成します。
$rgName = "resourceGroupName"
$vnet = Get-AzVirtualNetwork `
-Name "vnet" `
-ResourceGroupName $rgName
$pip1 = New-AzPublicIpAddress `
-Name "AzFwPublicIp1" `
-ResourceGroupName "rg" `
-Sku "Standard" `
-Location "centralus" `
-AllocationMethod Static
$pip2 = New-AzPublicIpAddress `
-Name "AzFwPublicIp2" `
-ResourceGroupName "rg" `
-Sku "Standard" `
-Location "centralus" `
-AllocationMethod Static
New-AzFirewall `
-Name "azFw" `
-ResourceGroupName $rgName `
-Location centralus `
-VirtualNetwork $vnet `
-PublicIpAddress @($pip1, $pip2)
既存のファイアウォールにパブリック IP アドレスを追加する
この例では、パブリック IP アドレス azFwPublicIp1 がファイアウォールにアタッチされます。
$pip = New-AzPublicIpAddress `
-Name "azFwPublicIp1" `
-ResourceGroupName "rg" `
-Sku "Standard" `
-Location "centralus" `
-AllocationMethod Static
$azFw = Get-AzFirewall `
-Name "AzureFirewall" `
-ResourceGroupName "rg"
$azFw.AddPublicIpAddress($pip)
$azFw | Set-AzFirewall
既存のファイアウォールからパブリック IP アドレスを削除する
この例では、パブリック IP アドレス azFwPublicIp1 がファイアウォールからデタッチされます。
$pip = Get-AzPublicIpAddress `
-Name "azFwPublicIp1" `
-ResourceGroupName "rg"
$azFw = Get-AzFirewall `
-Name "AzureFirewall" `
-ResourceGroupName "rg"
$azFw.RemovePublicIpAddress($pip)
$azFw | Set-AzFirewall