扩缩容策略

更新时间:2025-03-21 03:28:44

伸缩组通过自动调整资源来应对应用的负载变化,确保服务的稳定性和成本效益。当触发扩容或缩容操作时,需要选择“合适”的实例加入或移出伸缩组,判断“合适”的实例的过程主要由预设的扩缩容策略完成。弹性伸缩为您预设了几种扩缩容策略,您可以参考本文完成扩缩容策略的配置。

扩缩容策略说明

伸缩组默认会根据您配置的交换机的顺序(优先级策略),进行伸缩组的伸缩活动,您可以通过修改扩缩容策略来实现其他策略,伸缩组为您预设了几种伸缩策略,具体策略说明如下。

重要

伸缩组类型ECS,且网络类型专有网络时,支持修改该配置,当伸缩组类型ECI时,默认扩缩容策略优先级策略

  • 优先级策略(默认策略)。

    根据您定义的虚拟交换机扩缩容。当优先级较高的虚拟交换机所在可用区无法创建实例时,自动在下一优先级的虚拟交换机的可用区创建实例。

  • 均衡分布策略

    如果您期望在扩缩容后,保持伸缩组在可用区之间分布均衡从而达成多可用区容灾的效果,您可以采用本策略。如果由于库存不足等原因导致可用区之间ECS实例的数量不均衡,您可以执行再均衡分布操作来平衡ECS实例的分布情况。具体操作,请参见ECS实例再均衡分布

  • 成本优化策略

    当成本在您的决策中优先级比较高,您可以使用成本优化策略。使用该策略,在伸缩活动发生时,会按照实例的vCPU单价从低到高进行尝试创建,当伸缩配置设置了抢占式计费方式的多实例规格时,优先创建对应抢占式计费实例,当抢占式计费实例规格由于库存等原因都无法创建时,自动尝试以按量付费的方式创建,在缩容活动发生时,则会优先移出vCPU单价最高的实例。

  • 自定义组合策略

    使用组合方式自定义容量分布策略。您可使用该策略调整伸缩组内按量实例和抢占式实例的比例,可用区间的容量均衡以及实例规格的选择。

如何配置,请参见配置扩缩容策略

配置扩缩容策略

修改已有伸缩组的扩缩容策略
创建伸缩组时配置扩缩容策略

如果您需要修改已有伸缩组的扩缩容策略,请参考以下步骤完成配置。

  1. 登录弹性伸缩控制台

  2. 在左侧导航栏中,单击伸缩组管理
  3. 在顶部菜单栏处,选择地域。
  4. 伸缩组管理页中,找到您需要修改扩缩容策略的伸缩组,在右侧操作下,单击修改按钮弹出修改伸缩组窗口。

  5. 扩缩容策略设置为您需要的策略。

    如果您选择了成本优化策略自定义组合策略,需要进一步完成其子配置,具体子配置项说明,请参见子配置项说明

  6. 单击确定按钮完成配置操作。

您可以在通过表单创建伸缩组时,完成扩缩容策略的配置,如下图所示。

image

如果您选择了成本优化策略自定义组合策略,需要进一步完成其子配置,具体子配置项说明,请参见子配置项说明

子配置项说明

如果您设置了成本优化策略自定义组合策略,您可参考下表完成进一步配置。

成本优化策略
自定义组合策略

配置项

说明

组内最小按量实例数(台)

伸缩组所需按量付费ECS实例的最小台数,默认为0台。如果伸缩组内的按量付费ECS实例的数量小于该值,将优先创建按量付费实例。

按量实例所占比例(%)

自动创建ECS实例时按量付费实例所占的比例,默认为70%。计算该值时,不包括组内最小按量实例数对应的台数。

最低价的多个实例规格(个)

价格最低的实例规格的个数,默认为1个。在伸缩配置中指定了多个可选实例规格时生效。创建抢占式实例时,伸缩组会在价格最低的几个实例规格之间均衡创建ECS实例。

开启抢占式实例补偿

开启抢占式实例补偿后,在抢占式实例被回收前5分钟,伸缩组会主动创建新的抢占式实例,并替换掉将被回收的抢占式实例。

使用按量实例补充抢占式容量

默认为开启状态。如果因价格、库存等原因无法满足所需要的抢占式实例容量时,开启该功能,伸缩组会尝试创建按量付费实例来满足当前抢占式实例的容量。

开启抢占式实例自动替换按量

开启使用按量实例补充抢占式容量后,伸缩组中按量实例比例可能会超过按量实例所占比例(%),您可以开启该选项,开启后伸缩组会尝试使用抢占式实例替换按量实例。

配置项

说明

组内最小按量实例数(台)

伸缩组所需按量付费ECS实例的最小台数,默认为0台。如果伸缩组内的按量付费ECS实例的数量小于该值,将优先创建按量付费实例。

