使用 Amazon Bedrock AgentCore 構建 AI 驅動的 AWS 支援伴侶
本文介紹瞭如何使用 Amazon Bedrock AgentCore 構建一個 AI 驅動的 AWS 支援伴侶。該代理利用 Strands Agents 作為編排框架,並透過模型上下文協議 (MCP) 連線到 AWS 服務。最終,您將擁有一個能夠分析 CloudWatch 日誌、搜尋 AWS 文件、查詢 AWS re:Post 社群知識以及建立支援案例的工作代理,所有這些都可以透過一個對話介面完成。解決方案使用 AWS CloudFormation 透過單個指令碼部署,幷包括一個基於 AWS Amplify 構建的 Web 前端。
在管理 AWS 基礎設施時,工程師通常需要在多個控制台之間切換、搜尋文件並手動建立支援案例。每次事件處理,工程師需要開啟 AWS 管理控制台、檢查 Amazon CloudWatch、搜尋 AWS 文件、檢視社群帖子並提交支援案例。這種上下文切換導致每次調查需要 30-45 分鐘,然後才能開始實際解決工作。
本文介紹如何使用 Amazon Bedrock AgentCore 構建一個 AWS 支援伴侶。該代理使用 Strands Agents 作為編排框架,並透過模型上下文協議 (MCP) 連線到 AWS 服務。最終,您將擁有一個能夠分析 CloudWatch 日誌、搜尋 AWS 文件、查詢 AWS re:Post 社群知識以及建立支援案例的工作代理,所有這些都可以透過一個對話介面完成。解決方案使用 AWS CloudFormation 透過單個指令碼部署,幷包括一個基於 AWS Amplify 構建的 Web 前端。
事件調查瓶頸
AWS 支援和運維團隊對每個事件重複相同的模式:
- 開啟 AWS 管理控制台並導航到受影響的服務。
- 檢查 CloudWatch 日誌和指標以查詢錯誤模式。
- 搜尋 AWS 文件以獲取相關故障排除指南。
- 在 AWS re:Post 上檢視社群帖子以查詢類似問題。
- 整理發現並建立適當嚴重級別的支援案例。
- 將證據和上下文附加到案例中。
每個步驟都需要不同的工具和介面。手動調查限制了團隊的響應速度,並且在一個工具中收集的上下文無法傳遞到下一個工具。
解決方案概述
該解決方案將這些步驟整合到一個在 Amazon Bedrock AgentCore 上部署的單一對話代理中。AgentCore 處理執行生產 AI 代理的操作複雜性(會話隔離、自動擴充套件、安全性和可觀測性),因此您可以專注於代理的功能而不是執行方式。
代理連線到以下元件:
- 代理執行時:一個使用 Strands Agents 的 Python 應用程式,打包為 Docker 容器並部署到 AgentCore Runtime。代理根據您的輸入編排對基礎模型 (FM)(透過 Amazon Bedrock 的 Amazon Nova Pro)和工具的呼叫。您可以切換到支援的其他模型而無需更改代理程式碼。
- MCP 伺服器:三個 MCP 伺服器使代理能夠訪問 AWS 文件 (aws-documentation-mcp-server)、AWS 支援 API (aws-support-mcp-server) 和 AWS 服務 API (aws-api-mcp-server)。MCP 為 AI 代理從外部工具接收上下文提供了標準協議。
- AgentCore Gateway:將工具集中到可重用、安全的端點中。閘道器透過 AWS Lambda 支援的目標和 Amazon Cognito JSON Web 令牌 (JWT) 身份驗證提供對 AWS re:Post 社群知識的訪問。
- AgentCore Memory:維護短期對話上下文,使代理能夠在會話中基於先前的故障排除步驟進行構建。
- API 和前端層:Amazon API Gateway 與 Cognito 授權、AWS WAF 速率限制和請求驗證一起,為呼叫 AgentCore Runtime 的 Lambda 函式提供前端。AWS Amplify 託管的 React 應用程式提供使用者介面,並使用 Cognito 身份驗證進行註冊和登入。
- Guardrails:Amazon Bedrock Guardrails 配置過濾有害內容、幫助阻止提示注入攻擊、編輯個人身份資訊 (PII)(如 AWS 金鑰、信用卡和社會安全號碼),並將代理限制為 AWS 支援主題。
- 基礎設施:單個 CloudFormation 模板部署所有資源,包括 AWS Identity and Access Management (IAM) 角色、Cognito 使用者池、AWS Key Management Service (AWS KMS) 金鑰、AWS Secrets Manager 金鑰和 AWS Systems Manager Parameter Store 引數。
部署步驟
部署使用單個指令碼,該指令碼配置所有基礎設施、構建容器並輸出所需的配置值。首先克隆儲存庫,配置 AWS 憑證,然後執行部署指令碼。部署指令碼包括預部署安全驗證、ECR 儲存庫建立、Docker 映象構建和 CloudFormation 堆疊部署。完成後,指令碼輸出前端所需的配置值。
接下來,部署 Amplify 前端:導航到 AWS Amplify 控制台,選擇支援代理前端應用,部署更新並上傳前端 ZIP 檔案。然後,使用 CloudFormation 輸出值配置前端,建立使用者帳戶,登入後即可與代理互動。
代理程式碼使用 BedrockAgentCoreApp 框架,並實現了一些關鍵模式:並行 MCP 初始化以減少冷啟動時間、帶優雅超時的記憶體管理以及自動閘道器令牌重新整理。
安全考慮
解決方案預設部署了多個安全層。身份驗證使用 Amazon Cognito,密碼策略符合 NIST SP 800-63B。AWS WAF 提供速率限制和託管規則集保護 API Gateway。每個元件都有自己的最小許可權 IAM 角色,代理呼叫者 Lambda 在返回給使用者之前會編輯響應中的憑證模式。Amazon Bedrock Guardrails 過濾有害內容、阻止提示注入、編輯 PII 並將代理限制為 AWS 支援主題。API Gateway 訪問日誌傳送到 Amazon CloudWatch 並保留 90 天,AWS CloudTrail 捕獲 API 呼叫。
清理
為避免持續費用,請按順序刪除資源:刪除 Amplify 應用,刪除 CloudFormation 堆疊,刪除 ECR 儲存庫,並刪除用於 CloudFormation 模板的 S3 儲存桶。
結論
本文介紹瞭如何使用 Amazon Bedrock AgentCore 構建 AI 驅動的 AWS 支援伴侶。該代理將基礎模型推理與對 AWS 文件、支援 API 和社群知識的即時訪問相結合,透過 MCP 和 AgentCore Gateway 實現。解決方案透過單個指令碼部署,幷包括身份驗證、速率限制、加密、防護和審計日誌。代理將多個調查工具整合到一個對話介面中,使工程師無需在控制台之間切換即可從問題識別過渡到支援案例建立。示例儲存庫包括關於網路隔離、多賬戶部署、可觀測性、人工升級閾值和金鑰輪換的額外指導。如需完全託管的事件調查服務,請參閱 AWS DevOps Agent。