--- tags: [wechat, article, claude, openai] title: "将 AWS DevOps Agent 智能运维能力延伸到中国区" url: https://aws.amazon.com/cn/blogs/china/aws-devops-agent-intelligent-operations/ source: rss feed_name: AWS China Blog sha256: c496cf12fa8a6af4a812bc1b28a6ccd78ebcc390e2ffe2312cb27675ae55a1b3 ---
摘要:AWS DevOps Agent 是 AI 驱动的智能运维助手,但目前仅在 AWS Commercial 分区(aws 分区)可用,不支持中国区(aws-cn 分区)。本文介绍一种基于 MCP(Model Context Protocol)协议的桥接方案,通过在 Commercial 分区部署 MCP Server 作为中间层,实现 DevOps Agent 对中国区资源的跨分区运维管理。
AWS DevOps Agent 是一款 AI 驱动的全天候智能运维助手。它能够自动响应告警、排查故障根因、生成修复建议,并持续评估系统可靠性以预防事故。对于运维团队而言,DevOps Agent 意味着更快的 MTTR(平均恢复时间)和更少的凌晨被叫醒。
然而,DevOps Agent 目前仅在 Commercial 分区的 6 个 Region 提供服务。值得注意的是,Agent Space 具备跨 Region 监控能力——即使在 us-east-1 创建 Agent Space,也可以管理同一分区内任意 Region 的资源(例如香港 ap-east-1)。但这种跨 Region 能力仅限于同一分区内;对于 AWS 中国区(aws-cn 分区),由于分区隔离的硬约束,DevOps Agent 无法直接访问。
本文将介绍一种经过验证的桥接方案:通过 MCP 协议,让运行在 Commercial 分区的 DevOps Agent 能够远程管理中国区资源——无需等待服务正式落地中国区。
在探讨解决方案之前,有必要理解为什么”简单地把 Agent 指向中国区”这条路走不通。
AWS Commercial 分区(aws 分区)和 AWS 中国分区(aws-cn 分区)是两个完全独立的 partition。这意味着:
CREATE_FAILED)。简言之,这不是一个配置问题,而是架构层面的硬约束。我们需要一个”中间人”来跨越这道边界。
MCP(Model Context Protocol) 是一个标准化的协议,定义了 AI Agent 与外部工具之间的通信方式。你可以把它理解为 AI Agent 世界的”USB 接口”——任何遵循 MCP 协议的工具(MCP Server)都可以被 Agent(MCP Client)即插即用。
DevOps Agent 原生支持作为 MCP Client 连接外部 MCP Server:
这意味着我们可以部署一个 MCP Server,让它:
1. 对外暴露标准 MCP 接口给 DevOps Agent
2. 对内使用 aws-cn 凭证调用中国区 API
Agent 自身不需要持有中国区凭证,只需要知道如何与 MCP Server 通信。
我们选择 AWS 官方维护的 awslabs/aws-api-mcp-server 作为 MCP Server 实现,原因是:
| 特性 | 价值 |
call_aws 单工具设计 |
一个工具覆盖所有 AWS CLI 命令,无需为每个服务单独注册 |
suggest_aws_commands |
根据自然语言推荐 CLI 命令,覆盖模型知识截止后的新 API |
READ_OPERATIONS_ONLY |
内置只读保护,比对 Service Authorization Reference 自动拦截写操作 |
REQUIRE_MUTATION_CONSENT |
写操作需用户确认,支持渐进式开放权限 |
| 官方维护 | 持续更新,安全性有保障 |
一个需要解决的问题是认证。aws-api-mcp-server 在 Streamable HTTP 模式下 AUTH_TYPE 仅支持 oauth 或 no-auth,不支持原生 API Key 认证。
3.4.1 我们的解法是认证下沉到 ALB
AUTH_TYPE=no-authX-API-Key headerX-API-Key这种方式简单、可靠,且不引入额外的认证基础设施(如 Cognito)。
![]() |
call_aws 工具aws ec2 describe-instances --region cn-north-1本文方案将 MCP Server 部署在 Commercial 分区(us-east-1),通过 IAM Roles Anywhere 获取中国区临时凭证,优先保障快速验证和 DevOps Agent 连接稳定性。生产环境中,建议根据安全合规要求选择以下凭证方案:
| 维度 | IAM Roles Anywhere(MCP Server 部署在 Commercial 分区) | EC2/ECS Role(MCP Server 部署在中国区) |
| 凭证类型 | 临时凭证(STS,默认 1 小时 TTL) | 自动轮转,无需管理 |
| 凭证是否出境 | 是(临时凭证在 Commercial 分区侧使用) | 否(凭证不离开中国区) |
| 额外依赖 | PKI 基础设施(CA、证书签发、CRL 吊销) | 无 |
| 网络路径 | Agent → Commercial 分区 MCP Server(稳定)→ 跨境 → aws-cn API | Agent → 跨境 → 中国区 MCP Server → aws-cn API(本地调用) |
| 域名与证书 | ACM 自动管理 | 中国区需自行管理证书(ICP 备案视情况而定) |
| 运维复杂度 | 中(需维护证书生命周期) | 低(IAM Role 原生集成) |
| 适合场景 | 不方便迁移 MCP Server,但需消除长期凭证 | 合规要求高,或中国区已有成熟基础设施 |
在 EC2 上安装并启动 awslabs/aws-api-mcp-server:
# 安装 uv(Python 包管理工具)
以 systemd 服务形式运行时,完整配置如下:
MCP Server 通过 boto3 的 credential_process 机制获取中国区临时凭证。具体流程是在 ~/.aws/config 中配置 IAM Roles Anywhere credential helper:
其中中国区侧需要预先创建以下资源(参考 IAM Roles Anywhere Getting Started):
1. Trust Anchor — 绑定你的 CA 证书(自签 CA 或 ACM Private CA)
2. IAM Role — 信任 rolesanywhere.amazonaws.com,附加只读权限
3. Profile — 关联 IAM Role,设置凭证有效期(如 3600 秒)
客户端证书和私钥由 aws_signing_helper 使用,每次被 boto3 调用时向中国区 IAM Roles Anywhere 换取临时 STS 凭证(默认 1 小时 TTL,过期自动刷新)。
5.1.1 需要注意的坑
| 问题 | 原因 | 解决方式 |
ProfileNotFound |
systemd 默认 HOME=/,读不到用户目录的 config(含 credential_process) |
显式设置 HOME 和 AWS_CONFIG_FILE |
Invalid Host header (400) |
MCP Server 对 Host header 做白名单校验 | 设置 AWS_API_MCP_ALLOWED_HOSTS 为你的域名 |
| ALB 健康检查失败 | MCP Server 没有 /health 端点 |
健康检查路径改为 /mcp,matcher 设为 406 |
uvx: not found |
systemd PATH 不含 ~/.local/bin |
在 service unit 中显式设置完整 PATH |
your-mcp-server.example.com)通过 CLI 完成注册:
5.3.1 Step 1:注册 MCP Server
5.3.2 Step 2:关联到 Agent Space
重要提示:
执行 register-service 前,MCP Server 必须已启动且可达。DevOps Agent 会在注册时尝试连接验证,否则报 ValidationException。
也可以通过 DevOps Agent 控制台完成同样的操作:在 Capability Providers → MCP Server → Register 中填入 endpoint 和 API Key 信息,然后在 Agent Space 中添加该 MCP Server 并勾选需要暴露的工具。
本方案的安全保障分为多个层次:
| 层 | 措施 |
| 网络 | ALB Security Group 仅允许 DevOps Agent 出口 IP(AWS 官方公布的固定 IP 列表) |
| 认证 | ALB Listener Rule 匹配 X-API-Key header,不匹配直接返回 401 |
| 凭证存储 | 客户端证书+私钥存储在 Secrets Manager,通过 IAM Roles Anywhere 获取临时凭证 |
| 权限控制 | MCP Server 启用 READ_OPERATIONS_ONLY;中国区 IAM Role 遵循最小权限原则 |
| 审计 | MCP Server 每次调用记录结构化日志,可对接 CloudWatch Logs |
需要注意:中国区资源的数据(如 EC2 实例信息、CloudWatch 指标等)会通过 Agent 流转到 Commercial 分区的 Bedrock 模型进行推理。如果你的场景涉及敏感数据,需评估是否符合数据出境合规要求。在只读模式下,流转的主要是元数据和监控指标,通常不涉及业务数据本身。
部署完成后,在 DevOps Agent 控制台发起对话:
用户:查一下 cn-north-1 有哪些运行中的 EC2 实例
Agent 的执行链路:
1. 理解意图 → 决定调用 call_aws 工具
2. 生成命令:aws ec2 describe-instances –region cn-north-1 –filters Name=instance-state-name,Values=running
3. 通过 MCP Server 执行,获取结果
4. 以自然语言呈现实例列表(Instance ID、类型、启动时间等)
整个过程对用户透明——你只需用自然语言提问,Agent 自动处理跨分区的复杂性。
DevOps Agent 按 agent-second 计费($0.0083/秒),仅在 Agent 活跃工作时产生费用。新客户有 2 个月免费试用额度。此外,Enterprise Support 客户可享受高达 75% 的 Support 费用抵扣。详情参考 DevOps Agent 定价页面。
通过 MCP 协议桥接,我们实现了一条可行的路径:让 AWS DevOps Agent 跨越分区隔离,管理中国区资源。核心思路是利用 DevOps Agent 原生的 MCP Client 能力,在 Commercial 分区部署一个 MCP Server 作为”翻译层”,将 Agent 的指令转化为对 aws-cn API 的调用。
这个方案适合以下场景:
下一步行动:
参考资源:
相关产品:
相关文章: