サブモジュールにproviderやterraformブロックを含めない

ルール

Do not include provider or terraform in submodules.

(サブモジュールにproviderterraformブロックを含めない)

解説

プロバイダー設定はルートモジュールで一括管理します。そのためサブモジュールでproviderやterraformブロックを利用してはいけません。

Terraformの公式ベストプラクティスでも推奨されている設計原則です。

サンプルコード

# production/providers.tf(ルートモジュールで定義)
terraform {
  required_version = ">= 1.5.0"

  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 5.0"
    }
  }
}

provider "aws" {
  region = "ap-northeast-1"
}
Show Text to Share
サブモジュールにproviderやterraformブロックを含めない
https://www.tricrow.com/infrastructure/development-guidline/coding_standards.modules.no_provider.html
この記事を書いた人
T.Nakamura
T.Nakamura
SRE | セキュリティ前提の設計・運用・監査対応(PCI DSS) | ドキュメント整備と仕組み化で開発・運用を整えます | AWS SAP / 日商簿記一級フォローはこちら

カテゴリ

タグ