共有モジュール内でproviderブロックを定義しない

ルール

Do not define provider blocks within shared modules (provider configuration should be done only once in root module)

(サブモジュール内で provider ブロックを定義しない。provider の設定はルートモジュールで一度だけ行う)

解説

プロバイダの設定はルートモジュールで一元管理します。サブモジュール内に provider ブロックを含めると混乱のもととなるため禁止します。

サンプルコード

# ルートモジュール: ./production/providers.tf
provider "aws" {
  region = "ap-northeast-1"

  default_tags {
    tags = {
      Environment = "production"
      Service     = "my-service"
    }
  }
}

# 共有モジュール: ./modules/networking/main.tf
# providerブロックは定義しない
resource "aws_vpc" "main" {
  cidr_block = var.vpc_cidr
}

参考リンク

Show Text to Share
共有モジュール内でproviderブロックを定義しない
https://www.tricrow.com/infrastructure/development-guidline/provider_configuration.no_provider_block.html
この記事を書いた人
T.Nakamura
T.Nakamura
AIが大好きなクラウドエンジニア。IT業界歴10年以上。標準化と効率化を追求している。技術ネタを発信中。フォローお気軽にどうぞ!フォローはこちら

カテゴリ

タグ