🤖 Claude Code + TerraformでAWSインフラを構築する際、どのAgent Skillを使うべきか?

“AIがコードを書いてくれるのは素晴らしいが…

ただ指示するだけだと、main.tfにすべてを詰め込み、

IAMはすべて’*’にしてしまう。”

— すべてのDevOpsエンジニアに共通する経験

>

🎯 この記事で扱うこと

  • Claude CodeでTerraformを使う際にAgent Skillが必要な理由
  • 現在業界で事実上の標準として使われている5つのSkill/Agent
  • MCP ServerとAgent Skillの違い、そしてそれらを一緒に使う方法
  • 実際のインストール方法と使用例

📌 導入: 「動作するコード」と「本番環境にデプロイできるコード」は異なる

Claude CodeにTerraformを任せると、素早く結果が得られます。しかし、何のガイドもなく指示すると、かなり深刻な結果が生じることがあります。

  • すべてのリソースがmain.tfファイル一つにまとめられる
  • default VPC、latest AMIのような最小限の労力パターンが選択される
  • IAMポリシーで”Action”: “*”のようなワイルドカードが乱用される

これはAIが悪いわけではありません。コンテキストがないからです。AIは「動作するコード」を目標とし、「3年後も保守可能なコード」を目標とはしません。このギャップを埋めるのが、まさにAgent SkillMCP Serverです。


🔍 概念整理: Agent Skill vs MCP Server — 何が違うのか?

HashiCorpは公式ブログで、この2つの関係を明確に定義しています。MCPはAIにデータを接続する「パイプ」であり、Agent SkillはAIに知識を注入する「教科書」です。この2つを一緒に使うことで、最も強力なコンテキスト認識アシスタントが作成されます。

簡単にまとめると:

区分 MCPサーバー Agent Skill
役割 リアルタイムデータアクセス (Registry、API照会) ベストプラクティス知識の注入 (コーディング規則、パターン)
比喩 インターネット接続 専門書籍
Terraform Registryから最新のプロバイダースペックを照会 HashiCorpスタイルガイドの遵守

実際のワークフローでは、両方をインストールするのが良いでしょう。


💎 事実上の標準となっている5つのAgent Skill

1️⃣ HashiCorp Agent Skills — 公式標準

HashiCorpが直接公開したAgent Skillのコレクションで、TerraformとPacker用のスキルが含まれています。AIアシスタントがHashiCorpのプラグインフレームワークアーキテクチャ、スキーマ定義、最新のベストプラクティスを理解できるように設計されています。HashiCorpスタイルガイドに従ってTerraformコードを生成することが、その主要機能の一つです。

インストール方法は2つあります。

# Claude Codeプラグイン方式
claude plugin marketplace add hashicorp/agent-skills
claude plugin install terraform-code-generation@hashicorp
claude plugin install terraform-module-generation@hashicorp

# npx方式 (GitHub Copilot, Cursorなど他のエージェントとも互換性あり)
npx skills add hashicorp/agent-skills

個別のスキル単位でもインストール可能です。terraform-style-guide、terraform-module-generation、packer-buildersなど、目的別に選択してインストールできます。

これが標準である理由: HashiCorp公式ソースであるため、ドキュメントとの整合性が保証されます。Packer Skillも含まれており、イメージビルドパイプラインとの連携にも適しています。


2️⃣ antonbabenko/terraform-skill — コミュニティの最強者

このスキルは、TerraformとOpenTofuのベストプラクティスを網羅するClaude Code用スキルで、テスト戦略、モジュールパターン、CI/CDワークフロー、プロダクションレベルのインフラコードに関する即時ガイダンスを提供します。Claude Codeマーケットプレイスを通じて配布され、.claude-plugin/marketplace.jsonを使用します。

Anton Babenkoは、terraform-aws-modules組織を運営するTerraformコミュニティの実質的なメンテナーです。彼自身が作成したスキルであるため、実務経験が凝縮されています。

# マーケットプレイスからインストール
/plugin marketplace add antonbabenko/terraform-skill
/plugin install terraform-skill@antonbabenko

# または直接クローン
git clone https://github.com/antonbabenko/terraform-skill ~/.claude/skills/terraform-skill

これが標準である理由: terraform-best-practices.comサイトの内容が基盤となっています。単なるコードスタイルガイドを超えて、「いつ、なぜこのパターンを使うべきか」という意思決定フレームワークまで含まれています。


3️⃣ HashiCorp Terraform MCP Server — リアルタイムRegistry連携

Terraform MCPサーバーは、AIモデルがTerraform Registryの最新のプロバイダー文書、モジュール、ポリシーにリアルタイムでアクセスできるようにします。これにより、AIは潜在的に古い学習データではなく、正確で最新の情報に基づいてTerraform設定を生成できます。

# Dockerで実行 (最も推奨される方法)
claude mcp add terraform --transport stdio -- 
  docker run -i --rm hashicorp/terraform-mcp-server:0.3.0

