mcpField
S
setting-up-terraform

setting-up-terraform

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

setting-up-terraform について

インフラをコードで管理し、クラウドをプロビジョニングする Terraform プロジェクトのセットアップを支援するスキルです。構成、プロバイダーやリソース、状態管理、CI チェックの手順を示します。

主な機能

  1. 01Terraform プロジェクト構成
  2. 02プロバイダーと変数の設定
  3. 03リソースとモジュールの整理
  4. 04リモート状態とロックの案内
  5. 05Git 除外設定と CI ワークフローの案内

活用シーン

  1. 01Terraform インフラプロジェクトの開始
  2. 02クラウドリソースと再利用可能なモジュールの定義
  3. 03状態保存先とロックの準備
  4. 04プルリクエストへの Terraform チェック追加

インストール

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

$npx skills add https://github.com/spencerpauly/awesome-cursor-skills --skill setting-up-terraform

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

詳細

Terraform のセットアップ

ユーザーから Terraform、Infrastructure as Code、クラウドのプロビジョニング、または IaC のセットアップを依頼された場合に、このスキルを使用します。

手順

  1. プロジェクト構成を初期化します

    infra/
    ├── main.tf
    ├── variables.tf
    ├── outputs.tf
    ├── terraform.tfvars      # (gitignored)
    ├── providers.tf
    └── modules/
    
  2. プロバイダーを設定します — providers.tf 内で設定します。

    terraform {
      required_version = ">= 1.5"
      required_providers {
        aws = {
          source  = "hashicorp/aws"
          version = "~> 5.0"
        }
      }
      backend "s3" {
        bucket = "my-terraform-state"
        key    = "prod/terraform.tfstate"
        region = "us-east-1"
      }
    }
    
    provider "aws" {
      region = var.aws_region
    }
    

    ユーザーのクラウド(AWS、GCP、Azure)に合わせてプロバイダーを調整します。

  3. 変数を定義します — variables.tf 内で、型、説明、デフォルト値を指定して入力を定義します。

    variable "aws_region" {
      type        = string
      default     = "us-east-1"
      description = "AWS region for resources"
    }
    
    variable "environment" {
      type        = string
      description = "Deployment environment (dev, staging, prod)"
    }
    
  4. リソースを作成します — main.tf 内で、ユーザーが必要とするインフラストラクチャ(VPC、RDS、ECS、S3、Lambda など)を定義します。再利用可能なパターンは modules/ 配下のモジュールに切り出します。

  5. リモートステートを設定します — ステートには S3 バケット(AWS)、GCS バケット(GCP)、または Azure Storage を使用します。DynamoDB(AWS)でステートロックを有効にします。

  6. .gitignore に追加します

    *.tfstate
    *.tfstate.*
    .terraform/
    terraform.tfvars
    *.tfvars
    
  7. CI パイプラインを追加します — PR で terraform fmt -check、terraform validate、terraform plan を実行し、承認ゲートを設けて main へのマージ時に terraform apply を実行する GitHub Actions ワークフローを作成します。

注意事項

  • ステートファイルや、シークレットを含む .tfvars は絶対にコミットしないでください。
  • ワークスペースまたは個別のステートファイルを使用して、dev/staging/prod を分けてください。
  • 破壊的変更を避けるため、プロバイダーのバージョンを固定してください。
  • コミットする前に terraform fmt を実行してください。

コメント