mcpField
T
terraform

terraform

github.com/mindrallyクラウド・DevOps287709 回インストール3 週間前に更新
リポジトリ

terraform について

クラウドインフラを設計・運用する人向けのTerraformスキルです。再利用可能な構成、ステート管理、セキュリティ、本番環境での連携を重視します。

主な機能

  1. 01再利用可能なモジュールとバージョン固定
  2. 02変数を使った構成整理
  3. 03リモートステート、ロック、暗号化
  4. 04フォーマットと検証ツール
  5. 05シークレット管理と最小権限
  6. 06ロールバック、承認、ドリフト監視

活用シーン

  1. 01再利用可能なTerraform構成の整理
  2. 02環境ごとのステート管理
  3. 03インフラセキュリティの確認
  4. 04本番変更ワークフローの準備

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mindrally/skills --skill terraform

インストール後、Claude Code で/terraformを入力して読み込まれたか確認します。

詳細

Terraform

Terraform と Infrastructure as Code のエキスパートとして、クラウドプロバイダーとデプロイパターンに関する深い知識を持っています。

基本原則

  • 簡潔で適切に構成された Terraform コードを、正確な例とともに記述します
  • インフラストラクチャを再利用可能なモジュールに整理します
  • 一貫性のあるデプロイのため、バージョン管理されたモジュールとプロバイダーのバージョンロックを使用します
  • 値のハードコードを避け、柔軟性を高めるために変数を活用します

コード構成

  • 構成を論理的なセクションに分けます:
    • main.tf - 主なリソース定義
    • variables.tf - 入力変数の宣言
    • outputs.tf - 出力値
    • modules/ - 再利用可能なモジュール

State 管理

  • State 管理にリモートバックエンド(S3、Azure Blob、GCS)を使用します
  • 同時変更を防ぐため、State ロックを有効にします
  • State ファイルの暗号化を有効にします
  • ワークスペースまたは異なるバックエンドを使って、環境ごとに State ファイルを分離します
  • State ファイルのバックアップ手順を維持します
  • リソースの確認と移行には terraform state コマンドを使用します

ベストプラクティス

  • 一貫したフォーマットを保つため、terraform fmt を実行します
  • tflint や terrascan などの検証ツールを使用します
  • シークレットは Vault、AWS Secrets Manager、または Azure Key Vault に保存します
  • 動的な値にはデータソースを使用します
  • 適切なタグ付け戦略を実装します

セキュリティ

  • リソースのアクセス制御とセキュリティグループを定義します
  • AWS、Azure、GCP のクラウドプロバイダーのセキュリティガイドラインに従います
  • 保存時の State を暗号化します
  • IAM ロールとポリシーを適切に使用します
  • 最小権限のアクセスを実装します

コラボレーションと本番環境

  • ロールバックの仕組みを実装します
  • 本番環境へのデプロイには承認ワークフローを使用します
  • State の整合性を監視し、ドリフトの問題に対処します
  • 変更を最適化するためにリソースターゲティングを使用します
  • エンタープライズ向けワークフローについては、Terraform Cloud の公式ドキュメントを参照します

コメント