StopInstances - 批量停止实例

更新时间:2025-03-31 02:02:42
重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

本接口用于停止一台或多台 ECS 实例,支持选择不同的停机方式、停机模式以及批量操作模式停止实例。

接口说明

该接口为异步接口,实例的停止不是立即完成的,成功调用后,实例会先进入停止中(Stoping)状态,你可以调用 DescribeInstanceStatus 查看实例状态,当返回的状态为Stopped 时代表停止成功。

使用须知

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用前面加 * 表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
操作访问级别资源类型条件关键字关联操作
ecs:StopInstancesupdate
*Instance
acs:ecs:{#regionId}:{#accountId}:instance/{#instanceId}

请求参数

名称类型必填描述示例值
名称类型必填描述示例值
DryRunboolean

是否发送预检请求。取值范围:

  • true:发送检查请求,不会停止实例。检查项包括是否填写了必需参数、请求格式、实例状态。如果检查不通过,则返回对应错误。如果检查通过,则返回DRYRUN.SUCCESS
说明
如果参数BatchOptimization被设置为SuccessFirst,对应的DryRun=true的预检结果只会返回DRYRUN.SUCCESS
  • false:发送正常请求,通过检查后直接停止实例。

默认值:false。

false
RegionIdstring

实例所在的地域。您可以调用 DescribeRegions 查看最新的阿里云地域列表。

cn-hangzhou
ForceStopboolean

是否强制关机。取值范围:

  • true:强制关机。
    警告
    强制停止等同于断电处理,可能丢失实例操作系统中未写入磁盘的数据,请谨慎选择。
  • false:正常关机。

默认值:false。

false
StoppedModestring

停止模式。取值:

  • StopCharging:节省停机模式。计算资源(vCPU、内存、GPU)、镜像 License 费用、固定公网 IP 的固定带宽模式暂停计费。系统盘、数据盘、弹性公网 IP 的固定带宽模式持续计费。网络类型为专有网络,仅支持按量付费实例和抢占式实例。更多信息,请参见节省停机模式
    注意
    由于计算资源被回收,启动时可能因库存不足导致启动失败,请您稍后再试或更换实例规格。如果实例停止前绑定了弹性公网 IP 地址,重启后 IP 地址不变;否则,固定公网 IP 地址可能会变,但私网 IP 地址不会变。
  • KeepCharging:普通停机模式。停止实例后保留实例的资源并继续收费,并为您保留 ECS 实例规格库存和公网 IP 地址。如果您停止实例是为了更换操作系统、重新初始化云盘、更改实例规格、修改私网 IP 等操作,建议您选择该模式,以避免启动失败。

默认值:如果您开启 VPC 内实例节省停机模式并符合开启条件,则默认值为StopCharging;否则,默认值为KeepCharging

KeepCharging
BatchOptimizationstring

设置批量操作模式。取值范围:

  • AllTogether:所有操作必须全部成功才能确认整个批量操作的成功。如果任何一个操作失败,整个批量操作都会被视为失败,所有已执行的操作都会被回滚,恢复到操作前的状态。

  • SuccessFirst:允许批量操作中的每个操作独立执行。如果某个操作失败,其他操作仍然可以继续执行并确认成功。这种模式下,成功的操作会被提交,失败的操作会被标记为失败,但不会影响其他操作的执行结果。

默认值:AllTogether。

AllTogether
InstanceIdarray

实例 ID 数组。数组长度:1~100。

string

实例 ID。

i-bp67acfmxazb4p****

返回参数

名称类型描述示例值
名称类型描述示例值
object
RequestIdstring

请求 ID。

1C488B66-B819-4D14-8711-C4EAAA13AC01
InstanceResponsesarray<object>

由 InstanceResponse 组成的数组格式,返回每个实例操作的前后状态及操作结果。

InstanceResponseobject
Codestring

实例操作结果错误码。返回值为 200 表示操作成功。更多信息,请参见下文错误码列表。

200
Messagestring

实例操作返回错误信息。返回值为success表示操作成功。更多信息,请参见下文错误码列表。

success
InstanceIdstring

实例 ID。

i-bp67acfmxazb4p****
CurrentStatusstring

实例当前状态。

Stopping
PreviousStatusstring

实例操作前状态。

Running

示例

正常返回示例

JSON格式

{
  "RequestId": "1C488B66-B819-4D14-8711-C4EAAA13AC01",
  "InstanceResponses": {
    "InstanceResponse": [
      {
        "Code": "200",
        "Message": "success",
        "InstanceId": "i-bp67acfmxazb4p****",
        "CurrentStatus": "Stopping",
        "PreviousStatus": "Running"
      }
    ]
  }
}

错误码

HTTP status code错误码错误信息描述
HTTP status code错误码错误信息描述
400InvalidParameter.KMSKeyId.CMKNotEnabledThe CMK needs to be added ECS tag-
400InvalidParameter.KMSKeyId.CMKNotEnabledThe CMK needs to be enabled.加密云盘设置了 KMSKeyId 后,CMK必须处于启用状态。您可以调用密钥管理服务的 DescribeKey 接口查询指定CMK的相关信息。
400InvalidParameter.KMSKeyId.KMSUnauthorizedECS service account have no right to access your KMS.ECS 服务无权访问您的 KMS
400DRYRUN.SUCCESSThis request is a dryrun request with successful result.您设置了预检此次请求,并且检查通过。
400InvalidParameter.Encrypted.KmsNotEnableFailed to perform this operation because KMS is not activated.您需要开通KMS密钥托管服务。
403InvalidInstanceId.NotFoundInstanceId should not be null.-
403InvalidParameter.TooManyInstanceIdsInstance ids cannot be more than 100.InstanceIds列表长度超过100。
403Abs.InvalidInstanceIds.MalFormedThe specified instanceIds is not valid.指定的InstanceId参数不合法
403InstanceLockedForSecurity%s-
403InstanceExpiredOrInArrears%s-
403IncorrectInstanceStatus%s当前实例的状态不支持此操作。
403InvalidInstanceId.NotSupport%s-
403InsufficientBalanceYour account does not have enough balance.账户余额不足,请先充值再操作。
403InstanceNotReadyThe specified instance is not ready for use.该资源目前的状态不支持此操作,请您等待一段时间再进行操作,并确认实例目前状态与操作是否冲突。
403InvalidOperation.KMSKeyIdNotFoundThe specified KMSKeyId not found, %s.无法找到关联的KMS加密密钥,请确认该KMS加密密钥有效性。
403InvalidOperation.KMSServiceNotOpenKMS service is currently not open.KMS服务尚未启用.
403OperationDenied.SystemInstanceNotSupportThe system instance does not support the %s operation because %s.当前的system实例不支持该操作。
404InvalidInstanceId.NotFound%s指定的实例不存在,请确认参数 InstanceId 是否正确。
404InvalidInstanceIds.NotFoundThe specified InstanceIds does not exist.指定的 InstanceId 不存在。请检查 InstanceId 参数值是否正确。您可以调用 DescribeInstances 查询指定实例的状态。
404InvalidInstanceId.NotFoundThe specified InstanceId does not exist.指定的InstanceId不存在。
409InvalidOperation.ConflictRequest was denied due to conflict with a previous request, please try again later.请求操作的资源与之前的请求冲突
500InternalErrorThe request processing has failed due to some unknown error.内部错误,请重试。

访问错误中心查看更多错误码。

变更历史

变更时间变更内容概要操作
变更时间变更内容概要操作
2025-03-20OpenAPI 错误码发生变更查看变更详情
2024-12-20OpenAPI 错误码发生变更查看变更详情
  • 本页导读 (1)
  • 接口说明
  • 使用须知
  • 调试
  • 授权信息
  • 请求参数
  • 返回参数
  • 示例
  • 错误码
  • 变更历史