テンプレート一覧に戻る

Terraform / IaC

Terraform + AWS のインフラ構成管理向けCLAUDE.md。Infrastructure as Codeによる安全なインフラ管理に最適です。

上級terraformiacaws
CLAUDE.md
# プロジェクト名

Terraform で管理するクラウドインフラストラクチャ。

## 技術スタック

- **ツール**: Terraform 1.9+ / OpenTofu 1.8+
- **プロバイダ**: AWS(主要)
- **状態管理**: S3 + DynamoDB(リモートバックエンド)
- **Lint**: tflint + tfsec + checkov
- **CI**: GitHub Actions

## コマンド

| コマンド | 用途 |
|---------|------|
| `terraform init` | 初期化(プロバイダ・モジュールのダウンロード) |
| `terraform plan` | 変更プレビュー |
| `terraform apply` | 変更適用 |
| `terraform validate` | 構文バリデーション |
| `tflint` | Lint実行 |
| `tfsec .` | セキュリティスキャン |

## ディレクトリ構造

| パス | 役割 |
|-----|------|
| `envs/dev/` | 開発環境設定 |
| `envs/staging/` | ステージング環境設定 |
| `envs/prod/` | 本番環境設定 |
| `modules/` | 再利用可能モジュール |
| `modules/<name>/main.tf` | リソース定義 |
| `modules/<name>/variables.tf` | 入力変数 |
| `modules/<name>/outputs.tf` | 出力値 |

## コーディング規約

- リソースの命名は `<provider>_<resource>_<purpose>` 形式
- 変数にはdescriptionとtypeを必ず指定
- 機密値は `sensitive = true` を設定
- モジュールはバージョン固定で参照
- `terraform fmt` でフォーマットを統一
- 破壊的変更(destroy + create)はPRレビュー必須
- tfstateファイルはGit管理外(.gitignore)

## Git規約

- ブランチ: `feature/`, `fix/`, `infra/`
- コミットメッセージ: Conventional Commits形式
- `terraform plan` の出力をPRコメントに貼付

関連ガイド

検索

ガイドやテンプレートを検索...