Amazon Web Services ブログ

AIOpsを強化 – Amazon CloudWatchとApplication Signals MCPサーバーのご紹介

最新のアーキテクチャーでは、メトリクス、ログ、トレースにわたって膨大な量のオブザーバビリティデータが生成されています。問題が発生すると、チームは根本原因を特定するために複数のダッシュボードで情報を手動で関連付ける作業に何時間も、時には何日もかかり、これが平均修復時間(MTTR) と生産性に直接影響を与えています。Amazon CloudWatch Application Signals は、自動計測を通じてアプリケーションの深い可視性を提供し、レイテンシー、エラー率、リクエスト量、分散トレースなどの重要なメトリクスを取得することでこの課題に対応します。その直感的なインターフェースは重要な洞察と相関関係を可視化させることで問題解決を加速しますが、この機能をさらに強化することができます。

生成AIをこの強力なツールセットと組み合わせることで、根本原因をさらに迅速に特定できます。ここで Anthropic の Model Context Protocol (MCP) が登場します。これは、アプリケーションが大規模言語モデル (LLM) にコンテキストを提供する方法を標準化するオープンソースプロトコルです。MCP はオブザーバビリティデータをAIモデルに直接接続することで複雑なシステムのトラブルシューティングを変革し、調査時間を大幅に短縮する知的でコンテキストを認識した分析を可能にします。

2025年7月8日、Amazon CloudWatch とApplication Signals 用の2つの新しい MCP サーバー をリリースしました。Amazon CloudWatch MCP サーバーは、CloudWatch の強力な監視・オブザーバビリティツール群と対話するための統合プラットフォームとして機能します。アラームベースのインシデント対応、アラーム推奨、メトリクスとログの分析、ログパターンの検出などを可能にします。CloudWatch MCP サーバーを補完する Application Signals MCP サーバー は、サービスの健全性監視、パフォーマンスメトリクスの分析、サービスレベル目標 (SLO) の遵守状況の追跡、分散トレースを使用した問題調査に焦点を当てています。これらの MCP サーバーは、Amazon QClaude CodeGitHub Copilot などの様々な AI アシスタントとシームレスに統合でき、オブザーバビリティデータと自然言語で対話することができます。

この記事では、これらの MCP サーバーと Amazon Q Developer CLI を活用して運用ワークフローを変革する方法をご紹介します。従来の手動作業に代わる直感的な会話形式のやり取りを通じて、パフォーマンスのボトルネックの特定、権限の問題の解決、アラーム設定の最適化、インシデント修復の加速化を行う方法を学びます。

事前準備

  1. Amazon CloudWatch にテレメトリー (メトリクス、トレース、ログ) を取り込むアプリケーションを持つAWS アカウントを用意してください。
  2. アプリケーションに対して Application Signals を有効化 してください。
  3. CloudWatchApplication Signals MCP サーバーがAWS リソースに安全にアクセスして操作できるように、必要最小限の権限で AWS 認証情報 を設定してください。最小権限の原則に従い、MCP サーバーが CloudWatch メトリクス、ログ、アラームを照会し、Application Signals のデータにアクセスするために必要な権限のみを付与してください。

環境セットアップ

セットアップを開始する前に、適切なオブザーバビリティの設定が重要です。以下のベストプラクティスに従ってください。

  1. CloudWatchアラームの有効化: Amazon Q CLI が効果的にクエリを理解し応答するために、有効なCloudWatch アラームを設定してください。CloudWatch アラームの作成方法については、CloudWatch アラームのドキュメントを参照してください。
  2. Application Signals での SLO の定義: Application Signals を有効にした後、アプリケーションのパフォーマンスと動作についてより深い洞察を得るために、サービスレベル目標 (SLO) を定義してください。詳細については、「How to monitor application health using SLOs with Amazon CloudWatch Application Signals」を参照してください。
  3. CloudTrail イベントの CloudWatch ロググループへの送信: CloudTrail と CloudWatch ロググループを統合することで、Amazon Q CLI がインフラストラクチャの包括的な視点にアクセスでき、より正確でコンテキストに即した応答を提供できるようになります。詳細については、「CloudWatch Logs へのイベントの送信」を参照してください。

