Azure 在blob存储帐户中组织地形状态
我不熟悉使用terraform进行azure资源管理 我正在使用azure blob存储作为terraform状态文件的后端 我的项目由多个存储库组成,这些存储库映射到azure订阅中的资源组Azure 在blob存储帐户中组织地形状态,azure,terraform,Azure,Terraform,我不熟悉使用terraform进行azure资源管理 我正在使用azure blob存储作为terraform状态文件的后端 我的项目由多个存储库组成,这些存储库映射到azure订阅中的资源组 repository-a ---> azure-rg-a repository-b ---> azure-rg-b 我的存储库的一般结构包括 repo-a - src - infra - env - dev.tfvars - xxx.tfvars (one p
repository-a ---> azure-rg-a
repository-b ---> azure-rg-b
我的存储库的一般结构包括
repo-a
- src
- infra
- env
- dev.tfvars
- xxx.tfvars (one per env)
- main.tf
- tests
-------------------------------------------
repo-b
- src
- infra
- env
- dev.tfvars
- xxx.tfvars (one per env)
- main.tf
- tests
一个团队负责存储库和资源组。设置blob存储的最佳位置是什么
我试过/想过做什么
- 选项A:为每个资源组保留blob存储。
- 缺点:我不喜欢让这么多存储帐户只用于状态管理的想法
- 选项B:在基础架构的单独资源组中保留blob存储
在AWS中,我们启用版本控制并防止删除,除非使用MFA根目录,否则严格限制对该存储的访问。此外,当您有一个包含CICD for infra的共享帐户时,最好使用一个单一的真实来源来保存状态文件
azure-rg-repo-a
- repo-a-storageaccount
- tfstate (container)
- tfstate.tfstate (state file)
azure-rg-repo-b
- repo-b-storageaccount
- tfstate (container)
- tfstate.tfstate (state file)
azure-rg-infrastructure
- repo-infra-storageaccount
- tfstate (container)
- repo-a.tfstate (state file for repo-a)
- repo-b.tfstate (state file for repo-b)