如何解决在Terraform中动态更改状态键
每个Terraform实体都有可能具有动态状态吗?我的意思是钥匙。手动更改每个实体的密钥有点奇怪。
terraform {
backend "s3" {
bucket = "terraform-dev"
encrypt = true
key = "???"
dynamodb_table = "???"
region = "eu-west-1"
profile = "dev"
}
}
解决方法
您无需为每个资源设置不同的密钥。 s3
后端的密钥是整个Terraform定义的状态存储位置;它与在不使用远程状态(例如terraform.tfstate
)运行Terraform时存储在本地目录中的s3
文件完全相同。在这种情况下,您有一棵完整的资源树,但是它们的状态都存储在一个terraform.tfstate
文件中;当您使用s3
远程状态后端时,整个资源树的状态将存储在s3
配置中提供的键处的backend
中的一个对象中。