全部产品
Search
文档中心

弹性伸缩:EnableScalingGroup

更新时间:May 21, 2024

如果伸缩组处于停用状态,并且该伸缩组已通过指定启动模板方式或者创建并启用伸缩配置方式指定了实例配置来源,您可以调用API EnableScalingGroup启用一个伸缩组,通过弹性伸缩来自动调整您的业务计算能力(即实例数量)。

接口说明

  • 当伸缩组处于Inactive状态,且伸缩组配置了组内实例的配置信息来源(伸缩配置、启动模板或者在创建伸缩组时指定ECS实例)时,才可以调用该接口来启用伸缩组。否则,会调用失败。

    说明 一个伸缩组在同一时刻有且只有一个生效的实例配置信息来源。在调用接口时,您可以为伸缩组指定伸缩配置或启动模板。如果调用该接口前您已经为伸缩组配置了实例配置信息来源,在调用时再指定伸缩配置或启动模板会覆盖原有的配置信息。

  • 当该接口指定了加入伸缩组的ECS实例(InstanceId.N),调用该接口后,弹性伸缩会判断在加入ECS实例后伸缩组的ECS实例数量(Total Capacity)是否在最小值(MinSize)和最大值(MaxSize)之间:
    • 如果伸缩组的Total Capacity小于MinSize,调用成功后,弹性伸缩服务会自动创建差额的按量付费的ECS实例。

      例如:创建伸缩组时,指定MinSize为5,在启用伸缩组的InstanceId.N参数中指定2台已有ECS实例,则弹性伸缩在加入2台已有ECS实例之后,再自动创建3台ECS实例。

    • 如果伸缩组的Total Capacity大于MaxSize,则调用失败。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称

类型

是否必选

示例值

描述

Action String EnableScalingGroup

系统规定参数。取值:EnableScalingGroup

ScalingGroupId String asg-bp14wlu85wrpchm0****

伸缩组的ID。

ActiveScalingConfigurationId String asc-bp1ffogfdauy0nu5****

需要在伸缩组内启用的伸缩配置的ID。

LaunchTemplateId String lt-m5e3ofjr1zn1aw7****

实例启动模板的ID,用于指定伸缩组从实例启动模板获取启动配置信息。

LaunchTemplateVersion String Default

实例启动模板的版本。取值范围:

  • 固定的模板版本号。
  • Default:始终使用模板默认版本。
  • Latest:始终使用模板最新版本。
InstanceId.N String i-283vv****

启用伸缩组后需要加入伸缩组的ECS实例的ID,N的取值范围:1~20。

指定加入伸缩组的ECS实例需要满足以下条件:

  • 必须与伸缩组在同一个地域。
  • 必须处于Running状态。
  • 不能已加入到其他伸缩组中。
  • 付费方式为包年包月、按量付费或抢占式实例。
  • 如果伸缩组指定VswitchID,则不支持Classic类型的ECS实例加入伸缩组,也不支持其他VPC的ECS实例加入伸缩组。
  • 如果伸缩组没有指定VswitchID,则不支持VPC类型的ECS实例加入伸缩组。
LoadBalancerWeight.N Integer 50

加入伸缩组的ECS实例或ECI实例作为后端服务器的权重,N的取值范围:1~20,该参数取值范围:1~100。

默认值:50。

LaunchTemplateOverride.N.InstanceType String ecs.c5.xlarge

当您需要伸缩组按照实例规格容量进行伸缩时,请同时指定本参数和LaunchTemplateOverride.N.WeightedCapacity。

本参数用于指定实例规格,会覆盖启动模板中的实例规格。您可以指定N个本参数,扩展启动模板支持N个实例规格。N的取值范围:1~10。

说明 仅当LaunchTemplateId参数指定了启动模板时,本参数生效。

InstanceType的取值范围:在售的ECS实例规格,请参见实例规格族

LaunchTemplateOverride.N.WeightedCapacity Integer 4

当您需要伸缩组按照实例规格容量进行伸缩时,在指定LaunchTemplateOverride.N.InstanceType后,再指定本参数。两个参数一一对应,N需要保持一致。

本参数用于指定实例规格的权重,即实例规格的单台实例在伸缩组中表示的容量大小。权重越大,满足期望容量所需的本实例规格的实例数量越少。

由于每个实例规格的vCPU个数、内存大小等性能指标会有差异,您可以根据自身需求,给不同的实例规格配置不同的权重。

例如:

  • 当前容量:0。
  • 期望容量:6。
  • ecs.c5.xlarge规格容量:4。

为满足期望容量,伸缩组将为用户扩容2台ecs.c5.xlarge实例。

说明 扩容时伸缩组的容量不得超过最大容量(MaxSize)与实例规格的最大权重之和。

WeightedCapacity的取值范围:1~500。

RegionId String cn-qingdao

伸缩组所属的地域ID。

返回数据

名称

类型

示例值

描述

RequestId String 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****

