自定义VPC中ElasticBeanstalk部署失败:实例无法连接健康端点
elasticbeanstalk-health.us-east-1.amazonaws.com 解析为内网IP的原因及来源
核心原因:AWS Route 53 Resolver的默认私有DNS解析行为
AWS的Route 53 Resolver(VPC内置的DNS服务)对部分AWS区域级服务域名,会默认返回内网IP段的地址——即使你没有创建对应的VPC端点。这是AWS的设计逻辑:优先引导VPC内实例的服务访问流量走AWS内部网络,优化延迟和安全性。
对于elasticbeanstalk-health.us-east-1.amazonaws.com这个域名,当VPC内的实例发起DNS查询时,Route 53 Resolver会返回属于VPC网段(你的10.0.0.0/16)的内网IP,而不是公网IP。但你的实例所在的公网子网没有针对这个内网IP的有效路由(既没有对应的EB健康VPC端点,路由表又默认把内网流量限制在VPC内),所以无法访问该地址。
解析来源确认
实例的DNS解析请求由VPC的DHCP选项集指定的DNS服务器处理,默认情况下是VPC内置的Route 53 Resolver(地址为VPC IPv4 CIDR块 + 2,比如你的VPC是10.0.0.0/16,DNS服务器就是10.0.0.2)。正是这个Resolver返回了内网IP地址。
验证与解决方向
- 确认VPC DNS配置:检查VPC的
enableDnsSupport和enableDnsHostnames是否开启(默认是开启的,自定义VPC向导若未修改则无需调整)。 - 覆盖DNS解析结果:在Route 53中创建私有托管区,添加一条A记录,将
elasticbeanstalk-health.us-east-1.amazonaws.com指向公网IP(35.170.164.93),强制实例解析到公网地址。 - 检查路由与访问控制:确保实例的出站安全组/网络ACL允许访问该公网IP的443端口(EB健康端点使用HTTPS),同时公网子网的路由表已配置指向IGW的默认路由(0.0.0.0/0),保证实例能正常访问互联网。
内容的提问来源于stack exchange,提问作者johni
相关产品推荐
相关产品推荐

