MENU

Azure Firewall入門|オンプレUTM・NGFWと比べてわかるクラウドファイアウォール設計と料金ガイド

オンプレでUTM(統合脅威管理)やNGFW(次世代ファイアウォール)をちゃんと運用してきたエンジニアが、Azure環境に移行したとき最初に戸惑うのが「NSGだけじゃダメなの?」という疑問です。NSG(Network Security Group)がすでにあるのに、なぜ別途Azure Firewallを立てる必要があるのか、コストに見合う価値があるのか、判断しにくいと感じる方も多いでしょう。

この記事では、Azure Firewallの基本的な仕組みを、オンプレのUTM・NGFWと比べながら解説します。デプロイ手順・ルール設定・料金の考え方・NSGとの役割分担まで、現場で即使える知識を体系的にお届けします。

目次

なぜAzure Firewallが必要なのか?(NSGだけでは不十分な理由)

「NSGでポート制御できるなら、それでいいんじゃないか」という考えは、オンプレ経験者には自然な発想です。NSGはAzureにおけるネットワークACLのようなもので、送信元・宛先IPアドレスとポート番号による制御が可能です。しかし、NSGにはいくつかの限界があります。

機能 NSG Azure Firewall
制御レイヤー L3/L4(IP・ポート) L3/L4/L7(FQDN・URL・TLS)
FQDNフィルタリング 不可 可能(Application Rules)
脅威インテリジェンス なし Microsoftのフィードで自動ブロック
ログ・可視化 NSGフローログ(基本的) Azure Monitor・Log Analytics連携
集中管理 サブネット・NIC単位 Hub VNetで一元管理
SNAT/DNAT なし あり
TLS検査 不可 可能(Premiumのみ)
IDPS(侵入検知・防止) 不可 可能(Premiumのみ)

オンプレで「Fortigate」「Palo Alto」「Cisco ASA」などを使っていたエンジニアなら、NSGは「静的なACLリスト」に相当し、Azure Firewallが「ちゃんとしたFW/UTM」に相当すると理解するとわかりやすいです。

例えば、Azure環境からインターネットへの送信トラフィックを制御したい場合、NSGだけでは「どのIPへ行くか」しか制御できません。しかしAzure Firewallなら「*.microsoft.comへのHTTPS通信は許可するが、それ以外は拒否」といったFQDNベースのアプリケーション制御が可能です。悪意ある既知のC2サーバーへの通信を、Microsoftの脅威インテリジェンスで自動ブロックすることもできます。

Azure Firewallの基本アーキテクチャ

Azure FirewallはHub-and-Spoke(ハブアンドスポーク)構成で使われることが多いです。これはオンプレの「中央ファイアウォール→各セグメント」という設計とほぼ同じ発想です。

1. Hub VNetにAzure Firewallを配置する

Azure Firewallは「AzureFirewallSubnet」という専用サブネット(最小/26)に配置します。このHub VNetと、各ワークロードが乗るSpoke VNetをVNet Peeringで接続します。

# Hub-and-Spike構成のイメージ [オンプレ] ←VPN/ExpressRoute→ [Hub VNet] ↓ [Azure Firewall] / | \ [Spoke1 VNet] [Spoke2 VNet] [Spoke3 VNet] (Web層) (App層) (管理系)

2. ルートテーブル(UDR)でトラフィックをFirewall経由にする

Azure Firewallを配置しただけでは、トラフィックは勝手にFirewallを通りません。Spoke VNetの各サブネットに対して、「インターネット向け(0.0.0.0/0)の次ホップをAzure FirewallのプライベートIPにする」というUDR(ユーザー定義ルート)を設定する必要があります。これがオンプレの「デフォルトゲートウェイをFWのIPに向ける」作業に相当します。

3. Azure Firewall PolicyでルールをIaC管理する

Azure Firewallのルール管理には「Firewall Policy」という独立したリソースを使うことを強く推奨します。Policyを使うと複数のFirewallで設定を共有できるほか、ARM templateやTerraformによるIaC管理が容易になります。

Azure Firewallのデプロイ手順(ポータル操作)

1. 前提リソースの準備

Azure Firewallをデプロイする前に、以下のリソースを準備します。

Hub VNet: AzureFirewallSubnetを/26以上のアドレスレンジで作成
パブリックIPアドレス: Azure FirewallのSNAT用(Standard SKU)
Azure Firewall Policy: 先にPolicyリソースを作成しておくとスムーズ

# Azure CLIでAzureFirewallSubnetを持つHub VNetを作成する例 az network vnet create \ --resource-group rg-hub \ --name vnet-hub \ --address-prefix 10.0.0.0/16 \ --subnet-name AzureFirewallSubnet \ --subnet-prefix 10.0.1.0/26 # パブリックIPアドレスの作成(Standard SKU必須) az network public-ip create \ --resource-group rg-hub \ --name pip-azfw \ --sku Standard \ --allocation-method Static

2. Azure Firewallのデプロイ

Azure PortalでAzure Firewallを検索し、「作成」を選択します。主要な設定項目は以下の通りです。

