存储S3中地形远程状态文件的动态位置



基本上,我有多个运行环境所以当我尝试上传terraform。tfstate状态文件的硬编码密钥地址时效果很好但我希望根据环境变量或条件来存储。tfstate文件以便区分dev-server或prod-server

我的环境变量可以是:dev, stage或prod

下面的代码只是一个示例,所以要知道我想做什么


variable "ENV" {
default = "dev" # dev OR prod
}
provider "aws" {
region     = "us-west-2"
}
terraform {
backend "s3" {
bucket          = "my-bucket-12345"
key             = "proj/${var.ENV}/terraform.tfstate"
region          = "us-west-2"
}
}
resource "aws_instance" "example" {
ami           = "ami-0d729a60"
instance_type = "t2.micro"
}

你不能这么做。不能使用变量backend。为dev, stage, or prod定义TF配置的正常方法是使用工作区。

最新更新