自建 E2B 进阶:预热池、存储与运维

简介: 介绍计算巢自建 E2B 的预热池、OSS 挂载、用户工作区、集群监控与钉钉告警,结合并发创建实测和控制台操作,展示 AI Agent 沙箱的配置与使用方法。

E2B 是一个面向 AI Agent、编程助手和自动化测试场景的开源沙箱平台。每个 Sandbox 运行在独立的 Firecracker microVM 中,为 Agent 执行代码、处理文件和运行命令提供隔离环境。

它具备以下核心能力:

  • 隔离运行:每个 Sandbox 拥有独立内核,通过 KVM 实现硬件虚拟化隔离。
  • 快速启动与恢复:通过预构建的 VM 快照启动沙箱,支持暂停与恢复,延续任务执行状态。
  • 模板与 SDK:通过 Docker 镜像或 Dockerfile 定制运行环境,使用 Python、TypeScript SDK 集成到 Agent 应用中。

通过阿里云计算巢,可以将 E2B 集群部署到自己的阿里云账号中。选择集群配置后,计算巢自动完成云资源创建、节点初始化、调度集群组建和 E2B 服务部署,交付可通过 SDK 调用、通过 Dashboard 管理的沙箱环境。

计算巢自动化交付 E2B 集群:从选择配置到 Sandbox 就绪,资源部署在用户自己的阿里云账号中

具体步骤可参考部署指南,或直接进入计算巢部署页面。

在此基础上,计算巢自建 E2B 还提供预热池、OSS 挂载和监控告警等能力,分别用于缩短沙箱创建等待、持久保存业务文件,以及发现和排查运行异常。下面结合实测数据和控制台操作,介绍这些功能的配置与使用。

一、准备工作

从计算巢服务实例的输出页面打开 DashboardUI,登录后进入模板,确认所需 Template 已构建完成。

在 Dashboard 中检查可用模板

预热池示例使用 code-interpreter-v1;OSS 示例使用需提前准备的非默认模板 demo。相关入口需具备管理权限,OSS 挂载还需配置 Dashboard 管理令牌。

运行示例前安装 SDK,并配置 E2B_DOMAIN、E2B_API_KEY;使用自签 CA 时再配置 SSL_CERT_FILE。

python -m pip install "e2b==2.30.0"

二、⚡ 预热池:提前准备可用 Sandbox

预热池为指定模板提前创建 Sandbox,兼容请求到达时直接分配,随后自动补充。业务仍通过 Sandbox.create() 调用,无需自行维护实例池。

并发创建实测:在自建 E2B 上使用 base 模板、无 Metadata、secure=False 请求参数,分别并发创建 10、100、300、1000 个 Sandbox。预热池组在测试前准备足够的就绪实例;无预热池组关闭预热池。以下为客户端整批创建请求返回的耗时。

并发创建数量 无预热池 开启预热池
10 0.30 秒 0.26 秒
100 0.51 秒 0.40 秒
300 0.78 秒 0.58 秒
1000 3.26 秒 1.02 秒

开启预热池,10、100、300、1000 并发创建耗时分别减少约 13%、23%、25%、69%,其中 1000 并发从 3.26 秒缩短至 1.02 秒。

进入 预热池 → 创建池,填写名称、模板和目标数量:

创建预热池:选择模板并设置预热数量

以预热 100 个 Sandbox 为例,在上述表单中填写池名称 code-pool,选择模板 code-interpreter-v1,将预热数量设为 100。提交后等待状态变为 ready、就绪数量达到 100 / 100,再使用同一模板并发创建 100 个 Sandbox,观察分配与自动补充情况。

使用时关注两点:

  • 容量:按业务并发设置预热数量,空闲实例也占计算资源和并发额度。
  • 版本:池固定使用创建时的模板构建,模板更新后需创建新池。

三、📂 OSS 挂载:直接读写业务数据

通过模板挂载 OSS,Agent 可以使用文件目录读取数据集、处理文档和保存结果。文件保留在 OSS 中,可供后续新建的 Sandbox 继续访问。

1. 配置挂载

准备已有 Bucket,并为 Client 节点绑定有权访问目标 Bucket 或 Prefix 的 ECS RAM Role。进入 存储 → 添加 OSS 挂载:

填写 OSS 挂载参数

配置项 示例
Template demo
Bucket / Region 自己的 Bucket 及其实际地域
OSS 目录 e2b-demo/workspace
Sandbox 目录 /workspace/data
访问模式 只读或读写,按业务需要选择

