【问题标题】:Replacing a terraform deployed lambda in place with cloudformation用 cloudformation 替换 terraform 部署的 lambda
【发布时间】:2021-04-18 09:33:21
【问题描述】:

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

我遇到的主要障碍是 cloudformation 无法部署具有现有名称的 lambda,这意味着我目前需要删除现有的 lambda,因为我们的测试环境和较少使用的 lambda 不是一个大问题,但有一些关键我宁愿有一种更清洁的移动方式,有没有办法将其替换到位?

【问题讨论】:

  • aws.amazon.com/blogs/aws/… !?一般来说,Cloudformation 在移动、重构、导入资源方面真的很糟糕。这是在决定转投 CF 之前应该清楚的事情。请注意,使用 CodePipeline 不是 CF 的参数,您可以在 CodePipeline 中轻松运行 terraform。

标签: amazon-web-services aws-lambda terraform amazon-cloudformation terraform-provider-aws


【解决方案1】:

唯一的方法是import现有资源到 CloudFormation。请注意,并非所有资源都可以导入。支持的列表是here。

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

  • AWS::Lambda::别名
  • AWS::Lambda::CodeSigningConfig
  • AWS::Lambda::Function
  • AWS::Lambda::Version

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

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

【讨论】:

    猜你喜欢
    • 2018-08-06
    • 2021-12-07
    • 2019-02-22
    • 2020-12-10
    • 2018-07-19
    • 2019-04-12
    • 2023-02-21
    • 2019-05-14
    • 2023-02-11
    相关资源
    最近更新 更多