Creates a scaling rule.
Operation description
Operation description
Note the following information about the parameters:
If AdjustmentType is set to TotalCapacity, the number of ECS or ECI instances in the current scaling group is adjusted to the specified value. The corresponding AdjustmentValue must be greater than or equal to 0.
If AdjustmentType is set to QuantityChangeInCapacity or PercentChangeInCapacity, a positive AdjustmentValue indicates ECS instances are added, and a negative value indicates ECS instances are removed.
If AdjustmentType is set to PercentChangeInCapacity, Auto Scaling calculates the number of ECS or ECI instances to add or remove by using the following formula: Current number of instances in the scaling group (Total Capacity) × AdjustmentValue/100. The result is rounded to the nearest integer.
If a cooldown time (Cooldown) is specified in a scaling rule, the cooldown time specified in the scaling rule takes effect after the scaling activity triggered by the scaling rule is complete. If no cooldown time is specified in the scaling rule, the cooldown time specified for the scaling group (DefaultCooldown) takes effect.
The number of scaling rules that can be created in a scaling group is limited. For more information, see Limits.
- The unique identifier of the scaling rule (ScalingRuleAri) that is returned can be used in the following operations:
You can specify the ScalingRuleAri parameter when you call the ExecuteScalingRule operation to manually execute the scaling rule.
You can specify the ScheduledAction parameter when you call the CreateScheduledTask operation to execute the scaling rule on a schedule.
Try it now
Test
RAM authorization
|
Action |
Access level |
Resource type |
Condition key |
Dependent action |
|
ess:CreateScalingRule |
create |
*ScalingGroup
|
None | None |
Request parameters
|
Parameter |
Type |
Required |
Description |
Example |
| ScalingGroupId |
string |
Yes |
The ID of the scaling group to which the scaling rule belongs. |
asg-bp1ffogfdauy0jw0**** |
| ScalingRuleName |
string |
No |
The name of the scaling rule. The name must be 2 to 64 characters in length and can contain digits, uppercase letters, lowercase letters, Chinese characters, underscores (_), hyphens (-), and periods (.). It must start with a digit, letter, or Chinese character. The name of the scaling rule must be unique within the same region and scaling group under the same account. Note
If you do not specify this parameter, the value of ScalingRuleId is used by default. |
scalingrule**** |
| Cooldown |
integer |
No |
The cooldown time of the scaling rule. This parameter is applicable only to simple scaling rules. Valid values: 0 to 86400. Unit: seconds. Default value: empty. |
60 |
| MinAdjustmentMagnitude |
integer |
No |
The minimum number of instances to adjust in the scaling rule. This parameter takes effect only when the scaling rule type is |
1 |
| AdjustmentType |
string |
No |
The adjustment method of the scaling rule. This parameter is applicable to simple scaling rules and step scaling rules, and is required in this case. Valid values:
|
QuantityChangeInCapacity |
| AdjustmentValue |
integer |
No |
The adjustment value of the scaling rule. This parameter is applicable to simple scaling rules and step scaling rules, and is required in this case. The number of ECS instances adjusted in a single scaling activity cannot exceed 1,000. Valid values vary based on the adjustment method:
|
100 |
| ScalingRuleType |
string |
No |
The type of the scaling rule. Valid values:
Default value: SimpleScalingRule. |
SimpleScalingRule |
| EstimatedInstanceWarmup |
integer |
No |
The warm-up period of an instance. This parameter is applicable to target tracking scaling rules and step scaling rules. An ECS instance in the warm-up state is added to the scaling group as expected, but does not report monitoring data to CloudMonitor during the warm-up period. Note
When the number of ECS instances to scale is dynamically calculated, instances in the warm-up state are not counted toward the current number of instances. Valid values: 0 to 86400. Unit: seconds. Default value: 300. |
300 |
| MetricName |
string |
No |
The predefined metric. This parameter is applicable to target tracking scaling rules and predictive scaling rules, and is required in this case. Valid values for target tracking scaling rules:
Valid values for predictive scaling rules:
For more information, see Event-triggered tasks for system monitoring. |
CpuUtilization |
| TargetValue |
number |
No |
The target value. This parameter is applicable to target tracking scaling rules and predictive scaling rules, and is required in this case. The value of TargetValue can have up to three decimal places and must be greater than 0. |
0.125 |
| DisableScaleIn |
boolean |
No |
Specifies whether to disable scale-in. This parameter is applicable only to target tracking scaling rules. Default value: false. |
false |
| ScaleInEvaluationCount |
integer |
No |
After a target tracking scaling rule is created, an event-triggered task is automatically created. This parameter specifies the number of consecutive times that the conditional threshold must be met before the scale-in event-triggered task triggers an alert. Default value: 15. |
15 |
| ScaleOutEvaluationCount |
integer |
No |
After a target tracking scaling rule is created, an event-triggered task is automatically created. This parameter specifies the number of consecutive times that the conditional threshold must be met before the scale-out event-triggered task triggers an alert. Default value: 3. |
3 |
| PredictiveScalingMode |
string |
No |
The mode of the predictive scaling rule. Valid values:
Default value: PredictAndScale. |
PredictAndScale |
| PredictiveValueBehavior |
string |
No |
The method used to handle the maximum value for the predictive scaling rule. Valid values:
Default value: MaxOverridePredictiveValue. |
MaxOverridePredictiveValue |
| PredictiveValueBuffer |
integer |
No |
This parameter takes effect when Default value: 0. |
50 |
| PredictiveTaskBufferTime |
integer |
No |
The prediction tasks that are automatically created by the predictive scaling rule are executed on the hour by default. You can configure a buffer time to execute prediction tasks ahead of schedule to prepare resources in advance. Valid values: 0 to 60. Unit: minutes. Default value: 0. |
30 |
| InitialMaxSize |
integer |
No |
The maximum number of instances in the scaling group. This parameter is used together with PredictiveValueBehavior. Default value: the value of MaxSize of the scaling group. |
100 |
| StepAdjustment |
array<object> |
No |
The collection of step adjustment information for the step scaling rule. |
|
|
object |
No |
The collection of step adjustment information for the step scaling rule. |
||
| MetricIntervalUpperBound |
number |
No |
The upper boundary of the step adjustment. This parameter is applicable only to step scaling rules. Valid values: -9.999999E18 to 9.999999E18. |
5.0 |
| ScalingAdjustment |
integer |
No |
The number of instances to scale for the step adjustment. This parameter is applicable only to step scaling rules. |
1 |
| MetricIntervalLowerBound |
number |
No |
The lower boundary of the step adjustment. This parameter is applicable only to step scaling rules. Valid values: -9.999999E18 to 9.999999E18. |
1.0 |
| RegionId |
string |
No |
The region ID of the scaling group. |
cn-hangzhou |
| AlarmDimension |
array<object> |
No |
The dimension information associated with the metric. This parameter is applicable to target tracking scaling rules. Set this parameter when the metric requires additional dimension information. For example, the |
|
|
object |
No |
The dimension information associated with the metric. This parameter is applicable to target tracking scaling rules. Set this parameter when the metric requires additional dimension information. For example, the |
||
| DimensionKey |
string |
No |
The key of the dimension associated with the metric. |
rulePool |
| DimensionValue |
string |
No |
The value of the dimension associated with the metric. |
sgp-l1cbirz451yxu2**** |
| MetricType |
string |
No |
The type of the metric. Valid values:
|
system |
| HybridMonitorNamespace |
string |
No |
The ID of the Hybrid Cloud Monitoring monitoring metrics repository. To manage metric repositories, see Manage metric repositories. |
aliyun-test |
| HybridMetrics |
array<object> |
No |
The Hybrid Cloud Monitoring monitoring metrics settings. For more information about how to configure this parameter, see Use formula-based custom target tracking scaling rules. |
|
|
array<object> |
No |
|||
| Id |
string |
No |
The reference ID of the metric in the metric expression. |
a |
| Expression |
string |
No |
The metric expression for multiple Hybrid Cloud Monitoring metrics. The calculation result of the expression is used to trigger scaling activities. The expression must comply with the Reverse Polish Notation (RPN) specification, and only the |
(a+b)/2 |
| MetricName |
string |
No |
The monitoring metrics name in the Hybrid Cloud Monitoring monitoring metrics repository. |
AliyunSmq_NumberOfMessagesVisible |
| Statistic |
string |
No |
The statistical method of the metric. Valid values:
|
Average |
| Dimensions |
array<object> |
No |
The metric dimensions. Specifies the resources to monitor for the metric. |
|
|
object |
No |
|||
| DimensionKey |
string |
No |
The key of the metric dimension. |
queue |
| DimensionValue |
string |
No |
The value of the metric dimension. |
testQueue |
| AlarmOptions |
object |
No |
The alert property definition. |
|
| Period |
integer |
No |
The statistical period for monitoring data in the target tracking scaling rule. Unit: seconds. Valid values: Note
Default value: 60. |
60 |
Response elements
|
Element |
Type |
Description |
Example |
|
object |
|||
| ScalingRuleAri |
string |
The unique identifier of the scaling rule. |
ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7**** |
| RequestId |
string |
The request ID. |
473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** |
| ScalingRuleId |
string |
The ID of the scaling rule. The ID is generated by the system and is globally unique. |
asr-bp1dvirgwkoowxk7**** |
Examples
Success response
JSON format
{
"ScalingRuleAri": "ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****",
"RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****",
"ScalingRuleId": "asr-bp1dvirgwkoowxk7****"
}
Error codes
See Error Codes for a complete list.
Release notes
See Release Notes for a complete list.