您可以按照性能指标(如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。
- 创建伸缩组。本步骤主要介绍多可用区扩缩容策略相关的选项,如需了解其它伸缩组选项,请参见配置伸缩组。
- 网络类型配置为专有网络,然后选择专有网络下的多个虚拟交换机。由于一个虚拟交换机只归属于一个可用区,选择多个虚拟交换机即可以在多个可用区创建ECS实例,合理利用不同可用区的库存。
- 多可用区扩缩容策略配置为成本优化策略。
- 根据需要配置其余伸缩组选项。
- 网络类型配置为专有网络,然后选择专有网络下的多个虚拟交换机。
- 创建伸缩配置。本步骤主要介绍为实例规格设置vCPU权重的相关选项,如需了解其它伸缩配置选项,请参见创建伸缩配置(ECS实例)。
- 计费方式配置为按量付费。
- 选择多个实例规格(不超过10个)。
- 选中设置vCPU容量,按照实例规格的vCPU个数,系统默认为所有已选的实例规格设置权重。
您可以自定义权重的大小。自定义权重时,建议您按照以下方式设置权重:
- 使用与实例规格相关的性能指标设置权重。例如,CPU核数或者内存个数。您可以用单个vCPU、1 GiB内存或某个性能最小的实例规格作为伸缩组容量单位,此时伸缩组的容量都是相对该容量单位计算的。
- 设置合适的权重大小,尽量保证伸缩组内当前容量是实例规格最大权重的2~3倍。
- 尽量不要为不同规格设置差距过大的权重。例如,较小实例规格的权重设置为1,较大实例规格的权重设置为200。如果权重之间的差距过大,可能对伸缩组的总体成本产生负面影响。
创建实例时,多个实例规格的优先顺序,请参见权重单价计算方式。
- 根据需要配置其余伸缩配置选项。
- 启用伸缩组。
- 创建伸缩规则。本步骤主要介绍简单验证所需配置的选项,如需了解其它伸缩规则选项,请参见配置伸缩规则。
- 伸缩规则类型配置为简单规则。
- 执行的操作配置为增加10个容量单位。
- 根据需要配置其余伸缩规则选项。
- 执行伸缩规则。在本示例中,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/时 |