Creates a scaling group.

Description

A scaling group is a group of Elastic Compute Service (ECS) instances that can be used in similar business scenarios.

You can create only a limited number of scaling groups in a region. Go to Quota Center to check your quota of scaling groups.

A scaling group does not immediately take effect after you create the scaling group. You must call the EnableScalingGroup operation to enable the scaling group. After you enable the scaling group, Auto Scaling can execute scaling rules to trigger scaling activities in the scaling group.

The Classic Load Balancer (CLB) instances and ApsaraDB RDS instances that you want to associate with a scaling group must reside in the same region as the scaling group. CLB instances are formerly known as Server Load Balancer (SLB) instances. For more information about regions, see Regions and zones.

If you associate a CLB instance when you create a scaling group, Auto Scaling automatically adds ECS instances in the scaling group to the backend server groups of the associated CLB instance. You can specify a server group to which ECS instances can be added. You can add ECS instances to the following types of server groups:

  • Default server group: a group of ECS instances that are used to receive requests. If you do not specify a vServer group or a primary/secondary server group for a listener, requests are forwarded to the ECS instances in the default server group.
  • vServer group: If you want to forward requests to backend servers that are not in the default server group or configure domain name-based or URL-based forwarding rules, you can use vServer groups.
    Note If you specify the default server group and multiple vServer groups at the same time, ECS instances are added to all specified server groups.

    The default weight of an ECS instance that is added as a backend server of a CLB instance is 50. The CLB instance must meet the following requirements:

  • The CLB instance must be in the Active state. You can call the DescribeLoadBalancers operation to query the status of the specified CLB instance.
  • The health check feature must be enabled on all listener ports that are configured for the CLB instance. Otherwise, the scaling group cannot be created.

If you associate an Application Load Balancer (ALB) server group with a scaling group, Auto Scaling automatically adds ECS instances that are in the scaling group to the ALB server group to process requests distributed by the ALB instance to which the ALB server group belongs. You can specify multiple ALB server groups. The server groups must belong to the same virtual private cloud (VPC) as the scaling group. You can call the AttachAlbServerGroups operation to associate ALB server groups with your scaling group.

If you associate an ApsaraDB RDS instance when you create a scaling group, Auto Scaling automatically adds the private IP addresses of the ECS instances that are in the scaling group to the whitelist that manages access to the associated ApsaraDB RDS instance. The ApsaraDB RDS instance must meet the following requirements:

  • The ApsaraDB RDS instance must be in the Running state. You can call the DescribeDBInstances operation to query the status of the specified ApsaraDB RDS instance.
  • The number of IP addresses in the whitelist that manages access to the ApsaraDB RDS instance cannot exceed the upper limit. For more information, see Configure a whitelist in ApsaraDB RDS documentation.

If the MultiAZPolicy parameter of the scaling group is set to COST_OPTIMIZED, the following rules apply:

  • You can use the OnDemandBaseCapacity, OnDemandPercentageAboveBaseCapacity, and SpotInstancePools parameters to specify an instance allocation method based on the cost optimization policy. The specified instance allocation method is prioritized during scaling.
  • When the OnDemandBaseCapacity, OnDemandPercentageAboveBaseCapacity, or SpotInstancePools parameter is not specified, the instance type that is provided at the lowest price is used to create instances based on the cost optimization policy.

If you set the Tag.N.Propagate parameter for the scaling group to true, the following rules apply:

  • Tags that you add to the scaling group cannot be propagated to existing instances in the scaling group. Tags that you add to the scaling group are propagated to only new instances.
  • If you specify instance tags in the scaling configuration that is used to create instances and propagate the tags that you add to the scaling group to the instances, all tags exist at the same time.
  • If the tag key that you specify in a scaling configuration and the tag key that you add to the scaling group that uses the scaling configuration are the same, the tag value that you specify in the scaling configuration is preferentially used.

Debugging

OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.

Request parameters

