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

如何向Elastic Beanstalk部署应用?部署示例应用遇权限及状态问题

AWS Elastic Beanstalk 部署示例应用遇503及环境Pending问题解决

问题现象

  • 通过EB CLI部署示例应用,初始化与创建完成后返回503错误,核心报错:
    Environment health has transitioned from Pending to Warning. Initialization completed 28 seconds ago and took 3 minutes. There are no instances. Unable to assume role "arn:aws:iam::<number>:role/aws-elasticbeanstalk-service-role". Verify that the role exists and is configured correctly.
    
  • 目标IAM角色aws-elasticbeanstalk-service-role已存在(此前创建);手动部署时控制台返回Successfully launched environment: ,但环境始终处于Pending状态,访问DNS显示「无网络」

排查修复步骤

1. 修复服务角色的信任关系

EB服务无法假设角色,大概率是信任策略配置错误:

  • 进入IAM控制台,找到aws-elasticbeanstalk-service-role角色
  • 切换至「信任关系」标签,编辑策略,确保内容为:
    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "Service": "elasticbeanstalk.amazonaws.com"
          },
          "Action": "sts:AssumeRole",
          "Condition": {
            "StringEquals": {
              "sts:ExternalId": "elasticbeanstalk"
            }
          }
        }
      ]
    }
    
  • 保存后重新尝试部署

2. 验证角色权限配置

  • 确认角色未设置权限边界,或权限边界允许Elastic Beanstalk的全量操作
  • 确保角色已附加AWSElasticBeanstalkService托管策略(EB服务角色的默认必要权限)

3. 排查实例启动失败原因

环境无实例启动,需检查底层资源配置:

  • 确认环境使用的实例配置文件(Instance Profile)存在且关联了正确的IAM角色
  • 查看CloudWatch的EC2实例启动日志,排查是否存在子网配置错误、安全组限制、实例类型配额不足等问题

4. 清理异常环境后重新部署

若环境长期Pending,可能是资源残留导致:

  • 执行eb terminate <环境名称>终止异常环境
  • 删除本地项目目录下的.elasticbeanstalk配置文件夹
  • 重新执行eb init和eb create,使用默认选项完成部署

内容的提问来源于stack exchange,提问作者Dark Furby

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 23:58:20