似乎我可以使用带有模板文件的user_data
或带有内联命令的“remote-exec”provisioner
进行引导。那么哪一个被认为更惯用?
答案 0 :(得分:14)
您应该使用user_data
。 user data字段是惯用的,因为它是AWS的原生字段,而remote-exec配置程序特定于Terraform,这只是调用AWS API的众多方法之一。
此外,用户数据可在AWS控制台中查看,并且通常是在AWS中使用Auto Scaling组的重要部分,您希望每个EC2实例在启动时执行相同的配置代码。使用Terraform的远程执行程序配置程序无法做到这一点。
答案 1 :(得分:3)
虽然我同意Josh,但如果实例没有运行时更改,您可以使用packer构建ami,然后在启动配置中使用它。这样您就不必等待用户数据运行。
Packer是Hashicorp系列工具的一部分