本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将自动扩缩组迁移到启动模板
自 2023 年 1 月 1 日起,启动配置中不再支持新的实例类型。这适用于在初始区域启动 Amazon Web Services 区域 后添加到中的任何实例类型。此外,您还可以使用某个地区不再支持的实例类型创建启动配置。有关更多信息,请参阅 自动扩缩启动配置。
要将自动扩缩组从启动配置迁移到启动模板,请参阅以下步骤。
重要
步骤 1:查找使用启动配置的自动扩缩组
要确定您的 Auto Scaling 组是否仍在使用启动配置,请使用运行以下describe-auto-scaling-groupsREGION为你的 Amazon Web Services 区域。
aws autoscaling describe-auto-scaling-groups --regionREGION\ --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 --regionREGION\ --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:将启动配置复制到启动模板
您可以使用以下过程将启动配置复制到启动模板。然后,您可以将其添加到自动扩缩组。
复制多个启动配置会生成同名的启动模板。要在复制过程中更改启动模板的名称,必须逐个复制启动配置。
注意
复制功能只能从控制台提供。
将启动配置复制到启动模板(控制台)
打开 Amazon EC2 控制台,网址为https://console.aws.amazon.com/ec2/
。 - 
                    
在左侧导航窗格的自动扩缩下方,选择自动扩缩组。
 - 
                    
在页面顶部附近,选择启动配置。当提示您确认时,选择查看启动配置以确认您要查看启动配置页面。
 - 
                    
选择您要复制的启动配置,然后选择复制到启动模板,复制所选。这将设置一个与您所选启动配置具有相同名称和选项的新启动模板。
 - 
                    
对于新建启动模板名称,您可以使用启动配置的名称(默认值)或者输入新名称。启动模板名称必须是唯一的。
 - 
                    
(可选)选择使用新模板创建自动扩缩组。
您可以跳过此步骤以完成启动配置的复制。您无需创建新的自动扩缩组。
 - 
                    
选择复制。
 
将所有启动配置复制到启动模板(控制台)
打开 Amazon EC2 控制台,网址为https://console.aws.amazon.com/ec2/
。 - 
                    
在导航窗格中的 Auto Scaling (自动调整) 上,选择 Launch Configurations (启动配置)。
 - 
                    
选择复制到启动模板,全部复制。这将当前地区中的每个启动配置复制到具有相同名称和选项的新启动模板。
 - 
                    
选择 Copy(复制)。
 
步骤 3:更新自动扩缩组以使用启动模板
创建启动模板后,您可以将其添加到自动扩缩组。
更新自动扩缩组以使用启动模板(控制台)
在上打开亚马逊 EC2 控制台 https://console.aws.amazon.com/ec2/
,然后从导航窗格中选择 A uto Scaling Gro ups。 - 
                    
选中您的自动扩缩组旁边的复选框。
将在页面底部打开一个拆分窗格,其中显示有关所选组的信息。
 - 
                    
在详细信息选项卡上,选择启动配置、编辑。
 - 
                    
选择切换到启动模板。
 - 
                    
对于启动模板,选择您的启动模板。
 - 
                    
对于版本,根据需要选择启动模板版本。在创建启动模板版本之后,您可以选择 Auto Scaling 组在扩展时是使用启动模板的默认版本还是最新版本。
 - 
                    
选择更新。
 
更新自动扩缩组以使用启动模板 (Amazon CLI)
以下update-auto-scaling-group
aws autoscaling update-auto-scaling-group --auto-scaling-group-namemy-asg\ --launch-template LaunchTemplateName=my-template-for-auto-scaling,Version='1'
有关使用 CLI 命令更新自动扩缩组以使用启动模板的更多示例,请参阅更新 Auto Scaling 组以使用启动模板。
步骤 4:替换实例
将启动配置替换为启动模板后,任何新实例都将使用新的启动模板。现有实例不会受到影响。
要更新现有的实例,您可以启动实例刷新替换自动扩缩组中的实例,而不是一次手动替换几个实例。有关更多信息,请参阅 使用实例刷新更新自动扩缩组中的实例。如果组很大,则实例刷新可能会特别有用。
或者,您可以允许自动扩展以根据组的终止策略逐步将现有实例替换为新实例,也可以将其终止。手动终止会强制您的自动扩缩组启动新实例以保持该组的所需容量。有关更多信息,请参阅 Amazon EC2 用户指南中的终止实例。
其他信息
有关更多信息,请参阅 Amazon A  EC2  uto Scaling 将不再为 Amazon 计算博客上的启动配置添加对新 EC2 功能的支持
有关引导您了解如何将 Amazon CloudFormation 堆栈从启动配置迁移到启动模板的主题,请参阅将 Amazon CloudFormation 堆栈迁移到启动模板。