调用StopInstances停止一台或多台运行中(Running)的ECS实例。调用接口成功后,ECS实例先进入停止中(Stopping)状态,最终进入已停止(Stopped)状态。
接口说明
- 查询ECS实例信息时,如果返回数据中包含
{"OperationLocks": {"LockReason" : "security"}}
,则禁止一切操作。 - 按量付费实例开通默认VPC内实例停机不收费功能后,您可以通过设置
StoppedMode=KeepCharging
保持停机收费,ECS实例停止后会继续计费,并为您保留ECS实例规格库存和公网IP地址。 - 支持批量操作,可以通过参数
BatchOptimization
设置批量操作模式。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | StopInstances |
系统规定参数。取值:StopInstances |
InstanceId.N | RepeatList | 是 | i-bp67acfmxazb4p**** |
实例ID。N的取值范围:1~100 |
RegionId | String | 是 | cn-hangzhou |
实例所在的地域。您可以调用DescribeRegions查看最新的阿里云地域列表。 |
DryRun | Boolean | 否 | false |
是否只预检此次请求。取值范围:
默认值:false |
ForceStop | Boolean | 否 | false |
是否强制关机。取值范围:
默认值:false |
StoppedMode | String | 否 | KeepCharging |
停止按量付费ECS实例后,是否继续计费。取值:
默认值:如果您在ECS控制台上开启了VPC类型实例默认停机不收费(详情请参见开启按量付费实例停机不收费),并符合开启条件,则默认为 |
BatchOptimization | String | 否 | AllTogether |
设置批量操作模式。取值范围:
默认值:AllTogether |
返回数据
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
InstanceResponses | Array of InstanceResponse |
由InstanceResposne组成的数组格式,返回每个实例操作的前后状态及操作结果。 |
|
InstanceResponse | |||
Code | String | 200 |
实例操作结果错误码。返回值200为成功,更多请参见下文错误码列表。 |
CurrentStatus | String | Stopping |
实例当前状态。 |
InstanceId | String | i-bp67acfmxazb4p**** |
实例ID。 |
Message | String | success |
实例操作返回错误信息。返回值Success为成功,更多请参见下文错误码列表。 |
PreviousStatus | String | Running |
实例操作前状态。 |
RequestId | String | 1C488B66-B819-4D14-8711-C4EAAA13AC01 |
请求ID。 |
示例
请求示例
https://ecs.aliyuncs.com/?Action=StopInstances
&InstanceId.1=i-bp67acfmxazb4p****
&InstanceId.2=i-bp67acfmxazb4p****
&RegionId=cn-hangzhou
&ForceStop=false
&StoppedMode=KeepCharging
$BatchOptimization=SuccessFirst
&<公共请求参数>
正常返回示例
XML
格式
<StopInstancesResponse>
<RequestId>FF53E96D-3F1A-42F0-8373-1C2B39D72D44</RequestId>
<InstanceResponses>
<InstanceResponse>
<Message>success</Message>
<InstanceId>i-bp67acfmxazb4p****</InstanceId>
<PreviousStatus>Running</PreviousStatus>
<CurrentStatus>Stopping</CurrentStatus>
<Code>200</Code>
</InstanceResponse>
<InstanceResponse>
<Message>success</Message>
<InstanceId>i-bp67acfmxazb4p****</InstanceId>
<PreviousStatus>Running</PreviousStatus>
<CurrentStatus>Stopping</CurrentStatus>
<Code>200</Code>
</InstanceResponse>
<InstanceResponse>
<Message>The specified InstanceId does not exist.</Message>
<InstanceId>i-TestID</InstanceId>
<PreviousStatus></PreviousStatus>
<CurrentStatus></CurrentStatus>
<Code>InvalidInstanceId.NotFound</Code>
</InstanceResponse>
</InstanceResponses>
</StopInstancesResponse>
JSON
格式
{
"RequestId": "FF53E96D-3F1A-42F0-8373-1C2B39D72D44",
"InstanceResponses": {
"InstanceResponse": [
{
"Message": "success",
"InstanceId": "i-bp67acfmxazb4p****",
"PreviousStatus": "Running",
"CurrentStatus": "Stopping",
"Code": "200"
},
{
"Message": "success",
"InstanceId": "i-bp67acfmxazb4p****",
"PreviousStatus": "Running",
"CurrentStatus": "Stopping",
"Code": "200"
},
{
"Message": "The specified InstanceId does not exist.",
"InstanceId": "i-TestID",
"PreviousStatus": "",
"CurrentStatus": "",
"Code": "InvalidInstanceId.NotFound"
}
]
}
}
错误码
HttpCode | 错误码 | 错误信息 | 描述 |
---|---|---|---|
404 | InvalidInstanceId.NotFound | %s | 指定的实例不存在,请确认参数InstanceId是否正确。 |
403 | IncorrectInstanceStatus | %s | 当前实例的状态不支持此操作。 |
500 | InternalError | The request processing has failed due to some unknown error. | 内部错误,请重试。如果多次尝试失败,请提交工单。 |
404 | InvalidInstanceId.NotFound | The specified InstanceId does not exist. | 指定的实例不存在,请您检查实例ID是否正确。 |
403 | InsufficientBalance | Your account does not have enough balance. | 账户余额不足,请先充值再操作。 |
403 | InstanceNotReady | The specified instance is not ready for use. | 该资源目前的状态不支持此操作,请您等待一段时间再进行操作,并确认实例目前状态与操作是否冲突。 |
访问错误中心查看更多错误码。