AWS Elastic Beanstalk高可用模式下DNS A记录配置问题咨询
解决方案
方法1:切换到经典负载均衡器(CLB)并绑定弹性IP
如果业务对负载均衡器的现代特性(如路径路由、主机头路由)需求不高,可调整Elastic Beanstalk的负载均衡器类型为经典负载均衡器:
- 进入Elastic Beanstalk控制台,找到目标环境,进入「配置」>「负载均衡器」
- 将负载均衡器类型从「应用负载均衡器」改为「经典负载均衡器」,保存配置并等待环境更新
- 环境更新完成后,进入EC2控制台的「负载均衡器」页面,找到对应的CLB
- 为CLB的每个网络接口分配弹性IP(EC2控制台>弹性IP>分配弹性IP,再关联到CLB的接口)
- 拿到弹性IP后,直接在第三方域名托管商处配置A记录,指向这些弹性IP
注意:经典负载均衡器支持绑定弹性IP,且IP不会随负载均衡器重启而变化,满足A记录的固定IP需求。
方法2:使用AWS Global Accelerator获取固定静态IP
如果需要保留应用负载均衡器(ALB)的功能,可通过Global Accelerator获取固定IP:
- 进入AWS Global Accelerator控制台,创建新的加速器
- 添加监听端口(如80和443),将终端节点指向你的Elastic Beanstalk负载均衡器(选择对应的ALB)
- 加速器创建完成后,会分配2个固定的静态任播IP地址
- 在第三方域名托管商处配置A记录,指向这两个IP地址
Global Accelerator的IP是永久固定的,即使EB负载均衡器更换或重启,IP也不会改变,同时还能提供全球加速效果。
为什么之前的配置行不通?
Elastic Beanstalk高可用模式默认使用应用负载均衡器(ALB),ALB属于弹性负载均衡,没有固定公网IP,其域名由AWS动态维护,因此无法直接用于A记录配置(A记录要求固定IP)。你遗漏的是借助AWS的其他服务(CLB+弹性IP 或 Global Accelerator)获取可用于A记录的固定IP,从而绕过托管商仅支持A记录的限制。
内容的提问来源于stack exchange,提问作者afish
相关产品推荐
相关产品推荐

