You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

寻求替代已废弃CloudFormer的AWS服务,生成含Lambda的CloudFormation模板

从现有AWS资源生成CloudFormation模板的官方替代方案

你提到的CloudFormer确实已经被AWS废弃了,不过现在有几个更强大的官方工具可以满足你的需求,尤其是针对Lambda、RDS、ElasticCache这些资源:

1. AWS SAM CLI sam import(最适配你的场景)

既然你已经用SAM CLI开发部署过Lambda服务,sam import绝对是首选。它专门支持将现有Lambda函数(包括关联的层、触发器、执行角色等)导入到SAM模板中,同时也覆盖RDS、ElasticCache等其他资源,操作步骤很直观:

  • 先在本地初始化一个SAM项目(如果还没有的话):sam init
  • 运行导入命令,指定要导入的资源,比如Lambda函数:sam import --resource-id arn:aws:lambda:us-east-1:123456789012:function:MyExistingFunction
  • SAM会自动生成对应的SAM模板(template.yaml),里面完整保留Lambda的配置细节,比如环境变量、内存配置、触发器关联等
  • 最后执行sam synth就能导出标准的CloudFormation YAML模板,直接用于后续部署或备份

这个工具完美兼容你之前的SAM工作流,还能自动处理Lambda的依赖关系,比手动编写模板高效太多。

2. AWS CDK Import(灵活度更高)

如果你需要管理更复杂的多资源组合,AWS CDK的导入功能可以帮你把现有资源(Lambda、RDS、ElasticCache都支持)导入到CDK栈中,再导出CloudFormation模板:

  • 初始化CDK项目:cdk init app --language python(或者你熟悉的其他编程语言)
  • 运行导入命令,比如导入RDS实例:cdk import aws-rds-dbinstance:mydbinstance-id
  • CDK会自动生成对应的基础设施代码,你可以按需调整配置细节
  • 执行cdk synth就能生成CloudFormation模板文件

这个方案的优势是用代码管理资源,后续维护、修改更灵活,适合复杂的跨资源场景。

3. CloudFormation原生资源导入(纯控制台/CLI方式)

如果不想用SAM或CDK,也可以直接通过CloudFormation的原生功能导入资源并生成模板:

  • 在CloudFormation控制台创建新栈,选择「导入现有资源」选项
  • 按照向导选择要导入的资源类型(Lambda、RDS、ElasticCache等),并提供资源的ARN或ID
  • CloudFormation会自动生成包含这些资源的栈,之后你可以在栈的「模板」标签页下载YAML模板

或者用AWS CLI执行类似操作:

aws cloudformation create-change-set \
  --stack-name MyImportedStack \
  --change-set-type IMPORT \
  --resources-to-import '[{ "ResourceType": "AWS::Lambda::Function", "LogicalResourceId": "MyLambda", "ResourceIdentifier": { "FunctionName": "MyExistingFunction" } }]' \
  --template-body file://template.yaml

注意事项

  • 导入前要确保资源的所有依赖都已正确识别,比如Lambda的执行角色权限、RDS的安全组配置等
  • 导入后建议先通过sam validate或aws cloudformation validate-template验证模板的正确性
  • 对于ElasticCache这类资源,导入时需要提供集群名称、节点类型等关键属性,确保模板能准确还原资源配置

内容的提问来源于stack exchange,提问作者vinod827

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 19:27:47