Terraform文件夹结构 - 模块与文件

时间:2018-06-07 09:35:29

标签: terraform

不确定这个问题会有正确或错误的答案,但我只是对人们如何在现实世界中管理Terraform感兴趣?在使用模块,不同环境和协作方面。

目前我们正计划建立生产,开发和测试环境。全部相似。

现在,我已经以定义AWS的各个组件的方式创建了我的terraform文件,所以说一个用于,VPC,IAM,EC2,监控(CloudWatch + CloudTrail + CloudConfig)等。并且有一个变量文件和.tfvars以上,所以文件是可移植的(所有环境都是相同的)。所以,如果你需要在一个地方改变一切。还意味着如果我们有一个特定的项目正在运行,我可以创建一个定义项目所有资源的tf文件并将其放入,然后一旦完成删除它。

每个环境在我们的Terraform服务器上都有自己的文件夹结构。

这太简单了吗?我一直在看模块。

也有人有与Terraform合作的经验,就像在不同的团队中一样吗?我一直在寻找像亚特兰蒂斯这样的东西与GitHub结合,所以任何变化都需要得到批准。但同时也有正确的IAM角色,我可以限制Terraform可以改变的内容。

就像我说的那样,对于人们如何管理terraform及其体验感兴趣的答案可能并不错。

由于

1 个答案:

答案 0 :(得分:0)

我的回答只是一个用例...

我们正在将terraform用于为几个客户提供的应用程序,每个客户都具有小的特定配置功能。<​​/ p>

我们只有一个VCS存储库。我们不使用VCS分支机构。

对于每个文件夹,我们至少具有远程状态,以便在开发人员之间共享状态。

  • 我们正在使用一个具有远程状态的全局文件夹来在客户配置之间共享状态
  • 我们为每个客户使用一个文件夹,并为每个客户(产品:蓝色/绿色,舞台)的每个上下文使用工作区(以前的环境)
  • 对于所有客户共享的通用基础架构块,我们使用模块

我们主要使用变量来减少每个客户文件夹中特定文件的数量。

希望这对您有帮助...

相关问题