サブスクリプション・リソースグループ: Hub VNetと同じ場所に配置
名前: 命名規則に従って設定(例: azfw-hub-eastjp-001)
リージョン: Hub VNetと同じリージョン
ファイアウォール階層: Standard(通常用途)またはPremium(TLS検査・IDPS必要時)
仮想ネットワーク: Hub VNetを選択
パブリックIPアドレス: 先ほど作成したpip-azfwを選択
ファイアウォール ポリシー: 既存のPolicyを紐付け(または新規作成)

デプロイには10分程度かかります。NSGやセキュリティグループが数秒で適用されるのと違い、仮想アプライアンスとして起動するため時間がかかります。この点はオンプレのFW新規立ち上げと感覚が近いです。

3. ルートテーブル(UDR)の設定

Spoke VNetのサブネットにUDRを関連付けます。

# Azure CLIでルートテーブルを作成し、デフォルトルートをFirewall経由に設定 # AZFW_PRIVATE_IPはAzure FirewallのプライベートIPアドレス(例: 10.0.1.4) az network route-table create \ --resource-group rg-spoke1 \ --name rt-spoke1 az network route-table route create \ --resource-group rg-spoke1 \ --route-table-name rt-spoke1 \ --name DefaultToFirewall \ --address-prefix 0.0.0.0/0 \ --next-hop-type VirtualAppliance \ --next-hop-ip-address 10.0.1.4 # Spoke1のサブネットにルートテーブルを関連付け az network vnet subnet update \ --resource-group rg-spoke1 \ --vnet-name vnet-spoke1 \ --name snet-app \ --route-table rt-spoke1

ルール設定の基本(Network・Application・NATの3種類)

Azure Firewallのルールは3種類あります。優先度が低い数値ほど先に評価されます(例: 100→200→300の順)。

1. Networkルール(L3/L4制御)

送信元IP・宛先IP・プロトコル・ポートによる制御です。オンプレのACLルールと同等です。以下はSMTPサーバーからメールリレーを許可する例です。

# Azure CLIでNetworkルールコレクションを追加 az network firewall policy rule-collection-group collection add-filter-collection \ --policy-name afwpol-hub \ --resource-group rg-hub \ --rule-collection-group-name DefaultNetworkRuleCollectionGroup \ --name AllowSMTP \ --collection-priority 200 \ --action Allow \ --rule-name AllowOutboundSMTP \ --rule-type NetworkRule \ --source-addresses "10.1.0.0/24" \ --destination-addresses "*" \ --ip-protocols TCP \ --destination-ports 587

2. Applicationルール(FQDN制御)

これがNSGとの最大の差別化ポイントです。FQDNやURLパターンで送信トラフィックを制御できます。例えば「*.windows.net」「*.microsoft.com」へのHTTPS通信のみ許可し、その他のインターネット通信を拒否するといった設定が可能です。

# FQDNベースのApplicationルール追加例 az network firewall policy rule-collection-group collection add-filter-collection \ --policy-name afwpol-hub \ --resource-group rg-hub \ --rule-collection-group-name DefaultApplicationRuleCollectionGroup \ --name AllowAzureServices \ --collection-priority 300 \ --action Allow \ --rule-name AllowMicrosoftFQDNs \ --rule-type ApplicationRule \ --source-addresses "10.0.0.0/8" \ --protocols "https=443" \ --fqdn-tags WindowsUpdate MicrosoftActiveProtectionService

3. NATルール(DNAT:外部からの受信制御)

Azure FirewallのパブリックIPに届いたトラフィックを、内部のVMに転送するDNATルールです。オンプレのポートフォワーディング設定に相当します。

ルールタイプ 用途 オンプレ相当
Networkルール IP/ポートによるL3/L4フィルタリング ACL・パケットフィルタ
Applicationルール FQDN・URLによるL7フィルタリング プロキシサーバー・UTMのURLフィルタ
NATルール(DNAT) 外部からの受信トラフィック転送 ポートフォワーディング・静的NAT

料金の仕組み(コスト感覚を掴む)

Azure Firewallの料金は「デプロイ時間課金+データ処理課金」の二本立てです。2026年3月時点の東日本リージョン(Japan East)での参考料金は以下の通りです(USD)。

Standard階層: 約$1.25/時間(デプロイ)+ $0.016/GB(データ処理)
Premium階層: 約$1.878/時間(デプロイ)+ $0.016/GB(データ処理)
Basic階層: 約$0.31/時間(デプロイ)+ $0.016/GB(小規模・非本番向け)

月額に換算すると(Standard 1台、データ転送1TB/月の場合):

# 月額コスト試算(概算) デプロイ課金: $1.25 × 24時間 × 30日 ≒ $900/月 データ処理: $0.016 × 1,024GB ≒ $16/月 合計: ≒ $916/月(約13万円/月)

これがAzure Firewallの「重い」と言われる理由です。オンプレのFirewallは初期投資が大きく月額は安いですが、Azure Firewallは常に固定費が発生します。開発・検証環境では「使わない時間は削除する」か「Basic階層にする」ことでコストを抑えることができます。

