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

AWS CloudFormation部署Elastic Beanstalk Java应用资源创建失败求助

问题根因
  1. 核心原因:你在模板中创建了供EC2使用的IAM角色(MyInstanceRole)和实例配置文件(MyInstanceProfile),但未将该实例配置文件关联到Elastic Beanstalk环境的启动配置中。Elastic Beanstalk启动EC2实例时需要实例配置文件授予对应的权限,缺少该配置会导致EC2无法初始化,最终环境直接进入Terminated状态。
  2. MyInstanceProfile创建失败是次级问题:由于sampleEnvironment先触发创建失败,CloudFormation启动回滚流程,直接取消了还在创建中的MyInstanceProfile任务。
解决方案

修改你的CloudFormation模板,在sampleConfigurationTemplate的OptionSettings配置中新增实例配置文件关联项,修改后的配置片段如下:

"sampleConfigurationTemplate": {
  "Type": "AWS::ElasticBeanstalk::ConfigurationTemplate",
  "Properties": {
    "ApplicationName": { "Ref": "sampleApplication" },
    "Description": "AWS ElasticBeanstalk Sample Configuration Template",
    "OptionSettings": [
      {
        "Namespace": "aws:autoscaling:asg",
        "OptionName": "MinSize",
        "Value": "2"
      },
      {
        "Namespace": "aws:autoscaling:asg",
        "OptionName": "MaxSize",
        "Value": "6"
      },
      {
        "Namespace": "aws:elasticbeanstalk:environment",
        "OptionName": "EnvironmentType",
        "Value": "LoadBalanced"
      },
      // 新增以下配置,关联你创建的实例配置文件
      {
        "Namespace": "aws:autoscaling:launchconfiguration",
        "OptionName": "IamInstanceProfile",
        "Value": { "Ref": "MyInstanceProfile" }
      }
    ],
    "SolutionStackName": "64bit Amazon Linux 2 v3.2.5 running Corretto 11"
  }
}
额外检查项

如果修改后仍部署失败,可以逐一排查以下配置:

  • 确认名称为bucket-elasticbeanstalk-{AWS区域}的S3桶真实存在,且存储了helloworld-0.0.1-SNAPSHOT.jar文件,部署账号拥有该文件的读取权限
  • 确认你使用的SolutionStack名称在部署的AWS区域可用,可执行AWS CLI命令aws elasticbeanstalk list-available-solution-stacks查询对应区域支持的运行栈版本,替换为可用的Corretto 11栈即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 08:57:02