面向公网的负载均衡器前置私有Web实例的配置咨询
面向公网的负载均衡器前置私有Web实例的配置咨询
我正在尝试在私有网络中搭建2个Web实例,并在它们前面放置一个面向公网的负载均衡器,具体想要实现以下目标:
- 这两个私有实例能够访问互联网资源,但互联网无法直接访问这些实例
- 这两个实例仅允许通过负载均衡器从互联网访问80端口
这么做的原因是不想把这两台服务器直接暴露在互联网上。
我已经完成了以下配置步骤:
- 创建了一个CIDR块为
10.15.0.0/16的VCN - 两个私有子网分别为
10.15.1.0/24和10.15.2.0/24 - 一个公网子网为
10.15.100.0/24 - 实例A部署在私有子网1,实例B部署在私有子网2
- 网络负载均衡器(NLB)部署在公网子网
- 为公网子网添加了路由规则,将
0.0.0.0/0流量路由到互联网网关
看起来你已经把基础的网络框架搭好了,只差几个关键配置就能实现你的安全访问目标,我来给你梳理下后续需要做的步骤:
1. 给私有子网配置NAT网关实现安全的互联网访问
私有实例要能访问外网但不被外网直接访问,绝对不能用互联网网关直接路由私有子网的流量——得用NAT网关:
- 先在你的公网子网
10.15.100.0/24里创建一个NAT网关 - 分别给两个私有子网的路由表添加规则:把
0.0.0.0/0的流量指向这个NAT网关- 这样私有实例对外的请求会通过NAT网关转发出去,而外网无法主动发起连接到私有实例,完美符合你的第一个需求
2. 用安全组锁死访问权限
安全组是控制流量的核心,一定要精准配置:
负载均衡器的安全组
- 入方向:允许来自
0.0.0.0/0的80端口流量(让互联网用户能访问负载均衡器) - 出方向:允许到两个私有子网CIDR(
10.15.1.0/24和10.15.2.0/24)的80端口流量(让负载均衡器能把请求转发给Web实例)
私有Web实例的安全组
- 入方向:只允许来自负载均衡器安全组的80端口流量(这一步是关键,确保只有负载均衡器能访问实例的Web服务,外网根本碰不到)
- 出方向:允许
0.0.0.0/0的所有流量(满足实例访问外网资源的需求)
3. 配置负载均衡器的后端集
- 把实例A和实例B添加到负载均衡器的后端集中
- 确认后端集监听的是80端口,同时配置好健康检查(比如检查实例的80端口是否返回正常状态码,确保负载均衡器只会把流量发给健康的实例)
4. 验证配置是否生效
最后别忘了做几个测试确认:
- 测试私有实例的外网访问:在实例上执行
curl http://example.com,看能不能正常获取内容 - 测试外网直接访问实例:用外部机器尝试访问实例的私有IP:80,应该无法连接
- 测试负载均衡器转发:用外部机器访问负载均衡器的公网IP:80,应该能正常访问到Web实例的服务
备注:内容来源于stack exchange,提问作者Mervin Hemaraju
相关产品推荐
相关产品推荐