Parameter Type Required Example Description
Action String Yes CreateScalingGroup

The operation that you want to perform. Set the value to CreateScalingGroup.

ScalingGroupName String No scalinggroup****

The name of the scaling group. The name of each scaling group must be unique in a region. The name must be 2 to 64 characters in length, and can contain letters, digits, underscores (_), hyphens (-), and periods (.). The name must start with a letter or a digit.

If you do not specify this parameter, the value of the ScalingGroupId parameter is used.

LaunchTemplateId String No lt-m5e3ofjr1zn1aw7****

The ID of the launch template that is used by Auto Scaling to create instances.

LaunchTemplateVersion String No Default

The version number of the launch template. Valid values:

  • A fixed template version number.
  • Default: the default template version.
  • Latest: the latest template version.
InstanceId String No i-28wt4****

The ID of the ECS instance. Auto Scaling obtains configuration information based on the ECS instance and uses the information to create a scaling configuration.

RegionId String Yes cn-qingdao

The region ID of the scaling group. For more information, see Regions and zones.

MinSize Integer Yes 2

The minimum number of ECS instances allowed in the scaling group. When the number of ECS instances in the scaling group is less than the value of the MinSize parameter, Auto Scaling automatically creates ECS instances until the number of instances in the scaling group is equal to the minimum number.

Note The value of the MinSize parameter must be less than or equal to the value of the MaxSize parameter.
MaxSize Integer Yes 20

The maximum number of ECS instances allowed in the scaling group. When the number of ECS instances in the scaling group is greater than the value of the MaxSize parameter, Auto Scaling automatically removes ECS instances until the number of instances is equal to the maximum number.

The value range of the MaxSize parameter varies based on the instance quota. You can go to Quota Center to check the quota of instances that can be added to a scaling group.

For example, if the quota of instances that can be added to a scaling group is 2,000, the value range of the MaxSize parameter is 0 to 2000.

DefaultCooldown Integer No 300

The cooldown time of the scaling group after a scale-in or scale-out activity is competed. Valid values: 0 to 86400. Unit: seconds.

During the cooldown time, Auto Scaling executes only scaling activities that are triggered by event-triggered tasks.

Default value: 300.

LoadBalancerIds String No ["lb-bp1u7etiogg38yvwz****", "lb-bp168cqrux9ai9l7f****", "lb-bp1jv3m9zvj22ufxp****"]

The IDs of the CLB instances that you want to associate with the scaling group. The value can be a JSON array that contains multiple CLB instance IDs. Separate multiple IDs with commas (,).

You can associate only a limited number of CLB instances with a scaling group. Go to Quota Center to check the quota of CLB instances that can be associated with a scaling group.

DBInstanceIds String No ["rm-bp142f86de0t7****", "rm-bp18l1z42ar4o****", "rm-bp1lqr97h4aqk****"]

The IDs of the ApsaraDB RDS instances that you want to associate with the scaling group. The value can be a JSON array that contains multiple ApsaraDB RDS instance IDs. Separate multiple IDs with commas (,).

You can associate only a limited number of ApsaraDB RDS instances with a scaling group. Go to Quota Center to check the quota of ApsaraDB RDS instances that can be associated with a scaling group.

RemovalPolicy.1 String No OldestScalingConfiguration

The first step of the instance removal policy. You cannot set the RemovalPolicy.1 parameter, the RemovalPolicy.2 parameter, and the RemovalPolicy.3 parameter to the same value.

  • OldestInstance: removes ECS instances that are added at the earliest point in time to the scaling group.
  • NewestInstance: removes ECS instances that are most recently added to the scaling group.
  • OldestScalingConfiguration: removes ECS instances that are created based on the earliest scaling configuration.
  • CustomPolicy: removes ECS instances based on the custom scaling policy (Function).

The scaling configuration mentioned in the OldestScalingConfiguration setting refers to the instance configuration source of a scaling group. The instance configuration source can be a scaling configuration or a launch template. The CustomPolicy setting is available only for the RemovalPolicies parameter. If you set the RemovalPolicies parameter to CustomPolicy, you must also specify the CustomPolicyARN parameter.