また、Azure Firewallは高可用性(HA)を内蔵しており、オンプレでActiveStandby構成を組む際のライセンス×2やハードウェア×2のコストが不要という観点で考えると、意外とコストパフォーマンスが見合う場合も多いです。

応用・実務Tips

【Tips 1】NSGとAzure Firewallの役割分担

「NSGもAzure Firewallも両方設定する必要があるのか」という疑問は現場でよく出ます。答えは「両方使うのが正解」です。

NSG(マイクロセグメンテーション): サブネット・NIC単位の細かいL3/L4制御。Spoke内のVM間通信制御に使う。
Azure Firewall(境界制御): Hub-and-Spokeの出口でインターネットや他セグメントへの集中制御。FQDNやアプリ制御はここで行う。

オンプレで言うと「NSG=内部セグメント間のACL」「Azure Firewall=インターネット境界のUTM/NGFW」というイメージが近いです。

【Tips 2】強制トンネリング(オンプレへのバックホール)

オンプレと接続しているハイブリッド構成で「すべてのインターネット通信をオンプレのプロキシ経由にしたい」場合、Azure Firewallの「強制トンネリング」機能を使うことで実現できます。ただし、この設定はFirewall作成時にしか有効にできないため、後から追加はできません。

【Tips 3】Firewall PolicyによるIaC管理

ルールをAzure Portalで手動管理すると、どの設定が何のためにあるのか後から追いづらくなります。Terraform(azurerm_firewall_policy_rule_collection_groupリソース)またはARM templateでPolicy全体をコードで管理することを強く推奨します。変更履歴がGitで管理でき、チームでのレビューも可能になります。

【Tips 4】診断ログの有効化は必須

Azure Firewallは、デプロイしただけでは通信ログが記録されません。Log Analytics WorkspaceへのDiagnostic Settings(診断設定)を必ず有効にしてください。特に「AzureFirewallApplicationRule」「AzureFirewallNetworkRule」ログを有効にすることで、どのトラフィックが許可・拒否されたかを追跡できます。

よくあるトラブルと対処法

トラブル1: デプロイしても通信がFirewallを通らない

最も多いのがUDRの設定漏れです。Azure Firewallを配置しただけではトラフィックは通りません。Spoke VNetの各サブネットに「0.0.0.0/0 → Azure FirewallのプライベートIP」のルートテーブルを確実に紐付けてください。Azure Network Watcher(Next Hop機能)でトラフィックの経路を確認できます。

トラブル2: FQDNルールが機能しない

ApplicationルールのFQDNフィルタリングはTLS(HTTPS)通信をSNI(Server Name Indication)で判断します。クライアントのDNSがAzure Firewallを経由していない場合、FQDNが解決できず意図した動作になりません。Hub VNetのDNS設定を確認し、仮想マシンのDNSがAzure FirewallのプライベートIPを向いているか確認してください。

トラブル3: SNAT後のIPが予測できない

デフォルトでAzure Firewallは送信元トラフィックをSNATします。複数のパブリックIPを割り当てた場合、どのIPが使われるか事前に特定できません。外部サービスでIPホワイトリスト登録が必要な場合は、Firewall Policyの「SNAT設定」で特定のプライベートIPレンジからのトラフィックはSNATしないよう設定するか、固定のパブリックIPを明示的に紐付けるよう設計してください。

トラブル4: コストが予想より高い

開発環境でAzure Firewallを24時間365日動かし続けると月額10万円超になります。開発・検証では営業時間外にAzure Firewallを削除し(パブリックIPとVNetは残す)、翌朝再デプロイするスクリプトを組むか、Basic階層にダウングレードするとコストを大幅に抑えられます。ただし、再デプロイ時にプライベートIPが変わる可能性があるため、UDRの更新も自動化する必要があります。

本記事のまとめ

Azure Firewallは、単なるポートフィルタリングを超えた、オンプレUTM/NGFWに相当するクラウドネイティブなファイアウォールサービスです。

NSGとの違い: FQDNフィルタ・脅威インテリジェンス・集中ログ管理の3点が大きな差
アーキテクチャ: Hub VNetのAzureFirewallSubnetに配置し、UDRでトラフィックを経由させる
ルール種別: NetworkルールはL4制御、ApplicationルールはFQDN制御、NATルールはDNAT
料金: Standard約$1.25/時間の固定費が発生。本番は常時起動、開発は停止/削除で最適化
推奨: Firewall PolicyでIaC管理、診断ログは必ず有効化

Linuxサーバーの構築・運用の基礎については、姉妹サイトLinuxMaster.JPでも詳しく解説しています。クラウド上のLinux環境を安全に運用するための知識と合わせて参照してください。

Azure Firewallの設計、どこから手をつければいい?

Hub-and-Spoke構成やUDR設定など、Azure Firewallは設計の前提知識が多く、独学では抜け漏れが出やすいポイントです。
オンプレの経験を活かしながら、現場で使えるクラウドスキルを体系的に身につけたい方へ、メルマガで実践的なクラウド活用ノウハウをお届けしています。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次