从本地到云端 | 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...

相关推荐
yyuuuzz1 天前
独立站的技术基础与常见运维问题
大数据·运维·服务器·网络·数据库·aws
代码N年归来仍是新手村成员2 天前
【AWS】Lambda 初识与服务部署
javascript·react.js·ai·node.js·云计算·ai编程·aws
zhojiew4 天前
在AWS裸金属实例上安装Cubesandbox并集成PydanticAI进行数据分析的实践
数据分析·云计算·aws
yyuuuzz4 天前
aws亚马逊云上运维常见问题梳理
运维·服务器·网络·云计算·aws
亚林瓜子4 天前
AWS S3日志桶常用过期文件生命周期策略
云计算·生命周期·aws·s3·过期·glacier
yyuuuzz4 天前
企业出海场景下的技术适配小经验
运维·服务器·网络·云计算·aws
yyuuuzz7 天前
国外云服务使用的常见技术问题梳理
运维·服务器·网络·数据库·aws
光于前裕于后8 天前
AWS Redshift 集成Zero-ETL和数据共享 Data sharing
云计算·etl·aws
zhojiew9 天前
在AWS中国区实现EKS跨VPC跨区域实现节点加入集群的实践
云计算·aws
认真的薛薛9 天前
Terraform: AWS VPC+可SSH登录EC2
ssh·aws·terraform