Terraform 后端区块问题

问题描述 投票:0回答:1

我正在尝试在运行

backend.tf
命令时为每个环境设置 terraform
init
,但 terraform
init
无法识别
backend
文件内的
backend.tf
块。这是我的文件夹结构

project --|
          |- env/--|-dev/------|-backend.tf
                               |-terraform.tfvar
                   |- stage/---|-backend.tf
                               |-terraform.tfvar
                   |-main.tf
                   |-output.tf
                   |-variables.tf
          |-modules/-|-lambda--|----python/
                               |----zip/
                               |--main.tf
                               |--output.tf
                               |--variables.tf
                               |--requirement.tf

我为每个环境保留了

backend.tf
并从
env/
文件夹运行我的 terraform 命令。

这里是 init 命令

project/dev> terraform init -reconfigure -backend-config="dev/backend.tf"
但是 terraform 无法识别
backend.tf
文件夹中的
dev

这是我的

backend.tf
文件

terraform {
  backend "s3" {
    bucket         = "bucket-terraform"
    key            = "service-513/terraform.tfstate"
    region         = "us-west-2"
    dynamodb_table = "table-terraform"
  }
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 5.0"
    }
  }
}

运行 Terraform init 后,出现警告:

╷
│ Warning: Missing backend configuration
│ 
│ -backend-config was used without a "backend" block in the configuration.
│ 
│ If you intended to override the default local backend configuration,
│ no action is required, but you may add an explicit backend block to your
│ configuration to clear this warning:
│ 
│ terraform {
│   backend "local" {}
│ }
│ 
│ However, if you intended to override a defined backend, please verify that
│ the backend configuration is present and valid.
│ 
╵

不知道为什么会这样。如果有人能指导我正确的方向,我将不胜感激。

amazon-web-services terraform terraform-provider-aws serverless
1个回答
0
投票

使用

-backend-config
时,您需要提供 keysvalues 来进行后端的部分配置,如 此处所述

© www.soinside.com 2019 - 2024. All rights reserved.