使用 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。