@ computesdk/ ec2- firecrab
烟花 自动托管的 AWS EC2 上作为计算SDK 沙盒提供商的微VMs,由一台驱动 烟花 主持人。 每个沙盒是一款由OCI图像所建出并用共享的EC2超相机主机雕刻而成的火克微VM.
安装
npm install @computesdk/ec2-firecrab
先决条件
- 搭配有嵌入式虚拟化能力英特尔类型的EC2主机(
m8i编号 :c8i编号 :r8i, (中文(简体) ),m7i编号 :c7i编号 :r7i, (中文(简体) ),i7i,或任何.metal与CpuOptions.NestedVirtualization=enabled - 烟花 安装在主机上( n)
firecrab-api打开127.0.0.1:5523(中文(简体) ) - 在主机上创建的微网( E)
POST /api/micro-networks——它的CIDR不得与VPC重叠 - 导入至少一个 OCI 图像( O)
firecrab image import <ref>(中文(简体) ) - 返回 API 的路径: SSH/ SSM 端口前进, 或在主机上运行适配器
配置
import { ec2Firecrab } from '@computesdk/ec2-firecrab';
const provider = ec2Firecrab({
// Off-host operation: one SSH target + key. The adapter lazily opens an
// SSH local-forward to the host's loopback API and derives the guest-exec
// jumphost from the same credentials — no manual tunnel or ProxyCommand.
sshTarget: 'ubuntu@<host-public-ip>', // or EC2_FIRECRAB_SSH_TARGET
// sshTargets: ['ubuntu@ip1', 'ubuntu@ip2'], // host pool — or EC2_FIRECRAB_SSH_TARGETS (csv);
// creates round-robin across hosts
sshIdentityPem: process.env.SSH_KEY_PEM, // or EC2_FIRECRAB_SSH_KEY (key material)
// sshIdentityPath: '~/.ssh/firecrab.pem', // or EC2_FIRECRAB_SSH_KEY_PATH
microNetwork: 'lab', // name or EC2_FIRECRAB_MICRO_NETWORK;
// or microNetworkId / EC2_FIRECRAB_MICRO_NETWORK_ID
template: 'catthehacker-ubuntu-act-latest', // or EC2_FIRECRAB_TEMPLATE
cpus: 2,
memoryMib: 4096,
diskGb: 16,
egressPolicy: 'internet', // or 'isolated'
sshUser: 'root', // or EC2_FIRECRAB_SSH_USER
});
已经在主机上还是隧道上? 奥米 sshTarget 和使用情况
apiUrl (单位:千美元)EC2_FIRECRAB_API_URL默认值 http://127.0.0.1:5523(三); sshProxyCommand
(单位:千美元)EC2_FIRECRAB_SSH_PROXY_COMMAND)仍然是自定义跳伞者的逃生舱.
使用量
const sandbox = await provider.instances.create();
const result = await sandbox.runCommand('echo hello from the microVM');
console.log(result.stdout);
await provider.instances.destroy(sandbox.instanceId);
支持的运行时间和特性
- 任何OCI图像都与来宾rootf相通——firecrab将其转换为ext4并配对为一内核.
docker run图像像node:22, (中文(简体) ),alpine,或catthehacker/ubuntu:act-latest直接启动. - ~50ms 鞭炮靴;~19s 冷创造~以根活化为主的跑步(已验证 2026-10-23 on
m8i.xlarge) (中文(简体) ).
限制
- 执行是 SSH —— 说
runCommand使用每VM管理的SSH 密钥(GET /api/vms/{id}/ssh-key)并相宾所出. 非主机呼叫器必须设置sshProxyCommand因为客机桥IP只是来自主机的routable. A 类computesdk-runtime宾客代理被计划用标准的HTTP exec/fs表面来取代. - 还没有文件系统块 ——文件操作回落为"不支持";它们今天跑过SSH并正式以运行时间注入着陆.
- 没有
getUrl/审查 URL ——来宾口岸出版尚未上线. - 无快照、暂停/重现,或
background模式 ——目前的"火花"建筑不会暴露出这些终点. destroy缓慢( ~ 30s) —— 说stop这是一个优雅的ACPI关闭 没有武力旗帜;DELETE运行中的 VM 返回409。 。 。 .- firecrab 的 API 是未经认证的回环 设计 ——你拥有运输(SSM/SSH地道).