Claude Codeプロジェクトのルートに.mcp.jsonとしてチーム共有設定も可能です。

{
  "mcpServers": {
    "terraform": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "hashicorp/terraform-mcp-server"]
    }
  }
}

これが標準である理由: 2025年現在、最も効果的なTerraformワークフローはHashiCorp Terraform MCPサーバーを活用しており、AIの提案が古い学習データではなく、Terraform Registryの現在検証済みの設定パターンに基づいていることを保証します。


4️⃣ awslabs/agent-plugins — AWS公式Agent Plugin

AWSが直接リリースしたこのプラグインは、AIコーディングエージェントがAWSインフラを設計、デプロイ、運用するために必要なスキルを提供します。現在、Claude CodeとCursorでサポートされています。繰り返し長いAWSガイドをプロンプトに貼り付ける代わりに、そのガイドを再利用可能でバージョン管理された能力としてエンコードし、エージェントが必要なときに呼び出す方式です。

含まれるスキル:

  • deploy-on-aws — Lambda, API Gateway, EventBridge, Step Functions
  • aws-amplify — フルスタックアプリ構築 (認証、ストレージ)
  • aws-database — スキーマ設計、マルチテナントパターン
  • amazon-sagemaker — AI/MLワークロード
  • gcp-to-aws-migration — GCP Terraformリソース → AWSマッピング
# Claude Codeマーケットプレイスからインストール
claude plugin marketplace add awslabs/agent-plugins
claude plugin install deploy-on-aws@awslabs

これが標準である理由: AWS Labs公式ソースです。TerraformでAWSサービスを構成する際に、サービスごとの最新のベストプラクティスが自動的に適用されます。


5️⃣ terramate-io/agent-skills — State分離とDrift検出

Terraform、OpenTofu、Terramate用のエージェントスキルで、スタックを利用したState分離、テスト、モジュール、CI/CD、ドリフト調整、プロダクションレベルのベストプラクティスを扱います。37のルールが10のカテゴリに分かれ、優先順位が設定されています。

# 全体インストール
npx skills add terramate-io/agent-skills

# 個別スキルのみインストール
npx skills add terramate-io/agent-skills --skill terraform-best-practices
npx skills add terramate-io/agent-skills --skill terramate-best-practices

これが標準である理由: 一般的なTerraformのベストプラクティスを超えて、Drift検出State分離マルチ環境オーケストレーションといったエンタープライズレベルのパターンをカバーします。規模が大きくなるほどその真価を発揮します。


⚙️ 実践設定: 5つのスキルを組み合わせる

以下の構成が、現時点での最も堅牢な組み合わせです。

# Step 1: HashiCorp公式Skill (コード生成規則)
claude plugin marketplace add hashicorp/agent-skills
claude plugin install terraform-code-generation@hashicorp

# Step 2: antonbabenko Skill (ベストプラクティス意思決定)
/plugin install terraform-skill@antonbabenko

# Step 3: Terraform MCP Server (リアルタイムRegistry照会)
claude mcp add terraform --transport stdio -- 
  docker run -i --rm hashicorp/terraform-mcp-server

# Step 4: AWS Plugin (サービス別ベストプラクティス)
claude plugin install deploy-on-aws@awslabs

# Step 5: Terramate Skill (State分離、Drift管理)
npx skills add terramate-io/agent-skills --skill terraform-best-practices

⚠️ 注意事項

AI生成コードは必ずレビューする必要があります。 MCPサーバーを使用しても、AIは最適化されていない、または要件に合わない設定を生成する可能性があります。リンター、ポリシーチェック、ピアレビューを併用する必要があります。

セキュリティリスクを認識する必要があります。 MCPエコシステムは新たな攻撃対象を導入します。LLMによるツール呼び出し、クレデンシャル漏洩などの脆弱性が様々なMCPサーバーで発見されています。

バージョン固定は必須です。 AIが最新情報に基づいてモジュールを生成しても、プロバイダーバージョンを固定しないとチーム間の整合性が損なわれます。required_providersブロックに必ずバージョン範囲を明記してください。

terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 5.0"  # メジャーバージョン固定
    }
  }
}

✅ まとめ

Skill/Tool 出典 主要な役割
hashicorp/agent-skills HashiCorp公式 スタイルガイド、モジュール生成規則
antonbabenko/terraform-skill コミュニティ ベストプラクティス意思決定フレームワーク
hashicorp/terraform-mcp-server HashiCorp公式 リアルタイムRegistry照会
awslabs/agent-plugins AWS公式 AWSサービス別デプロイベストプラクティス
terramate-io/agent-skills Terramate State分離、Drift、マルチ環境

事実上の標準と呼べるのは、HashiCorp公式Skills + Terraform MCP Serverの組み合わせです。残りはチームの規模と複雑さによって選択的に追加すれば良いでしょう。

次のステップとして、AGENTS.mdファイルをリポジトリにコミットし、チーム全体で同じAIコンテキストを共有する方法を学ぶことをお勧めします。


Comments

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です