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

部署Java项目到AWS Elastic Beanstalk遇实例配置文件不存在错误求助

问题描述

部署Java项目到AWS Elastic Beanstalk时,持续触发以下错误:

"The instance profile "aws-elasticbeanstalk-ec2-role" associated with the environment does not exist."

操作流程:

  1. 进入Elastic Beanstalk创建新应用并设置名称
  2. 创建环境:设置环境名,选择Java平台,服务访问项选择Create and use new service role,完成配置提交后出现上述错误

已确认IAM中存在aws-elasticbeanstalk-ec2-role角色,且附加了包括AmazonEC2FullAccess、AWSElasticBeanstalkWebTier在内的多项权限,但问题仍未解决。

解决方案

以下是针对性的排查与修复步骤:

1. 区分IAM角色与实例配置文件

注意:IAM角色和实例配置文件不是同一概念——你可能仅创建了IAM角色,但对应的实例配置文件不存在。实例配置文件是EC2实例关联IAM角色的容器,需与角色同名或正确绑定。

检查并创建实例配置文件:

  • 进入IAM控制台,左侧导航选择「实例配置文件」
  • 查找是否存在名为aws-elasticbeanstalk-ec2-role的实例配置文件
  • 若不存在,手动创建:
    • 点击「创建实例配置文件」,名称设为aws-elasticbeanstalk-ec2-role
    • 「选择角色」步骤中,选中已存在的同名IAM角色
    • 完成创建后重新尝试部署

2. 手动指定实例配置文件

选择Create and use new service role时,Elastic Beanstalk可能未自动创建对应实例配置文件,可手动指定已有资源:

  • 在创建Elastic Beanstalk环境的流程中,找到「实例配置」板块
  • 展开「服务访问」,选择「使用现有服务角色」,指定aws-elasticbeanstalk-ec2-role实例配置文件
  • 完成配置后提交部署

3. 验证角色信任关系

确保aws-elasticbeanstalk-ec2-role的信任策略允许EC2和Elastic Beanstalk服务扮演该角色:

  • 进入IAM控制台找到该角色,切换到「信任关系」标签
  • 编辑信任策略,确保包含以下内容:
{
  "Version": "2008-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "ec2.amazonaws.com",
          "elasticbeanstalk.amazonaws.com"
        ]
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

保存策略后重新尝试部署

4. 清理残留资源后重新创建

若之前的部署尝试留下不完整资源,可能引发冲突:

  • 删除当前创建失败的Elastic Beanstalk环境
  • 进入IAM控制台,删除现有的aws-elasticbeanstalk-ec2-role角色及对应实例配置文件(若存在)
  • 重新进入Elastic Beanstalk,选择Create and use new service role,让系统自动创建完整的角色与实例配置文件
  • 提交部署并观察结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 01:02:32