如何让Azure容器应用/函数以静态私有IP访问本地受防火墙保护的API?
解决方案:为Azure内部服务提供静态私有IP访问本地API
针对你的场景,以下几种方案可以实现让Azure Container Apps和Functions以固定静态私有IP访问本地API:
方案1:Azure Firewall 作为出站代理
- 在VNET中部署Azure Firewall,分配静态私有IP(部署时可指定,后续不会变更)。
- 配置VNET的路由表,将指向本地API网段的流量下一跳设置为Azure Firewall的私有IP。
- 把Firewall的静态私有IP提供给本地防火墙管理员,仅放行该IP即可。
- 额外优势:自带流量过滤、日志审计能力,可同时管控其他出站流量的安全。
方案2:内部负载均衡器(ILB)+ 路由转发
- 部署一台Azure内部负载均衡器,配置固定的静态私有IP。
- 将Container Apps环境和Functions所在的子网路由表调整,让访问本地API的流量转发至该ILB。
- 本地防火墙只需放行ILB的静态私有IP,所有来自Container Apps和Functions的流量都会以这个IP作为源访问本地API。
- 适合不需要额外安全管控,仅需固定源IP的场景。
方案3:VM 作为出站代理跳板
- 在VNET内部署一台带静态私有IP的VM,启用IP转发功能。
- 配置子网路由表,将本地API方向的流量下一跳指向该VM的IP。
- 本地防火墙放行VM的静态IP即可,所有服务的出站流量都会通过这台VM转发,源IP统一为VM的私有IP。
- 优势:配置成本低,可在VM上自定义日志、流量监控规则,适合中小规模场景。
方案4:本地侧NAT转换(需本地团队配合)
- 协调本地IT团队,在ExpressRoute连接的本地边界部署NAT设备。
- 将Azure VNET过来的所有流量转换为本地环境的固定私有IP,再转发到目标API。
- 这种方式不需要在Azure侧做太多配置,但依赖本地团队的设备支持和配合。
内容的提问来源于stack exchange,提问作者macpak
相关产品推荐
相关产品推荐

