Refreshes instances in a scaling group when you need to apply a new scaling configuration or update the image of instances in the scaling group.
Operation description
Only one instance refresh node can run in a scaling group at a time.
This feature supports only ECS scaling groups whose scale-out policy is set to Priority Policy. Scaling groups that use vCPU-based Capacity Calculation and scaling groups whose instance revoke pattern is set to Shutdown and Revoke Pattern or Forced Shutdown and Revoke Pattern do not support this feature.
During an instance refresh, normal scale-out and scale-in operations can be performed. However, scale-out operations use the desired configuration of the instance refresh.
Instances that are manually added to the scaling group, instances in the standby state, and instances in the protection status are ignored by the instance refresh node and do not participate in the instance refresh.
Try it now
Test
RAM authorization
|
Action |
Access level |
Resource type |
Condition key |
Dependent action |
|
ess:StartInstanceRefresh |
update |
*ScalingGroup
|
None | None |
Request parameters
|
Parameter |
Type |
Required |
Description |
Example |
| ScalingGroupId |
string |
Yes |
The ID of the scaling group. |
asg-bp18p2yfxow2dloq**** |
| ClientToken |
string |
No |
The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token 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. |
123e4567-e89b-12d3-a456-42665544**** |
| RegionId |
string |
Yes |
The region ID of the scaling group. |
cn-hangzhou |
| MinHealthyPercentage |
integer |
No |
The minimum percentage of instances that must remain in service in the scaling group during the instance refresh. Valid values: 0 to 100. Default value: 80. |
80 |
| MaxHealthyPercentage |
integer |
No |
The maximum percentage by which the number of instances in the scaling group can exceed the scaling group capacity during the instance refresh. Valid values: 100 to 200. Default value: 120. Note
When MinHealthyPercentage = MaxHealthyPercentage = 100, one instance is refreshed at a time. |
100 |
| DesiredConfiguration |
object |
No |
The desired configuration for the instance refresh. Note
|
|
| ImageId |
string |
No |
The image ID. Note
|
m-2ze8cqacj7opnf*** |
| ScalingConfigurationId |
string |
No |
The ID of the scaling configuration. |
asc-2zed7lqn4ts4**** |
| LaunchTemplateId |
string |
No |
The ID of the launch template. This parameter specifies that the scaling group obtains launch configuration information from the launch template. |
lt-2ze2qli30u*** |
| LaunchTemplateVersion |
string |
No |
The version of the launch template. Valid values:
Note
Rollback is not supported for instance refresh tasks when the version is set to Default or Latest. |
8 |
| LaunchTemplateOverrides |
array<object> |
No |
The instance type information that extends the launch template. |
|
|
object |
No |
The instance type information that extends the launch template. |
||
| InstanceType |
string |
No |
The instance type that overrides the instance type specified in the launch template. Note
This parameter takes effect only when the LaunchTemplateId parameter specifies a launch template. |
ecs.c5.2xlarge |
| Containers |
array<object> |
No |
The list of containers in the instance. Note
|
|
|
array<object> |
No |
The list of containers in the instance. |
||
| Name |
string |
No |
The custom container name. |
nginx |
| Image |
string |
No |
The container image. |
registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:latest |
| Commands |
array |
No |
The container startup commands. A maximum of 20 commands are supported. Each command can contain up to 256 characters. |
|
|
string |
No |
The container startup commands. A maximum of 20 commands are supported. Each command can contain up to 256 characters. |
sleep |
|
| Args |
array |
No |
The arguments for the container startup command. A maximum of 10 arguments are supported. |
|
|
string |
No |
The arguments for the container startup command. A maximum of 10 arguments are supported. |
100 |
|
| EnvironmentVars |
array<object> |
No |
The environment variable information. |
|
|
object |
No |
The environment variable information. |
||
| Key |
string |
No |
The name of the environment variable. The name must be 1 to 128 characters in length and can contain digits, letters, and underscores (_). It cannot start with a digit. |
PATH |
| Value |
string |
No |
The value of the environment variable. The value can be 0 to 256 characters in length. |
/usr/local/bin |
| FieldRefFieldPath |
string |
No |
Note
This parameter is not publicly available. |
fieldPath |
| SkipMatching |
boolean |
No |
Specifies whether to skip instances that match the desired configuration. Note
The system determines whether an instance matches based on the ID of the desired scaling configuration, not by comparing individual configuration items. Valid values:
Default value: true. |
true |
| Checkpoints |
array<object> |
No |
The checkpoints for the refresh task. Specifies that the task is automatically paused for CheckpointPauseTime minutes when the percentage of new instances reaches the specified value during the instance refresh. |
|
|
object |
No |
The checkpoints for the refresh task. Specifies that the task is automatically paused for |
||
| Percentage |
integer |
No |
The percentage of new instances to total instances in the scaling group at which the task is automatically paused. Valid values: 1 to 100 (%). Note
The values must be specified in ascending order, and the last percentage value must be 100. |
20 |
| CheckpointPauseTime |
integer |
No |
The duration for which the task is paused when a checkpoint is reached.
|
10 |
| Strategy |
string |
No |
The execution strategy for the instance refresh task. Valid values:
Default value: Rolling. |
Rolling |
Response elements
|
Element |
Type |
Description |
Example |
|
object |
|||
| RequestId |
string |
The request ID. |
473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** |
| InstanceRefreshTaskId |
string |
The ID of the instance refresh task. |
ir-a12ds234fasd***** |
Examples
Success response
JSON format
{
"RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****",
"InstanceRefreshTaskId": "ir-a12ds234fasd*****"
}
Error codes
See Error Codes for a complete list.
Release notes
See Release Notes for a complete list.