弹性伸缩任务提示“Abandon lifecycleActionResult parameter caused the instance to rollback”错误

更新时间:

问题描述

在使用阿里云弹性伸缩过程中,自动添加ECS实例失败,提示以下错误:

Fail to create Instances into scaling group("Abandon lifecycleActionResult parameter caused the instance to rollback.").

问题原因

伸缩组配置了扩容(ScaleOut)类型的生命周期挂钩(LifecycleHook),当伸缩组扩容时,生命周期挂钩被触发,并且生命周期挂钩最终的执行结果为拒绝,导致扩容伸缩活动回滚,扩容出来的ECS实例被释放。

解决方案

请检查生命周期挂钩的执行策略中超时时间OOS模板的配置是否正常。更多生命周期挂钩的信息,请参见创建生命周期挂钩。请执行以下操作查看OOS执行失败的具体情况:

  1. 登录OOS管理控制台
  2. 在左侧导航栏,单击执行管理
  3. 按开始时间找到执行,然后在操作列,单击详情
  4. 单击高级视图,在执行结果页签中查看执行失败的相关报错信息。
    报错信息

更多信息

如果运维编排服务任务执行失败,请根据执行结果中的报错信息排查原因。

  • 常见的报错信息及解决方案如下:
    • 报错信息:Forbidden.Unauthorized message: A required authorization for the specified action is not supplied.
      解决方案:请检查是否为RAM角色OOSServiceRole添加了相应的权限。您需要为RAM角色添加操作权限,确保OOS服务能够操作OOS模板中涉及的资源。详情请参见为RAM角色授权
    • 报错信息:Forbidden.RAM message: User not authorized to operate on the specified resource, or this API doesn't support RAM.
      解决方案:请检查是否为RAM角色OOSServiceRole添加了相应的权限。您需要为RAM角色添加操作权限,确保OOS服务能够操作OOS模板中涉及的资源。详情请参见为RAM角色授权
    • 报错信息:LifecycleHookIdAndLifecycleActionToken.Invalid message: The specified lifecycleActionToken and lifecycleActionId you provided does not match any in process lifecycle action.
      解决方案:请评估生命周期挂钩的超时时间,确保在超时时间内可以执行完OOS模板中定义的运维任务。例如,当您的伸缩组扩容时,生命周期挂钩被触发,此时又会执行您的OOS运维编排任务,由于您设置的生命周期挂钩超时时间较小,而OOS模板中执行命令耗时大于您设置的生命周期挂钩超时时间,导致OOS模板执行失败,最终导致ESS扩容失败。此时您需要增大生命周期挂钩超时时间。

相关文档

弹性伸缩中OOS公共模板的使用方法请参见生命周期挂钩和OOS模板最佳实践概述

适用于

  • 弹性伸缩