用途:生成一套可部署的 ECS Fargate SOCI 示例,用两个独立任务对比大 ML 推理镜像在启用与未启用 SOCI 时的拉取时间。SOCI 通过 ECR 中的 SOCI 索引实现镜像按需流式加载,无需改动应用代码。仅适用于 ECR 同区域镜像与 Fargate 平台版本 1.4.0+,小于 10 MB 的层无收益。
主要能力:动态生成 FastAPI 推理服务、Dockerfile、Terraform(ECS 集群、两个任务定义、ECR、日志组,按需生成 IAM 角色)、构建推送脚本、对比脚本与 README。构建脚本支持 --soci-only,用 soci convert --standalone 生成 v2 索引,并以 skopeo copy --all 推送;对比脚本通过 aws ecs run-task 启动任务,轮询 describe-tasks 的任务级 pullStartedAt/pullStoppedAt 计算拉取耗时。
使用方式:先收集项目名、AWS 账号 ID、IAM 角色、子网 ID、ECR 与区域等信息,再一次性生成全部文件,随后运行 terraform apply、scripts/build-and-push.sh 与 scripts/run-and-compare.sh。构建必须使用 --platform linux/amd64。
适用场景与限制:演示场景为多 GB 的 PyTorch/CUDA 类镜像;观察到约 4 GB 压缩镜像无 SOCI 约 85 秒、启用后约 4 秒(约 21 倍)。仅减少镜像拉取时间,不影响模型预热。具体价格与费用资料未提供。