您可以按照性能指标(如vCPU个数)为不同实例规格设置权重,即指定不同实例规格的单台实例在伸缩组中表示的容量大小。设置权重后,伸缩组可以用性能指标度量伸缩组的容量,有助于您更准确地判断伸缩组的整体性能。

背景信息

弹性伸缩默认使用实例台数来度量伸缩组的容量。当伸缩配置仅指定单个实例规格时,伸缩组内的实例台数和整体性能成正比。但是,当您的伸缩配置指定了多个不同大小的实例规格,并创建了多台不同实例规格的实例,实例台数无法准确反映伸缩组提供的整体性能。例如,10台ecs.c5.large(2 vCPU、4 GiB)实例和10台ecs.c5.xlarge(4 vCPU、8 GiB)实例,提供的性能相差一倍。

此时,您可以直接指定实例规格的权重。即便伸缩组创建了多台不同实例规格的实例,您也能准确度量伸缩组的性能。例如,您以vCPU个数设置实例规格的权重,伸缩组的容量将表示伸缩组内所有实例的vCPU总个数。

基本概念

概念 API参数 说明
权重 WeightedCapacity 按照性能指标(如vCPU个数),指定实例规格的权重,即表示不同实例规格的单台实例在伸缩组中表示的容量大小。
总容量 TotalCapacity 伸缩组所有实例的容量总和。
最大容量 MaxSize 伸缩组总容量的最大值。
说明 由于最大容量不一定能被权重整除,扩容后伸缩组的总容量可能超过最大容量,但超出量小于最大权重。
最小容量 MinSize 伸缩组总容量的最小值。
期望容量 DesiredCapacity 伸缩组总容量的期望值,伸缩组会确保总容量不小于期望容量。
说明 由于期望容量不一定能被权重整除,扩容后伸缩组的总容量可能超过期望容量,但超出量小于最大权重。

扩缩容规则

  • 总容量<期望容量,或者总容量<最小容量时,触发伸缩组扩容。
  • 总容量≥(期望容量+最大权重)时,触发伸缩组缩容。
说明 伸缩组优先根据扩缩容策略进行弹性伸缩,如选择成本优化策略时,按照权重单价从低到高创建实例,按照权重单价从高到低释放实例。权重单价的计算方式,请参见 权重单价计算方式

注意事项

  • 您必须为伸缩组的所有实例规格设置权重。
  • 当您删除了伸缩配置中的某实例规格,伸缩组中已创建的该规格实例的权重保持不变。
  • 当您修改实例规格的权重时,若已创建该实例规格的实例,弹性伸缩将根据新的权重信息重新计算伸缩组当前容量,可能触发新的扩缩容活动

操作步骤

本操作步骤使用伸缩配置作为伸缩组的配置来源,设置实例规格的权重。

说明 您也可以使用启动模板作为配置来源,通过调用API CreateScalingGroup,指定LaunchTemplateOverride.N.InstanceType和LaunchTemplateOverride.N.WeightedCapacity参数来设置各实例规格的权重。具体信息,请参见 CreateScalingGroup
  1. 创建伸缩组。
    本步骤主要介绍多可用区扩缩容策略相关的选项,如需了解其它伸缩组选项,请参见 创建伸缩组
    1. 网络类型配置为专有网络,然后选择专有网络下的多个虚拟交换机。
      由于一个虚拟交换机只归属于一个可用区,选择多个虚拟交换机即可以在多个可用区创建ECS实例,合理利用不同可用区的库存。
    2. 多可用区扩缩容策略配置为成本优化策略
    3. 根据需要配置其余伸缩组选项。
  2. 创建伸缩配置。
    本步骤主要介绍为实例规格设置vCPU权重的相关选项,如需了解其它伸缩配置选项,请参见 创建伸缩配置
    1. 计费方式配置为按量付费
    2. 选择多个实例规格(不超过10个)。
    3. 选中设置vCPU容量,按照实例规格的vCPU个数,系统默认为所有已选的实例规格设置权重。
      设置权重

      您可以自定义权重的大小。自定义权重时,建议您按照以下方式设置权重:

      • 使用与实例规格相关的性能指标设置权重。例如,CPU核数或者内存个数。您可以用单个vCPU、1 GiB内存或某个性能最小的实例规格作为伸缩组容量单位,此时伸缩组的容量都是相对该容量单位计算的。
      • 设置合适的权重大小,尽量保证伸缩组内当前容量是实例规格最大权重的2~3倍。
      • 尽量不要为不同规格设置差距过大的权重。例如,较小实例规格的权重设置为1,较大实例规格的权重设置为200。如果权重之间的差距过大,可能对伸缩组的总体成本产生负面影响。

      创建实例时,多个实例规格的优先顺序,请参见权重单价计算方式

    4. 根据需要配置其余伸缩配置选项。
  3. 启用伸缩组。
  4. 创建伸缩规则。
    本步骤主要介绍简单验证所需配置的选项,如需了解其它伸缩规则选项,请参见 创建伸缩规则
    1. 伸缩规则类型配置为简单规则
    2. 执行的操作配置为增加10个容量单位
    3. 根据需要配置其余伸缩规则选项。
  5. 执行伸缩规则。
    在本示例中,ecs.c5.2xlarge实例规格的权重单价最低。所以,伸缩组实际扩容了2台ecs.c5.2xlarge实例,伸缩组实际增加了16个容量单位。

权重单价计算方式

如果您的伸缩组采用成本优化策略,且设置了实例规格权重,在扩容过程中,伸缩组将根据权重单价从低到高尝试创建实例。其他内容,请参见通过扩缩容策略降低成本

下表举例说明不同实例规格权重单价的计算方式。
说明 下表中实例规格的市场价格仅作为示例,实际市场价格,请参见 云服务器ECS定价页
实例规格 vCPU 市场价格 权重 权重单价
ecs.c5.large 2 0.18/时 2 0.090/时
ecs.c5.xlarge 4 0.34/时 4 0.085/时
ecs.c5.2xlarge 8 0.64/时 8 0.080/时