选择模板、填写实际 Bucket 后,点击 测试并保存。配置仅对之后新建的 Sandbox 生效。截图使用示例桶名,展示的是未提交表单。

2. 验证跨 Sandbox 文件读取

先在 OSS 的 e2b-demo/workspace/ 下上传 input.txt,内容为 hello from OSS。以下示例读取输入、写入结果,再销毁沙箱并重新读取:

import os
import uuid
from e2b import Sandbox

connection = {
   
    "domain": os.environ["E2B_DOMAIN"],
    "api_key": os.environ["E2B_API_KEY"],
}
path = f"/workspace/data/result-{uuid.uuid4().hex}.txt"

sandbox = Sandbox.create(template="demo", timeout=120, **connection)
try:
    assert sandbox.files.read("/workspace/data/input.txt").strip() == "hello from OSS"
    sandbox.files.write(path, "processed by E2B")
    print("结果路径:", path)
    input("在 OSS 控制台确认结果对象后,按回车继续:")
finally:
    sandbox.kill()

sandbox = Sandbox.create(template="demo", timeout=120, **connection)
try:
    result = sandbox.files.read(path)
    assert result == "processed by E2B"
    print("新 Sandbox 读取成功:", result)
finally:
    sandbox.kill()

验证成功后删除测试对象。OSS 不完全兼容 POSIX 语义,不适合运行依赖文件锁、原子重命名的数据库或程序。

3. 按用户和会话分配工作区

将 OSS 目录改为 {user_id}/workspace/{session_id},即可根据创建请求中的 Metadata 分配路径:

使用 Metadata 配置动态 OSS 目录

例如,在创建参数中传入:

metadata={
   "user_id": "user-123", "session_id": "session-456"}

对应 OSS 路径为 user-123/workspace/session-456/,Sandbox 内仍使用 /workspace/data。同一模板即可服务不同用户和会话。

Metadata 应由可信业务服务校验并设置。变量必须独占一个目录段;必需变量缺失或为空时会跳过挂载,因此不能只凭目录存在判断挂载成功。

四、📊 集群监控与服务日志

集群概览

进入 运维 → 集群概览,查看 API、Client 节点状态、资源使用率和 Sandbox 数量。

集群节点与资源使用情况

需要扩容时,从计算巢实例的资源页面进入对应 ESS 伸缩组执行,再确认新节点进入 ready。缩容应走排空流程,避免直接删除 ECS。

监控指标

点击 监控与告警 → 监控指标 打开 Grafana,选择 E2B 运维总览。

Grafana 节点资源趋势与 Allocation 内存

面板展示在线节点数、CPU/内存/磁盘趋势,以及 Allocation 内存使用量与分配量。按节点和时间筛选,可观察预热池调整前后的资源变化,或定位业务变慢时的负载情况。

服务日志

进入 监控与告警 → 服务日志,按时间、级别、Worker、Sandbox ID 或 Trace ID 查询 Orchestrator 日志。

服务日志查询与筛选

遇到创建失败,可先查看对应 Sandbox 或 Trace 的日志,再结合节点指标排查。API、Dashboard 等其他服务日志可通过 Nomad 查看。

五、🔔 告警规则与钉钉通知

进入 监控与告警 → 告警规则与通知,通过 Grafana Alerting 将异常发送到钉钉群。

钉钉通知配置与预置告警规则

  1. 填写群机器人 Webhook,启用钉钉告警并保存。页面建议机器人关键词为 E2B告警。
  2. 按需勾选告警恢复时通知,发送测试消息确认接收正常。
  3. 为需要关注的预置规则开启通知。
预置规则 级别
Worker CPU、内存或磁盘使用率 > 80% 警告
Worker CPU、内存或磁盘使用率 > 90% 严重
E2B 日志错误突增 警告

规则阈值与评估条件以部署版本为准。关闭某条规则的通知,不会停止 Grafana 计算其告警状态。 截图中的告警总开关未开启,Webhook 凭据请勿公开。

六、总结

基于阿里云计算巢部署的 E2B 集群,为 AI Agent 提供运行在用户云账号中的隔离沙箱环境。在此基础上,预热池缩短 Sandbox 创建等待,OSS 挂载支持业务文件持久化,监控、日志与告警帮助团队掌握运行状态并排查异常。

本文完成了预热池配置与并发创建测试、OSS 文件读写及用户工作区配置,并介绍了集群监控、服务日志查询和钉钉告警的使用方法。

