Azure公网容器实例如何连接私有子网中的容器实例?
Azure公网容器实例访问私有子网容器实例的解决方法
核心前提检查
- 公网容器实例必须与私有子网容器实例处于同一个虚拟网络(VNet),或通过VNet对等互联、VPN/ExpressRoute打通网络。若公网容器部署在Azure默认公共网络(未关联自定义VNet),无法直接访问私有子网实例。
- 确保公网容器部署在目标VNet的某个子网(可配置公网IP实现对外访问)。
具体配置步骤
配置网络安全组(NSG)规则
找到私有子网关联的NSG,添加入站规则:- 源:公网容器所在子网的IP段,或公网容器的私有IP
- 目标:私有容器的私有IP/子网段
- 端口:3001
- 协议:TCP
- 动作:允许
同时确认NSG出站规则未阻止私有容器的回包流量(默认规则通常允许,自定义过则需检查)。
验证私有容器的端口监听状态
进入私有容器实例内部,执行:netstat -tulpn | grep 3001确认服务监听地址为
0.0.0.0或私有IP,而非仅127.0.0.1(仅监听localhost时外部无法访问)。同时用curl localhost:3001测试服务自身是否正常响应。排查路由连通性
在公网容器内部执行路由追踪(若容器无该工具,先安装对应包,如apt install traceroute):traceroute 10.xx.xx.xxx定位流量中断的路由节点。若使用VNet对等互联,需确认对等配置允许双向通信,且路由表无拦截规则。
确认公网容器的网络模式
确保公网容器部署到自定义VNet时使用直接网络模式,未配置为隔离的桥接模式。
内容的提问来源于stack exchange,提问作者Fabry
相关产品推荐
相关产品推荐

