如何使用状态 UPDATE_ROLLBACK_COMPLETE 更新 CloudFormation 堆栈?

Posted

技术标签:

【中文标题】如何使用状态 UPDATE_ROLLBACK_COMPLETE 更新 CloudFormation 堆栈?【英文标题】:How do I update a CloudFormation stack with state UPDATE_ROLLBACK_COMPLETE? 【发布时间】:2018-02-26 03:22:22 【问题描述】:

CloudFormation 堆栈进入UPDATE_ROLLBACK_COMPLETE 状态后是否无法更新?我正在使用 CodePipeline 来部署东西。我发现一旦堆栈进入某种无效状态,很多时候,我必须手动删除堆栈并让它重新创建所有内容。这是正确的做法吗?

【问题讨论】:

我还没有发现这种情况。每当我到达UPDATE_ROLLBACK_COMPLETE 时,我都可以轻松地再次更新堆栈。但是,如果堆栈位于 ROLLBACK_COMPLETE 中,则您必须烧掉堆栈并重新开始。也就是说,所有资源都将被删除。 我遇到了同样的问题。我的堆栈进入UPDATE_ROLLBACK_COMPLETE 状态然后无服务器只是忽略更新。你有没有找到发生这种情况的原因? 【参考方案1】:

如果堆栈处于UPDATE_ROLLBACK_COMPLETE 状态,您应该能够再次更新堆栈。

如果回滚失败,您可能需要从 CloudFormation 调用 ContinueUpdateRollback,然后才能再次更新。

如果您的堆栈卡在UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS,您可能会遇到this issue。

【讨论】:

很好,我不知道关于继续的事情。 UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS 发生时,我已经等了 10 分钟,直到它完成。【参考方案2】:

查看 CloudFormation 的堆栈事件,应该有一些错误会导致堆栈更新问题。

我遇到了同样的问题,状态是 UPDATE_ROLLBACK_COMPLETE(带有十字图标的红色字体)并且 CloudFormation 堆栈没有得到更新。

我查看了 CloudFormation 的堆栈事件,没有针对“UPDATE_ROLLBACK_COMPLETE”状态的“状态原因”,但是当我进一步深入研究时,使用 AWS 保留关键字之一针对状态的 lambda 代码出现错误'UPDATE_FAILED'(附截图)。

从 lambda 代码中删除关键字后,它就像一个魅力。

【讨论】:

以上是关于如何使用状态 UPDATE_ROLLBACK_COMPLETE 更新 CloudFormation 堆栈?的主要内容,如果未能解决你的问题,请参考以下文章

渲染后如何根据另一个状态使用 setState 更新状态?

如何使用 netflix hystrix 获取断路器状态的状态?

如何使用先前状态更新字符串的状态

如何在flutter中使用rive的状态机?

如何在同一个反应组件中使用本地状态和 redux 存储状态?

如何使用 Flutter 更改状态栏颜色?