如何使用状态 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 堆栈?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 netflix hystrix 获取断路器状态的状态?