0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Code × AWS IaC MCP ServerをDockerで動かしてAIが支援するCloudFormation開発を体験する

Posted at

Claude Code × AWS IaC MCP ServerをDockerで動かしてAIが支援するCloudFormation開発を体験する

はじめに

AWSは2025年、「AWS Infrastructure as Code MCP Server」を発表しました。 これは、AI(Claudeなど)が CloudFormationやCDKなどのIaC開発を直接支援する 新しい仕組みです。

この仕組みの中核を担うのが AWS IaC MCP Server。 Anthropicが提唱する Model Context Protocol (MCP) を採用し、Claude CodeのようなAIクライアントが ローカル環境のコンテキストやAWSリソースに安全にアクセスして、IaCコードを生成・補完・レビューできるようになります。

本記事では、Claude CodeをMCPクライアントとして利用し、 Docker上でAWS IaC MCP Serverを動かし、CloudFormationテンプレートをAIに生成してもらうまでの手順を解説します。


AWS MCP Serverとは?

MCP (Model Context Protocol) は、AIモデルが外部ツール・環境・APIに安全にアクセスできるようにするための標準プロトコルです。 Claude CodeやChatGPTなどのAIクライアントは、このMCPを通じて開発環境やクラウドリソースと連携できます。

AWSはこのMCP対応サーバーをいくつか提供しています。代表的なものは以下の通りです。

サーバー名 機能概要
AWS IaC MCP Server CloudFormation/CDKなどのIaC操作支援
AWS Docs MCP Server AWSドキュメント参照
AWS Knowledge MCP Server AWSナレッジベースとの連携
AWS Cloud MCP Server AWSリソース情報取得や管理

今回は、これらの中から AWS IaC MCP Server を取り上げます。


AWS IaC MCP Serverとは?

AWS IaC MCP Serverは、AIにCloudFormation/CDKの生成・検証・変換を行わせるためのサーバーです。

Claude CodeなどのMCP対応クライアントと連携することで、 以下のような自然言語によるIaC支援が可能になります。

CloudFormationで、S3バケットを作ってバージョニングを有効にして。

AIがMCPサーバーを通じてAWS IaCツール群にアクセスし、対応するテンプレートを生成してくれます。


Dockerで動かすAWS IaC MCP Server

ここからは、awslabs/mcp リポジトリのREADMEにある 「Running MCP servers in containers」の手順に基づき、 AWS IaC MCP ServerをDockerで実行する手順を紹介します。

🔧 前提条件

  • Docker がインストール済み(Windows / macOS / Linuxいずれも可)
  • AWS CLI が設定済み(aws configure 済み)
  • Claude Code がインストールされている(https://claude.ai/code
  • Python 3.10 推奨(コンテナ内で使用)

🐳 手順1. AWS IaC MCP Serverのコンテナを起動

以下のコマンドを実行して、AWS IaC MCP ServerをDocker上で立ち上げます。

docker run --rm -it \
  -e AWS_PROFILE=default \
  -e FASTMCP_LOG_LEVEL=ERROR \
  -v ~/.aws:/root/.aws \
  -p 4000:4000 \
  public.ecr.aws/awslabs/aws-iac-mcp-server:latest

ポイント:

  • ~/.aws をマウントすることで、ローカルのAWS認証情報を利用できます。
  • 環境変数 AWS_PROFILE は使用中のプロファイル名に合わせて変更可能。
  • Python 3.10 ベースの公式ビルドが使用されます。

起動が成功すると、以下のようなログが出力されます。

✅ AWS IaC MCP Server listening on port 4000

🧩 手順2. Claude CodeにMCPサーバーを登録

Claude Codeでは、MCPサーバーの接続設定を ~/.claude/mcp.json(またはプロジェクトルートの .mcp.json)に記述します。

設定例(Claude Code向け)

{
  "mcpServers": {
    "aws-iac-mcp-server": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-e", "AWS_PROFILE=default",
        "-e", "FASTMCP_LOG_LEVEL=ERROR",
        "-v", "${HOME}/.aws:/root/.aws",
        "public.ecr.aws/awslabs/aws-iac-mcp-server:latest"
      ]
    }
  }
}

保存したらClaude Codeを再起動し、コマンドパレットで以下を実行します。

/connect aws-iac-mcp-server

接続が成功すると、Claude Codeのコンソールに「Connected to aws-iac-mcp-server」と表示されます。


Claude CodeでIaCを生成してみる

接続が完了したら、Claude Codeのチャット画面で次のように入力してみましょう。

CloudFormationで、S3バケットを作成してバージョニングを有効にしたテンプレートを生成して。

Claude CodeがMCP経由でAWS IaC MCP Serverを呼び出し、以下のテンプレートを生成します。

AWSTemplateFormatVersion: "2010-09-09"
Description: "S3 bucket with versioning enabled"

Resources:
  VersionedBucket:
    Type: AWS::S3::Bucket
    Properties:
      VersioningConfiguration:
        Status: Enabled

続けて次のように指示することもできます。

このバケットにサーバーアクセスログを追加して。

Claude Codeがテンプレートを拡張し、ログバケットおよび設定を自動で追加してくれます。


IaC運用での活用シナリオ

AWS IaC MCP Serverを導入することで、次のような運用改善が期待できます。

🧱 1. IaCレビューの効率化

Claude CodeがCloudFormationテンプレートを解析し、構文ミスやベストプラクティス逸脱を自動で指摘します。

📘 2. チーム教育・ナレッジ共有

新規メンバーが「この構成をCloudFormationで作りたい」と自然言語で質問すれば、 Claude Codeが即座にテンプレート例を提示してくれます。

🛡️ 3. セキュリティ標準の自動適用

組織のIaCポリシー(暗号化・ログ有効化など)をClaude Codeが提案・自動修正できるようになります。


まとめ

AWS IaC MCP Serverは、AIがInfrastructure as Code開発を手伝う時代を象徴する新しいアプローチです。 Dockerを利用すれば、環境構築はたった1コマンドで完了します。 Claude Codeと組み合わせることで、自然言語から直接CloudFormationテンプレートを生成・修正できるようになり、 IaCの生産性と品質を同時に高めることができます。

今後の展望

  • AWS公式による他MCPサーバー(Docs, Knowledgeなど)との統合
  • TerraformなどIaCツール全般への適用拡大
  • Claude Code / ChatGPTなど複数クライアントのマルチ接続サポート

🏷️ タグ

AWS CloudFormation Claude MCP Infrastructure-as-Code

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?