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を分離確認する。
Control plane と 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を必要な範囲で順に確認する。
- source effective route確認。
- Firewall health/provisioning確認。
- matching rule type/RCG/collection確認。
- NAT/DNS/TLS/IDPS logs確認。
- destination return path/application response確認。
設計判断
| 判断点 | 推奨 | 理由 |
|---|---|---|
| Path first | source effective routeを最初に確認 | Firewall未通過をrule問題と誤認しない |
| Rule type | DNAT→Network→Applicationを意識 | priorityだけで評価順を推測しない |
| L7 | DNS/TLS/IDPSを別レイヤーで確認 | L3/L4 allow後の失敗を切り分け |
| Symmetry | backend 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
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 tableGet-AzFirewall -ResourceGroupName <rg> -Name <fw>
Get-AzFirewallPolicy -ResourceGroupName <rg> -Name <policy>
障害切り分け
| 症状 | 疑う点 | 証拠 | 次の確認 |
|---|---|---|---|
| 特定portだけdeny | network rule/protocol/priority | NetworkRule logs | matching rule確認 |
| HTTP/Sだけdeny | application/FQDN/TLS/IDPS | Application/IDPS logs | L7 layer確認 |
| Internet egress不可 | 0/0 route/SNAT/DNS | effective route + firewall metrics | egress chain確認 |
| on-prem片方向 | BGP/UDR/return path | 両端effective route | symmetry修正 |
変更・rollback
- change前にpolicy exportとrule hit evidenceを保存。
- broad allowで原因回避せず、最小scopeのtemporary diagnostic ruleを使う。
- rollbackはpolicy version/association/UDR/DNS settingをセットで戻す。
- new flowで再検証しstateful sessionを排除。