用 cloudformation 替换 terraform 部署的 lambda

Replacing a terraform deployed lambda in place with cloudformation

我需要从我们现有的 terraform/gocd lambda 部署结构转移到使用 codepipeline 和 cloudformation。

我遇到的主要障碍是 cloudformation 无法部署具有现有名称的 lambda,这意味着我目前需要删除现有的 lambda,对于我们的测试环境和较少使用的 lambda 来说这不是一个大问题,但有一个几个关键的问题我宁愿有一个更干净的方式来移动,有没有办法替换它?

唯一的办法就是import existing resources to CloudFormation. Please note that not all resources can be imported. The list of supported ones is here.

在lambda方面,可以导入以下资源:

  • AWS::Lambda::别名
  • AWS::Lambda::CodeSigningConfig
  • AWS::Lambda::函数
  • AWS::Lambda::版本

但是,导入过程并不是那么简单。要使其正常工作,您已经需要具有适当的模板,这些模板 与现有资源相匹配 .

因此,在您尝试使用生产函数之前,最好在 测试函数 和其他资源上进行一些练习,以熟悉流程及其要求。此外,您可以考虑使用 former2 来帮助您从现有的 lambda 生成这些初始模板作为起点。