← Cloud Service
Cloud Engineering Know-how

Infrastructure as Code Design

クラウド環境を手作業で構築・管理すると、環境ごとの構成差異や設定ミスが発生しやすく、同じ構成を継続的に再現・維持することが難しくなります。

Terraformを中心にInfrastructureをコード化し、複数Project・Environment・Cloudへ展開しても継続的に管理できるIaC構成を設計します。

Design Scope

What We Design

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権限を分離できる構成とします。

Technology Map

Technologies / Keywords

Terraform

Terraform / Modules / State Management / OIDC Federation