gpt4 book ai didi

terraform - 在 s3 中使用具有多个文件夹的 terraform 远程状态

转载 作者:行者123 更新时间:2023-12-02 23:04:17 27 4
gpt4 key购买 nike

我当前正在使用默认工作区,我的文件夹结构如下 -

dev
├── app
│ └── main.tf
├── mysql
│ └── main.tf
└── vpc
└── main.tf

我创建了一个 s3 后端,它对于单个文件夹运行良好

terraform {
backend "s3" {
bucket = "mybucket"
key = "global/s3/mykey/terraform.tfstate"
region = "us-east-1"
dynamodb_table = "terraform-state-wellness-nonprod"
encrypt = true
}
}

我正在努力解决如何将此后端配置包含在所有文件夹中,就像我想在应用程序、mysql 和 vpc(Dynamodb 的差异键)中使用相同的后端 s3 存储桶,但是虽然这在一个文件夹中工作,在第二个文件夹中,terraform 希望删除 S3 存储桶和 Dynamodb。

最佳答案

我建议您在 terraform 代码中使用 module 结构。

喜欢:

   dev
├──modules
│ ├── app
│ │ └── app.tf
│ ├── mysql
│ │ └── mysql.tf
│ └── vpc
│ └── vpc.tf
└──main.tf

main.tf:

module "app" {
source = "./modules/app"
...
}

module "mysql" {
source = "./modules/mysql"
...
}

module "vpc" {
source = "./modules/vpc"
...
}

terraform {
backend "s3" {
...
}
}

如果您想应用/销毁每个模块:

terraform apply -target module.app
terraform destroy -target module.app

See :

Here's a repository using module structure.

关于terraform - 在 s3 中使用具有多个文件夹的 terraform 远程状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58547168/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com