将整个 AWS 设置提取到可存储文件或部署包中

Extract Entire AWS Setup into storable Files or Deployment Package(s)

有什么方法可以 'dehydrate' 或提取整个 AWS 设置吗?我有一个使用多个 AWS 组件的小型应用程序,我想暂停该项目,这样我就不会每个月都被收费。

我直接通过各种服务站点(例如 VPN、RDS 等)编写/构建了该应用程序。有什么方法可以将我的设置提取到文件中,以便我可以将这些文件保存在版本控制中,并且 'rehydrate' 当我想重新设置我的应用程序时,他们回到 AWS?

我尝试从 Lambda 和 Event Bridge 中提取片段,但似乎我不能只 'replay' 这些文件使用 CLI 来重新创建我的应用程序。

具体来说,我希望提取所有代码、设置、连接等:

提前致谢!

您描述的是Infrastructure as Code。这个想法是将您的基础架构定义为代码,然后使用该“代码”部署您的基础架构。

这个space有很多选择。仅举几例:

  1. Terraform
  2. Cloudformation
  3. CDK
  4. Pulumi

所有这些都应该允许您导入已经存在的资源。至少 Terraform 有一个 import 命令来将一个已经存在的资源导入到你的 IaC 项目中。

这样您就可以创建一个反映您当前在 AWS 中拥有的项目。

排除的是严格使用的非 AWS 资源,例如:

  1. 你的 Lambdas 代码
  2. MySQL DDL

根据 Lambdas 部署“策略”,代码位于 S3 上或直接部署到 Lambda 服务。如果是第一个,您只需找到 S3 存储桶等并从那里下载代码。如果是第二个,您可能需要手动复制和粘贴它。

当涉及到您的 MySQL DDL 时,您需要找到导出它的工具。但是有很多工具可以做到这一点。

执行此操作后,您应该能够销毁所有 AWS 资源,然后稍后从新的 IaC 再次部署它们。

您可以使用 Former2. It will scan your account and allow you to generate CloudFormation, Terraform, or Troposphere templates. It uses a browser plugin, but there is also a CLI