If you need to automatically increase or decrease the number of instances of a specific type based on business changes and policies, you can configure a scaling group to automatically adjust your computing capacity (that is, the number of instances). If the current scaling group attributes no longer meet your business requirements, you can call the ModifyScalingGroup operation to modify scaling group attributes such as the maximum number of instances, minimum number of instances, or expected number of instances. This way, you do not need to create a scaling group again or reconfigure related attributes, which saves time and resources.
Operation description
-
The following parameters cannot be modified:
-
RegionId.
-
LoadBalancerId.
NoteTo modify the associated load balancing instances, use the AttachLoadBalancers and DetachLoadBalancers operations.
DBInstanceId.
NoteTo modify the associated ApsaraDB RDS instances, use the AttachDBInstances and DetachDBInstances operations.
-
-
You can call this operation only when the scaling group is in the
ActiveorInactivestate. -
Enabling a new scaling configuration does not affect ECS instances or elastic container instances that were created based on the previous scaling configuration and are still running.
-
If you modify MaxSize and the number of ECS instances or elastic container instances in the scaling group exceeds the new MaxSize value, the scaling group automatically removes ECS instances or elastic container instances to make the instance count equal to MaxSize.
-
If you modify MinSize and the number of ECS instances or elastic container instances in the scaling group is less than the new MinSize value, the scaling group automatically adds ECS instances or elastic container instances to make the instance count equal to MinSize.
-
If DesiredCapacity is set for the scaling group and you modify DesiredCapacity, causing the number of ECS instances or elastic container instances in the scaling group to be inconsistent with the new DesiredCapacity value, the scaling group automatically adds or removes ECS instances or elastic container instances to make the instance count equal to DesiredCapacity.
Try it now
Test
RAM authorization
|
Action |
Access level |
Resource type |
Condition key |
Dependent action |
|
ess:ModifyScalingGroup |
update |
*ScalingGroup
|
None | None |
Request parameters
|
Parameter |
Type |
Required |
Description |
Example |
| ScalingGroupId |
string |
Yes |
The ID of the scaling group that you want to modify. |
asg-bp1ffogfdauy0jw0**** |
| ScalingGroupName |
string |
No |
The name of the scaling group. The name must be unique within a region. The name must be 2 to 64 characters in length and must start with a digit, an uppercase letter, a lowercase letter, or a Chinese character. The name can contain digits, underscores (_), hyphens (-), and periods (.). |
scalinggroup**** |
| MinSize |
integer |
No |
The minimum number of ECS instances or elastic container instances in the scaling group. When the number of ECS or elastic container instances in the scaling group is less than the MinSize value, Auto Scaling performs automatic creation of ECS instances or elastic container instances. Note
The value of MinSize must be less than or equal to the value of MaxSize. |
1 |
| MaxSize |
integer |
No |
The maximum number of ECS instances or elastic container instances in the scaling group. When the number of ECS or elastic container instances in the scaling group exceeds the MaxSize value, Auto Scaling automatically removes instances. The valid values of MaxSize depend on your Auto Scaling usage. Go to Quota Center to check the quota value for Maximum number of instances in a scaling group. For example, if the quota value for Maximum number of instances in a scaling group is 2000, the valid values of MaxSize are 0 to 2000. |
99 |
| DefaultCooldown |
integer |
No |
The default cooldown time of the scaling group. This parameter applies only to simple scaling. Valid values: 0 to 86400. Unit: seconds. During the cooldown time, the scaling group does not execute other scaling activities. This restriction applies only to scaling activities that are triggered by CloudMonitor event-triggered tasks. |
600 |
| RemovalPolicies |
array |
No |
The scale-in policy of the scaling group for removing ECS instances. Valid values:
|
|
|
string |
No |
The scale-in policy of the scaling group for removing ECS instances. Valid values:
|
NewestInstance |
|
| ActiveScalingConfigurationId |
string |
No |
The ID of the active scaling configuration in the scaling group. |
asc-bp17pelvl720x5ub**** |
| HealthCheckType |
string |
No |
The health check mode of the scaling group. Valid values:
Note
To enable both instance health checks and load balancing health checks, use the |
ECS |
| LaunchTemplateId |
string |
No |
The ID of the launch template. This parameter specifies the scaling group to obtain launch configuration information from the launch template. |
lt-m5e3ofjr1zn1aw7**** |
| LaunchTemplateVersion |
string |
No |
The version of the launch template. Valid values:
|
Default |
| OnDemandBaseCapacity |
integer |
No |
The minimum number of pay-as-you-go instances required in the scaling group. Valid values: 0 to 1000. When the number of pay-as-you-go instances is less than this value, pay-as-you-go instances are preferentially created. When the |
30 |
| OnDemandPercentageAboveBaseCapacity |
integer |
No |
The percentage of pay-as-you-go instances among the excess instances after the minimum number of pay-as-you-go instances (OnDemandBaseCapacity) is met. Valid values: 0 to 100. When the |
20 |
| SpotInstanceRemedy |
boolean |
No |
Specifies whether to supplement spot instances. If this parameter is set to true, the scaling group attempts to create new instances to replace spot instances that are about to be reclaimed when the system sends reclamation notifications. |
true |
| CompensateWithOnDemand |
boolean |
No |
Specifies whether to automatically create pay-as-you-go instances to meet the required number of ECS instances when spot instances cannot be created due to reasons such as cost or insufficient inventory. This parameter takes effect only when the
|
true |
| SpotInstancePools |
integer |
No |
The number of available instance types. The scaling group creates spot instances in a cost-effective manner across the specified instance types. Valid values: 0 to 10. When the |
5 |
| DesiredCapacity |
integer |
No |
The expected number of ECS instances or elastic container instances in the scaling group. The scaling group automatically maintains the instance count at the expected number of instances. Valid values: MaxSize ≥ expected number of instances ≥ MinSize. Note
If the expected number of instances feature is disabled and then re-enabled, you must set the |
5 |
| GroupDeletionProtection |
boolean |
No |
Specifies whether to enable deletion protection for the scaling group. Valid values:
|
true |
| MultiAZPolicy |
string |
No |
The scaling policy for ECS instances in a multi-zone scaling group. Valid values:
Note
|
PRIORITY |
| VSwitchIds |
array |
No |
The IDs of one or more vSwitches. This parameter takes effect only when the network type of the scaling group is VPC. The specified vSwitches must belong to the same VPC as the scaling group. The vSwitches can span multiple zones. The priority of vSwitches is sorted in ascending order of numbers, where 1 indicates the highest priority. When an ECS instance cannot be created in the zone of a higher-priority vSwitch, the system automatically selects the next-priority vSwitch to create the instance. |
|
|
string |
No |
The IDs of one or more vSwitches. This parameter takes effect only when the network type of the scaling group is VPC. The specified vSwitches must belong to the same VPC as the scaling group. The vSwitches can span multiple zones. The priority of vSwitches is sorted in ascending order of numbers, where 1 indicates the highest priority. When an ECS instance cannot be created in the zone of a higher-priority vSwitch, the system automatically selects the next-priority vSwitch to create the instance. |
vsw-bp1oo2a7isyrb8igf**** |
|
| LaunchTemplateOverrides |
array<object> |
No |
The instance type information for the extended launch template. |
|
|
object |
No |
The instance type information for the extended launch template. |
||
| InstanceType |
string |
No |
To enable the scaling group to scale based on the capacity of instance types, specify both this parameter and LaunchTemplateOverrides.WeightedCapacity. This parameter specifies the instance type and overrides the instance type in the launch template. Note
This parameter takes effect only when the LaunchTemplateId parameter specifies a launch template. Valid values of InstanceType: ECS instance types that are available for purchase. |
ecs.c5.xlarge |
| WeightedCapacity |
integer |
No |
To enable the scaling group to scale based on the capacity of instance types, specify this parameter after you specify LaunchTemplateOverrides.InstanceType. The two parameters have a one-to-one correspondence. This parameter specifies the weight of the instance type, which represents the capacity of a single instance of this type in the scaling group. A larger weight means that fewer instances of this type are required to meet the expected capacity. Because instance types differ in performance metrics such as the number of vCPUs and memory size, you can assign different weights to different instance types based on your requirements. Example:
To meet the expected capacity, the scaling group scales out two ecs.c5.xlarge instances. Note
During a scale-out event, the capacity of the scaling group cannot exceed the sum of MaxSize and the maximum weight of the instance types. Valid values of WeightedCapacity: 1 to 500. |
4 |
| SpotPriceLimit |
number |
No |
The maximum hourly price for the instance type specified by Note
This parameter takes effect only when the |
0.025 |
| MaxInstanceLifetime |
integer |
No |
The maximum amount of time that an instance can remain in the scaling group. Unit: seconds. Valid values: 0 or Default value: null. Note
This parameter is not supported for ECI-type scaling groups or scaling groups with the economical mode enabled. |
86400 |
| AzBalance |
boolean |
No |
Specifies whether the capacity of the scaling group is evenly distributed across zones. This parameter takes effect only when the
Default value: false. |
false |
| AllocationStrategy |
string |
No |
The capacity allocation strategy that determines how the scaling group selects available instance types to meet capacity requirements. The capacity allocation strategy applies to both pay-as-you-go and spot capacity. This parameter takes effect only when the MultiAZPolicy parameter is set to COMPOSABLE. Valid values:
Default value: priority. |
priority |
| SpotAllocationStrategy |
string |
No |
The allocation strategy for spot capacity. You can use this parameter to separately specify the allocation strategy for spot capacity. This parameter takes effect only when the
Default value: priority. |
lowestPrice |
| CustomPolicyARN |
string |
No |
The Alibaba Cloud Resource Name (ARN) of the custom scale-in policy (Function). This parameter takes effect only when the first removal policy in RemovalPolicies is set to CustomPolicy. |
acs:fc:cn-zhangjiakou:16145688****:services/ess_custom_terminate_policy.LATEST/functions/ess_custom_terminate_policy_name |
| DisableDesiredCapacity |
boolean |
No |
Specifies whether to disable the expected number of instances feature for the scaling group. Valid values:
Note
You can set this parameter to true (to disable the expected number of instances feature) only when no scaling activity is in progress in the scaling group. When the expected number of instances feature is disabled, the current DesiredCapacity attribute of the scaling group is cleared, but the current number of instances in the scaling group remains unchanged. |
false |
| ScalingPolicy |
string |
No |
The reclaim pattern of the scaling group. Valid values:
ScalingPolicy specifies the reclaim pattern of the scaling group. The specific action taken when an instance is removed from the scaling group is determined by the RemovePolicy parameter of RemoveInstances. For more information, see RemoveInstances. |
recycle |
| HealthCheckTypes |
array |
No |
The health check modes of the scaling group. Note
You can set multiple values for this parameter to enable multiple health check options. If the HealthCheckType parameter is set, this parameter is ignored. |
|
|
string |
No |
The list of health check modes for the scaling group. Valid values:
Default value: ECS. |
ECS |
|
| StopInstanceTimeout |
integer |
No |
The timeout period for waiting for an ECS instance to be stopped during a scale-in process. Unit: seconds. Valid values: 30 to 240. Note
|
60 |
| CapacityOptions |
object |
No |
The capacity options. |
|
| OnDemandBaseCapacity |
integer |
No |
The minimum number of pay-as-you-go instances required in the scaling group. When the number of pay-as-you-go instances in the scaling group is less than this value, the system preferentially creates pay-as-you-go instances. Valid values: 0 to 1000. When the |
30 |
| OnDemandPercentageAboveBaseCapacity |
integer |
No |
The percentage of pay-as-you-go instances among the excess instances after the minimum number of pay-as-you-go instances ( When the |
20 |
| CompensateWithOnDemand |
boolean |
No |
Specifies whether to automatically create pay-as-you-go instances to meet the required number of ECS instances when spot instances cannot be created due to reasons such as cost or insufficient inventory. This parameter takes effect only when the
|
true |
| SpotAutoReplaceOnDemand |
boolean |
No |
Specifies whether to use spot instances to replace pay-as-you-go instances when the pay-as-you-go ratio exceeds the
Default value: false. |
true |
| PriceComparisonMode |
string |
No |
The price comparison mode for the cost optimization strategy of the scaling group. Valid values:
Default value: PricePerUnit. |
PricePerUnit |
| BalanceMode |
string |
No |
The zone balance mode. This parameter takes effect only when zone balancing is enabled. Valid values:
Default value: BalancedBestEffort. |
BalancedBestEffort |
| AutoRebalance |
boolean |
No |
Specifies whether to enable automatic rebalancing for the scaling group. This parameter takes effect only when BalancedOnly is enabled for a zone-balanced scaling group. Valid values:
Default value: false. |
false |
Response elements
|
Element |
Type |
Description |
Example |
|
object |
|||
| RequestId |
string |
The request ID. |
473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** |
Examples
Success response
JSON format
{
"RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****"
}
Error codes
See Error Codes for a complete list.
Release notes
See Release Notes for a complete list.