迁移到启动模板 - Amazon EC2 Auto Scaling
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

迁移到启动模板

从 2023 年开始,您无法使用 2022 年 12 月 31 日之后发布的新 Amazon EC2 实例类型来调用 CreateLaunchConfiguration。有关更多信息,请参见 启动配置

要从启动配置迁移到启动模板,请参阅以下步骤。

重要

在继续操作之前,请确认您拥有使用启动模板所需的权限。有关更多信息,请参见 启动模板支持

步骤 1:查找使用启动配置的自动扩缩组

要确定您的 Auto Scaling 组是否仍在使用启动配置,请使用运行以下describe-auto-scaling-groups命令Amazon CLI。将区域替换为你的 Amazon Web Services 区域。

aws autoscaling describe-auto-scaling-groups --region REGION \ --query 'AutoScalingGroups[?LaunchConfigurationName!=`null`]'

下面是示例输出。

[ { "AutoScalingGroupName": "group-1", "AutoScalingGroupARN": "arn", "LaunchConfigurationName": "my-launch-config", "MinSize": 1, "MaxSize": 5, "DesiredCapacity": 2, "DefaultCooldown": 300, "AvailabilityZones": [ "us-west-2a", "us-west-2b", "us-west-2c" ], "LoadBalancerNames": [], "TargetGroupARNs": [], "HealthCheckType": "EC2", "HealthCheckGracePeriod": 300, "Instances": [ { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchConfigurationName": "my-launch-config", "InstanceId": "i-05b4f7d5be44822a6", "InstanceType": "t3.micro", "HealthStatus": "Healthy", "LifecycleState": "InService" }, { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2b", "LaunchConfigurationName": "my-launch-config", "InstanceId": "i-0c20ac468fa3049e8", "InstanceType": "t3.micro", "HealthStatus": "Healthy", "LifecycleState": "InService" } ], "CreatedTime": "2023-03-09T22:15:11.611Z", "SuspendedProcesses": [], "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782", "EnabledMetrics": [], "Tags": [ { "ResourceId": "group-1", "ResourceType": "auto-scaling-group", "Key": "environment", "Value": "production", "PropagateAtLaunch": true } ], "TerminationPolicies": [ "Default" ], "NewInstancesProtectedFromScaleIn": false, "ServiceLinkedRoleARN": "arn", "TrafficSources": [] }, ... additional groups ... ]

或者,要删除除输出中包含相应启动配置名称和标签的自动扩缩组名称之外的所有内容,请运行以下命令:

aws autoscaling describe-auto-scaling-groups --region REGION \ --query 'AutoScalingGroups[?LaunchConfigurationName!=`null`].{AutoScalingGroupName: AutoScalingGroupName, LaunchConfigurationName: LaunchConfigurationName, Tags: Tags}'

下面显示了示例输出。

[ { "AutoScalingGroupName": "group-1", "LaunchConfigurationName": "my-launch-config", "Tags": [ { "ResourceId": "group-1", "ResourceType": "auto-scaling-group", "Key": "environment", "Value": "production", "PropagateAtLaunch": true } ] }, ... additional groups ... ]

有关筛选的详细信息,请参阅 Amazon Command Line Interface 用户指南中的筛选 Amazon CLI 输出

步骤 2:将启动配置复制到启动模板

您可以使用以下过程将启动配置复制到启动模板。然后,您可以将其添加到自动扩缩组。

复制多个启动配置会生成同名的启动模板。要在复制过程中更改启动模板的名称,必须逐个复制启动配置。

注意

复制功能只能从控制台提供。

将启动配置复制到启动模板(控制台)
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在左侧导航窗格的自动扩缩下方,选择自动扩缩组

  3. 在页面顶部附近,选择启动配置。当提示您确认时,选择查看启动配置以确认您要查看启动配置页面。

  4. 选择您要复制的启动配置,然后选择复制到启动模板,复制所选。这将设置一个与您所选启动配置具有相同名称和选项的新启动模板。

  5. 对于新建启动模板名称,您可以使用启动配置的名称(默认值)或者输入新名称。启动模板名称必须是唯一的。

  6. (可选)选择使用新模板创建自动扩缩组

    您可以跳过此步骤以完成启动配置的复制。您无需创建新的自动扩缩组。

  7. 选择复制

将所有启动配置复制到启动模板(控制台)
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中的 Auto Scaling (自动调整) 上,选择 Launch Configurations (启动配置)

  3. 选择复制到启动模板,全部复制。这将当前地区中的每个启动配置复制到具有相同名称和选项的新启动模板。

  4. 选择 Copy(复制)。

步骤 3:更新自动扩缩组以使用启动模板

创建启动模板后,您可以将其添加到自动扩缩组。

更新自动扩缩组以使用启动模板(控制台)
  1. 访问 https://console.aws.amazon.com/ec2/,打开 Amazon EC2 控制台,然后从导航窗格中选择 Auto Scaling Groups(Auto Scaling 组)。

  2. 选中您的自动扩缩组旁边的复选框。

    将在页面底部打开一个拆分窗格,其中显示有关所选组的信息。

  3. 详细信息选项卡上,选择启动配置编辑

  4. 选择切换到启动模板

  5. 对于启动模板,选择您的启动模板。

  6. 对于版本,根据需要选择启动模板版本。在创建启动模板版本之后,您可以选择 Auto Scaling 组在扩展时是使用启动模板的默认版本还是最新版本。

  7. 选择更新

更新自动扩缩组以使用启动模板 (Amazon CLI)

以下update-auto-scaling-group命令更新指定的 Auto Scaling 组以使用指定启动模板的初始版本。

aws autoscaling update-auto-scaling-group --auto-scaling-group-name my-asg \ --launch-template LaunchTemplateName=my-template-for-auto-scaling,Version='1'

有关使用 CLI 命令更新自动扩缩组以使用启动模板的更多示例,请参阅更新 Auto Scaling 组以使用启动模板

步骤 4:替换实例

将启动配置替换为启动模板后,任何新实例都将使用新的启动模板。现有实例不会受到影响。

要更新现有的实例,您可以启动实例刷新替换自动扩缩组中的实例,而不是一次手动替换几个实例。有关更多信息,请参见 基于实例刷新替换 Auto Scaling 实例。如果组很大,则实例刷新可能会特别有用。

或者,您可以允许自动扩展以根据组的终止策略逐步将现有实例替换为新实例,也可以将其终止。手动终止会强制您的自动扩缩组启动新实例以保持该组的所需容量。有关更多信息,请参阅《适用于 Linux 实例的 Amazon EC2 用户指南》中的终止实例

其他信息

有关迁移至启动模板更多信息,请参阅 Amazon 计算博客上的 Amazon EC2 Auto Scaling 将不再向启动配置添加对新 EC2 功能的支持

有关引导您了解如何将 Amazon CloudFormation 堆栈从启动配置迁移到启动模板的主题,请参阅 将 Amazon CloudFormation 堆栈从启动配置迁移到启动模板

有关向您展示如何通过控制台为 Amazon EC2 Auto Scaling 创建新的启动模板的说明,请参阅 为 Auto Scaling 组创建启动模板