Slide 1

Slide 1 text

CloudWatch MCP サーバーと CloudWatch Application Signals MCP サーバーを使ってみた クラスメソッド株式会社 枡川健太郎 2025/07/31 AWS インフラ × AI 活用 LT! #catalks

Slide 2

Slide 2 text

CloudWatch から情報を取得するための MCP サーバー Available Tools 概要 get_metric_data メトリクスデータの取得 get_metric_metadata メトリクスに関するメタデータを取得 get_recommended_metric_alarms 推奨アラームを取得 get_active_alarms 有効な CloudWatch アラームを取得 get_alarm_history 特定なアラームの状態変化の履歴を取得 describe_log_groups ロググループに関するメタデータを取得 analyze_log_group CloudWatch ログを分析 execute_log_insights_query CloudWatch Logs Insights クエリの実行 get_logs_insight_query_results クエリ ID を使用して、実行された CloudWatch Insights クエリの結果を取得 cancel_logs_insight_query 進行中の CloudWatch Insights クエリをキャンセル CloudWatch MCP Server CloudWatch MCP サーバーとは? 2

Slide 3

Slide 3 text

CloudWatch Application Signals から情報を取得するための MCP サーバー Available Tools 概要 list_monitored_services 監視されている全サービス一覧の取得 get_service_detail 特定サービスの詳細情報を取得 list_slis 全サービスの SLO/SLI ステータスを一覧取得 get_slo 特定 SLO の詳細情報を取得 search_transaction_spans Transaction Search を使った OTel Spans データのクエリ query_sampled_traces AWS X-Ray トレースをクエリしてインサイトを取得 query_service_metrics Application Signals メトリクスをクエリ CloudWatch Appsignals MCP Server CloudWatch Application Signals MCP サーバーとは? 3

Slide 4

Slide 4 text

OpenTelemetry 互換のアプリケーションパフォーマンスモニタリングを実現するための機能 SLO(サービスレベル目標)や SLI(サービスレベル指標)を簡単に扱える (おさらい) CloudWatch Application Signals とは 4

Slide 5

Slide 5 text

恐らくやれることは変わらない ただ、 CLI だとやり方がぶれやすいし、コマンドを間違えたりする 運用上何度も行う操作なら専用の MCP サーバーがあると便利!! MCP サーバーは、運用上のトラブルシューティングシナリオに合わせて特別に設計され、厳選 されたツールセットを提供します。 Whats's New でも「運用上のトラブルシューティングシナリオに合わせて特別に設計」と書いてあ る AI エージェントに都度 CLI を実行させるのでは駄目? 5

Slide 6

Slide 6 text

CloudWatch MCP サーバーは大体どんな時も便利 CloudWatch Application Signals を使っている場合は両方インストール すると良さそう 両方インストールが必要? 6

Slide 7

Slide 7 text

サービスの状態を見たいだけならそう ログやトレースのクエリもマネジメントコンソールから自分でやった方が速いと思う コードベースを読み込んだ AI エージェントが適当なタイミングで AWS から情報を取れるのが強い ダッシュボードとか見た方が早くない? 7

Slide 8

Slide 8 text

コンテナベースのアプリケーション アプリケーションは Express で実装 インフラは CDK で定義 こんな構成で使ってみる 8

Slide 9

Slide 9 text

Cursor に MCP サーバーを設定して利用 モノレポ構成で Cursor に全部読み込ませる! % tree -L 2 . ├── package-lock.json ├── package.json ├── packages │ ├── iac │ └── server └── README.md 設定 9

Slide 10

Slide 10 text

複数 tools を使って聞いてくれる SLO の状態を聞いてみる 10

Slide 11

Slide 11 text

Application Signals に存在しないレポート機能の代わりになりそう! SLO の状態をレポートにまとめさせる 11

Slide 12

Slide 12 text

SLO の状態を違反させます。※ Aurora Serverless V2 のコールドスタート SLO 違反した状態でトラブルシュートさせる(1/7) 12

Slide 13

Slide 13 text

「私なら先にログ見るかな」とか思ったけど爆速で終わるので順番は関係ない SLO 違反した状態でトラブルシュートさせる(2/7) 13

Slide 14

Slide 14 text

CloudWatch MCP Server や CloudWatch Application Signals MCP も利用しつつ、主原因を特定。 SLO 違反した状態でトラブルシュートさせる(3/7) 14

Slide 15

Slide 15 text

監視追加をそのまま CDK で実行させる SLO 違反した状態でトラブルシュートさせる(4/7) 15

Slide 16

Slide 16 text

アラーム作成、ダッシュボード作成、ACU 最低値の更新までやってくれる SLO 違反した状態でトラブルシュートさせる(5/7) 16

Slide 17

Slide 17 text

全く修正せずに一発で通った SLO 違反した状態でトラブルシュートさせる(6/7) 17

Slide 18

Slide 18 text

良い感じだが、名前空間が ApplicationSignals であるべき所を AWS/ApplicationSignals で作 ってた SLO 違反した状態でトラブルシュートさせる(7/7) 18

Slide 19

Slide 19 text

運用上何度も AI に実行させる処理は CloudWatch MCP サーバー/CloudWatch Application Signals MCP サーバーを利用すると便利 サービスの状態とかログと各種コードを両方見てエージェントが動いてくれるのが特に良い! IaC 化しておくと、AI に構成を読み込ませやすい まとめ 19

Slide 20

Slide 20 text

20