将 Elastic Beanstalk 环境迁移到启动模板
从 2024 年 10 月 1 日开始,Amazon EC2 Auto Scaling 服务不再支持新账户的启动配置。在该日期之前创建的账户可能具有启动配置。
建议您迁移到启动模板,以享受以下好处:
-
提高应用程序的可用性
-
更好地优化自动扩缩组中的工作负载
-
访问最新的 EC2 和 Auto Scaling 功能
有关更多信息,请参阅《Amazon EC2 Auto Scaling 用户指南》中的 Auto Scaling launch configurations。
启动模板的选项设置
要将环境从启动配置迁移到启动模板,请设置以下配置选项之一:
重要
环境开始使用启动模板后,即使您删除了最初触发使用启动模板的配置选项,Elastic Beanstalk 也不会恢复为启动配置。
确认您的环境是否具有启动配置或启动模板
您可以通过检查 CloudFormation 堆栈模板来确认环境是否已使用启动模板,或者是否正在使用启动配置。
检查环境的 CloudFormation 堆栈模板
-
通过以下网址打开 AWS CloudFormation 控制台:https://console.aws.amazon.com/cloudformation
。 -
在屏幕顶部的导航栏上,选择您创建环境的 AWS 区域。
-
在 CloudFormation 控制台的堆栈页面上,检查描述列。
找到并选择 Elastic Beanstalk 环境的堆栈。CloudFormation 会显示环境的堆栈详细信息。
-
在堆栈详细信息中,选择模板选项卡。
使用浏览器的页面搜索,您可以在模板文本中搜索 launchtemplate 或 launchconfiguration。
有关更多信息,请参阅《AWS CloudFormation 用户指南》中的查看堆栈信息。
启动模板要求的权限
默认的 Elastic Beanstalk 托管服务角色策略 AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy 会提供创建和管理启动模板所需的权限。Elastic Beanstalk 必须管理启动模板才能完成许多环境操作,包括创建环境。
如果您将自定义策略附加到 Elastic Beanstalk 服务角色,请验证该服务角色是否包含用于创建启动模板的以下权限。这些权限使 Elastic Beanstalk 能够在您的账户中成功创建和更新环境:
Amazon EC2 启动模板所需的权限
-
ec2:RunInstances -
ec2:CreateLaunchTemplate -
ec2:CreateLaunchTemplateVersions -
ec2:DeleteLaunchTemplate -
ec2:DeleteLaunchTemplateVersions -
ec2:DescribeLaunchTemplate -
ec2:DescribeLaunchTemplateVersions
以下示例 IAM 策略包含这些权限。
{ "Statement": [ { "Effect": "Allow", "Action": [ "ec2:RunInstances", "ec2:CreateLaunchTemplate", "ec2:CreateLaunchTemplateVersions", "ec2:DeleteLaunchTemplate", "ec2:DeleteLaunchTemplateVersions", "ec2:DescribeLaunchTemplate", "ec2:DescribeLaunchTemplateVersions" ], "Resource": [ "*" ] } ] }
有关更多信息,请参阅管理 Elastic Beanstalk 服务角色和管理 Elastic Beanstalk 用户策略。
有关启动模板的更多信息
要了解有关启动模板的信息,请参阅《Amazon EC2 Auto Scaling 用户指南》中的 Auto Scaling launch templates。
若要了解有关 AWS 过渡到启动模板以及启动模板带来的好处的更多信息,请参阅 AWS Compute Blog 中的 Amazon EC2 Auto Scaling will no longer add support for new EC2 features to Launch Configurations
重要
您无需按照此博客文章中提及的程序来将旧环境迁移到启动模板。若要将现有 Elastic Beanstalk 环境迁移到启动模板,请设置启动模板的选项设置中列出的选项之一。