AWS環境のリソース調査を Claude Code で効率化(LT資料) #devio2025

AWS環境のリソース調査を Claude Code で効率化(LT資料) #devio2025

2025.09.03

2025/08/29に開催された 【AI駆動開発フェス!】DevelopersIO 2025オンライン にて、 AWSエンジニアのためのClaude Code活用術 ~ 設計から構築、運用まで ~ セッション(LT + パネルディスカッション) を実施しました。

聴講いただいた皆様、ありがとうございました!

セッションの1パートにて「AWS環境のリソース調査を Claude Code で効率化」というLTを実施しました。 本ブログでセッションスライド、およびその内容を記載します。

セッションスライド

以降は上記スライドのテキストです。

AWSリソース調査のつらみ

  • マネジメントコンソール(GUI)を行ったり来たり…
  • AWS CLI で効率化! するにはシェルの知識が必要…

Claude Code で効率化!

自然言語でリソース調査をする時代!

  • AIエージェントにAWSリソースを見にいってもらおう
  • 2つのアプローチ
    1. AWS CLI を直接実行する
    2. AWS API MCPサーバーを使う

1. AWS CLI を直接実行する

事前準備

  • AWS CLIのセットアップ
  • AWS認証情報をセットしておく
    • 推奨: 読み取り権限(例: ReadOnlyAccess)

実行イメージ#1

sc-2025-08-25_15-15154

実行イメージ#2

sc-2025-08-25_15-899

メリット/デメリット

  • メリット
    • シンプルで手っ取り早い
  • デメリット
    • 実行許可が手間
    • 「don't ask again」をポチポチ押していると .claude/settings.local.json が汚れがち
{
  "permissions": {
    "allow": [
      "Bash(aws iam list-role-policies:*)",
      "Bash(aws iam get-role-policy:*)",
      ...

2. AWS API MCPサーバーを使う

https://awslabs.github.io/mcp/servers/aws-api-mcp-server/

AWS API MCPサーバーとは

  • AWSが提供しているMCPサーバーの1つ
  • Claude Code や Cursor から AWSサービスを操作できる
  • 設定オプションでセキュリティガードレールも敷ける(後述)

インストール

Claude Code に MCPサーバーを登録する。

mcp_json=$(cat <<EOF
{
  "command": "uvx",
  "args": [
    "awslabs.aws-api-mcp-server@latest"
  ],
  "env": {
    "AWS_REGION": "ap-northeast-1",
    "READ_OPERATIONS_ONLY": "true"
  },
  "disabled": false,
  "autoApprove": []
}
EOF
)

claude mcp add-json aws-api-mcp-server-readonly "${mcp_json}" -s user

※ 上記は uv (Pythonパッケージ管理ツール)を使った方法。他に pip版や docker 版も 公式ページ に記載あり

実行イメージ#1

sc-2025-08-26_08-29527

実行イメージ#2

sc-2025-08-26_08-2510

メリット

  • より確実な実行
    • バリデーションやエラーハンドリングをしてくれる
    • 内部的にRAGを使って、最適なCLIコマンドを提案してくれる
  • よりセキュア
    • 設定オプションでガードレールを設定できる (後述)

設定オプション: ピックアップ

  • READ_OPERATIONS_ONLY : true にすると 読み取り専用操作のみ許可される
  • REQUIRE_MUTATION_CONSENT : true にすると 変更操作の実行前に 明示的なユーザー同意が必要になる

デメリット

MCPサーバーの接続(起動)が少し遅く、 タイムアウトになることがある。

MCP_TIMEOUT 環境変数を多めに設定しておくと解消する可能性あり

# ~/.claude/settings.json 抜粋
{
  "env": {
    "MCP_TIMEOUT": 600000
  }
}

おわりに

私がやらなくなったこと

  • jq/--query を使った AWS CLI 出力の整理
  • helpを確認してコマンド使用方法を把握
  • 検出結果や通知内容のマネコン調査
  • など…

まとめ

  • Claude Code でAWSリソース調査をする方法を2つ紹介
    • AWS CLI を直接実行する
    • AWS API MCPサーバーを使う
  • 自然言語でリソース調査をする時代!
  • 適切なガードレールを敷いたうえで、 どんどん使っていきましょう

参考

この記事をシェアする

facebookのロゴhatenaのロゴtwitterのロゴ

© Classmethod, Inc. All rights reserved.