1

我开始使用 Terraform 来启动 AWS EC2 机器。我在网上看到一些资源指向template_file 资源的使用,与 cloudinit 相比,我不确定它的真正作用。

据我了解,cloud-init用于引导,您可以在其中将多个脚本从本地计算机加载到/var/lib/instance/scriptsEC2 实例的目录中,然后使用您指定的任何解释器自动运行它们。那么,我们需要渲染template_file什么?

另外,我的另一个问题是我们是否只允许将 bash 脚本作为 cloud-init 的一部分运行,还是也允许 python 解释器?

4

1 回答 1

1

template_file当您想要在 Terraform 配置中使用来自其他资源的值呈现 bash 脚本并在启动 EC2 实例时将其作为用户数据传递时,这种情况非常方便。只允许使用 shell 脚本和 cloud-init 指令,如下所示:

当您在 Amazon EC2 中启动实例时,您可以选择将用户数据传递给实例,这些数据可用于执行常见的自动配置任务,甚至在实例启动后运行脚本。您可以将两种类型的用户数据传递到 Amazon EC2:shell 脚本和 cloud-init 指令。您还可以将此数据以纯文本、文件(这对于通过命令行工具启动实例很有用)或 base64 编码文本(用于 API 调用)的形式传递到启动向导。

更多信息:http ://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html

于 2016-07-21T19:18:34.367 回答