假设我有一个具有生产和开发工作区的terraform项目。是否有可能将开发工作区存储在其他地方,这样我就不需要让管理员有能力运行那些扰乱生产的命令了?
我把这个问题建立在"Terraform: Up &著,第二版“Yevgeniy著的基础上,它称这是一个“缺点”。从93页,
所有工作区的状态文件都存储在同一个后端(例如,相同的S3桶)。这意味着您对所有工作区使用相同的身份验证和访问控制,这是工作空间不适合隔离环境的一个主要原因(例如,从生产中分离阶段)。
是否有任何工具可以用上面的引号帮助解决这一问题,是否可以在不同的S3存储桶中存储不同工作区的状态?或者,是完全放弃Terraform工作区的唯一选择。
发布于 2022-01-23 19:30:26
这是可能的,我刚刚在我的公司完成了迁移。最初,我们在集中式s3桶中拥有了所有工作区的所有状态。
现在每个工作区都有一个单独的s3桶,在我们的示例中,每个工作区直接绑定到一个aws帐户。
要做到这一点,您必须在terraform init时动态地传递后端设置。我们在一个集中的管道模板中这样做,这样它就会被开发人员自动处理,并到达正确的位置。
下面是关于如何在terraform init中传递这些设置的文档。
https://www.terraform.io/language/settings/backends/configuration#command-line-key-value-pairs
如果你对此有任何疑问,请告诉我。
https://devops.stackexchange.com/questions/15301
复制相似问题