微服务集群中公网与私网是分层分工关系:私网承载核心服务间通信,必须同vpc内直连;公网仅作有限入口或出口,如流量网关对外暴露443端口,绝不能用于服务间调用。

微服务集群部署中,公网访问与私网通信不是并列选项,而是分层分工的关系:私网承载服务间核心通信,公网仅作为有限入口或出口。关键不在“如何同时配”,而在“哪些必须走私网、哪些可以走公网、哪些绝不能走公网”。
私网通信:所有服务间调用默认走内网
同账号、同地域、同VPC下的微服务实例(如Nacos节点、Gateway、业务服务)必须部署在同一个VPC内,自动获得10.0.0.0/16或172.16.0.0/12等RFC 1918私网IP,彼此直连无额外配置。这是低延迟(通常
- 确保所有ECS或容器Pod都归属同一VPC和子网(或跨子网但同VPC),禁用系统级路由修改或内网网卡禁用
- Nacos集群推荐用域名+内网SLB模式(如nacos-inner.example.com → 内网负载均衡器),不暴露到公网,避免安全风险
- 服务注册中心(Nacos/Eureka)、配置中心(Apollo)、消息队列(RocketMQ)等中间件,全部部署在私网,禁止开放公网端口
公网访问:只放行必要入口,其余全封死
用户访问微服务集群,只应通过统一入口——API网关(如Spring Cloud Gateway、Kong、阿里云ALB)。它作为唯一公网暴露点,承担鉴权、限流、HTTPS终止等职责,后端所有微服务不直接绑定EIP、不配置公网安全组规则。
- API网关实例绑定弹性公网IP(EIP),安全组仅放行443/80端口,其他端口一律拒绝
- 网关与后端服务之间走VPC内网通信,使用私网IP或Service名称(K8s场景)调用,不经过NAT或公网路径
- 若需从微服务主动访问公网(如调用第三方支付接口),应统一经NAT网关出向,避免每个服务单独绑EIP,便于审计与带宽管控
混合云或多VPC场景:用云联网(CCN)替代公网穿透
当微服务需跨地域(如北京VPC + 广州VPC)或跨账号部署(如子公司独立VPC),不可依赖公网IP互访。此时应使用云厂商提供的私网互联能力:
- 同账号跨地域:选用云联网(CCN),支持多点自动路由学习,故障收敛快,5Gbps以内带宽免费
- 同账号同地域不同VPC:使用VPC对等连接(Peering),配置简单、延迟低,但不传递路由,适合点对点隔离场景
- 不同账号互通:必须由主账号创建CCN,从账号授权关联;严格校验各VPC CIDR不重叠,否则路由冲突导致全链路中断
安全加固:服务网格补足私网通信的可见性与控制力
纯私网互通解决了连通性,但缺乏细粒度策略。在Kubernetes环境,建议叠加Istio或Linkerd服务网格:
- 启用mTLS双向认证,确保服务间调用身份可信,即使网络层被突破也无法伪造请求
- 基于服务名而非IP做流量路由与熔断,适配微服务动态扩缩容场景
- 配合遥测(Prometheus+Grafana),实时监控跨云调用延迟、错误率,及时发现网络抖动或配置异常











