为了提升弹性扩容成功率,您在配置伸缩组时,可通过扩展启动模板属性,同时配置多个实例规格,即您可以基于启动模板配置多实例规格的伸缩组。本文介绍使用启动模板作为实例配置来源创建伸缩组时,如何指定多个实例规格。
背景信息
实例启动模板包含了ECS实例的配置信息,用于快速创建ECS实例。使用实例启动模板创建ECS实例可以免去重复配置的操作,简化配置流程。更多信息,请参见实例启动模板概述。
配置ECS类型的伸缩组时,可以选择组内实例配置信息来源为启动模板,后续该伸缩组扩容时,会自动使用启动模板包含的配置信息来创建ECS实例。默认情况下,由于实例启动模板仅支持指定一种实例规格,弹性伸缩基于启动模板来创建ECS实例时可能会碰到指定规格库存不足的情况。为了提升扩容的成功率,您可以为伸缩组扩展启动模板属性,配置多个实例规格来覆盖启动模板的单个规格配置,实现在某一规格库存不足时,可以自动切换到其他规格,避免扩容失败而影响业务。
准备工作
创建或配置伸缩组前,您需要前往ECS管理控制台的启动模板页面创建启动模板,您也可以使用已有的启动模板。关于如何创建启动模板,请参见创建实例启动模板。
弹性伸缩仅支持使用付费模式为按量付费和抢占式实例的启动模板,不支持付费模式为包年包月的启动模板。如果使用包年包月的启动模板,会自动转换为按量付费的启动模板。
本文使用以下启动模板作为示例:
付费模式:按量付费
实例规格:ecs.g5.large
操作步骤
以下步骤将创建两个伸缩组,用于对比体现启动模板+多实例规格的效果。
伸缩组A:只使用启动模板,未扩展启动模板属性。
伸缩组B:使用启动模板,并扩展启动模板属性,配置多个实例规格。
登录弹性伸缩控制台。
创建伸缩组A。
在伸缩组管理页面,单击创建伸缩组。
完成伸缩组配置,单击创建。
本文使用以下参数配置作为示例,未提及的参数可保持默认。更多信息,请参见配置伸缩组。
参数
示例
说明
伸缩组名称
test-a
输入伸缩组名称。格式要求请参考界面提示。
伸缩组类型
ECS
选择ECS,表示伸缩组内的实例类型为ECS实例。
组内实例配置信息来源
启动模板
选择启动模板,表示伸缩组扩容时,会使用启动模板配置的信息来创建ECS实例。
选择启动模板
test
选择准备好的启动模板。
选择模板版本
始终使用最新版本
按需选择要使用的启动模板版本。
组内最小实例数
1
设置伸缩组内实例数量的下限。当前实例数量低于下限时,伸缩组会自动添加实例,使得伸缩组内的实例数量等于下限。
组内最大实例数
1
设置伸缩组内实例数量的上限。当前实例数量超过上限时,伸缩组会自动移出实例,使得伸缩组内的实例数量等于上限。
创建伸缩组B。
请重复创建伸缩组A的步骤来创建伸缩组B(名称为test-b),在伸缩组A配置的参数的基础上,伸缩组B请配置扩展启动模板属性。具体操作如下:
在扩展启动模板属性处,选中覆盖启动模板实例规格。
按需选择是否使用vCPU个数计算伸缩组容量。
选中使用vCPU个数计算伸缩组容量后,您可以在已选实例规格区域中查看已选实例对应的权重值。设置vCPU容量会重新计算伸缩组当前的容量,可能导致伸缩组触发新的扩缩容活动,您也可以使用实例规格关联的其他性能指标,例如内存大小,自定义伸缩组容量度量方式。更多信息,请参见使用性能指标作为弹性伸缩的度量单位。
在用户可选实例规格区域,单击要选择的实例规格前的图标,配置多个实例规格。
启动模板指定的实例规格默认已加入到已选实例规格。您可以按照选择全部实例规格、按照实例规格推荐或按Vcpu推荐方式选择多个实例规格。
本文以扩展ecs.g5ne.large和ecs.g6.large为例,建议您选择更多的实例规格,减少所选规格库存不足的风险。
在已选实例规格区域,调整规格的顺序。
启用伸缩组A和伸缩组B,并触发扩容活动。
您可以通过设置最小实例数、期望实例数、执行伸缩规则等方法触发伸缩组的扩容动作。
由于本文的两个示例伸缩组的最小实例数配置为1,因此启用伸缩组后,两个伸缩组会分别自动创建一台ECS实例。
效果对比
分别单击伸缩组ID,打开伸缩组详情页面,在实例列表页签,查看ECS实例信息,对比规格差异。
伸缩组A:只使用启动模板,未扩展启动模板属性。
由于启动模板指定了ecs.g5.large,因此ECS实例的规格为ecs.g5.large。如果ecs.g5.large无库存,将扩容失败。
伸缩组B:使用启动模板,并扩展启动模板属性,配置多个实例规格。
除了启动模板指定的ecs.g5.large外,还增加了ecs.g5ne.large和ecs.g6.large。由于示例配置中ecs.g6.large最优先,因此ECS实例的规格为ecs.g6.large。当ecs.g6.large无库存,会依次尝试ecs.g5.large和ecs.g5ne.large。
综上,相比只使用启动模板的伸缩组A,启动模板+多实例规格的伸缩组B,在弹性伸缩方面可以更加灵活地适配实际业务场景需求,提高了扩容成功率。即:配置多个实例规格后,当某个实例规格没有库存时,弹性伸缩会自动切换到有库存的实例规格进行扩容。