隨着 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 服務的交互方式。
日常操作的工作流程如下:
- 您用自然語言提出問題,例如“顯示 us-east-1 中正在運行的 EC2 實例”。
- Amazon Quick 自定義代理解釋您的意圖。
- Amazon Cognito 對請求進行身份驗證:Quick 使用 OAuth 2.0 客户端憑證流程從您的 Amazon Cognito 用户池獲取 JWT 令牌。
- 代理連接到 AWS API MCP 服務器:經過身份驗證的請求到達 Amazon Bedrock AgentCore Runtime,該運行時針對您的 Cognito 身份提供者配置驗證 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 企業訂閲,每月 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 令牌作為入站身份驗證類型。使用現有的身份提供者配置(即 Cognito 身份池)。從 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 集成,您可以構建一個強大的 AI 助手,將自然語言轉換為 AWS CLI 命令,簡化日常運維、故障排除和審計任務。該解決方案利用 Amazon Cognito 進行安全身份驗證,利用 IAM 進行細粒度授權,並利用 Amazon CloudWatch 進行審計跟蹤,確保合規性和可擴展性。