【发布时间】:2018-11-17 04:06:36
【问题描述】:
不确定这个答案是对还是错,但我只是对人们在现实世界中如何管理 Terraform 感兴趣?就你是否使用模块、不同的环境和协作而言。
目前我们正计划建立一个生产、开发和测试环境。都差不多。
现在,我已经以一种定义 AWS 的各个组件的方式制作了我的 terraform 文件,所以说一个用于 VPC、IAM、EC2、监控(CloudWatch + CloudTrail + CloudConfig)等。还有一个变量文件和 .tfvars 用于上述,因此文件是可移植的(所有环境都相同)。因此,如果您需要在一个地方进行更改。也意味着如果我们有一个特定的项目正在运行,我可以创建一个定义项目所有资源的 tf 文件并将其放入,然后在完成后将其删除。
每个环境在我们的 Terraform 服务器上都有自己的文件夹结构。
这太简单了?我一直在看模块。
还有没有人有与 Terraform 合作的经验,比如在不同的团队中?我一直在考虑将 Atlantis 之类的东西与 GitHub 绑定,因此任何更改都需要获得批准。但同时使用正确的 IAM 角色,我可以限制 Terraform 可以更改的内容。
就像我说的,只是对人们如何管理 terraform 和他们的经验感兴趣,这可能不是正确答案的错误。
谢谢
【问题讨论】:
-
它可能不是完全重复的,但这个问题与stackoverflow.com/q/43201497/2291321 有很多共同之处,因此建议的一些答案可能对构建代码有用。此外,您的问题似乎是 2 个问题,因此可能值得将其拆分为“构建 Terraform 代码库的最佳实践”(可能是上述链接问题的副本,因此可能不需要)和“围绕 Terraform 代码协作的最佳实践基地”
-
谢谢 ydaetskcoR - 这真的很有帮助,我会阅读那篇文章,也许会按照你的想法,如果需要的话,可以进一步分解以上内容。感谢您为我指明正确的方向
标签: terraform