Note The removal of ECS instances from a scaling group is also affected by the value of the MultiAZPolicy parameter. For more information, see Configure a combination policy for removing instances.
RemovalPolicy.2 String No OldestInstance

The second step of the instance removal policy. You cannot set the RemovalPolicy.1 parameter, the RemovalPolicy.2 parameter, and the RemovalPolicy.3 parameter to the same value. Valid values:

  • OldestInstance: removes ECS instances that are added at the earliest point in time to the scaling group.
  • NewestInstance: removes ECS instances that are most recently added to the scaling group.
  • OldestScalingConfiguration: removes ECS instances that are created based on the earliest scaling configuration.
Note The removal of ECS instances from a scaling group is also affected by the value of the MultiAZPolicy parameter. For more information, see Configure a combination policy for removing instances.
RemovalPolicy.3 String No NewestInstance

The third step of the instance removal policy. You cannot set the RemovalPolicy.1 parameter, the RemovalPolicy.2 parameter, and the RemovalPolicy.3 parameter to the same value. Valid values:

  • OldestInstance: removes ECS instances that are added at the earliest point in time to the scaling group.
  • NewestInstance: removes ECS instances that are most recently added to the scaling group.
  • OldestScalingConfiguration: removes ECS instances that are created based on the earliest scaling configuration.
Note The removal of ECS instances from a scaling group is also affected by the value of the MultiAZPolicy parameter. For more information, see Configure a combination policy for removing instances.
VSwitchId String No vsw-bp14zolna43z266bq****

The ID of the vSwitch. If you specify the VSwitchId parameter, the network type of the scaling group is VPC.

Note If you do not specify the VSwitchId or VSwitchIds.N parameter, the network type of the scaling group is classic network.
MultiAZPolicy String No PRIORITY

The scaling policy for the multi-zone scaling group that contains ECS instances. Valid values:

  • PRIORITY: Auto Scaling scales ECS instances based on the priority of the vSwitch that is specified by the VSwitchIds.N parameter. Auto Scaling preferentially scales instances in the zone where the vSwitch that has the highest priority resides. If the scaling fails, Auto Scaling scales instances in the zone where the vSwitch that has the next highest priority resides.
  • COST_OPTIMIZED: Auto Scaling creates ECS instances whose vCPUs are provided at the lowest price during scale-out activities and removes ECS instances whose vCPUs are provided at the highest price during scale-in activities. If preemptible instance types are specified in the scaling configuration, Auto Scaling preferentially creates preemptible instances. You can use the CompensateWithOnDemand parameter to specify whether to automatically create pay-as-you-go instances when preemptible instances cannot be created due to insufficient resources.
    Note The COST_OPTIMIZED setting takes effect only when you specify multiple instance types or when you specify at least one preemptible instance type.
  • BALANCE: Auto Scaling evenly distributes ECS instances across zones that are specified for the scaling group. If ECS instances are unevenly distributed across zones due to insufficient resources, you can call the RebalanceInstance operation to evenly distribute the instances across the zones.

    Default value: PRIORITY.

HealthCheckType String No ECS

The health check mode of the scaling group. Valid values:

  • NONE: Auto Scaling does not perform health checks on instances in the scaling group.
  • ECS: Auto Scaling performs health checks on ECS instances in the scaling group.

Default value: ECS.

ScalingPolicy String No recycle

The reclaim mode of the scaling group. Valid values:

  • recycle: economical mode.
  • release: release mode.

ScalingPolicy specifies the reclaim modes of scaling groups. The policy that is used to remove ECS instances from scaling groups is specified by the RemovePolicy parameter of the RemoveInstances operation. For more information, see RemoveInstances.

ClientToken String No 123e4567-e89b-12d3-a456-42665544****

The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that the value is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see How to ensure idempotence.

