Operations & Troubleshooting参照資料確認: 2026-09-11

Azure Firewall Troubleshooting

Azure Firewall障害をroute→rule processing→DNAT/SNAT→DNS→TLS/IDPS→return path→logsの順で切り分ける。

Scope: Microsoft Learn / Azure Architecture Centerの一次資料を2026-09-11時点で確認し、旧来の短い記事を公開運用向けdeep diveへ更新。SKU、region、limits、Preview statusは変わるため、実装直前にOfficial sourcesを再確認してください。

Azure Firewall Troubleshootingを理解するための前提

Azure FirewallはDNAT、Network、Applicationのrule typeとFirewall Policy hierarchyを持つ。 rule processingではDNAT→Network→Applicationのtype orderがあり、priority値だけでtype orderを逆転できない。

Network ruleでmatchするとapplication ruleは評価されない。 DNS proxy/application FQDNではname resolution behaviorがpolicy matchingへ影響する。

forced tunneling/NVA coexistenceではreturn pathとSNAT behaviorが非対称障害の原因になる。 Premium IDPS/TLS inspectionはL3/L4 allow後にもblock/handshake issueを発生させ得るためlogsを分離確認する。

通信や判断の流れを追う
症状を再現設定を確認能動試験ログ / packetアプリ確認

Control plane と data plane

Control planeFirewall Policy/RCG/collections/rules、DNS proxy、TLS/IDPS settings、UDR、Public IPがcontrol plane。
Data planesource subnet effective route→Firewall→DNAT/SNAT/rule evaluation→DNS/TLS/IDPS→destination→return pathのdata planeを追う。

仕組みと設計上の意味

first stepはFirewall logsではなくsource NICのeffective routeで本当にFirewallを通るか確認する。

DNAT inboundはtranslated destination/portとbackend return routeを同時に確認する。

application rule issueではclient DNSとFirewall DNS proxy resultの違いを確認する。

policy inheritanceがある場合parent RCGがchildよりprecedenceを持つ。

Packet / decision path

source→destinationを1本のflowとして固定し、名前解決・routing・security・NAT/service processing・return pathを必要な範囲で順に確認する。

  1. source effective route確認。
  2. Firewall health/provisioning確認。
  3. matching rule type/RCG/collection確認。
  4. NAT/DNS/TLS/IDPS logs確認。
  5. destination return path/application response確認。

設計判断

判断点推奨理由
Path firstsource effective routeを最初に確認Firewall未通過をrule問題と誤認しない
Rule typeDNAT→Network→Applicationを意識priorityだけで評価順を推測しない
L7DNS/TLS/IDPSを別レイヤーで確認L3/L4 allow後の失敗を切り分け
Symmetrybackend return pathを確認DNAT/forced tunnelingの片方向障害を防ぐ

確認手順

Azure Portal

  • Firewall Manager/Firewall PolicyでRCG/collection priorityを確認。
  • Firewall → Logs/metricsでnetwork/application/NAT/IDPS等を時間軸で確認。
  • source/destination NIC effective routeを確認。

Evidence contract

Identitysubscription / resource group / resource ID / regionを固定。
Before / After同じsource・destination・protocol・portで比較。
Effective state設定値だけでなくeffective route/security/health/logを取得。
Runtimecontrol-plane Succeededとapplication successを分けて判定。
Azure CLI — read-only first
az network firewall show -g <rg> -n <fw> -o jsonc
az network firewall policy show -g <rg> -n <policy> -o jsonc
az network nic show-effective-route-table -g <rg> -n <nic> -o table
PowerShell — read-only first
Get-AzFirewall -ResourceGroupName <rg> -Name <fw>
Get-AzFirewallPolicy -ResourceGroupName <rg> -Name <policy>

障害切り分け

症状疑う点証拠次の確認
特定portだけdenynetwork rule/protocol/priorityNetworkRule logsmatching rule確認
HTTP/Sだけdenyapplication/FQDN/TLS/IDPSApplication/IDPS logsL7 layer確認
Internet egress不可0/0 route/SNAT/DNSeffective route + firewall metricsegress chain確認
on-prem片方向BGP/UDR/return path両端effective routesymmetry修正

変更・rollback

  • change前にpolicy exportとrule hit evidenceを保存。
  • broad allowで原因回避せず、最小scopeのtemporary diagnostic ruleを使う。
  • rollbackはpolicy version/association/UDR/DNS settingをセットで戻す。
  • new flowで再検証しstateful sessionを排除。

Official sources