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 進行審計跟蹤,確保合規性和可擴充套件性。