按量实例所占比例(%)

自动创建ECS实例时按量付费实例所占的比例,默认为70%。计算该值时,不包括组内最小按量实例数对应的台数。

开启可用区容量均衡

在伸缩组指定的多可用区(即指定多个专有网络交换机)之间均匀分配ECS实例。

说明

您可以通过执行再均衡分布操作来平衡ECS实例在可用区的分布,具体操作,请参见ECS实例再均衡分布

容量分布策略

容量分布策略决定伸缩组如何选择可用的实例规格满足容量。

  • 实例规格顺序:按照配置的实例规格的顺序依次优先创建实例。

  • 最低价格:按照实例规格单位vCPU价格从低到高创建实例。

单独指定抢占式容量分布策略

开启后可以单独为抢占式实例指定容量分布策略。

抢占式容量分布策略

容量分布策略

最低价的多个实例规格(个)

指定最低价的多个实例规格,当创建抢占式实例时,将在指定的实例规格中进行均衡分布。

开启抢占式实例补偿

开启后在抢占式实例被回收前5分钟左右,将主动替换掉当前抢占式实例。

使用按量实例补充抢占式容量

默认为开启状态。如果因价格、库存等原因无法满足所需要的抢占式实例容量时,开启该功能,伸缩组会尝试创建按量付费实例来满足当前抢占式实例的容量。

开启抢占式实例自动替换按量

开启使用按量实例补充抢占式容量后,伸缩组中按量实例比例可能会超过按量实例所占比例(%),您可以开启该选项,开启后伸缩组会尝试使用抢占式实例替换按量实例。

通过API修改伸缩组扩缩容策略

您可以通过API调用的方式修改伸缩组的扩缩容策略,本文以通过调用ModifyScalingGroup修改伸缩组扩缩容策略为例。不同策略需要关注不同的配置项,不同扩缩容策略需设置配置项如下:

设置优先级策略

根据您定义的虚拟交换机扩缩容。当优先级较高的虚拟交换机所在可用区无法创建实例时,自动在下一优先级的虚拟交换机的可用区创建实例。

参数名称

类型

说明

如何设置

ScalingGroupId

string

伸缩组ID。(必选)

设置为待修改伸缩组的ID。

MultiAZPolicy

string

扩缩容策略。(必选)

实现优先级策略需设置为PRIORITY

设置为均衡分布策略

扩容时尽量使实例在多可用区均衡分布。

重要

伸缩组需配置多可用区交换机才可以在多个可用区创建实例。

参数名称

类型

说明

如何设置

ScalingGroupId

string

伸缩组ID。(必选)

设置为待修改伸缩组的ID。

MultiAZPolicy

string

扩缩容策略。(必选)

实现均衡分布策略需设置为BALANCE

如果由于库存不足等原因导致,实例在可用区之间变得不平衡,可以调用相关API,重新平衡实例分布,请参见RebalanceInstances - 重新平衡ECS实例分布

设置为成本优化策略

按照实例的vCPU单价从低到高进行尝试创建,伸缩配置设置了抢占式实例后,优先创建抢占式实例,无法创建抢占式实例时尝试创建按量实例。

重要

伸缩配置设置多实例规格开启抢占式实例后,成本优化策略才可生效。

参数名称

类型

说明

如何设置

ScalingGroupId

string

伸缩组ID。(必选)

设置为待修改伸缩组的ID。

MultiAZPolicy

string

扩缩容策略。(必选)

实现成本优化策略需设置为COST_OPTIMIZED

OnDemandBaseCapacity

integer

组内最小按量实例数(台)。(可选)

当伸缩组内按量实例个数少于该值时,系统将优先创建按量实例。

根据实际需求设置。

取值范围:0~1000。

默认值:0。

OnDemandPercentageAboveBaseCapacity

integer

按量实例所占比例(%)。(可选)

满足最小按量实例数OnDemandBaseCapacity的要求后,超出的实例中按量实例应占的比例。

根据实际需求设置。

取值范围:0~100。

默认值:0。

SpotInstancePools

integer

最低价的多个实例规格(个)。

价格最低的实例规格的个数。在伸缩配置中指定了多个可选实例规格时生效。
创建抢占式实例时,伸缩组会在价格最低的几个实例规格之间均衡创建ECS实例。

根据实际需求设置。

取值范围:0~10。

默认值:2。

SpotInstanceRemedy

boolean

是否开启抢占式实例补偿。

开启抢占式实例补偿后,在抢占式实例被回收前5分钟,伸缩组会主动创建新的抢占式实例,并替换掉将被回收的抢占式实例。

根据实际需求设置。

取值范围:

  • true:开启。

  • false:关闭。

