如何以编程方式重新创建通过AWS控制台完成的资源?

时间:2019-07-11 08:28:32

标签: amazon-web-services aws-lambda aws-sdk amazon-cloudformation

我正在尝试以编程方式重新创建通过AWS控制台手动创建/配置的一堆AWS资源。

AWS控制台为您做很多事情。

例如,您可以使用AWS控制台在大约10秒钟内使用Api-Gateway触发器创建Lambda函数。

控制台在幕后做了很多魔术,定义和配置资源,例如策略,阶段,权限,模型等。

从理论上讲,CloudTrail应该可以让我看到幕后到底发生了什么,但是在这种情况下它似乎是沉默的(即带有Api-Gateway触发器的Lambda函数)。

我可以使用CLI进行捉迷藏并进行大量转储,以列出阶段,策略,导出api定义等,并寻找差异,但是有没有更简单的方法? -就像某种方式跟踪控制台在执行所有操作时所创建的REST调用一样?

注意:CloudFormer可以提供帮助,但它只是半写的软件(嘿,亚马逊!),仅覆盖了我定义的三分之一的资源。拥抱Cloudformation是否意味着不使用这些省时的控制台?

1 个答案:

答案 0 :(得分:0)

使用CloudFormation和其他基础架构作为代码服务可以减少您在使用AWS控制台或任何其他云控制台管理资源时所产生的点击。

但是,当您必须调动几乎具有相同配置和软件堆栈的资源时,这些便会派上用场。

如果您使用CloudFormation,则可以根据需要,使用的操作系统映像,要安装的堆栈等来定义策略。它可以让您对资源进行细微的控制。

我建议您是否必须多次部署这些资源,然后创建一个CloudFormation模板并使用它。

因此,我建议不要寻找一种方法来从当前基础结构中重新创建代码,而是创建一个CloudFormation模板并将其用于将来的需求。

如果您需要比当前流程更简单的方法,就是这样,因为您只需编写一次所需的配置即可。

Hashicorp Terraform也是AWS CloudFormation的很好替代。您可以使用Terraforming将当前基础结构导出到Terraform可读文件中。