Сохранить динамическое расположение файла удаленного состояния terraform в S3
В принципе, у меня есть несколько работающих сред, поэтому, когда я пытаюсь загрузить адрес ключа жесткого кода файла состояния terraform .tfstate, он работает отлично, но я хочу сохранить свой файл .tfstate на основе переменной среды или на основе условия, чтобы я мог различать мой дев-сервер или прод-сервер
моя переменная среды может быть: 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"
}
1 ответ
Вы не можете этого сделать. Вы не можете использовать переменные в
backend
. Обычный способ определения конфигураций TF для
dev, stage, or prod
с помощью рабочих пространств .