CompensateWithOnDemand

boolean

是否开启使用按量实例补充抢占式容量

如果因价格、库存等原因无法创建足够的抢占式实例,是否允许自动尝试创建按量实例满足 ECS 实例数量要求。

根据实际需求设置。

取值范围:

  • true:开启。

  • false:关闭。

CapacityOptions.SpotAutoReplaceOnDemand

boolean

是否开启抢占式实例自动替换按量。

当开启CompensateWithOnDemand后,如果按量比例超过OnDemandPercentageAboveBaseCapacity比例时,会尝试使用spot替换按量容量。

根据实际需求设置。

取值范围:

  • true:开启。

  • false:关闭。

设置为自定义组合策略

可使用该策略调整伸缩组内按量实例和抢占式实例的比例,可用区间的容量均衡以及实例规格的选择。

参数名称

类型

说明

如何设置

ScalingGroupId

string

伸缩组ID(必选)

设置为待修改伸缩组的ID。

MultiAZPolicy

string

扩缩容策略(必选)

实现自定义组合策略需设置为COMPOSABLE

OnDemandBaseCapacity

integer

组内最小按量实例数(台)。(可选)

当伸缩组内按量实例个数少于该值时,系统将优先创建按量实例。

根据实际需求设置。

取值范围:0~1000。

默认值:0。

OnDemandPercentageAboveBaseCapacity

integer

按量实例所占比例(%)。(可选)

满足最小按量实例数OnDemandBaseCapacity的要求后,超出的实例中按量实例应占的比例。

根据实际需求设置。

取值范围:0~100。

默认值:100。

AzBalance

boolean

是否开启可用区容量均衡。(可选)

在伸缩组指定的多可用区(即指定多个专有网络交换机)之间均匀分配ECS实例。如果由于库存不足等原因可用区之间变得不平衡,可以调用相关API,重新平衡,请参见RebalanceInstances - 重新平衡ECS实例分布

根据实际需求设置。

取值范围:

  • true:开启。

  • false:关闭。

AllocationStrategy

string

容量分布策略。(可选)

容量分布策略决定伸缩组如何选择可用的实例规格满足容量。

根据实际需求设置。

取值范围:

  • priority(默认值):按照配置的实例规格的顺序依次优先创建实例。

  • lowestPrice:按照实例规格单位vCPU价格从低到高创建实例。

SpotAllocationStrategy

string

单独指定抢占式容量分布策略。(可选)

使用该选项可以单独制定抢占式容量分布策略。

根据实际需求设置。

取值范围:

  • priority:按照配置的实例规格的顺序依次优先创建实例。

  • lowestPrice:按照实例规格单位vCPU价格从低到高创建实例。

SpotInstancePools

integer

最低价的多个实例规格(个)。

重要

当参数AllocationStrategySpotAllocationStrategy值为lowestPrice时需要设置该字段。

价格最低的实例规格的个数。在伸缩配置中指定了多个可选实例规格时生效。
创建抢占式实例时,伸缩组会在价格最低的几个实例规格之间均衡创建ECS实例。

根据实际需求设置。

取值范围:0~10。

默认值:2。

SpotInstanceRemedy

boolean

是否开启抢占式实例补偿

重要

当参数AllocationStrategySpotAllocationStrategy值为lowestPrice时需要设置该字段。

开启抢占式实例补偿后,在抢占式实例被回收前5分钟,伸缩组会主动创建新的抢占式实例,并替换掉将被回收的抢占式实例。

根据实际需求设置。

取值范围:

  • true:开启。

  • false:关闭。

CompensateWithOnDemand

boolean

是否开启使用按量实例补充抢占式容量

重要

当参数AllocationStrategySpotAllocationStrategy值为lowestPrice时需要设置该字段。

如果因价格、库存等原因无法创建足够的抢占式实例,是否允许自动尝试创建按量实例满足 ECS 实例数量要求。

根据实际需求设置。

取值范围:

  • true:开启。

  • false:关闭。

CapacityOptions.SpotAutoReplaceOnDemand

boolean

是否开启抢占式实例自动替换按量。

当开启CompensateWithOnDemand后,如果按量比例超过OnDemandPercentageAboveBaseCapacity比例时,会尝试使用spot替换按量容量。

根据实际需求设置。

取值范围:

  • true:开启。

  • false:关闭。

  • 本页导读 (1)
  • 扩缩容策略说明
  • 配置扩缩容策略
  • 子配置项说明
  • 通过API修改伸缩组扩缩容策略
  • 设置优先级策略
  • 设置为均衡分布策略
  • 设置为成本优化策略
  • 设置为自定义组合策略
AI助理

点击开启售前

在线咨询服务

你好,我是AI助理

可以解答问题、推荐解决方案等