如果你正在构建 AI Agent、AI 编程助手、在线代码执行平台,或有执行不可信代码的需求,可以通过计算巢部署 E2B 集群,结合业务场景配置预热池、存储与监控,快速开始验证和接入。有任何问题或建议,欢迎交流。

参考

如果您有任何反馈或疑问,欢迎加入 计算巢 E2B 用户交流群(钉钉群号:198895003834),与工程师即时沟通。

相关文章
|
1月前
|
弹性计算 人工智能 API
自建 E2B 实战:用阿里云计算巢搭建 AI Agent 沙箱
基于阿里云计算巢自建 E2B,图文演示集群部署、沙箱生命周期、模板构建、Computer Use 与弹性伸缩,帮助 AI Agent 接入自己的云上执行环境。
|
缓存 Shell Linux
【Shell 命令集合 链接器(linker)工具】Linux ld命令 将目标文件与库链接为可执行文件或库文件
【Shell 命令集合 链接器(linker)工具】Linux ld命令 将目标文件与库链接为可执行文件或库文件
952 0
|
存储 JSON Ubuntu
Elasticsearch:理解 Percolator 数据类型及 Percolate 查询
Elasticsearch 是一款功能强大且功能丰富的搜索工具。本文将介绍一种小众的数据类型 Percolator ,同时介绍Percolate query的使用。 您需要基本了解 Elasticsearch,尤其是mapping和search。
7535 0
Elasticsearch:理解 Percolator 数据类型及 Percolate 查询
|
3月前
|
弹性计算 小程序 关系型数据库
一次真实录屏:我只说每月别超过 200 块,小程序后端就搭好了
iac-code 通过自然语言交互,自动规划、创建并管理符合预算的小程序后端云资源。本文结合真实录屏,展示它如何准备多套方案、给出架构与费用、在创建前等待确认,并在 RDS 规格下线后自动处理、继续部署,大幅降低阿里云的使用门槛。
一次真实录屏:我只说每月别超过 200 块,小程序后端就搭好了
|
8月前
|
存储 人工智能 安全
2026年AI知识管理闭环指南:OpenClaw部署+Obsidian+Claude Code,10分钟搭建高效工作流
2026年,AI驱动的知识管理已从“工具叠加”升级为“闭环协同”。OpenClaw的自动化采集与执行能力、Obsidian的结构化存储优势、Claude Code的深度分析功能,三者组合形成“收集-整理-创作-分享”的完整链路,成为内容创作者、研究者、职场人的必备工具套装。
5714 1
|
4月前
|
弹性计算 自然语言处理 关系型数据库
一次真实录屏:我只输入一句话,WordPress 网站就搭好了
iac-code助手通过自然语言指令,自动规划、校验并部署含数据库的WordPress网站,简化了阿里云资源配置流程。
|
2月前
|
弹性计算 运维 监控
OOS ChatOps 技能大爆发:一句话搞定云上运维的时代来了
阿里云OOS ChatOps升级为“运维专家团”,覆盖日志、监控、数据库等8大领域,支持自然语言交互与技能市场扩展。免费全托管、安全合规,可接入钉钉/企微/飞书,实现秒级运维闭环。
|
4月前
|
弹性计算 网络协议 应用服务中间件
阿里云ECS云服务器HTTPS证书配置完全指南:从申请到部署全流程解析
本文提供了一份完整的阿里云ECS云服务器HTTPS证书配置指南。文章从SSL/TLS证书的基础概念入手,详细介绍了阿里云免费证书与付费证书的区别、个人测试证书的申请流程(含DNS验证步骤)、以及通过控制台一键部署和手动部署两种方式将证书配置到Nginx、Apache、Tomcat等主流Web服务器上的完整操作方法。文章还涵盖了Nginx配置中的证书路径设置、强制HTTPS跳转、HTTP/2协议启用、加密套件优化等进阶内容,并提供了Let's Encrypt免费证书的Certbot自动化申请与续期方案。最后总结了443端口安全组配置、证书链不完整等常见问题的排查方法,帮助读者顺利完成ECS服务器
|
6月前
|
安全 JavaScript 前端开发
OpenClaw又又又危!Axios npm被投毒,植入全平台木马
Axios npm包遭供应链投毒,1.14.1与0.30.4版本含恶意依赖plain-crypto-js@4.2.1,安装时自动下载运行远控木马(Windows/Linux/macOS全平台),回连域名sfrclak.com。影响广泛,已下架。建议立即排查并封禁相关域名及版本。