これらのベストプラクティスに従うことで、Amazon Q Developer CLI が必要なテレメトリーデータにアクセスでき、AWS リソースのトラブルシューティングと分析時に正確でコンテキストを認識した応答を提供できることを確実にします。

Amazon Q Developer CLI をセットアップ

  1. お使いのシステムに Amazon Q Developer CLI をインストールしてください。
  2. Astral または GitHub README から uv ユーティリティをインストールしてください。
  3. uv ユーティリティを使用して Python バージョン 3.10 をインストールしてください。

uv python install 3.10

MCP Servers を設定

  1. MCPサーバーを設定します。Amazon Q Developer CLIは、2つのレベルの MCP 設定をサポートしています。
    1. グローバル設定:~/.aws/amazonq/mcp.json – すべてのワークスペースに適用されます。
    2. ワークスペース設定:.amazonq/mcp.json – 現在のワークスペースに固有の設定です。
  2. 優先する設定レベルを選択し、対応するmcp.json ファイルに以下の CloudWatch とApplication Signals MCP サーバーの設定を追加します。AWS_PROFILEAWS_REGION のプレースホルダーを、お客様固有の AWS プロファイルとリージョンに置き換えてください。
{
  "mcpServers": {
    "awslabs.cloudwatch-mcp-server": {
      "autoApprove": [],
      "disabled": false,
      "command": "uvx",
      "args": [
        "awslabs.cloudwatch-mcp-server@latest"
      ],
      "env": {
        "AWS_PROFILE": "Add your AWS Profile",
        "AWS_REGION": "Add your AWS Region",
        "FASTMCP_LOG_LEVEL": "ERROR"
      },
      "transportType": "stdio"
    },
    "awslabs.cloudwatch-appsignals-mcp-server": {
      "autoApprove": [],
      "disabled": false,
      "command": "uvx",
      "args": [
        "awslabs.cloudwatch-appsignals-mcp-server@latest"
      ],
      "env": {
        "AWS_PROFILE": "Add your AWS Profile",
        "AWS_REGION": "Add your AWS Region",
        "FASTMCP_LOG_LEVEL": "ERROR"
      },
      "transportType": "stdio"
    }
  }
}

Amazon Q CLI のインストール、AWS 認証情報の設定、MCPサーバーのセットアップが完了したので、CloudWatch と Application Signals MCP サーバーを使用して、自然言語でのクエリを通じて AWS リソースのトラブルシューティングと分析を開始できます。

Amazon Q CLIとの対話方法

  1. q chat コマンドで対話を開始します。
  2. MCP サーバーの設定を確認します。
    1. /mcp コマンドを実行して、図1 に示すようにMCP サーバーが正しく読み込まれていることを確認します。

      Figure 1. Validate MCP servers have loaded

      図1. MCPサーバーが読み込まれていることの確認

    2. 図2 に示すように、/tools コマンドを使用して利用可能なツールと機能を確認します。

      Figure 2. List of available tools

      図2. 利用可能なツールのリスト

  3. 図3 に示すように、「What questions can I ask about CloudWatch or Application Signals MCP Servers? (CloudWatchやApplication Signals MCPサーバーについてどのような質問ができますか?)」と尋ねることで、利用可能な機能の全範囲と可能なクエリを理解することができます。

    Figure 3:- Discover capabilities of CloudWatch and Application Signals MCP servers

    図3. CloudWatchとApplication Signals MCPサーバーの機能を発見する

実例 – アクセス権限の問題の特定と解決

シナリオ

DevOps チームは、重要な注文サービスで複数の障害が発生し、業務運営に潜在的な混乱をきたす可能性があるというアラームを受けました。チームは迅速に以下を行う必要があります。

  1. 障害の根本原因を特定する
  2. 問題がいつ始まったかを判断する
  3. 問題を引き起こした変更を行った担当者を特定する
  4. 必要な修正を実施する

