Azure应用网关对接ACA内部负载均衡器健康检查异常求助
跨VNET Peering下应用网关对接ACA的可行性与配置方案
架构可行性确认
该架构完全可行:通过VNET Peering打通应用网关所在VNET与ACA所在VNET后,应用网关可作为ACA容器应用的公网入口,将指定服务暴露至互联网。
关键配置与排查步骤
1. 修正VNET Peering路由设置
- 确保两个VNET的Peering配置中,双向启用“允许转发网关流量”:即使两端未部署VPN/ExpressRoute网关,此选项也需开启——应用网关属于虚拟设备范畴,该设置允许跨VNET的流量转发。
- 验证Peering状态为“已连接”,且两个VNET的地址空间无重叠(重叠会导致路由冲突)。
2. 应用网关后端池与探测精准配置
- 后端池目标必须使用ACA托管ILB的私有IP地址:跨VNET Peering场景下,应用网关无法解析ACA托管资源组内的ILB域名,只能通过私有IP寻址。
- 自定义探测需严格匹配ACA ILB的参数:
- 端口:
32172(你提到的ACA自带探测端口) - 协议:确认ACA ILB探测使用HTTP/HTTPS(默认为HTTP)
- 路径:
/healthz - 探测方法:GET
- 调整探测参数:超时30秒、间隔15秒、失败阈值3次(适配ACA容器的启动延迟)
- 端口:
- 务必将自定义探测关联到对应后端设置,而非使用默认探测模板。
3. ACA容器应用的网络与健康检查校验
- 确认目标容器应用的健康检查路径
/healthz可返回200 OK状态码:ACA ILB的探测依赖容器内服务的健康响应,若服务未正确实现该路径,会导致探测失败。 - 确保ACA应用的网络模式为内部访问:无需为ACA配置公网入口,所有流量通过应用网关转发。
- 验证ACA环境已加入与应用网关VNET Peering的子网,且网络隔离模式为“自定义VNET”。
4. 网络连通性验证
- 在应用网关所在VNET内部署临时虚拟机,执行
telnet <ACA_ILB_IP> 32172或curl http://<ACA_ILB_IP>:32172/healthz,确认跨VNET的网络连通性与服务响应。 - 检查应用网关子网的可用IP数量:应用网关运行至少需要2个可用IP,若子网IP耗尽会导致探测失败。
额外注意事项
- 建议使用应用网关v2 SKU:v2版本对内部后端的兼容性更强,支持更灵活的探测配置。
- 查看ACA监控日志:在Azure门户的ACA环境→监控→日志中,排查是否有来自应用网关IP的探测请求被拦截或无响应。
内容的提问来源于stack exchange,提问作者pabes
相关产品推荐
相关产品推荐

