已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题?**添加详细信息并通过editing this post阐明问题。
昨天关门了。
Improve this question
我一直在寻找配置服务器的最佳实践,但还没有找到。我试图解决的问题是在Terraform的新服务器设置中配置nginx.conf文件。所以我想我的问题是:Terraform是不是真的用来安装软件包和在服务器启动后配置服务器?或者我应该完全使用Terraform之外的其他东西(比如Chef)?在Terraform的文档中提到了移除对Chef,Puppet和Ansible的支持。它还提到了使用“provisioner”块,因为这个功能不受欢迎。
我尝试过使用Terraform资源user_data
块和一个自定义的配置shell脚本来实现这一点,但这看起来很笨拙,很难阅读。我也不想使用预定义的AMI,我也尝试过。
1条答案
按热度按时间gfttwv5a1#
指定
user_data
是Terraform对这类事情所能做的最好的选择。EC2用户数据支持是使用cloud-init实现的。有一个cloud-init Terraform Provider可以帮助你创建用户数据脚本和模板,这对可读性有很大帮助。如果你不喜欢这样做,那么你必须寻找其他方法,比如使用Ansible,或者AWS系统管理器来安装/配置你的EC2示例。然而,这些示例会与Terraform断开连接,所以你可能需要在Terraform应用后使用
provisioner
来触发它们。