AI News HubLIVE
サイト内リライト4 分で読了

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 Machine Learning Blog著者: Sangeetha Kamatkar

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 サービスと対話する方法を標準化できます。

日常運用の仕組み:

  1. 自然言語で質問します:「us-east-1 の実行中の EC2 インスタンスを表示」。
  2. Amazon Quick カスタムエージェントが意図を解釈します。
  3. Amazon Cognito がリクエストを認証:Quick は、構成したクライアント ID とクライアントシークレットを使用して OAuth 2.0 クライアントクレデンシャルフローで Cognito ユーザープールから JWT トークンを取得します。
  4. エージェントが AWS API MCP サーバーに接続:認証されたリクエストが Amazon Bedrock AgentCore Runtime に到達し、Cognito ID プロバイダー構成に対して JWT トークンを検証します。
  5. AgentCore Runtime がリクエストを承認してルーティング:Cognito トークン検証後、AgentCore Runtime がコンテナ化環境で実行されている AWS API MCP サーバーを安全に呼び出します。
  6. MCP サーバーがリクエストを変換:自然言語クエリが適切な AWS CLI コマンドに変換されます。
  7. AWS サービスがコマンドを実行:構成した IAM 実行ロールを使用して、最小権限でコマンドが実行されます。
  8. 結果が読み取り可能な形式で返される: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 ドル/アカウント/月)による)。

ソリューションのセットアップ

手動デプロイメント

ソリューションを実装するには、次の手順を実行します。

  1. Amazon Cognito ユーザープールをセットアップ:認証用。一意のアプリケーション名とアプリケーションタイプ「マシン間アプリケーション」でユーザープールを作成します。マシン間アプリケーションで Cognito ユーザープールを作成すると、Cognito は自動的にアプリケーション用のリソースサーバーを作成します。ブランディングメニューからカスタムスコープに書き込みスコープを追加し、説明を更新します。
  2. IAM ロールを作成:認可用。Amazon Bedrock AgentCore Runtime の信頼ポリシーと実行ロールを作成します。信頼ポリシーでは、bedrock-agentcore.amazonaws.com サービスがロールを引き受けることを許可します。実行ロールには、ECR イメージ、CloudWatch ログ、X-Ray トレースなどへの権限が含まれます。さらに、アタッチされた権限ポリシーで実行するアクション(S3 バケットの一覧表示、EC2 インスタンスの記述など)を定義します。注:初期設定でワイルドカードを使用すると最小権限の原則に違反する可能性があるため、本番環境では特定のリソース ARN に置き換えてください。
  3. 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 を追加します。詳細設定では、デフォルトのネットワークモードを維持します。
  4. Amazon Quick で統合を構成:Amazon Quick で、AWS API MCP サーバーに接続するための統合を追加します。AgentCore Runtime のエンドポイント URL と Cognito から取得した JWT トークンを指定する必要があります。
  5. Amazon Quick でカスタムチャットエージェントを作成:既存の Amazon Quick チャット機能を利用して、MCP 統合を使用してユーザークエリを処理するカスタムエージェントを作成します。

まとめ

Amazon Bedrock AgentCore Runtime と MCP を統合することで、自然言語を AWS CLI コマンドに変換する強力な AI アシスタントを構築し、日常の運用、トラブルシューティング、監査タスクを簡素化できます。このソリューションは、Amazon Cognito による安全な認証、IAM によるきめ細かい認可、Amazon CloudWatch による監査証跡を活用し、コンプライアンスとスケーラビリティを確保します。