伸缩配置支持开启备选模式。开启后,当伸缩组扩容遇到库存不足时,弹性伸缩会根据您设置的备选范围,自动补充其他实例规格或可用区来创建实例,提升扩容成功率。
功能说明
当伸缩组使用单一实例规格或少量可用区时,如果遇到库存不足,扩容可能会失败。备选模式基于实时库存数据,在您预先授权的范围内自动补充可用的实例规格和可用区,从而提升扩容成功率。
开启备选模式时,您可以通过以下选项控制备选范围:
备选范围 | 说明 |
价格上限 | 设置备选实例规格的价格上限,单位为元/小时。备选规格的价格不会超过该上限。例如,当前所选规格最高单价为 5 元/小时,您可以将价格上限设置为 6 元/小时。 若不设置,备选模式会自动以当前已选规格的最高价格作为上限。 |
允许其他代系实例规格 | 开启后,备选范围将扩展到其他代系的同等大小实例规格。例如,当前规格为 ecs.c7.large,开启后可备选 ecs.c6.large、ecs.c8.large 等同等大小的不同代系规格。 |
允许补充其他可用区的交换机 | 开启后,当所有已选可用区均无法扩容时,弹性伸缩会根据实时库存状况在其他可用区自动创建交换机并添加到伸缩组中。开启时需要指定交换机网段。例如,伸缩组配置了 cn-hangzhou-h 和 cn-hangzhou-g 可用区,当两个可用区均无法扩容时,弹性伸缩可能会在 cn-hangzhou-k 可用区创建交换机并添加到伸缩组中。 |
前提条件
已创建ECS伸缩组。
伸缩配置的实例配置方式为指定实例规格。使用指定实例属性方式时不支持备选模式。
使用限制
当开启允许补充其他可用区的交换机时,必须同时指定交换机网段。交换机网段要求如下:
交换机的网段的掩码长度范围为 16~29 位。
交换机的网段必须从属于所在 VPC 的网段。更多信息,请参见什么是专有网络VPC。
交换机的网段不能与所在 VPC 中路由条目的目标网段相同,但可以是目标网段的子集。
交换机的网段不能是
100.64.0.0/10及其子网网段。
开启备选模式
您可以通过控制台、CLI 或 API 在创建或修改伸缩配置时开启备选模式。
控制台
登录弹性伸缩控制台。
在左侧导航栏,单击伸缩组管理。在顶部菜单栏,选择地域。
在伸缩组管理页,找到待操作伸缩组,单击伸缩组名称进入详细页。
在伸缩配置页签下,执行以下操作之一:
创建伸缩配置:单击创建伸缩配置按钮。
修改现有伸缩配置:找到目标伸缩配置,单击操作列的修改。
在镜像和实例区域,实例配置方式选择指定实例规格,并选择所需的实例规格。
在已选实例规格区域上方,单击备选模式按钮。
系统弹出设置备选规格范围对话框。
在设置备选规格范围对话框中,按需配置备选范围。各配置项说明如下表所示。
配置项
说明
价格上限
设置备选实例规格的价格上限,单位为元/小时。系统会显示当前所选接受最高单价供您参考,建议将价格上限设置为当前最高单价的基础上适当上浮(最高10%),以获得更多备选规格。
实例规格
打开允许其他代系实例规格开关后,备选范围将包含与当前规格同等大小但不同代系的实例规格。例如,当前规格为 ecs.c7.large,开启后可备选 ecs.c6.large 和 ecs.c8.large 等规格。
交换机
打开允许补充其他可用区的交换机开关后,当所有已选可用区均无法扩容时,伸缩组会自动在其他可用区创建交换机并添加到伸缩组中。
交换机网段
仅当开启了允许补充其他可用区的交换机后才需配置。指定自动创建交换机时使用的 IPv4 网段及掩码。网段要求如下:
掩码长度范围为 16~29 位;
必须从属于所在 VPC 的网段;
不能与所在 VPC 中路由条目的目标网段相同(可以是其子集);
不能是 100.64.0.0/10 及其子网网段。
单击确定按钮,完成备选模式的设置。
返回伸缩配置页面后,您可以在实例规格列表下方看到备选规格和备选可用区的预览信息,展示根据当前备选范围设置可能补充的实例规格和可用区。
完成其他伸缩配置项的设置后,单击创建或修改按钮,完成伸缩配置。
(可选)启用伸缩配置。
CLI/API
通过CLI或SDK调用CreateScalingConfiguration或ModifyScalingConfiguration接口时,通过以下参数设置备选模式:
参数 | 类型 | 必填 | 说明 |
InstanceTypeCandidateOptions.Enabled | boolean | 否 | 是否开启备选模式。取值:
|
InstanceTypeCandidateOptions.MaxPrice | float | 否 | 备选实例规格的价格上限,单位为元/小时。备选的实例规格价格不会超过该上限。 |
InstanceTypeCandidateOptions.AllowDifferentGeneration | boolean | 否 | 是否允许补充其他代系的实例规格。例如当前规格为 ecs.c7.large,开启后可备选 ecs.c6.large 和 ecs.c8.large 等规格。 |
InstanceTypeCandidateOptions.AllowCrossAz | boolean | 否 | 是否允许补充其他可用区的交换机。开启后,当所有已选可用区均无法扩容时,会根据实时库存状况自动在其他可用区创建交换机并添加到伸缩组中。设置为 true 时,必须同时设置 AllowCidrBlocks。 |
InstanceTypeCandidateOptions.AllowCidrBlocks.N | string | 否 | 允许补充其他可用区交换机时,指定交换机的网段。网段要求:掩码长度范围为 16~29 位;必须从属于所在 VPC 的网段;不能与 VPC 中路由条目的目标网段相同(可以是其子集);不能是 |
查看备选模式配置
伸缩配置创建完成后,您可以通过控制台、CLI 或 API 查看备选模式的配置信息。
控制台
伸缩配置列表:开启了备选模式的伸缩配置,在伸缩配置列表中会显示备选模式标签,方便您快速识别。
伸缩配置详情页:单击伸缩配置ID进入详情页,在详情页中可以查看备选模式的完整配置信息,包括:
是否开启备选模式。
价格上限。
是否允许其他代系实例规格。
是否允许补充其他可用区的交换机。
交换机网段(如已配置)。
CLI/API
通过CLI或SDK调用DescribeScalingConfigurations接口,返回参数中包含以下备选模式相关字段:
参数 | 类型 | 说明 |
InstanceTypeCandidateOptions.Enabled | boolean | 是否已开启备选模式。 |
InstanceTypeCandidateOptions.MaxPrice | float | 备选实例规格的价格上限(元/小时)。 |
InstanceTypeCandidateOptions.AllowDifferentGeneration | boolean | 是否允许补充其他代系的实例规格。 |
InstanceTypeCandidateOptions.AllowCrossAz | boolean | 是否允许补充其他可用区的交换机。 |
InstanceTypeCandidateOptions.AllowCidrBlocks | array of string | 允许补充的交换机网段列表。 |
修改备选模式配置
控制台
登录弹性伸缩控制台。
在左侧导航栏,单击伸缩组管理。在顶部菜单栏,选择地域。
在伸缩组管理页,找到待操作伸缩组,单击伸缩组名称进入详细页面。
在伸缩配置页签下,找到目标伸缩配置,单击操作列的修改。
单击编辑备选范围。在设置备选规格范围对话框中,按需配置备选范围。各配置项说明如下表所示。
配置项
说明
价格上限
设置备选实例规格的价格上限,单位为元/小时。系统会显示当前所选接受最高单价供您参考,建议将价格上限设置为当前最高单价的基础上适当上浮(最高10%),以获得更多备选规格。
实例规格
打开允许其他代系实例规格开关后,备选范围将包含与当前规格同等大小但不同代系的实例规格。例如,当前规格为 ecs.c7.large,开启后可备选 ecs.c6.large 和 ecs.c8.large 等规格。
交换机
打开允许补充其他可用区的交换机开关后,当所有已选可用区均无法扩容时,伸缩组会自动在其他可用区创建交换机并添加到伸缩组中。
交换机网段
仅当开启了允许补充其他可用区的交换机后才需配置。指定自动创建交换机时使用的 IPv4 网段及掩码。网段要求如下:
掩码长度范围为 16~29 位;
必须从属于所在 VPC 的网段;
不能与所在 VPC 中路由条目的目标网段相同(可以是其子集);
不能是 100.64.0.0/10 及其子网网段。
单击修改按钮,完成伸缩配置的修改。
修改伸缩配置中的备选模式后,新创建的 ECS 实例会使用新的备选模式配置,但不会影响伸缩组内已有 ECS 实例的配置。
CLI/API
通过CLI或SDK调用ModifyScalingConfiguration接口时,通过以下参数设置备选模式:
参数 | 类型 | 必填 | 说明 |
InstanceTypeCandidateOptions.Enabled | boolean | 否 | 是否开启备选模式。取值:
|
InstanceTypeCandidateOptions.MaxPrice | float | 否 | 备选实例规格的价格上限,单位为元/小时。备选的实例规格价格不会超过该上限。 |
InstanceTypeCandidateOptions.AllowDifferentGeneration | boolean | 否 | 是否允许补充其他代系的实例规格。例如当前规格为 ecs.c7.large,开启后可备选 ecs.c6.large 和 ecs.c8.large 等规格。 |
InstanceTypeCandidateOptions.AllowCrossAz | boolean | 否 | 是否允许补充其他可用区的交换机。开启后,当所有已选可用区均无法扩容时,会根据实时库存状况自动在其他可用区创建交换机并添加到伸缩组中。设置为 true 时,必须同时设置 AllowCidrBlocks。 |
InstanceTypeCandidateOptions.AllowCidrBlocks.N | string | 否 | 允许补充其他可用区交换机时,指定交换机的网段。网段要求:掩码长度范围为 16~29 位;必须从属于所在 VPC 的网段;不能与 VPC 中路由条目的目标网段相同(可以是其子集);不能是 |
关闭备选模式
控制台
登录弹性伸缩控制台。
在左侧导航栏,单击伸缩组管理。在顶部菜单栏,选择地域。
在伸缩组管理页,找到待操作伸缩组,单击伸缩组名称进入详细页面。
在伸缩配置页签下,找到目标伸缩配置,单击操作列的修改。
在选择实例规格右侧,关闭备选模式开关。
单击修改按钮,完成伸缩配置的修改。
CLI/API
通过CLI或SDK调用ModifyScalingConfiguration接口,将 InstanceTypeCandidateOptions.Enabled 设置为 false 即可关闭备选模式。
关闭备选模式后,伸缩组在扩容时将不再自动补充其他实例规格或可用区。如果当前配置的实例规格和可用区库存不足,扩容可能会失败。
使用示例
以下示例演示备选模式如何在库存不足时提升扩容成功率。
场景:某伸缩组配置了单一实例规格 ecs.c7.large,使用杭州可用区 J(cn-hangzhou-j),由于该规格在可用区 J 库存不足,扩容频繁失败。
解决方案:在伸缩配置中开启备选模式,配置如下:
配置项 | 配置值 |
价格上限 | 1.1 元/小时(当前规格单价 1 元/小时,上浮 10%) |
允许其他代系实例规格 | 开启 |
允许补充其他可用区的交换机 | 开启 |
交换机网段 | 192.168.3.0/24 |
效果:当 ecs.c7.large 在 cn-hangzhou-j 库存不足时,伸缩组会自动尝试以下策略:
在 cn-hangzhou-j 可用区使用备选规格(如 ecs.c6.large 或 ecs.c8.large)创建实例。
如果 cn-hangzhou-j 所有备选规格均库存不足,自动在其他可用区(如 cn-hangzhou-k)创建交换机,并使用原规格或备选规格创建实例。
通过备选模式,伸缩组的扩容成功率提升,无需人工干预。
相关文档
创建伸缩配置的完整参数说明,请参见创建伸缩配置(ECS实例)。
管理伸缩配置(启用、修改、删除等操作),请参见管理伸缩配置。
通过指定实例属性方式自动筛选实例规格,请参见使用指定实例属性方式配置伸缩配置。
可调用CreateScalingConfiguration或ModifyScalingConfigurationAPI 通过
InstanceTypeCandidateOptions参数设置备选模式。可调用DescribeScalingConfigurationsAPI 查询伸缩配置中的备选模式设置。