如何通过Azure Firewall减少公网IP实现多后端站点路由
基于Azure Firewall压缩公网IP用量的落地方案
直接给结论:你现在的场景完全不需要给每个站点配独立公网IP,依托Azure Firewall现有能力,最多3个公网IP就能覆盖全部120个站点的流量调度需求,不用等Application Gateway落地就能改。
核心逻辑
Azure Firewall Premium版本自带TLS终止和HTTP主机头匹配转发能力,同一个443监听端口下,可以根据请求里的域名(Host头)直接把流量路由到不同后端站点,根本不需要一个站点占一个公网IP。非生产环境要求的源地址访问限制,直接在防火墙规则层配置就行,不用拆独立DNAT规则。
具体IP分配(总计3个,冗余度足够)
- 第1个公网IP:承载所有30个生产环境站点的入站流量。这个IP放开全公网443端口入站,规则里根据每个生产站点的域名做Host头匹配,直接转发到对应后端生产服务器,完全满足生产环境无访问源限制、面向公网开放的要求。
- 第2个公网IP:承载所有测试、开发、UAT环境共90个站点的入站流量。这个IP的443端口只放通你们允许的源IP段(比如办公网出口、合作方固定出口、运维跳板机IP段),公网其他来源的访问直接在入口层丢弃,之后再根据Host头把流量转发到对应非生产环境的后端站点,比你之前每个站点单独配源地址限制的维护量小一个量级。
- 第3个公网IP:留作冗余应急。比如后续做单个站点灰度切流、临时排障抓包、证书应急替换的时候可以临时调用,平时不用挂正式规则,不占用日常运维精力。
配置注意点
- 所有站点的公网域名解析,直接指向对应的Azure Firewall公网IP就行,后端站点不用改任何配置,保持原有443端口监听的状态就可以。
- 如果你现在用的是Azure Firewall Standard版本,没有原生TLS终止和Host头转发能力,也不用额外升级Premium SKU,只需要在防火墙后端搭个轻量Nginx做Host头转发,防火墙侧只需要配2条DNAT规则,把两个业务公网IP的443流量打到Nginx集群就行,公网IP用量还是远低于现在的120个。
- 原来的120条独立DNAT规则可以全部下线,换成应用层规则之后,日常只需要维护2条入站放行规则+120条Host头映射条目,规则排查和更新的工作量会小很多。
和之前评估的Application Gateway方案对比
- 改造成本更低:完全复用现有Azure Firewall资源,不需要额外采购AGW实例,没有额外的算力开销。
- 访问控制链路更短:非生产环境的源IP拦截直接在防火墙入口层生效,不需要在AGW上重复配置访问控制规则,少一层转发就少一层故障点。
- 后续如果需要上WAF做七层防护,直接把AGW挂在Azure Firewall后端就行,现有公网IP、域名解析配置完全不用改,可以平滑过渡。
内容的提问来源于stack exchange,提问作者Norrin Rad
相关产品推荐
相关产品推荐

