リソースブロックは原則main.tfに記述し、大きい場合はサービス名でファイル分割する
ルール
In principle, write all resource blocks in main.tf. However, if large (guideline: 150 lines), extract to files named
(リソースブロックは原則main.tfに記述する。大きくなった場合(目安: 150行)は
解説
リソースブロックはすべて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

