从本地到云端 | OpenClaw Agent + Bedrock AgentCore SDK 部署全攻略

手里有个跑得好好的 OpenClaw Agent,想搬到 AWS 上让它自动扩缩、有监控有告警?Amazon Bedrock AgentCore 就是干这个的------把任意框架的 AI Agent 变成生产级应用,不用自己管服务器。

这篇走一遍完整流程:本地 OpenClaw Agent → AgentCore SDK 封装 → 部署到 AgentCore Runtime → 调用测试。

AgentCore 是什么

Amazon Bedrock AgentCore 是亚马逊云科技 2026 年推出的 Agent 托管平台。核心卖点:

  • 框架无关:Strands、LangGraph、CrewAI、Autogen,甚至自己写的框架都行
  • 零基础设施:不用管服务器、容器、扩缩容
  • 企业级能力:内置认证、记忆持久化、可覂测性、安全隔离

GitHub 上 Python SDK 已经 600 多颗星(aws/bedrock-agentcore-sdk-python),今天还在活跃更新。ntCoreApp from strands import Agent

app = BedrockAgentCoreApp()

@app.entrypoint async def handler(request): prompt = request.get("prompt") agent = Agent() # 默认用 Bedrock Claude

csharp 复制代码
async for event in agent.stream_async(prompt):
    yield event

app.run()

bash 复制代码
这段代码做了三件事:
1. 创建 AgentCore 应用实例
2. 定义入口函数,接收请求、创建 Agent、流式返回结果
3. 启动应用

## 本地测试

```bash
# 确保 AWS 凭证已配置
aws configure list

# 本地运行
agentcore dev

# 另一个终端测试
curl -X POST http://localhost:8080/invoke \
  -H "Content-Type: application/json" \
  -d '{"prompt": "帮我写一个 Python 快速排序"}'

开启可观测性

AgentCore 原生支持 OpenTelemetry,一行配置搞定:

yaml 复制代码
# .bedrock_agentcore.yaml
observability:
  enabled: true
  traces:
    export_to: cloudwatch

部署后自动把 trace 发到 Amazon CloudWatch,可以在控制台看到每次请求的完整调用链。

部署到 AgentCore Runtime

bash 复制代码
# 一条命令部署
agentcore deploy

这条命令会:

  1. 打包 Agent 代码和依赖
  2. 上传到 AgentCore Runtime
  3. 配置自动扩缩容
  4. 返回调用端点

部署完成后拿到端点 URL。

调用已部署的 Agent

python 复制代码
import boto3
import json

client = boto3.client('bedrock-agentcore-runtime')

response = client.invoke_agent(
    agentId='your-agent-id',
    sessionId='test-session-001',
    inputPayload=json.dumps({
        'prompt': '用 Amazon S3 存日志有什么注意事项?'
    })
)

for event in response['outputStream']:
    print(event.get('chunk', {}).get('bytes', b'').decode())

记忆持久化

AgentCore 内置 Memory 服务,Agent 可以跨会话记住上下文:

python 复制代码
from bedrock_agentcore.memory import MemoryClient

memory = MemoryClient()

# 存储
await memory.put(
    namespace="user-123",
    key="preferences",
    value={"language": "zh-CN", "style": "concise"}
)

# 读取
prefs = await memory.get(namespace="user-123", key="preferences")

不用自己搭 Redis 或 DynamoDB,AgentCore 托管存储。

Gateway:把 API 变成 MCP 工具

AgentCore Gateway 可以把现有 REST API 自动转成 MCP 工具,Agent 直接调用:

yaml 复制代码
# gateway-config.yaml
tools:
  - name: get_weather
    source:
      type: http
      url: https://api.weather.com/v1/current
      method: GET
    parameters:
      - name: city
        type: string
        required: true

这样 Agent 就能直接说"查一下北京天气",Gateway 自动调 API。

成本

AgentCore Runtime 按调用次数和运行时长计费,不用的时候不花钱(缩到 0)。对比自己跑 EC2:

方案 月成本(估算) 运维负担
EC2 t4g.small 全天跑 ~$12 需要自己管
AgentCore Runtime 按调用付费 零运维

低频调用场景下 AgentCore 更划算。

踩坑记录

  1. Python 版本 :需要 3.10+,3.9 会报 asyncio 兼容问题
  2. IAM 权限 :首次部署需要 bedrock-agentcore:* 权限,正式环境记得收窄
  3. 模型访问:确保在 Bedrock 控制台开启了目标模型的访问权限
  4. 冷启动:首次调用有 5-10 秒冷启动,后续请求毫秒级

Amazon Bedrock AgentCore 文档:docs.aws.amazon.com/bedrock-age... AgentCore Python SDK:github.com/aws/bedrock... Strands Agents:strandsagents.com/latest/ OpenClaw:github.com/openclaw/op...

相关推荐
Blue summer6 小时前
使用AWS SSO + Terraform 管理AWS资源
云计算·aws·terraform
亚马逊云开发者1 天前
不用 Docker 也能跑 AI Agent | OpenClaw + Podman + EC2 Graviton + ECR 容器化部署全攻略
aws
海水冷却3 天前
RTC成语音AI基础设施:AWS和ElevenLabs相继跟进,ZEGO已跑三年
人工智能·实时音视频·aws
亚马逊云开发者4 天前
开了 GuardDuty 一周,发现 EC2 被人暴力破解 SSH 了
aws
亚马逊云开发者4 天前
Bedrock 调用次数比预期多了一倍?CloudTrail 5 分钟定位元凶
aws
亚马逊云开发者4 天前
API Key 还明文写在配置文件里?OpenClaw SecretRef 帮你摘出来
aws
zhojiew5 天前
[INFRA] EMR集群节点下线 (Decommission) 机制和逻辑深入分析
aws·emr·bigdata
zhojiew5 天前
[INFRA] EMR集群中Hive和Spark集成Glue Data Catalog过程的深入分析
hive·hadoop·spark·aws·bigdata
亚马逊云开发者5 天前
我用 Lambda Durable Functions 把五个 Lambda 缩成了一个,代码量砍半
aws