You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Elastic Beanstalk环境创建超时:EC2实例无响应求助

AWS Elastic Beanstalk部署Flask应用超时:EC2实例无响应排查指南

问题场景

尝试通过AWS Elastic Beanstalk部署需与VPC内RDS交互的Flask应用,已通过控制台指定自定义VPC、安全组、子网等配置,但每次等待10-15分钟后环境健康状态显示No Data,并触发报错:

The following instances have not responded in the allowed command timeout time (they might still finish eventually on their own): [i-XXXXXXXXXXX].

已尝试添加NAT网关、验证EC2公网IP、手动重启实例、配置NTP安全组规则等方案,均未解决问题。

可能遗漏的排查点

1. Elastic Beanstalk服务角色权限不足

检查EB服务角色(默认名为aws-elasticbeanstalk-service-role)是否包含以下核心权限:

  • ec2:DescribeInstances
  • elasticbeanstalk:UpdateEnvironment
  • ec2:DescribeSecurityGroups
    自定义VPC场景下,角色需具备访问VPC相关资源的权限,否则EB无法完成与EC2实例的通信校验。

2. VPC端点配置缺失

若EC2实例仅依赖内网(无公网IP),需为VPC添加EB相关的VPC端点,让实例直接与EB管理平面通信:

  • com.amazonaws.[区域].elasticbeanstalk-healthd
  • com.amazonaws.[区域].elasticbeanstalk-management

3. EC2实例IAM角色权限不足

检查EC2实例关联的实例角色(默认名为aws-elasticbeanstalk-ec2-role)是否包含AWSElasticBeanstalkWebTier或自定义权限策略,确保实例能向EB发送健康数据、获取部署指令。

4. 子网路由表配置错误

  • 公共子网:确认路由表存在指向Internet Gateway(IGW)的0.0.0.0/0路由,且子网已开启"自动分配公网IP"选项。
  • 私有子网:确认路由表中0.0.0.0/0指向NAT网关,且NAT网关所在的公共子网有正确的IGW路由,同时NAT网关状态正常。

5. 安全组出站规则限制

EC2实例的安全组需允许出站访问以下服务/端口:

  • HTTPS(443):用于访问EB管理API、CloudWatch、S3等AWS服务
  • HTTP(80):若应用依赖外部HTTP资源
    避免仅开放特定IP,确保实例能正常访问AWS服务端点。

6. 实例内部部署/健康检查故障

手动登录EC2实例(通过Session Manager或SSH),检查:

  • 查看/var/log/eb-engine.log和/var/log/eb-hooks.log,确认部署过程中是否存在脚本执行失败、Flask依赖安装异常等问题
  • 检查EB健康检查代理状态:systemctl status eb-healthd(Amazon Linux 2环境)
  • 确认Flask监听端口与EB配置的健康检查端口一致(控制台"配置>软件"中可设置"监听端口")

7. DNS解析异常

在EC2实例内执行nslookup elasticbeanstalk.[区域].amazonaws.com,测试能否正常解析EB服务域名。若解析失败,检查VPC的DHCP选项集是否配置了正确的DNS服务器(默认为VPC CIDR+2,如10.0.0.2)。

内容的提问来源于stack exchange,提问作者Arturo Avila

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 10:00:10