Amazon Bedrock AgentCore Runtime を使用した AWS API MCP サーバーと Amazon Quick の統合
この投稿では、Model Context Protocol (MCP) をサポートする Amazon Bedrock AgentCore Runtime を使用して、AWS API MCP サーバーを介して Amazon Quick を AWS サービスに接続し、自然言語を AWS CLI コマンドに変換する会話型 AI アシスタントを作成する方法を説明します。重要な瞬間にツールを切り替える必要はありません。
AWS インフラストラクチャがスケールするにつれて、運用ワークフローは自然に複雑化します。SRE や DevOps エンジニアは、AWS 管理コンソール、CLI ドキュメント、複数のサービスダッシュボード間のコンテキスト切り替えにかなりの時間を費やしています。彼らはビジネス上の質問を手動で正しい API 構文に変換し、サービス間で呼び出しを連鎖させ、新しいユースケースごとに同じ統合パターンを再構築しています。この摩擦は時間の経過とともに悪化します。インシデント調査では、Amazon CloudWatch ログ、Amazon EC2 インスタンス状態、IAM ポリシーを別々のインターフェース間で相互参照する必要があります。キャパシティプランニングでは、複数のサービスを手動で照会し、結果をまとめる必要があります。セキュリティ監査では、一貫性のある再現可能な API 呼び出しシーケンスが必要ですが、スクラッチからスクリプトを作成するのは時間がかかります。
この投稿では、Model Context Protocol (MCP) をサポートする Amazon Bedrock AgentCore Runtime を使用して、AWS API MCP サーバーを介して Amazon Quick を AWS サービスに接続し、自然言語を AWS CLI コマンドに変換する会話型 AI アシスタントを作成する方法を説明します。重要な瞬間にツールを切り替える必要はありません。
ソリューションの概要
Amazon Bedrock AgentCore Runtime と MCP サポートを使用すると、自然言語クエリを直接 AWS API 呼び出しに変換できます。「us-east-1 で実行中のすべての EC2 インスタンスを表示」と尋ねると、ツールを切り替えたり API 構文を覚えたりすることなく、即座に正確な結果を得られます。リクエストは既存の IAM 権限内で安全に実行され、コンプライアンスのために完全な Amazon CloudWatch 監査証跡が提供されます。ワークフローごとに接続ロジックを再構築する代わりに、単一の再利用可能な統合を通じて AI エージェントが AWS サービスと対話する方法を標準化できます。
日常運用の仕組み:
- 自然言語で質問します:「us-east-1 の実行中の EC2 インスタンスを表示」。
- Amazon Quick カスタムエージェントが意図を解釈します。
- Amazon Cognito がリクエストを認証:Quick は、構成したクライアント ID とクライアントシークレットを使用して OAuth 2.0 クライアントクレデンシャルフローで Cognito ユーザープールから JWT トークンを取得します。
- エージェントが AWS API MCP サーバーに接続:認証されたリクエストが Amazon Bedrock AgentCore Runtime に到達し、Cognito ID プロバイダー構成に対して JWT トークンを検証します。
- AgentCore Runtime がリクエストを承認してルーティング:Cognito トークン検証後、AgentCore Runtime がコンテナ化環境で実行されている AWS API MCP サーバーを安全に呼び出します。
- MCP サーバーがリクエストを変換:自然言語クエリが適切な AWS CLI コマンドに変換されます。
- AWS サービスがコマンドを実行:構成した IAM 実行ロールを使用して、最小権限でコマンドが実行されます。
- 結果が読み取り可能な形式で返される:CLI 構文は不要で、Quick インターフェースで構造化された読み取り可能な結果が直接得られます。
前提条件
この投稿に沿って進めるには、以下の前提条件が必要です。
- 管理アクセス権を持つ AWS アカウント
- Amazon Quick Enterprise サブスクリプション(プロフェッショナル層以上)
- AWS Marketplace へのアクセス – AWS API MCP サーバー
- 以下を作成する IAM 権限:Amazon Cognito ユーザープール、IAM ロールとポリシー、Amazon Bedrock AgentCore Runtime エージェント、Amazon CloudWatch ロググループ
- AWS CLI がインストールおよび構成されていること
- IAM ロールとポリシーの基本的な理解
- OAuth 2.0 認証フローに精通していること
- JWT の概念の理解
- 追加情報:完了までの推定時間は 30~45 分。推定月額コストは、月あたり約 500 クエリを実行する単一のエンタープライズユーザーの場合、約 292 ドル/月(主に Amazon Quick Enterprise サブスクリプション(40 ドル/ユーザー/月)とインフラストラクチャ料金(250 ドル/アカウント/月)による)。
ソリューションのセットアップ
手動デプロイメント
ソリューションを実装するには、次の手順を実行します。
- Amazon Cognito ユーザープールをセットアップ:認証用。一意のアプリケーション名とアプリケーションタイプ「マシン間アプリケーション」でユーザープールを作成します。マシン間アプリケーションで Cognito ユーザープールを作成すると、Cognito は自動的にアプリケーション用のリソースサーバーを作成します。ブランディングメニューからカスタムスコープに書き込みスコープを追加し、説明を更新します。
- IAM ロールを作成:認可用。Amazon Bedrock AgentCore Runtime の信頼ポリシーと実行ロールを作成します。信頼ポリシーでは、bedrock-agentcore.amazonaws.com サービスがロールを引き受けることを許可します。実行ロールには、ECR イメージ、CloudWatch ログ、X-Ray トレースなどへの権限が含まれます。さらに、アタッチされた権限ポリシーで実行するアクション(S3 バケットの一覧表示、EC2 インスタンスの記述など)を定義します。注:初期設定でワイルドカードを使用すると最小権限の原則に違反する可能性があるため、本番環境では特定のリソース ARN に置き換えてください。
- Amazon Bedrock AgentCore Runtime エージェントを作成:Amazon AgentCore メニューから「ランタイム」を選択し、「ホスト/エージェントツール」を選択します。一意のランタイムエージェント名を指定します。エージェントソースとして ECR コンテナオプションを選択し、AWS Marketplace からイメージ URI を入力します。権限セクションで、前の手順で作成した既存のロールを選択します。インバウンド認証セクションで、MCP プロトコルと JWT トークンを選択します。既存の ID プロバイダー構成(Cognito ID プール)を使用します。Cognito ユーザープールから検出 URL を取得します(形式:https://cognito-idp.REGION.amazonaws.com/POOL_ID/.well-known/openid-configuration)。許可されたクライアント ID を追加します。詳細設定では、デフォルトのネットワークモードを維持します。
- Amazon Quick で統合を構成:Amazon Quick で、AWS API MCP サーバーに接続するための統合を追加します。AgentCore Runtime のエンドポイント URL と Cognito から取得した JWT トークンを指定する必要があります。
- Amazon Quick でカスタムチャットエージェントを作成:既存の Amazon Quick チャット機能を利用して、MCP 統合を使用してユーザークエリを処理するカスタムエージェントを作成します。
まとめ
Amazon Bedrock AgentCore Runtime と MCP を統合することで、自然言語を AWS CLI コマンドに変換する強力な AI アシスタントを構築し、日常の運用、トラブルシューティング、監査タスクを簡素化できます。このソリューションは、Amazon Cognito による安全な認証、IAM によるきめ細かい認可、Amazon CloudWatch による監査証跡を活用し、コンプライアンスとスケーラビリティを確保します。