如何探测所有运行中的AWS EC2实例及其安全组等以生成模板?

74次阅读
没有评论

问题描述

通常通过执行一系列的AWS CLI命令来一起启动所有的AWS EC2实例以及它们的相关安全组、卷等。然而,当用户在浏览器中手动使用AWS控制台来启动实例时,他想知道是否有一种工具可以全面地探测这组正在运行的EC2实例,并输出可运行的AWS命令来重新创建当前正在运行的实例。用户想知道是否存在这样的工具,以及是否可以使用Terraform来实现这一目的。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

使用Terraform是创建这些EC2实例的最佳资源。我强烈建议您创建一个variables.tfterraform.tfvars文件模板,允许您创建这些资源的新实例,并将该文件和状态文件安全地存储起来,以便将来管理这些资源。一个有版本控制的S3存储桶非常适合这个用途。
请注意,一旦您创建了Terraform代码,您可以指示Terraform使用哪个状态文件等。这样您就可以在不重复的情况下重复使用相同的代码。

方案2

如果您可以接受,虽然它不会生成AWS CLI命令,但您可以使用Terraform来实现您的需求。如果您愿意,您可以重新描述问题,并将此作为答案提供。

方案3

如果您以前只是使用模板文本文件,然后解析环境变量并使用bash和sed来搜索和替换,然后生成各种AWS CLI命令来启动或关闭集群、实例、安全组等,那么学习Terraform的配置语法是否值得?在这种情况下,我不确定现在学习Terraform是否有帮助。

以上是几种解决方案供您选择。如果您以前没有使用过Terraform,那么学习它的配置语法可能需要一些时间。但是,Terraform是一个功能强大的工具,可以帮助您管理基础设施的生命周期,并提供了许多便利的功能。如果您希望能够重复创建和管理EC2实例,Terraform是一个值得学习的工具。

如果您对Terraform不感兴趣,您可以继续使用您以前的方法来生成AWS CLI命令。这取决于您的个人偏好和需求。

希望这些解决方案对您有所帮助!

正文完