开发者社区 问答 正文

触发任务:分离ECS实例




描述


从一个伸缩组分离一台或多台 ECS 实例。分离 ECS 实例之后,ECS 实例可以独立于伸缩组存在,您可以将 ECS 实例附加到其他伸缩组( AttachInstances)。分离一台 ECS 实例并不会停止或释放该 ECS 实例,若有相关需要,您可以手动 停止释放 ECS 实例。调用该接口时,您需要注意:


  • 目标伸缩组必须处于 启用(Enable) 状态。

  • 目标伸缩组不能有正在进行的伸缩活动。

  • 目标伸缩组没有正在进行的伸缩活动时,该接口可以绕过 冷却时间 直接执行。

  • 接口成功调用后,仅表示接受了该接口调用的请求。可以照常触发伸缩活动,但不能保证伸缩活动的成功性,您需要通过返回的 ScalingActivityId 查看伸缩活动的状态。

  • 目标伸缩组的 ECS 数减去当前分离的 ECS 数不能小于伸缩组最小实例数(MinSize)。


请求参数

名称类型是否必需描述
ActionString系统规定参数,取值: DetachInstances
ScalingGroupIdString伸缩组 ID。
InstanceId.NStringECS 实例 ID。N 的取值范围为 [1, 20]。


返回参数

名称类型描述
RequestIdString请求 ID
ScalingActivityIdString伸缩活动 ID


示例



请求示例

  1. http://ess.aliyuncs.com/?Action=DetachInstances
  2. &ScalingGroupId=AG6CQdPU8OKdwLjgZcJXXXXX
  3. &InstanceId.1=i-28wt48iaa
  4. &<公共请求参数>


返回示例


XML 格式
  1. <DetachInstancesResponse>
  2.     <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>
  3.     <ScalingActivityId>asa-xxxxxxxxx</ScalingActivityId>
  4. </DetachInstancesResponse>

JSON 格式
  1. {
  2.     "RequestId": "04F0F334-1335-436C-A1D7-6C044FE73368",
  3.     "ScalingActivityId": "asa-xxxxxxxxx"
  4. }


错误码

错误代码错误信息HTTP 状态码说明
IncorrectScalingGroupStatusThe current status of the specified scaling group does not support this action.400目标伸缩组必须处于 启用(Enable) 状态。
ScalingActivityInProgressYou cannot delete a scaling group or launch a new scaling activity while there is a scaling activity in progress for the specified scaling group.400目标伸缩组不能有正在进行的伸缩活动。
IncorrectLoadBalancerStatusThe current status of the specified load balancer does not support this action.400目标伸缩组内的负载均衡实例必须处于 运行中(active)状态。
IncorrectDBInstanceStatusThe current status of DB instance “XXX” does not support this action.400目标伸缩组内的 RDS 实例必须处于 运行中(Running)状态。
IncorrectCapacity.MinSizeTo remove the instances, the total capacity will be lesser than the MinSize.400目标伸缩组的 ECS 实例数减去当前分离的 ECS 实例数不能小于伸缩组最少实例数(MinSize)。
Forbidden.UnauthorizedA required authorization for the specified action is not supplied.403您暂未被授权使用 DetachInstances 接口。
[tr=rgb(239, 251, 255)][td]InvalidScalingGroupId.NotFound The specified scaling group does not exist.404指定的伸缩组不存在。 InvalidInstanceId.NotFoundInstance “XXX” does not exist.404指定的 ECS 实例不存在。

展开
收起
青蛙跳 2018-08-17 13:47:56 1474 分享 版权
阿里云 AI 助理回答

从一个伸缩组中分离ECS实例的操作步骤如下:

  1. 确认操作前提

    • 确保目标伸缩组状态为启用(Enable)
    • 检查目标伸缩组内没有正在进行的伸缩活动。
    • 确认移出实例后,目标伸缩组的ECS实例数量不会低于其最小实例数(MinSize)。
  2. 准备请求参数

    • Action: 必填,固定值 DetachInstances
    • ScalingGroupId: 必填,指定要从中移出ECS实例的伸缩组ID。
    • InstanceId.N: 必填,N表示实例序号,取值范围为[1, 20],需提供欲分离的ECS实例ID列表。
  3. 发起API调用

    • 构建HTTP请求,如示例所示:http://ess.aliyuncs.com/?Action=DetachInstances,并附上上述准备好的请求参数。
  4. 处理返回信息

    • 成功调用接口后,您会收到响应,其中包含:
      • RequestId: 请求的唯一标识。
      • ScalingActivityId: 本次伸缩活动的ID,用于后续查询该操作的执行状态。
  5. 监控伸缩活动状态

    • 使用返回的ScalingActivityId,通过相关API或控制台查看该伸缩活动是否成功完成。这一步骤是必要的,因为接口调用成功仅表示请求被接受,并不直接代表操作成功。

重要注意事项: - 分离ECS实例后,这些实例将独立于原伸缩组存在,可选择性地附加到其他伸缩组。 - 实例分离操作本身不会停止或释放ECS实例,需要单独进行这些操作。 - 在无进行中的伸缩活动时,此操作可以绕过冷却时间立即执行。

以上步骤和注意事项基于提供的知识库资料整理而成,确保了操作的准确性和完整性。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答