Starts an instance refresh task. If you want to apply a new scaling configuration in a scaling group or update the image specified in a scaling configuration, you can call the StartInstanceRefresh operation.
Operation description
- Only one instance refresh task can be executed at a time in a scaling group.
- You can start instance refresh tasks for Elastic Compute Service (ECS) instances in scaling groups that use the priority policy as the scaling policy. Scaling groups whose capacity is measured based on the number of vCPUs and scaling groups whose instance reclaim mode is Economical Mode or Forcibly Recycle do not support the StartInstanceRefresh operation.
- When you start an instance refresh task, scaling events can be completed as expected. Take note that instances that are scaled out use the configurations specified in the instance refresh task.
- The StartInstanceRefresh operation does not take effect on instances that are manually added or instances that are in the Standby and Protected states.
Debugging
Authorization information
The following table shows the authorization information corresponding to the API. The authorization information can be used in the Action policy element to grant a RAM user or RAM role the permissions to call this API operation. Description:
- Operation: the value that you can use in the Action element to specify the operation on a resource.
- Access level: the access level of each operation. The levels are read, write, and list.
- Resource type: the type of the resource on which you can authorize the RAM user or the RAM role to perform the operation. Take note of the following items:
- For mandatory resource types, indicate with a prefix of * .
- If the permissions cannot be granted at the resource level,
All Resourcesis used in the Resource type column of the operation.
- Condition Key: the condition key that is defined by the cloud service.
- Associated operation: other operations that the RAM user or the RAM role must have permissions to perform to complete the operation. To complete the operation, the RAM user or the RAM role must have the permissions to perform the associated operations.
| Operation | Access level | Resource type | Condition key | Associated operation |
|---|---|---|---|---|
| ess:StartInstanceRefresh | update | *ScalingGroup acs:ess:{#regionId}:{#accountId}:scalinggroup/{#ScalingGroupId} |
| 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 Ensure idempotence. | 123e4567-e89b-12d3-a456-42665544**** |
| RegionId | string | Yes | The region ID of the scaling group. | cn-hangzhou |
| MinHealthyPercentage | integer | No | The ratio of instances that are in the In Service state to all instances in the scaling group during instance refresh. Valid values: 0 to 100. Default value: 80. | 80 |
| MaxHealthyPercentage | integer | No | The ratio of instances that can exceed the upper limit of the scaling group capacity to all instances in the scaling group during instance refresh. Valid values: 100 to 200. Default value: 120. Note
If you set MinHealthyPercentage and MaxHealthyPercentage to 100, Auto Scaling refreshes the configurations of one instance each time the instance refresh task starts.
| 100 |
| DesiredConfiguration | object | No | The desired configurations of the instance refresh task. 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 that you want to enable in the scaling group. | lt-2ze2qli30u*** |
| LaunchTemplateVersion | string | No | The version number of the launch template. Valid value:
Note
If you set the version to Default or Latest, the instance refresh task cannot be rolled back.
| 8 |
| LaunchTemplateOverrides | array<object> | No | The information about the instance types that are extended in the launch template. | |
| object | No | The information about the instance types that are extended in the launch template. | ||
| InstanceType | string | No | The instance type specified by using this parameter overwrites the instance type of the launch template. Note
This parameter takes effect only if you specify LaunchTemplateId.
| ecs.c5.2xlarge |
| Containers | array<object> | No | The containers in the elastic container instance. Note
| |
| object | No | The containers in the elastic container instance. | ||
| Name | string | No | The custom name of the container. | nginx |
| Image | string | No | The image in the container. | registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:latest |
| Commands | array | No | The container startup commands. You can specify up to 20 commands. Each command can contain up to 256 characters. | |
| string | No | The container startup command. You can specify up to 20 commands. Each command can contain up to 256 characters. | sleep | |
| Args | array | No | The argument that corresponds to the startup command of the container. You can specify up to 10 arguments. | |
| string | No | The startup argument of the container. You can specify up to 10 arguments. | 100 | |
| EnvironmentVars | array<object> | No | The environment variables. | |
| object | No | The environment variable. | ||
| Key | string | No | The name of the environment variable. It can be 1 to 128 characters in length. Format requirement:[0-9a-zA-Z], and underscores, cannot start with a number. | PATH |
| Value | string | No | The value of the environment variable. The value must be 0 to 256 bits in length. | /usr/local/bin |
| FieldRefFieldPath | string | No | Note
This parameter is unavailable for use.
| fieldPath |
| SkipMatching | boolean | No | Specifies whether to skip instances that match the desired scaling configuration. Note
The system determines the match based on the ID of the desired scaling configuration rather than individual configuration items.
Valid values:
Default value: true. | true |
| Checkpoints | array<object> | No | Refresh Task Checkpoint: specifies that the task is automatically suspended for CheckpointPauseTime minutes when the proportion of new instances reaches the specified value during instance refresh. | |
| object | No | Refresh Task Checkpoint: specifies that the task is automatically suspended for | ||
| Percentage | integer | No | The percentage of new instances in the scaling group to the total number of instances. When this percentage is reached, the task is automatically suspended. Valid values: 1 to 100 (%). Note
Requires a small to large setting, and the last progress percentage needs to be 100.
| 20 |
| CheckpointPauseTime | integer | No | The duration of the pause when the refresh task checkpoint is entered.
| 10 |
Response parameters
Examples
Sample success responses
JSONformat
{
"RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****",
"InstanceRefreshTaskId": "ir-a12ds234fasd*****"
}Error codes
For a list of error codes, visit the Service error codes.
Change history
| Change time | Summary of changes | Operation |
|---|---|---|
| 2025-03-14 | API Description Update | View Change Details |
| 2024-12-10 | The request parameters of the API has changed | View Change Details |