OnDemandBaseCapacity Integer No 30

The minimum number of pay-as-you-go instances required in the scaling group. Valid values: 0 to 1000. If the number of pay-as-you-go instances is less than the value of this parameter, Auto Scaling creates pay-as-you-go instances.

OnDemandPercentageAboveBaseCapacity Integer No 20

The percentage of pay-as-you-go instances among the excess instances when the requirement on the minimum number of pay-as-you-go instances is met. Valid values: 0 to 100.

SpotInstanceRemedy Boolean No true

Specifies whether to supplement preemptible instances. If you set this parameter to true, Auto Scaling creates an instance to replace a preemptible instance when Auto Scaling receives a system message that indicates the preemptible instance is to be reclaimed.

CompensateWithOnDemand Boolean No true

Specifies whether to automatically create pay-as-you-go instances to meet the requirement on the number of ECS instances when the expected capacity of preemptible instances cannot be fulfilled due to reasons such as costs and insufficient resources. This parameter takes effect only when you set the MultiAZPolicy parameter to COST_OPTIMIZED. Valid values:

  • true
  • false

Default value: true.

SpotInstancePools Integer No 5

The number of instance types. The system creates preemptible instances of multiple instance types that are provided at the lowest price in the scaling group. Valid values: 1 to 10.

DesiredCapacity Integer No 5

The expected number of ECS instances in the scaling group. Auto Scaling automatically maintains the expected number of ECS instances that you specify. The expected number cannot be greater than the value of the MaxSize parameter and cannot be less than the value of the MinSize parameter.

GroupDeletionProtection Boolean No true

Specifies whether to enable deletion protection for the scaling group. Valid values:

  • true: enables deletion protection for the scaling group. This way, the scaling group cannot be deleted.
  • false: disables deletion protection for the scaling group.

Default value: false.

GroupType String No ECS

The type of instances that are managed by the scaling group. Valid values:

  • ECS: ECS instances
  • ECI: elastic container instances

Default value: ECS.

ContainerGroupId String No eci-uf6fonnghi50u374****

The ID of the elastic container instance.

VSwitchIds.N String No vsw-bp14zolna43z266bq****

The IDs of the vSwitches. You can specify 1 to 5 vSwitches. If you use the VSwitchIds.N parameter, the VSwitchId parameter is ignored. If you specify the VSwitchIds.N parameter, the network type of the scaling group is VPC.

When you specify multiple vSwitches, the following rules apply:

  • The vSwitches must belong to the same VPC.
  • The vSwitches can belong to different zones.
  • The vSwitches are sorted in ascending order. The first vSwitch specified by using the VSwitchIds parameter has the highest priority. If Auto Scaling fails to create ECS instances in the zone where the vSwitch that has the highest priority resides, Auto Scaling creates ECS instances in the zone where the vSwitch that has the next highest priority resides.
Note If you do not specify the VSwitchId or VSwitchIds.N parameter, the network type of the scaling group is classic network.
LifecycleHook.N.DefaultResult String No CONTINUE

The action that Auto Scaling performs when the lifecycle hook times out. Valid values:

  • CONTINUE: Auto Scaling continues to respond to scaling requests.
  • ABANDON: Auto Scaling releases ECS instances that are created during scale-out activities, or removes ECS instances from the scaling group during scale-in activities.

If multiple lifecycle hooks in a scaling group are triggered during a scale-in activity and you set the DefaultResult parameter to ABANDON for one of the lifecycle hooks, Auto Scaling immediately performs the action after the lifecycle hook whose DefaultResult is set to ABANDON times out. In this case, other lifecycle hooks time out ahead of schedule. In other cases, Auto Scaling performs the action only after all lifecycle hooks time out.

Default value: CONTINUE.

LifecycleHook.N.LifecycleHookName String No lifecyclehook****

The name of the lifecycle hook. After you specify this parameter, you cannot change the name of the lifecycle hook. If you do not specify this parameter, the name of the lifecycle hook is the same as the ID of the lifecycle hook.

