如何将 AWS 资源转换为 cloudformation 堆栈或模板?

问题描述

我有一堆 AWS 资源(ec2 实例、rds、s3 等)

多年来,这些资源是在 AWS 控制台中手动创建的。

现在我想使用 CloudFormation 复制这个环境。最好的方法是什么?有没有一种工具可以将所有资源转换成一个 cloudformation 堆栈或模板?

我找不到任何东西,或者我可能没有正确理解流程......

解决方法

有一个名为 CloudFormer 的服务可以执行此操作,但此后已被弃用。

CloudFormation 中确实存在 create a stack from existing resources 的功能。

但是,要使用它,您需要将堆栈设计为使用与您的资源相同的选项和设置。完成后,您就可以通过 CloudFormation 管理这些资源。

Import Existing Resources into a CloudFormation Stack 博文中提供了更多信息。

,

您可能会尝试 Chrome/Firefox 的 AWS Console Recorder 扩展程序,据说它可以根据您的 AWS 控制台点击创建 CloudFormation 模板。

来自他们的自述文件:

记录在 AWS 管理控制台中执行的操作并输出等效的 CLI/SDK 命令和 CloudFormation/Terraform 模板。

警告: Not all resources are supported

,

如今,您会使用由翻新的 former2 开发的名为 AWS Hero 的第三方、免费且完全开源的工具。 former2 由 AWS 的企业客户使用,如 AWS blog post 中所述。