使用CodePipeline部署Flask到Elastic Beanstalk失败:实例配置文件不存在
解决Elastic Beanstalk部署时「实例配置文件不存在」的问题
这个错误是因为Elastic Beanstalk环境缺少必要的IAM实例配置文件——EC2实例需要通过这个配置文件获取权限,才能和Elastic Beanstalk服务正常交互。以下是具体解决步骤:
确认/创建IAM实例配置文件
- 打开AWS IAM控制台,进入「角色」页面。
- 查找默认的Elastic Beanstalk EC2角色
aws-elasticbeanstalk-ec2-role:- 如果不存在,点击「创建角色」,选择「AWS服务」→「EC2」作为可信实体,下一步后附加
AWSElasticBeanstalkWebTier托管策略(Flask应用用这个就足够),命名为aws-elasticbeanstalk-ec2-role完成创建。
- 如果不存在,点击「创建角色」,选择「AWS服务」→「EC2」作为可信实体,下一步后附加
- 切换到「实例配置文件」页面,确认存在关联上述角色的实例配置文件。如果没有,点击「创建实例配置文件」,关联刚创建的角色。
更新Elastic Beanstalk环境配置
- 进入Elastic Beanstalk控制台,打开你的应用环境。
- 点击左侧「配置」,找到「实例」模块并点击「编辑」。
- 在「实例配置文件」下拉框中选择刚才创建的
aws-elasticbeanstalk-ec2-role,保存更改。 - 触发环境重新部署:可以在控制台点击「部署」→「重新部署应用」,也可以让CodePipeline重新跑一次部署流程。
检查CodePipeline服务角色权限
确保CodePipeline使用的服务角色拥有elasticbeanstalk:*和iam:PassRole权限,否则可能无法完成实例配置文件的关联操作。
内容的提问来源于stack exchange,提问作者Farid
相关产品推荐
相关产品推荐