LifecycleHook.N.LifecycleTransition String No SCALE_OUT

The type of the scaling activity to which the lifecycle hook applies. Valid values:

  • SCALE_OUT
  • SCALE_IN
Note If you specify lifecycle hooks for the scaling group, the LifecycleHook.N.LifecycleTransition parameter is required.
LifecycleHook.N.NotificationMetadata String No Test

The fixed string that is included in a notification when Auto Scaling sends the notification that indicates that the scaling activity is pending. The value of this parameter cannot exceed 128 characters in length. Auto Scaling sends the value of the NotificationMetadata parameter together with the notification. This helps you categorize your notifications. The LifecycleHook.N.NotificationMetadata parameter takes effect only after you specify the LifecycleHook.N.NotificationArn parameter.

LifecycleHook.N.NotificationArn String No acs:ess:cn-hangzhou:1111111111:queue/queue2

The Alibaba Cloud Resource Name (ARN) of the notification method that Auto Scaling uses to send a notification when a lifecycle hook takes effect. This method can be a Message Service (MNS) queue or an MNS topic. Specify the value in the following format: acs:ess:{region}:{account-id}:{resource-relative-id}.

  • region: the region where the scaling group resides
  • account-id: the ID of the Alibaba Cloud account

Examples:

  • MNS queue: acs:ess:{region}:{account-id}:queue/{queuename}
  • MNS topic: acs:ess:{region}:{account-id}:topic/{topicname}
LifecycleHook.N.HeartbeatTimeout Integer No 600

The period of time before the lifecycle hook times out. After the lifecycle hook times out, Auto Scaling performs the default action. Valid values: 30 to 21600. Unit: seconds.

After you create a lifecycle hook, you can call the RecordLifecycleActionHeartbeat operation to prolong the timeout period of the lifecycle hook. You can also call the CompleteLifecycleAction operation to end the timeout period ahead of schedule.

Default value: 600.

VServerGroup.N.VServerGroupAttribute.N.VServerGroupId String No rsp-bp1443g77****

The ID of vServer group N.

For more information, see AttachVServerGroups.

VServerGroup.N.VServerGroupAttribute.N.Weight Integer No 100

The weight of the ECS instance as a backend server after the instance is added to vServer group N. If you increase the weight of an ECS instance, the number of access requests that are forwarded to the ECS instance increases. If you set the Weight parameter for an ECS instance to 0, no access requests are forwarded to the ECS instance. Valid values: 0 to 100. Default value: 50.

Valid values of N: 1 to 5.

For more information, see AttachVServerGroups.

VServerGroup.N.VServerGroupAttribute.N.Port Integer No 22

The port number used by the ECS instance after the instance is added to vServer group N. Valid values: 1 to 65535.

For more information, see AttachVServerGroups.

VServerGroup.N.LoadBalancerId String No lb-bp1u7etiogg38yvwz****

The ID of the CLB instance to which vServer group N belongs.

For more information, see AttachVServerGroups.

Tag.N.Key String No Department

The key of tag N of the scaling group.

Tag.N.Value String No Finance

The value of tag N of the scaling group.

Tag.N.Propagate Boolean No false

Specifies whether tag N can be propagated. Valid values:

  • true: Tag N that is added to the scaling group can be propagated to new instances. Tag N that is added to the scaling group cannot be propagated to existing instances in the scaling group.
  • false: Tag N cannot be propagated.

Default value: false.

LaunchTemplateOverride.N.InstanceType String No ecs.c5.xlarge

Instance type N. The instance type that is specified by using this parameter overrides the instance type that is specified in the launch template. If you want to scale instances in the scaling group based on the weighted capacity of instances, you must specify the LaunchTemplateOverride.N.InstanceType and LaunchTemplateOverride.N.WeightedCapacity parameters at the same time.

You can specify N instance types in the extended configurations of the launch template. Valid values of N: 1 to 10.

