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 进行审计跟踪,确保合规性和可扩展性。