请求ID。

示例

请求示例

http(s)://ess.aliyuncs.com/?Action=EnableScalingGroup
&ScalingGroupId=asg-bp14wlu85wrpchm0****
&ActiveScalingConfigurationId=asc-bp1ffogfdauy0nu5****
&LaunchTemplateId=lt-m5e3ofjr1zn1aw7****
&LaunchTemplateVersion=Default
&InstanceId=["i-283vv****"]
&LoadBalancerWeight=[50]
&LaunchTemplateOverride=[{"InstanceType":"ecs.c5.xlarge","WeightedCapacity":4}]
&RegionId=cn-qingdao
&公共请求参数

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<EnableScalingGroupResponse>
    <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>
</EnableScalingGroupResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "RequestId" : "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****"
}

错误码

访问错误中心查看更多错误码。

HttpCode

错误码

错误信息

描述

404

InvalidScalingGroupId.NotFound

The specified scaling group does not exist.

指定的伸缩组在当前账号下不存在。

403

Forbidden.Unauthorized

A required authorization for the specified action is not supplied.

您并未向弹性伸缩完整授权OpenAPI接口。

400

IncorrectScalingGroupStatus

The current status of the specified scaling group does not support this action.

指定的伸缩组处于Deleting状态。

404

InvalidScalingConfigurationId.NotFound

The specified scaling configuration does not exist.

指定的伸缩配置不存在指定的伸缩组中。

400

InvalidScalingConfigurationId.InstanceTypeMismatch

The specified scaling configuration and existing active scaling configuration have different instance type.

指定的伸缩配置的实例规格与当前生效的伸缩配置的实例规格不匹配。

400

MissingActiveScalingConfiguration

An active scaling configuration for the specified scaling group is not supplied.

伸缩组中未指定生效的伸缩配置。

404

InvalidInstanceId.NotFound

Instance "XXX" does not exist.

指定的ECS实例在当前账号下不存在。

400

InvalidInstanceId. RegionMismatch

Instance "XXX" and the specified scaling group are not in the same Region.

指定的ECS实例与伸缩组所处的地域不匹配。

400

InvalidInstanceId. InstanceTypeMismatch

Instance "XXX" and existing active scaling configuration have different instance type.

指定的ECS实例与伸缩配置的实例规格不匹配。

400

IncorrectInstanceStatus

The current status of instance "XXX" does not support this action.

指定的ECS实例未处于Running状态。

400

InvalidInstanceId. NetworkTypeMismatch

The network type of instance "XXX" does not support this action.

指定的ECS实例的网络类型与伸缩组的网络类型不匹配。

400

InvalidInstanceId.VPCMismatch

Instance "XXX" and the specified scaling group are not in the same VPC.

指定的伸缩组与添加的ECS实例不在同一个VPC当中。

400

InvalidInstanceId.InUse

Instance "XXX" is already attached to another scaling group.

指定的ECS实例已加入其它伸缩组。

400

IncorrectLoadBalancerStatus

The current status of the specified load balancer does not support this action.

指定的负载均衡实例未处于active状态。

400

IncorrectLoadBalancerHealthCheck

The current health check type of specified load balancer does not support this action.

指定的负载均衡实例未开启健康检查。

400

InvalidLoadBalancerId.IncorrectInstanceNetworkType

The network type of the instance in specified Load Balancer does not support this action.

指定的负载均衡实例含有的ECS实例的网络类型与伸缩组的网络类型不匹配。

400

InvalidLoadBalancerId.VPCMismatch

The specified virtual switch and the instance in specified Load Balancer are not in the same VPC.

指定的伸缩组的负载均衡实例含有的ECS实例与VSwitchId不在同一个VPC当中。

400

IncorrectDBInstanceStatus

The current status of DB instance "XXX" does not support this action.

指定的RDS实例未处于Running状态。

400

IncorrectCapacity.MaxSize

To attach the instances, the total capacity will be greater than the max size.

加入的ECS实例数使得Total Capacity超过MaxSize。

400

LaunchTemplateVersionSet.NotFound

The specific version of launch template is not exist.

实例启动模板指定版本不存在。

400

LaunchTemplateSet.NotFound

The specified launch template set is not found.

指定实例启动模板不存在。

400

TemplateMissingParameter.ImageId

The input parameter "ImageId" that is mandatory for processing this request is not supplied.

实例启动模板指定版本缺少镜像信息。

400

TemplateMissingParameter.InstanceTypes

The input parameter "InstanceTypes" that is mandatory for processing this request is not supplied.

实例启动模板指定版本缺少实例规格信息。

400

TemplateMissingParameter.SecurityGroup

The input parameter "SecurityGroup" that is mandatory for processing this request is not supplied.

实例启动模板指定版本缺少安全组信息。

400

TemplateVersion.NotNumber

The input parameter "LaunchTemplateVersion" is supposed to be a string representing the version number.

指定实例启动模板固定版本号为非数字。