🔥
Terraformで"-backend-config"指定時,"Missing backend configuration"警告が出た時
事象サマリ
以下のような構成で,
.
├── backendconfig.tf
├── terraform.tfvars
└── vpc
├── main.tf
├── outputs.tf
├── var.tf
└── vpc.tf
vpc
配下で
terraform init \
-upgrade \
-reconfigure \
-backend-config=../backendconfig.tf \
-var-file=../terraform.tfvars
を実行したら以下が出た(正常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.
が出た.
警告発生時の設定状況
backendconfig.tf
BackendにはS3を指定しているので,以下のような状態.
bucket = "<S3 Bucket名>"
region = "<Region名>"
key = "<tfstateファイル名>"
encrypt = true
vpc.tf
provider "aws" {
region = var.region
}
module "vpc" {
source = "terraform-aws-modules/vpc/aws"
name = var.name
cidr = var.cidr
count = length(var.azs)
...以下略
解決策
結論としては,上記vpc.tf
に以下のディレクティブを追加することで正常にinit
できた.
terraform {
backend "s3" {}
}
参考
バックエンドの種類は異なるが,以下で行われているやり取りから手掛かりを得た.
Warning: Missing terraform backend block instead of an error. #990
Discussion