Terraform 整合性検証スキル
このスキルを使用して、Terraform コードの内部整合性と品質を検証します。
設計思想: 本プロジェクトは Terraform-First Development を採用しています。 Terraform コードが Single Source of Truth であり、ARCHITECTURE_SPEC.md は参照用ドキュメントです。
検証の目的
- •内部整合性: リソース間の参照が正しいか
- •命名規則: プロジェクト命名規則に従っているか
- •セキュリティ: 基本的なセキュリティ設定が適用されているか
- •モジュール使用: モジュールが正しく使用されているか
検証手順
Step 1: 対象コードの特定
code
terraform/dev/*.tf # 環境固有リソース terraform/module/* # 再利用可能モジュール
Step 2: 整合性チェック
| カテゴリ | チェック項目 |
|---|---|
| 参照整合性 | モジュール間の output/input が正しく接続されているか |
| 命名規則 | copy-solis-{env}-{resource} の形式に従っているか |
| セキュリティグループ | 必要最小限のポートのみ開放されているか |
| 暗号化 | RDS, S3 等で暗号化が有効か |
| タグ | 必須タグが設定されているか |
Step 3: リソース依存関係の確認
hcl
# 良い例: 明示的な依存関係 depends_on = [module.vpc] # 確認すべき点 # - セキュリティグループの参照が正しいか # - サブネットIDが正しく渡されているか # - IAMロールの参照が正しいか
プロジェクト固有の設定
| 項目 | 期待値 |
|---|---|
| Project Name | copy-solis |
| Region | ap-northeast-1 |
| Environment | dev |
| VPC CIDR | 10.0.0.0/16 |
| Subnet CIDR | /20 blocks |
| AZs | ap-northeast-1c, ap-northeast-1d |
| Container Port | 3000 |
| Database Port | 3306 (MySQL) |
出力フォーマット
問題なしの場合
markdown
## ✅ 整合性検証完了 すべてのリソースが正しく構成されています。 ### 確認項目 - [x] モジュール参照の整合性 - [x] 命名規則への準拠 - [x] セキュリティ設定 - [x] タグ設定
問題ありの場合
markdown
## ⚠️ 整合性の問題を検出 ### 検出箇所 | ファイル | 問題 | 重要度 | 推奨対応 | | :--- | :--- | :--- | :--- | | rds_resources.tf | publicly_accessible = true | High | false に変更を検討 | ### 修正案 \`\`\`hcl # rds_resources.tf publicly_accessible = false # セキュリティ強化 \`\`\`
注意事項
- •このスキルは Terraform コードの 品質検証 を行います
- •仕様書(ARCHITECTURE_SPEC.md)との比較ではなく、コード自体の整合性を確認します
- •仕様書の更新が必要な場合は、検証後に別途更新してください