如果一个人有两个 AWS 账户,一个用于开发,一个用于实时(例如)我知道可以使用 terraform 工作区来管理每个环境的状态。
但是,如果我将工作区从“dev”切换到“live”,有没有办法告诉 terraform 它现在应该将状态应用于实时帐户而不是测试帐户?
我想到的一种容易出错的方法是交换我的secret.auto.tfvars
每次切换工作区时交换我的文件,因为我假设当使用不同的访问密钥(属于“实时”账户的那个)运行时,AWS 提供商将申请那个帐户。但是,交换工作区并存在错误的凭据会非常容易,这将针对错误的环境运行更改。
我正在寻找一种几乎将工作区与 AWS 中的帐户 ID 链接的方法。
我确实找到了这个https://github.com/hashicorp/terraform/issues/13700但它指的是不推荐使用的env
命令,这个评论看起来特别有希望
更新
我在 GitHub 上找到了一些信息,我在其中留下了这条评论作为对先前评论的回复,该评论建议考虑模块而不是工作区,实际上表明工作区不太适合这项任务。如果有人可以提供有关如何使用模块来解决同时维护“相同”基础设施的多个版本的问题的信息,我很想看看这如何改进工作空间的概念。