Note This parameter takes effect only when you specify the LaunchTemplateId parameter.

For information about the valid values of InstanceType in InstanceTypeOverride.N.InstanceType, see Instance families.

LaunchTemplateOverride.N.WeightedCapacity Integer No 4

The weight of instance type N. The weight of an instance type specifies the capacity of a single instance of the instance type in the scaling group. If you want to scale instances in the scaling group based on the weighted capacity of instances, you must specify the LaunchTemplateOverride.N.WeightedCapacity parameter after you specify the LaunchTemplateOverride.N.InstanceType parameter. The values of N in the two parameters must be the same.

A higher weight specifies that a smaller number of instances of the specified instance type are required to meet the expected capacity requirement.

Performance metrics, such as the number of vCPUs and the memory size of each instance type, may vary. You can specify different weights for different instance types based on your business requirements.

Example:

  • Current capacity: 0
  • Expected capacity: 6
  • Capacity of ecs.c5.xlarge: 4

To meet the expected capacity requirement, Auto Scaling must create two ecs.c5.xlarge instances.

Note The capacity of the scaling group cannot exceed the sum of the maximum number of instances that is specified by the MaxSize parameter and the maximum weight of the instance type.

Valid values of WeightedCapacity in the InstanceTypeOverride.N.WeightedCapacity parameter: 1 to 500.

AlbServerGroup.N.AlbServerGroupId String No sgp-ddwb0y0g6y9bjm****

The ID of ALB server group N.

N specifies the serial number of the ALB server group. You can associate only a limited number of ALB server groups with a scaling group. To view the available quota or manually request a quota increase, go to Quota Center.

AlbServerGroup.N.Weight Integer No 100

The weight of the ECS instance as a backend server after the instance is added to ALB server group N. If you increase the weight of an ECS instance in an ALB server group, the number of access requests that are forwarded to the ECS instance increases. If you decrease the weight of an ECS instance in an ALB server group to 0, no access requests are forwarded to the ECS instance. Valid values: 0 to 100.

N specifies the serial number of the ALB server group.

AlbServerGroup.N.Port Integer No 22

The port number used by the ECS instance after the instance is added to ALB server group N. Valid values: 1 to 65535.

N specifies the serial number of the ALB server group.

Note If the N values are the same but the port numbers are different, Auto Scaling associates multiple ports in the scaling group with ALB server group N.
AzBalance Boolean No false

Specifies whether to evenly distribute instances in the scaling group across multiple zones. This parameter takes effect only when you set the MultiAZPolicy parameter to COMPOSABLE. Valid values:

  • true
  • false

Default value: false.

AllocationStrategy String No priority

The allocation policy of instances. Auto Scaling selects instance types based on the allocation policy to create the required number of instances. The policy can be applied to pay-as-you-go instances and preemptible instances at the same time. This parameter takes effect only when you set the MultiAZPolicy parameter to COMPOSABLE. Valid values:

  • priority: Auto Scaling selects instance types based on the specified order to create the required number of instances.
  • lowestPrice: Auto Scaling selects instance types that have the lowest unit price of vCPUs to create the required number of instances.

Default value: priority.

SpotAllocationStrategy String No lowestPrice

The allocation policy of preemptible instances. You can use this parameter to individually specify the allocation policy of preemptible instances. This parameter takes effect only when you set the MultiAZPolicy parameter to COMPOSABLE. Valid values:

  • priority: Auto Scaling selects instance types based on the specified order to create the required number of preemptible instances.
  • lowestPrice: Auto Scaling selects instance types that have the lowest unit price of vCPUs to create the required number of preemptible instances.

Default value: priority.

MaxInstanceLifetime Integer No null

The maximum life span of the instance in the scaling group. Unit: seconds.

Valid values: 86400 to Integer.maxValue.

Default value: null.