従来のアプローチ

アクセス権限の問題のトラブルシューティングには、多くの場合、面倒なログ分析、試行錯誤のテスト、および IAM ポリシーの詳細な調査が必要です。アプリケーションのアーキテクチャを完全に理解していても、これには時間がかかり、苛立たしい作業となる可能性があります。

Amazon Q CLIを使用したインテリジェントなトラブルシューティング

ステップ1: 根本原因の特定

まず、Amazon Q CLI に「review my ordering-service and provide remediation steps and an RCA for the cause of the faults (注文サービスをレビューし、障害の原因に対する改善手順とRCAを提供してください)」と依頼することから始めます。

Amazon Q CLI は、Application Signals MCP サーバーを活用して、インテリジェントかつ自動化されたアプローチによる包括的なトラブルシューティング機能を提供します。図4 に示すように、このシステムはサービスの健全性メトリクスのリアルタイム分析を実行し、障害パターンとエラーメッセージを調査し、権限関連の障害を正確に特定します。

Figure 4. Ask Amazon Q CLI to identify the cause of the issue

図4. Amazon Q CLIに問題の原因の特定を依頼

この分析が完了すると、図5 に示すように、詳細な改善手順、権限のギャップを説明する徹底的な根本原因分析、および運用上の影響の完全な評価がユーザーに提供されます。

図5. RCA と改善手順を示す Q CLI の出力

この高度な AI 駆動の方法論は、解決時間を大幅に短縮するだけでなく、同様の問題が将来発生することを防ぐための貴重な洞察をチームに提供し、現代の DevOps 環境における不可欠なツールとなっています。

ステップ2: 変更の追跡

次に、変更が実行された正確な時間と実行者を特定します。 Amazon Q CLI に「identify when and who changed the permissions on the role (ロールの権限を誰がいつ変更したかを特定してください)」と依頼します。

インテリジェントな意思決定機能を通じて、Amazon Q CLI は各タスクに利用可能な最も効率的なツールを賢く選択します。この場合、図6 に示すように、Amazon Q CLI は内蔵の use_aws ツールを活用して、CloudTrail イベントを自動的に分析し、ロール変更の詳細なタイムラインを作成し、特定の変更を正確に特定し、正確なタイムスタンプと共にそれらの変更の責任者を特定します。この自動化された分析により、権限変更の包括的な監査証跡が生成され、チームは手動でログを調査する必要なく、権限関連の問題の根本原因を迅速に特定できるため、トラブルシューティングのプロセスが大幅に効率化されます。

Figure 6. Asking Amazon Q CLI to identify when and who changed permissions

図6. Amazon Q CLIに権限をいつ誰が変更したかの特定を依頼

ステップ3: 修正の実施

原因、発生時期、および発生者を特定したので、権限の変更を解決する必要があります。IAM ポリシーの手動更新には、構文と最小権限の原則の深い理解が必要です。また、正しく実行されない場合、新たな脆弱性が導入されるリスクもあります。Amazon Q CLI に「Fix the permissions issue(権限の問題を修正してください)」と依頼します。

Amazon Q CLI は、サービスロールに不足している権限を追加し、注文サービスを以前の状態に復元します。セキュリティ保護機能と検証手順が組み込まれたガイド付きの修正プロセスにより、このシステマティックなアプローチは、セキュリティのベストプラクティスを維持しながら効率的な実装を確保し、手動によるエラーのリスクを低減します。

Figure 7. Asking Amazon Q CLI to fix the permissions issue

図7. Amazon Q CLIに権限の問題の修正を依頼

以下の動画では、調査から解決までの完全なワークフローを実演しています。

図8. Amazon Q CLI と CloudWatch および Application Signals MCP サーバーを使用した完全な調査と改善

一般的な調査用サンプルクエリ

