AWS WAF 保护 Bedrock AgentCore Runtime 的两种架构模式详解
本文介绍如何通过 AWS WAF 为 Amazon Bedrock AgentCore Runtime 提供 Web 应用防火墙保护,解决 ALB 健康检查与认证冲突问题,提供 Lambda 代理和直接路由两种架构模式,并包含 SigV4 和 OAuth 认证的端到端测试。
一句话看懂
AWS 发布两种架构模式,通过 AWS WAF 和 ALB 为 Bedrock AgentCore Runtime 添加 Web 防火墙保护,解决健康检查与认证冲突,支持 SigV4 和 OAuth。
详细发生了什么
Amazon Bedrock AgentCore 是 AWS 的生成式 AI 代理运行时。当它作为生产 API 端点时,需要 Web 应用防火墙(WAF)策略来防御常见 Web 威胁。AWS WAF 可与 ALB、CloudFront 和 API Gateway 集成。但 CloudFront 不适合实时动态的代理调用,API Gateway 会引入双重认证问题,因此 ALB 成为最佳集成点。
然而,ALB 需要健康检查来验证后端目标是否可用。AgentCore Runtime 要求所有 API 调用(包括健康检查)都必须通过 SigV4 或 OAuth 认证,而标准 ALB 健康检查发送的是未认证请求,导致健康检查失败。
为此,AWS 提出了两种架构模式:
- 模式 1:ALB + Lambda 代理 — 在 ALB 和 VPC Endpoint 之间插入 Lambda 函数,负责请求转发、认证转换和自定义日志。
- 模式 2:ALB 直接路由到 VPC Endpoint ENI IP — 移除 Lambda 层,ALB 直接将流量发送到 VPC Endpoint 的弹性网络接口 IP,延迟更低。
两种模式都使用互联网-facing ALB 配合 AWS WAF,通过 VPC Interface Endpoint 路由到 AgentCore Runtime,并通过资源策略关闭直接访问后门。
中文圈视角
对于国内 AWS 用户,尤其是使用 Bedrock 构建 AI 代理的企业,这篇文章提供了实用的安全加固方案。目前国内类似产品如阿里云百炼、百度千帆等也提供 Agent 能力,但安全架构文档相对较少,AWS 的详细模式可作为参考。
需要注意:
- 网络要求:VPC Interface Endpoint 需要 PrivateLink 支持,国内 AWS 区域(如北京、宁夏)完全可用,但需确保 VPC 配置正确。
- 成本考量:VPC Endpoint 按可用区小时计费(约 $0.01/小时/AZ),Lambda 代理按请求和计算时间计费,模式 2 更省成本。
- 认证适配:国内用户常用 OAuth(如微信登录、阿里云 RAM),模式 1 的 Lambda 代理可灵活转换认证方式,适合混合认证场景。
- 监管合规:通过 WAF 可满足等保 2.0 中的 Web 安全要求,但需注意数据不出境问题——若 AgentCore 部署在海外区域,需评估数据合规性。
一个中文圈尚未讨论的盲点是:AWS 的 SigV4 签名在 Lambda 代理中需要重新签名,而国内云厂商的类似签名机制(如阿里云签名)是否也有类似问题?架构师可提前测试。
几条值得记住的细节
- 健康检查解决方案:Lambda 代理可返回 200 响应给 ALB 健康检查,而模式 2 通过 VPC Endpoint 安全组限制仅 ALB 可访问,避免未认证流量到达 AgentCore。
- 端点选择:必须使用
com.amazonaws.<region>.bedrock-agentcore(数据平面),而非bedrock-agentcore-control或bedrock-agentcore.gateway。 - 认证支持:两种模式均经过 SigV4 和 OAuth(Amazon Cognito JWT)的端到端测试。
- 成本:VPC Endpoint 按小时和 GB 计费,Lambda 代理按请求和计算时间计费,模式 2 无额外 Lambda 成本。
- 安全组配置:VPC Endpoint 安全组仅允许来自 ALB 安全组的入站 HTTPS(端口 443)。
一句话总结
如果你用 Bedrock AgentCore 做生产 API,这篇文章提供了两种经过验证的 WAF 集成方案,直接照着搭就能解决健康检查难题。