Note You cannot specify this parameter for scaling groups that manage elastic container instances or scaling groups whose ScalingPolicy is set to recycle.
CustomPolicyARN String No acs:fc:cn-zhangjiakou:16145688****:services/ess_custom_terminate_policy.LATEST/functions/ess_custom_terminate_policy_name

The ARN of the custom scaling policy (Function). This parameter takes effect only if you specify CustomPolicy as the first step of the instance removal policy.

Response parameters

Parameter Type Example Description
RequestId String 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****

The ID of the request.

ScalingGroupId String asg-bp14wlu85wrpchm0****

The ID of the scaling group.

Examples

Sample requests

http(s)://ess.aliyuncs.com/?Action=CreateScalingGroup
&ScalingGroupName=scalinggroup****
&LaunchTemplateId=lt-m5e3ofjr1zn1aw7****
&LaunchTemplateVersion=Default
&InstanceId=i-28wt4****
&RegionId=cn-qingdao
&MinSize=2
&MaxSize=20
&DefaultCooldown=300
&LoadBalancerIds=["lb-bp1u7etiogg38yvwz****", "lb-bp168cqrux9ai9l7f****", "lb-bp1jv3m9zvj22ufxp****"]
&DBInstanceIds=["rm-bp142f86de0t7****", "rm-bp18l1z42ar4o****", "rm-bp1lqr97h4aqk****"]
&RemovalPolicy.1=OldestScalingConfiguration
&RemovalPolicy.2=OldestInstance
&RemovalPolicy.3=NewestInstance
&VSwitchId=vsw-bp14zolna43z266bq****
&MultiAZPolicy=PRIORITY
&HealthCheckType=ECS
&ScalingPolicy=recycle
&ClientToken=123e4567-e89b-12d3-a456-42665544****
&OnDemandBaseCapacity=30
&OnDemandPercentageAboveBaseCapacity=20
&SpotInstanceRemedy=true
&CompensateWithOnDemand=true
&SpotInstancePools=5
&DesiredCapacity=5
&GroupDeletionProtection=true
&GroupType=ECS
&ContainerGroupId=eci-uf6fonnghi50u374****
&VSwitchIds=["vsw-bp14zolna43z266bq****"]
&LifecycleHook=[{"DefaultResult":"CONTINUE","LifecycleHookName":"lifecyclehook****","LifecycleTransition":"SCALE_OUT","NotificationMetadata":"Test","NotificationArn":"acs:ess:cn-hangzhou:1111111111:queue/queue2","HeartbeatTimeout":600}]
&VServerGroup=[{"VServerGroupAttribute":[{"VServerGroupId":"rsp-bp1443g77****","Weight":100,"Port":22}],"LoadBalancerId":"lb-bp1u7etiogg38yvwz****"}]
&Tag=[{"Key":"Department","Value":"Finance","Propagate":false}]
&LaunchTemplateOverride=[{"InstanceType":"ecs.c5.xlarge","WeightedCapacity":4}]
&AlbServerGroup=[{"AlbServerGroupId":"sgp-ddwb0y0g6y9bjm****","Weight":100,"Port":22}]
&AzBalance=false
&AllocationStrategy=priority
&SpotAllocationStrategy=lowestPrice
&<Common request parameters>

Sample success responses

XML format

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

<CreateScalingGroupResponse>
    <RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>
    <ScalingGroupId>asg-bp14wlu85wrpchm0****</ScalingGroupId>
</CreateScalingGroupResponse>

JSON format

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

{
  "RequestId" : "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****",
  "ScalingGroupId" : "asg-bp14wlu85wrpchm0****"
}

Error codes

For a list of error codes, visit the API Error Center.

HTTP status code

Error code

Error message

Description

400

IncorrectDBInstanceStatus

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

The error message returned because the specified ApsaraDB RDS instance is not in the Running state.

400

IncorrectLoadBalancerHealthCheck

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

The error message returned because the health check feature is not enabled for the specified CLB instance.

400

IncorrectLoadBalancerStatus

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

