使用AWS re:Post即您表示您同意 AWS re:Post 使用条款

如果 CloudFormation 堆栈停留在 UPDATE_ROLLBACK_FAILED 状态,怎样才能让它更新?

1 分钟阅读
0

AWS CloudFormation 堆栈停留在 UPDATE_ROLLBACK_FAILED 状态。

简短描述

对于处于 UPDATE_ROLLBACK_FAILED 状态的 CloudFormation 堆栈,请使用 ContinueUpdateRollback 操作恢复堆栈,或使用 DeleteStack 操作删除堆栈。要重试回滚,请先解决所有错误,然后使用 ContinueUpdateRollback 执行回滚操作。
**注意:**要解决该错误,可能需要提高限额、更改权限或修改其他设置。

有关导致更新回滚失败的常见错误的信息,请参阅更新回滚失败

在某些情况下,重试回滚时,错误无法解决。如果发生这种情况,执行 ContinueUpdateRollback 操作时必须跳过失效的资源。当堆栈处于 UPDATE_ROLLBACK_COMPLETE 状态时,可以照常更新堆栈。

解决方法

要将堆栈恢复到工作状态,请使用 CloudFormation 控制台或 AWS 命令行界面(AWS CLI)。
**注意:**如果在运行 AWS CLI 命令时收到错误,请参阅 AWS CLI 错误故障排除。请确保使用的是最新版本的 AWS CLI

CloudFormation 控制台

要回滚堆栈并跳过故障资源,请完成以下步骤:

  1. 打开 CloudFormation 控制台
  2. 在导航窗格中,选择堆栈
  3. 堆栈名称列中,选择停留在 UPDATE_ROLLBACK_FAILED 状态的堆栈。
  4. 选择堆栈操作,然后选择继续更新回滚
  5. 继续更新回滚对话框中,展开高级问题排查
  6. 要跳过的资源 - 可选部分中,选择要跳过的资源。
  7. 选择继续更新回滚

要回滚堆栈而不跳过资源,请完成以下步骤:

  1. 打开 CloudFormation 控制台
  2. 在导航窗格中,选择堆栈
  3. 堆栈名称列中,选择停留在 UPDATE_ROLLBACK_FAILED 状态的堆栈。
  4. 选择堆栈操作,然后选择继续更新回滚

AWS CLI

要在 AWS CLI 中回滚堆栈,请运行 continue-update-rollback 命令:

$ aws cloudformation continue-update-rollback --stack-name awsstackname123 --resources-to-skip awsfaultyresource123

**注意:**将 awsstackname123 替换为您的堆栈名称。将 awsfaultyresource123 替换为您的资源的逻辑 ID。

请注意,CloudFormation 将指定资源的状态设置为 UPDATE_COMPLETE。然后,CloudFormation 继续回滚堆栈。回滚完成后,跳过的资源的状态与堆栈模板中资源的状态会不一致。

在执行下一次堆栈更新之前,必须更新堆栈或资源,使其相互一致。如果不这样做,则后续堆栈更新可能会失败,堆栈将无法恢复。

有关将嵌套堆栈回滚到工作状态的更多信息,请参阅使用 ResourcesToSkip 恢复嵌套堆栈层次结构

AWS 官方
AWS 官方已更新 5 个月前