调用API SetInstancesProtection可以保护或停止保护伸缩组内的一台或者多台ECS实例。开启ECS实例的保护功能后,伸缩组自动缩容时该实例不会被终止或释放,仅可手动在控制台或通过调用API RemoveInstances删除该实例。
接口说明
ECS实例开启保护状态后:
- 实例保持此状态,直至您停止保护状态。
- 即使伸缩组内实例数量的变化和监控任务触发自动缩容的伸缩活动,也不会移除处于保护状态的ECS实例。您需要自行移出ECS实例后才能释放ECS实例。具体操作,请参见移出ECS实例。
- ECS实例被停止或者重启时,不会更新ECS实例的健康检查状态。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
名称 |
类型 |
是否必选 |
示例值 |
描述 |
Action | String | 是 | SetInstancesProtection | 系统规定参数。取值:SetInstancesProtection。 |
ScalingGroupId | String | 是 | asg-bp18p2yfxow2dloq**** | 伸缩组的ID。 |
ProtectedFromScaleIn | Boolean | 是 | true | 伸缩组自动缩容时是否保护ECS实例,使该实例不被终止或移出伸缩组。取值范围:
|
InstanceId.N | String | 否 | i-28wt4**** | ECS实例的ID。N的取值范围:1~20。 |
返回数据
名称 |
类型 |
示例值 |
描述 |
RequestId | String | 473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** | 请求ID。 |
示例
请求示例
http(s)://ess.aliyuncs.com/?Action=SetInstancesProtection
&ScalingGroupId=asg-bp18p2yfxow2dloq****
&ProtectedFromScaleIn=true
&InstanceId=["i-28wt4****"]
&公共请求参数
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<SetInstancesProtectionResponse>
<RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>
</SetInstancesProtectionResponse>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****"
}
错误码
访问错误中心查看更多错误码。
HttpCode |
错误码 |
错误信息 |
描述 |
400 |
IncorrectScalingGroupStatus |
The current status of the specified scaling group does not support this action. |
您需要启用伸缩组。 |
403 |
Forbidden.Unauthorized |
A required authorization for the specified action is not supplied. |
您还未被授权使用SetInstancesProtection接口。 |
404 |
InvalidInstanceId.NotFound |
Instance “XXX” does not exist. |
指定的ECS实例不存在。 |
404 |
InvalidScalingGroupId.NotFound |
The specified scaling group does not exist. |
指定的伸缩组不存在。 |