用途:AWS Lambda MicroVMs 提供 Firecracker 微虚拟机隔离的无服务器计算环境,每个 MicroVM 以容器方式运行应用,基于 Amazon Linux 2023,从构建时捕获的内存与磁盘快照启动,跳过应用初始化。适合长会话、真实端口监听服务(gRPC、WebSocket、自定义 TCP)、跨空闲期保留状态、容器级访问(FUSE、eBPF、自定义系统调用)及会话亲和路由。典型场景包括分析/ETL 隔离计算、AI 与智能体代码执行沙箱、交互式代码游乐场与笔记本、强化学习环境、多租户 CI 执行器、游戏/模拟服务器、安全扫描。若工作负载 15 分钟内完成、无需保留会话状态、偏好全自动扩缩或由事件源驱动,应选 Lambda Event Functions;超过 8 小时连续计算或需内核修改/非 Linux 系统则选 ECS/EKS/EC2。
主要能力:两资源模型——MicrovmImage(由 S3 中带 Dockerfile 的 zip 加 baseImageArn 构建的版本化产物,按架构/芯片组生成 Build)与 Microvm(由镜像版本运行出的实例)。两种角色:buildRoleArn 用于构建,executionRoleArn 运行时承担。支持挂起/恢复并保留状态,生命周期最长 8 小时;提供 TLS 终结的 HTTPS 端点,用认证令牌访问。单 MicroVM 上限 16 vCPU、32 GB 内存。可选生命周期钩子:构建期 /ready、/validate(超时 1–3600 秒,默认 30 秒),运行期 run、resume、suspend、terminate(超时 1–60 秒,默认 1 秒)。默认容器能力受限,可按需在创建镜像时设置 --additional-os-capabilities '["ALL"]' 以支持文件系统挂载、嵌套容器、eBPF。SHELL_INGRESS 网络连接器提供基于 WebSocket 的交互式 PTY shell(端口 8022),与运行应用共享网络命名空间、文件系统与进程树。
使用方式:先确认目标区域可用(aws lambda-microvms list-managed-microvm-images),S3 产物桶与网络连接器须与镜像同区域。将带 Dockerfile 的应用打包上传 S3,用 create-microvm-image 创建镜像,用 run-microvm 运行并获取 endpoint 与 microvmId,用 create-microvm-auth-token 获取令牌(最长 60 分钟,allowedPorts 指定端口),请求时携带 X-aws-proxy-auth 头。挂起/恢复/终止可用显式 API 或 idlePolicy(maxIdleDurationSeconds、suspendedDurationSeconds、autoResumeEnabled)驱动。运行时默认代理端口 8080,可用 X-aws-proxy-port 或 WebSocket 子协议覆盖。
限制:镜像为单一规格,不能一个镜像发布多种实例大小;镜像版本即使无运行实例也产生存储费用,需用 delete-microvm-image-version 清理;挂起恢复不能切换网络连接器;不支持从 MicroVM 内部自挂起;认证令牌最长 60 分钟;运行期钩子仅作快速通知,不适合慢初始化。安全上建议在信任策略加 aws:SourceAccount/aws:SourceArn 防混淆代理,恢复时重播 CSPRNG 并轮换密钥,用 VPC 出口连接器限制出站,执行角色遵循最小权限,并启用 CloudTrail。其他配额(并发数、启动速率、镜像数等)暂未提供,需查阅 AWS 文档或 Service Quotas 控制台。