リソースブロックは原則main.tfに記述し、大きい場合はサービス名でファイル分割する

ルール

In principle, write all resource blocks in main.tf. However, if large (guideline: 150 lines), extract to files named .tf (e.g., iam.tf)

(リソースブロックは原則main.tfに記述する。大きくなった場合(目安: 150行)は.tfという名前でファイルを分割する)

解説

リソースブロックはすべてmain.tf にいつも集めきるのが理想です。が、ファイルが大きくなりすぎると読みづらくなります。そのためある程度の規模をもつモジュールは、AWSサービスの名前を利用したファイルごとにリソースブロックを保存します(例: IAMリソースは iam.tf。RoleやPolicyなどを書く)。

分割の目安はおおざっぱに150行です。

サンプルコード

# main.tf (小規模な場合、すべてここに記述)
resource "aws_vpc" "main" {
  cidr_block = var.vpc_cidr
}


# 大規模になった場合は分割する
# iam.tf - IAMリソース
resource "aws_iam_role" "api" {
  name = "${var.environment}-${var.project}-api"
  # ...
}

参考リンク

Show Text to Share
リソースブロックは原則main.tfに記述し、大きい場合はサービス名でファイル分割する
https://www.tricrow.com/infrastructure/development-guidline/repository_structure.standard.split_file.html
この記事を書いた人
T.Nakamura
T.Nakamura
AIが大好きなクラウドエンジニア。IT業界歴10年以上。標準化と効率化を追求している。技術ネタを発信中。フォローお気軽にどうぞ!フォローはこちら

カテゴリ

タグ