我正在尝试以编程方式重新创建一堆通过 AWS 控制台手动创建/配置的 AWS 资源。
AWS 控制台可以为您做很多事情。
例如,您可以使用 AWS 控制台在大约 10 秒内创建带有 Api-Gateway 触发器的 Lambda 函数。
控制台在幕后发挥了很多作用,定义和配置资源,例如策略、阶段、权限、模型等。
理论上,CloudTrail 应该让我了解幕后究竟发生了什么,但在本例中它似乎保持沉默(即带有 Api-Gateway 触发器的 Lambda 函数)。
我可以玩捉迷藏,并使用 CLI 进行广泛的转储来列出阶段、策略、导出 api 定义等,并查找差异,但有更简单的方法吗? - 就像某种方式来跟踪控制台在发挥其所有魔力时所创建的 REST 调用?
注意:CloudFormer 本来可以提供帮助,但它只是写了一半的软件(嘿亚马逊!)并且只涵盖了我定义的资源的大约三分之一。拥抱 Cloudformation 是否意味着不使用这些出色的节省时间的控制台?
最佳答案
CloudFormation 和其他基础设施即代码服务可以减少您在使用 AWS 控制台或任何其他云控制台管理资源时的点击次数。
但是,当您必须启动具有几乎相同配置和软件堆栈的资源时,这些会派上用场。
如果您使用 CloudFormation,您将能够根据您的需要定义策略,使用哪个操作系统镜像,安装哪个堆栈等。它为您提供对资源的精细控制。
如果您必须多次部署这些资源,我建议您创建一个 CloudFormation 模板并使用它。
因此,我建议不要寻找从当前基础设施重新创建代码的方法,而是创建一个 CloudFormation 模板并将其用于 future 的需求。
如果您需要比当前流程更简单的东西,就是这样,因为您只需编写一次所需的配置。
Hashicorp Terraform也是 AWS CloudFormation 的一个很好的替代品。您可以使用Terraforming将当前基础设施导出到 Terraform 可读文件中。
关于amazon-web-services - 如何通过 AWS 控制台以编程方式重新创建资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56984810/