Slide 32
Slide 32 text
Terraformコードのディレクトリ構成
左記のような形にした
● 詳解 Terraform で紹介されていた
ディレクトリ構成を参考にした
● 以下の理由からこれがベターだと
考えている
○ ⼀つのtfstateファイルで扱うリソース
数が増えるとplan,applyの実⾏時間に
影響を与える
○ ライフサイクルが異なるリソースは
tfstateファイルを分けることでapplyの
影響を最⼩限にしたい
32
terraform/
├── environments
│ ├── prod(本番用のリソース)
│ │ ├── data-store(主にRDSに必要となるリソース)
│ │ ├── monitoring(主に監視で必要となるリソース)
│ │ ├── network(主にVPC周りのリソース)
│ │ └── services(ECSサービス(またはECSクラスタ)の単位でディレクトリを作成)
│ │ ├── internal
│ │ └── external
│ └── staging(テスト環境用リソース)
│ └── mgmt(management:踏み台サーバや開発端末用サーバ等)
│ └── global(prod,staging間で共通して使うリソースがあればここにいれる)
└── modules(各環境等で共通化できるものは以下に格納)
├── application-autoscaling
├── ecr
└── ecs