开发者社区 问答 正文

触发任务:移出ECS实例


从指定的伸缩组里移出 ECS 实例。

  • 从伸缩组移出弹性伸缩自动创建的 ECS 实例时,停止和释放该 ECS 实例。
  • 从伸缩组移出用户手工加入的 ECS 实例时,不停止和释放该 ECS 实例。

执行该功能,必须同时满足以下条件:
  • 伸缩组为生效(Active)状态。
  • 当伸缩组没有伸缩活动正在执行。

当伸缩组没有伸缩活动正在执行时,该功能可以绕过冷却时间(Cooldown)直接执行。
执行功能返回成功,只是表示弹性伸缩服务接受了该功能的调用请求,伸缩活动可以执行,但不代表伸缩活动能够执行成功。用户需要通过返回的 ScalingActivityId 查看该伸缩活动的执行状态。
如果当前伸缩组的实例数(Total Capacity)减去该功能指定的实例数小于 MinSize 时,则执行失败。

示例



展开
收起
青蛙跳 2018-08-17 12:34:41 1083 分享 版权
阿里云 AI 助理回答

要从指定的伸缩组里移出ECS实例,您需要遵循以下步骤和注意事项:

  1. 操作前提

    • 确保目标伸缩组状态生效(Active)
    • 检查是否有正在进行的伸缩活动,确保在没有活动执行时操作,以避免冲突。若无活动进行,此操作可绕过冷却时间直接执行。
  2. 功能调用

    • 使用阿里云API接口DetachInstances来移出ECS实例。调用该接口时,需提供必要的参数,包括但不限于:
      • ScalingGroupId:伸缩组的ID。
      • InstanceIds:待移出ECS实例的ID列表。
      • 根据需求可选配置如DecreaseDesiredCapacityDetachOption等参数,以决定是否减少期望实例数或是否移出负载均衡和RDS访问权限等。
  3. 实例处理方式

    • 弹性伸缩自动创建的ECS实例,在移出后默认不会自动停止或释放,但您可以后续手动进行这些操作。
    • 用户手工加入的ECS实例,在移出伸缩组时同样保持运行状态,不会被自动停止或释放。
  4. 结果与监控

    • 成功调用DetachInstances接口仅表示请求被接受,实际伸缩活动的执行结果需通过返回的ScalingActivityId查询。
    • 监控伸缩活动状态,确保实例移出操作按预期完成。
  5. 限制条件

    • 移除实例后,伸缩组的剩余实例数不能小于最小实例数(MinSize),否则操作会失败。
  6. 注意事项

    • 实例状态:移出操作不影响实例本身的运行状态。
    • 生命周期挂钩:默认情况下,移出实例时不触发缩容生命周期挂钩,可根据需要设置。
    • 无效实例处理:可选择在移出时是否忽略无效实例,避免因存在无效实例导致操作失败。

通过上述步骤,您可以有效地管理伸缩组中的ECS实例,根据业务需求适时调整资源分配。

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