以下は、CloudWatch と Application Signals MCP サーバーを活用するために Amazon Q CLI で使用できるクエリ例です。

  1. 高度な SLO 分析 – 「支払いサービスの SLO が違反しています。どの特定の操作が失敗しているか、ログのエラーパターンは何か、実行可能な改善手順を含む完全な根本原因分析を実行してください。」
  2. サービスの依存関係 – 「ユーザーチェックアウトトランザクションの完全なリクエストフローをマッピングし、全サービスにわたるボトルネックを特定し、チェーン内で最も高いレイテンシーが発生している箇所を示してください。」
  3. パフォーマンス最適化 – 「AI/ML サービスのトークン使用パターンがレイテンシースパイクとどのように相関しているかを示し、最もパフォーマンスの問題を引き起こしているモデルを特定してください。」
  4. エラー調査 – 「過去24時間のマイクロサービス全体での分散トランザクション障害をすべて検索し、根本原因でグループ化し、各障害タイプの顧客への影響を示してください。」
  5. 予測分析 – 「過去3ヶ月のサービスパフォーマンスの季節的パターンを分析し、容量制限に達する時期を予測し、スケーリング戦略を推奨してください。」
  6. セキュリティ分析 – 「異常なレイテンシーシグネチャを持つトレースを分析し、セキュリティログと相関させ、潜在的な攻撃ベクトルを特定することで、不審なトラフィックパターンを調査してください。」

これらのプロンプトは、Amazon Q CLI が複雑な運用シナリオの調査、パフォーマンスパターンの分析、および AWS リソースに関する実行可能な洞察の取得にどのように役立つかを示しています。

まとめ

この記事では、Amazon CloudWatch と Application Signals MCP サーバーが、4つの主要な利点(コンテキストを認識した検索機能、自然言語クエリ、インタラクティブなトラブルシューティングワークフロー、効率的な開発者エクスペリエンス)を通じて運用ワークフローを強化する方法をご紹介しました。これらの機能が連携することで、問題をより迅速に特定し、定型作業の時間を削減し、インシデント解決時間を短縮しながら運用効率を向上させることができます。

これらの機能をさらに詳しく知るには、Amazon CloudWatchApplication Signals MCP サーバーの GitHub リポジトリをご確認ください。AWS での MCP サーバーの実装について、詳しくは「Amazon Bedrock Agents で MCP サーバーを活用する」と「Unlocking the power of Model Context Protocol (MCP) on AWS」をご覧ください。AWS のオブザーバビリティのベストプラクティスについて詳しく学ぶには、AWS オブザーバビリティベストプラクティスガイドOne Observability Workshop をご確認ください。

Raviteja Sunkavalli

Raviteja Sunkavalli

Raviteja Sunkavalli は Amazon Web Services の Senior Worldwide Specialist Solutions Architect で、AIOps と生成AI オブザーバビリティを専門としています。複雑で分散化されたクラウド環境全体にわたるオブザーバビリティとインシデント管理ソリューションの実装について、世界中のお客様を支援しています。仕事以外では、クリケットをプレイしたり、新しい料理のレシピを探求したりすることを楽しんでいます。

Joe Alioto

Joe Alioto

Joeは、AWS におけるオブザーバビリティ、ガバナンス、集中運用管理に焦点を当てたクラウドオペレーションの Senior Specialist Solutions Architect です。20年以上の実践的な運用エンジニアリングとアーキテクチャの経験を持っています。仕事以外の時間は、家族と過ごしたり、新しい技術を学んだり、PCゲームを楽しんだりしています。

Matheus Arrais

Matheus Arrais

Matheus Arrais は AWS のクラウドオペレーションにおけるWW Tech Leader です。AWS の運用機能に焦点を当てた数百人の AWS エキスパートから成る社内コミュニティのグローバルな方向性を担当しています。Matheus は、お客様が複雑なクラウドインフラストラクチャを実装・サポートするための大規模なソリューションを設計するため、AWS サービスチームと緊密に協力しています。LinkedIn: https://www.linkedin.com/in/matheusarrais/

本記事は、Enhance your AIOps: Introducing Amazon CloudWatch and Application Signals MCP servers を翻訳したものです。翻訳は Technical Account Manager の 日平 が担当しました。