【问题标题】:Store terraform remote state file dynamic location in S3在 S3 中存储 terraform 远程状态文件动态位置
【发布时间】:2021-11-20 21:34:14
【问题描述】:

基本上,我有多个运行环境,所以当我尝试上传 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"
}

【问题讨论】:

    标签: amazon-web-services terraform terraform-provider-aws terraform-remote-state


    【解决方案1】:

    你不能这样做。您不能在backend 中使用变量。为dev, stage, or prod 定义 TF 配置的常规方法是使用 workspaces

    【讨论】:

      猜你喜欢
      • 2021-12-11
      • 2017-01-05
      • 2020-09-05
      • 2021-12-07
      • 2020-09-07
      • 2020-09-29
      • 1970-01-01
      • 2016-11-24
      • 2019-11-14
      相关资源
      最近更新 更多