AWS安全组能否仅允许健康检查等AWS服务访问80端口?
AWS安全组仅放行指定AWS服务80端口的配置方案
完全可以实现,无需将80端口对整个公网开放,以下是不同场景的配置方法:
场景1:仅放行AWS负载均衡(ALB/NLB/CLB)的健康检查流量
这是最常见的业务场景,配置非常简单:
- 确认你的负载均衡和后端服务(EC2、ECS实例等)在同一VPC或已配置VPC对等连接
- 后端服务关联的安全组入站规则中,仅需将80端口的源设置为负载均衡本身绑定的安全组ID即可
- 该配置下只有来自同一负载均衡的流量(含健康检查和业务转发流量)能访问80端口,完全不会暴露给公网
场景2:放行公网类AWS服务的80端口流量
如果你需要放行的是Route53健康检查、AWS Global Accelerator健康检查这类走公网的AWS服务流量,使用AWS官方托管前缀列表配置即可,无需手动维护IP段:
- 首先确认你所在区域对应的服务前缀列表ID:
- 仅放行Route53健康检查:前缀列表命名格式为
com.amazonaws.<你的区域ID>.route53-healthchecks - 放行所有AWS公有服务流量:前缀列表命名格式为
com.amazonaws.<你的区域ID>.all
- 仅放行Route53健康检查:前缀列表命名格式为
- 安全组入站规则配置项:
- 类型:
HTTP(80) - 协议:
TCP - 端口范围:
80 - 源:选择上述你需要的前缀列表ID即可
- 类型:
- 前缀列表的IP段由AWS自动维护更新,无需你手动调整规则
注意事项
- 如果健康检查来自你自行部署的内部服务,直接将80端口的源设置为对应服务的安全组ID或内部私网IP段即可,无需关联公网相关配置
- 不要为了适配健康检查配置
0.0.0.0/0的80端口入站规则,会导致端口直接暴露在公网中
内容的提问来源于stack exchange,提问作者Kaguei Nakueka
相关产品推荐
相关产品推荐

