2
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?

AWS Documentation MCP+AWS Terraform MCP+Claude Codeで簡単にインフラ環境を作ってみる。

Posted at

はじめに

今回は最近流行りのMCPを使ってみて、精度の高いインフラが簡単に作れるかも。ってお話。

AWS Documentation MCP、AWS Terraform MCPを使って、AWSのドキュメントやベストプラクティスに沿ったインフラ環境をTerraformで作ろう!って内容です。

ずっと小規模なインフラをCloudFormationで作った経験しかないので、私なりのTerraform入門です!

やってみた!

今回はClaude Codeを使い、GraphQLでシンプルなリアルタイムチャットAPIを作ってみます!

AWS Documentation MCPの設定

以下のコマンドで設定するだけです。

claude mcp add-json "awslabs-aws-documentation-mcp-server" '{"command":"uvx","args":["awslabs.aws-documentation-mcp-server@latest"],"env":{"FASTMCP_LOG_LEVEL":"ERROR","AWS_DOCUMENTATION_PARTITION":"aws"},"disabled":false,"autoApprove":[]}'

uvxコマンドを使うので、uvを使える環境が必要です!

AWS Terraform MCPの設定

こちらも同じ。

claude mcp add-json "awslabs-terraform-mcp-server" '{"command":"uvx","args":["awslabs.terraform-mcp-server@latest"],"env":{"FASTMCP_LOG_LEVEL":"ERROR"},"disabled":false,"autoApprove":[]}'

プロンプトして作ってみよう!

今思えばきちんとしたプロンプトでお願いすれば良かったのですが、今回は以下の簡単なプロンプトで作成依頼しました。

GraphQLでシンプルなリアルタイムチャットAPIを作成してください。
AWS Documentationを調べて、TerraformでAWSリソースを作って欲しい。

結果、こんなプランですぐにリソースを作ってもらえました。

image.png

なお、作ったソースは以下におきました。

構築

あとは簡単にデプロイするだけです。

AWSの認証情報取得にprofileを利用しているので、ここだけ追加で対応が必要でした。

# 初期化
terraform init

# プランを確認
terraform plan

# デプロイ実行
terraform apply

動作確認

メッセージの登録

mutaionでメッセージが登録できるか確認してみます!

mutation SendMessage {
  sendMessage(
    chatId: "your-chat-id"
    username: "user1"
    content: "Hello, GraphQL!"
  ) {
    id
    chatId
    username
    content
    timestamp
  }
}

大丈夫そうです!

スクリーンショット 2025-07-16 3.51.07.png

スクリーンショット 2025-07-16 3.55.48.png

リアルタイム受信

ApppSyncのクエリ上からsubscriptionの動作確認もしてみます。

subscription OnMessageAdded {
  onMessageAdded(chatId: "your-chat-id") {
    id
    username
    content
    timestamp
  }
}

subscription投入後にメッセージを登録すると、即時にコンソールに反映されました。これも問題なさそうです!

image.png

最後に

CloudFormationのyamlをclaude単体で作ってた時は存在しないプロパティを設定してたりと、ハルシネーションがあったのですが今回は特にエラーなく進めることができました。

ずっとCloudFormation派だったのですが、Terraformもいいかなと思い始めてきました!

ローカル実行など機能豊富なAWS SAMとの併用になるのかな。

2
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
2
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?