创建AWS Auto Scaling启动配置时,如何按单位类型设置Spot实例最高价格?
问题解答
结论:可以按vCPU/内存单位设置Spot最高价格,但需使用启动模板(Launch Template)而非传统启动配置(Launch Configuration),配合Auto Scaling组的属性选择功能实现。
具体操作步骤:
创建支持属性选择的启动模板
- 启动模板中不要指定固定实例类型,而是通过「实例类型需求」(或属性筛选)定义你需要的实例特征(比如vCPU范围、内存大小、实例族等)。
- 在模板的Spot配置中,无需设置单实例最高价(后续会基于单位类型统一配置)。
创建Auto Scaling组并配置单位型价格阈值
- 选择上述启动模板作为实例配置来源,开启Spot实例模式。
- 在「容量配置」环节,设置
TargetCapacityUnitType为vcpu或memory-mib。 - 设置「价格保护阈值」为你可接受的每vCPU/小时或每MiB内存/小时的最高价格(例如
0.02美元/每vCPU小时)。
验证配置逻辑
- 配置完成后,Auto Scaling组会自动筛选符合属性要求且单价(按你指定的单位计算)低于阈值的Spot实例类型,同时根据市场供应情况灵活选择实例,提升请求满足率并降低中断风险。
关键说明:
- 传统的「启动配置」是AWS的旧资源类型,不支持
TargetCapacityUnitType参数,因此无法实现按单位类型设置Spot价格,这也是你找不到对应配置项的原因。 - 启动模板文档中提到的
TargetCapacityUnitType,实际是Auto Scaling组层面的配置参数,而非启动模板本身的属性,所以无需在启动模板内设置。
内容的提问来源于stack exchange,提问作者TJ Biddle
相关产品推荐
相关产品推荐

