AI News HubLIVE
站內改寫3 分鐘閱讀

使用 Amazon Bedrock AgentCore Runtime 集成 AWS API MCP 服務器與 Amazon Quick

本文介紹如何使用支持模型上下文協議(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 調用序列,而從零開始編寫腳本耗時且費力。

本文展示瞭如何使用支持模型上下文協議(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 使用 OAuth 2.0 客户端憑證流程從您的 Amazon Cognito 用户池獲取 JWT 令牌。
  4. 代理連接到 AWS API MCP 服務器:經過身份驗證的請求到達 Amazon Bedrock AgentCore Runtime,該運行時針對您的 Cognito 身份提供者配置驗證 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 企業訂閲,每月 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 令牌作為入站身份驗證類型。使用現有的身份提供者配置(即 Cognito 身份池)。從 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 集成,您可以構建一個強大的 AI 助手,將自然語言轉換為 AWS CLI 命令,簡化日常運維、故障排除和審計任務。該解決方案利用 Amazon Cognito 進行安全身份驗證,利用 IAM 進行細粒度授權,並利用 Amazon CloudWatch 進行審計跟蹤,確保合規性和可擴展性。