

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 将 Elastic Beanstalk 环境迁移到启动模板
<a name="environments-cfg-autoscaling-launch-templates"></a>

从 2024 年 10 月 1 日开始，Amazon EC2 Auto Scaling 服务不再支持新账户的启动配置。在该日期之前创建的账户可能具有启动配置。

建议您迁移到**启动模板**，以享受以下好处：
+ 提高应用程序的可用性
+ 更好地优化自动扩缩组中的工作负载
+ 访问最新的 EC2 和 Auto Scaling 功能

有关更多信息，请参阅《*Amazon EC2 Auto Scaling 用户指南*》中的 [Auto Scaling launch configurations](https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-configurations.html)。

## 启动模板的选项设置
<a name="environments-cfg-autoscaling-launch-templates-options"></a>

要将环境从启动配置迁移到启动模板，请设置以下配置选项之一：
+ `RootVolumeType` 选项设置为 **gp3**。您可以使用[控制台](using-features.managing.ec2.console.md)或[命名空间](using-features.managing.ec2.namespace.md)来设置此选项。
+ `BlockDeviceMappings` 选项包含 **gp3**。您可以使用[控制台](using-features.managing.ec2.console.md)或[命名空间](using-features.managing.ec2.namespace.md)来设置此选项。
+ `DisableIMDSv1` 选项设置为 **true**。我们建议您使用[命名空间](using-features.managing.ec2.namespace.md)设置此选项。
+ `EnableSpot` 选项设置为 **true**。有关更多信息，请参阅 [启用竞价型实例](environments-cfg-autoscaling-enable-spot.md)。

**重要**  
环境开始使用启动模板后，即使您删除了最初触发使用启动模板的配置选项，Elastic Beanstalk 也不会恢复为启动配置。

## 确认您的环境是否具有启动配置或启动模板
<a name="environments-cfg-autoscaling-launch-templates-determine"></a>

您可以通过检查 CloudFormation 堆栈模板来确认您的环境是否已使用启动模板，或者是否正在使用启动配置。

**检查环境的 CloudFormation 堆栈模板**

1. 在 [https://console.aws.amazon.com/cloudformat](https://console.aws.amazon.com/cloudformation/) ion 上打开 AWS CloudFormation 控制台。

1. 在屏幕顶部的导航栏上，选择您创建环境的 AWS 区域。

1. 在 CloudFormation 控制台的**堆栈**页面上，检查**描述**列。

   找到并选择 Elastic Beanstalk 环境的堆栈。 CloudFormation 显示环境的堆栈详细信息。

1. 在**堆栈详细信息**中，选择**模板**选项卡。

   *使用浏览器的页面搜索，您可以在模板文本中搜索 *launchtemplate* 或 launchconfiguration*。

有关更多信息，请参阅《*AWS CloudFormation 用户指南*》中的[查看堆栈信息](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-view-stack-data-resources.html)。

## 启动模板要求的权限
<a name="environments-cfg-autoscaling-launch-templates-permissions"></a>

默认的 Elastic Beanstalk 托管服务[AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy.html)角色策略提供创建和管理启动模板所需的权限。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 服务角色](iam-servicerole.md)和[管理 Elastic Beanstalk 用户策略](AWSHowTo.iam.managed-policies.md)。

## 有关启动模板的更多信息
<a name="environments-cfg-autoscaling-launch-templates-moreinfo"></a>

要了解有关启动模板的信息，请参阅《*Amazon EC2 Auto Scaling 用户指南*》中的 [Auto Scaling launch templates](https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-templates.html)。

要详细了解 AWS 过渡到启动模板及其带来的好处，请参阅*AWS 计算博客*[中的 Amazon EC2 Auto Scaling 将不再为启动配置添加对新 EC2 功能的支持](https://aws.amazon.com/blogs/compute/amazon-ec2-auto-scaling-will-no-longer-add-support-for-new-ec2-features-to-launch-configurations/)。

**重要**  
您无需按照此博客文章中提及的程序来将旧环境迁移到启动模板。若要将现有 Elastic Beanstalk 环境迁移到启动模板，请设置[启动模板的选项设置](#environments-cfg-autoscaling-launch-templates-options)中列出的选项之一。