The error message returned because the specified CLB instance is not in the Active state.

400

IncorrectVSwitchStatus

The current status of virtual switch does not support this operation.

The error message returned because the vSwitch is unavailable. Therefore, ECS instances cannot be created.

400

InvalidDBInstanceId. RegionMismatch

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

The error message returned because the specified ApsaraDB RDS instance and the scaling group do not reside in the same region.

400

InvalidLoadBalancerId.IncorrectAddressType

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

The error message returned because the network type of the specified CLB instance is different from the network type of the vSwitch.

400

InvalidLoadBalancerId.IncorrectInstanceNetworkType

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

The error message returned because the network type of an ECS instance that is added to the backend server group of the specified CLB instance is different from the network type of the scaling group.

400

InvalidLoadBalancerId.RegionMismatch

The specified Load Balancer and the specified scaling group are not in the same Region.

The error message returned because the specified CLB instance and the specified scaling group do not reside in the same region.

400

InvalidLoadBalancerId.VPCMismatch

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

The error message returned because the vSwitch and the ECS instance that is added to the backend server group of the CLB instance associated with the scaling group do not reside in the same VPC.

400

InvalidParameter

The specified value of parameter "ScalingPolicy" is not valid.

The error message returned because the value that you specified for the ScalingPolicy parameter is invalid.

400

InvalidParameter.Conflict

The value of parameter &lt;parameter name&gt; and parameter &lt;parameter name&gt; are conflict.

The error message returned because the value of the MinSize parameter is greater than the value of the MaxSize parameter.

400

InvalidScalingGroupName.Duplicate

The specified value of parameter &lt;parameter name&gt; is duplicated.

The error message returned because the specified scaling group name already exists.

400

QuotaExceeded.DBInstanceSecurityIP

Security IP quota exceeded in DB instance "XXX".

The error message returned because the maximum number of IP addresses in the whitelist that manages access to the associated ApsaraDB RDS instance has been reached.

400

QuotaExceeded.PrivateIpAddress

Private IP address quota exceeded in the specified virtual switch.

The error message returned because no more private IP addresses are available in the CIDR block of the specified vSwitch.

400

QuotaExceeded.ScalingGroup

Scaling group quota exceeded.

The error message returned because the maximum number of scaling groups has been reached.

400

QuotaExceeded.VPCInstance

Instance quota exceeded in the specified VPC.

The error message returned because the maximum number of instances in the VPC has been reached.

404

InvalidDBInstanceId.NotFound

DB instance "XXX" does not exist.

The error message returned because the specified ApsaraDB RDS instance does not exist.

404

InvalidLoadBalancerId.NotFound

The specified Load Balancer does not exist.

The error message returned because the specified CLB instance does not exist.

404

InvalidRegionId.NotFound

The specified region does not exist.

The error message returned because the specified region does not exist.

404

InvalidVSwitchId.NotFound

The specified virtual switch does not exist.

The error message returned because the specified vSwitch does not exist.

400

LaunchTemplateVersionSet.NotFound

The specific version of launch template is not exist.

The error message returned because the specified version of the launch template does not exist.

400

LaunchTemplateSet.NotFound

The specified launch template set is not found.

The error message returned because the specified launch template does not exist.

400

TemplateMissingParameter.ImageId

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

The error message returned because the ImageId parameter that is required for the specified launch template is not specified.

400

TemplateMissingParameter.InstanceTypes

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

The error message returned because the InstanceTypes parameter that is required for the specified launch template is not specified.

400

TemplateMissingParameter.SecurityGroup

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

The error message returned because the SecurityGroup parameter that is required for the specified launch template is not specified.

400

TemplateVersion.NotNumber

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

The error message returned because the fixed version number that is specified for the LaunchTemplateVersion parameter contains non-digit characters.

400

AlbServerGroup.NotExist

The ServerGroup "%s" do(es) not exist.

The error message returned because the specified ALB server group does not exist within the Alibaba Cloud account.