01
Terraform Architecture Design
- Directory Structure
- Module Abstraction
- State & Backend
- Execution Identity & Access
Project、Environment、Region、Moduleの関係を整理し、Projectや環境が増加しても無理なく拡張できるDirectory構成を設計します。
Moduleについては、単純にResource Type単位へ分割するのではなく、システム構成、再利用範囲、変更頻度、運用体制に応じて、Resource単位・機能Domain単位など適切な抽象化レベルを設計します。
Terraform Stateは、Project / Environmentごとの分離とBackendの集中管理を考慮し、Security Boundaryや運用責任に応じたState / Backend構成を設計します。
また、Terraformが各Cloud環境へアクセスするIdentityと権限を設計し、固定Credentialへの依存を避けながら、EnvironmentやAccount / Project / SubscriptionごとにDeployment権限を分離できる構成とします。