如何在AWS CDK(TypeScript)中使用AutoScalingGroup而不使用已弃用的启动配置?
解决AWS CDK创建AutoScalingGroup时使用弃用启动配置的问题
要避免CDK自动生成已弃用的启动配置,你需要显式使用Launch Template来替代,这是AWS当前推荐的Auto Scaling Group实例配置方案。具体实现如下:
调整步骤
- 先创建
LaunchTemplate实例,把原AutoScalingGroup中与实例相关的配置(如instanceType、machineImage、securityGroup、role)迁移到这里 - 创建AutoScalingGroup时,通过
launchTemplate属性引用这个Launch Template,不再直接传入实例类参数
示例代码
// 1. 创建Launch Template const launchTemplate = new autoscaling.LaunchTemplate(this, 'ASGLaunchTemplate', { instanceType: ec2.InstanceType.of(ec2.InstanceClass.T2, ec2.InstanceSize.MICRO), machineImage: ami, securityGroup: securityGroup, role: role, // 可选:可添加Launch Template专属配置,比如实例元数据选项、自定义标签等 }); // 2. 创建AutoScalingGroup并关联Launch Template const asg = new autoscaling.AutoScalingGroup(this, 'ASG', { minCapacity: 2, maxCapacity: 5, vpc, launchTemplate: launchTemplate, });
补充说明
- Launch Template支持版本管理、更丰富的实例配置项,是AWS官方明确替代启动配置的方案
- 调整后,CDK将自动绑定Launch Template到Auto Scaling Group,不再生成已弃用的启动配置资源
内容的提问来源于stack exchange,提问作者seikida
相关产品推荐
相关产品推荐

