【发布时间】:2021-04-20 12:01:54
【问题描述】:
我们有一个 VPC,其中包含用于测试的所有服务和数据库。我们现在正计划建立另一个这样的 VPC,以便我们可以有一个额外的测试环境。
有没有办法从现有基础设施 (VPC) 中导出 CloudFormation 模板?
【问题讨论】:
标签: amazon-web-services amazon-cloudformation
我们有一个 VPC,其中包含用于测试的所有服务和数据库。我们现在正计划建立另一个这样的 VPC,以便我们可以有一个额外的测试环境。
有没有办法从现有基础设施 (VPC) 中导出 CloudFormation 模板?
【问题讨论】:
标签: amazon-web-services amazon-cloudformation
取决于您想要克隆/复制的所有内容以及您想要复制资源的级别,您可以查看以下选项;
使用 deprecated CloudFomer 这是 AWS CFN 的一部分,您可以从现有资源构建模板。不推荐,只是列出清单,以防您的用例以更少的努力、时间和金钱满足此要求。
使用former2 第三方工具,比CloudFomer 更可靠。详情请参考this existing thread。
使用N2WS,这是与 AWS 合作的第三方解决方案。请参阅 AWS 的此博客。
使用CloudRanger,第三方解决方案称为 Druva。
【讨论】:
如果现有基础架构是使用 CloudFormation 创建的,那么您只需运行以下命令:
aws cloudformation get-template --stack-name myteststack
如果不是,这是不可能的,因为 aws 仅使用对产品中的客户端可见的 cloudformation 堆栈,而不是您可以在创建后更改参数,例如 ECS。
【讨论】:
您可以使用 Functionbeat 导出 Cloud Formation 模板,该模板是 Elastic Beat,我们可以将其作为函数部署在我们的无服务器环境中以从云服务中收集数据。配置 functionbeat 后,使用以下命令导出 CloudFormation 模板。
适用于 Linux 和 Mac ./functionbeat export function FUNCTION_NAME
对于 Windows .\functionbeat.exe export function FUNCTION_NAME
Functionbeat 会将 CloudFormation 模板写入标准输出或标准输出,您可以根据需要对其进行修改。
【讨论】: