【问题标题】:How to manually rollback CloudFormation deployment of Lambda functions?如何手动回滚 Lambda 函数的 CloudFormation 部署?
【发布时间】:2018-10-31 11:37:11
【问题描述】:

在我的 CodePipeline 中,我正在创建一个 CloudFormation ChangeSet,然后执行它以部署 Lambda 函数。 CloudFormation 似乎没有保存旧的变更集,以便我可以恢复到旧版本。我错了吗?

当 CloudFormation 由于 IAM 权限问题等而无法创建/执行 ChangeSet 时,它会自动回滚,但我希望能够手动回滚,以防我部署错误的函数。

【问题讨论】:

  • 在我看来,您使用了错误的方法。您确实应该进行集成测试来检查 iam 权限,因为您需要在函数中执行多个可能使用不同权限的逻辑流。您将遇到的另一个困难是如何将 iam 权限错误与自先前部署以来您可能已经存在的其他运行时错误分开。问题是:值得吗?

标签: amazon-web-services aws-lambda amazon-cloudformation aws-codepipeline


【解决方案1】:

您可以在 AWS CloudFormation 中使用 rollback triggers 通过 Amazon CloudWatch 指标和警报检测代码中失败的测试,并执行自动回滚。

需要修改您的应用程序代码以在部署时执行测试,然后将指标值写入 Amazon CloudWatch。

您需要注意几个限制:

  • 每个 CloudFormation 堆栈最多五 (5) 个回滚配置
  • 监控时间:0 - 180 分钟(3 小时)

【讨论】:

  • 如果堆栈成功但我想恢复所有更改怎么办?
  • @EduardoEPF 您找到问题的答案了吗?
  • 不,最后我不得不手动删除堆栈所做的所有事情,并像疯子一样手动寻找依赖项
猜你喜欢
  • 2021-12-07
  • 2020-07-22
  • 2021-04-18
  • 2020-03-05
  • 2021-12-26
  • 2021-09-11
  • 2021-11-03
  • 1970-01-01
  • 2018-07-19
相关资源
最近更新 更多