直接答案:按 2026-11-09 的 Azure Retail Prices API(eastus,美元,不含税/折扣),Azure Batch 服务本身不收费;账单来自底层资源:VM、存储、网络。以 Linux D 系列为例:D2s_v3 0.096/小时(2 vCPU,约 0.048/vCPU·小时)、D4s_v3 0.192(4 vCPU)、D8s_v3 0.384(8 vCPU);Spot/Low Priority 约 0.01919/0.038381/0.076762,约为按需价的 20%(省 80%)。按 vCPU·小时:100 vCPU·h = 4.80(按需)/0.96(Spot)、1,000 = 48.00/9.60、10,000 = 480.00/95.95。节点启动、空闲、start task 都计费;存储/网络另计;Spot 会被容量驱逐,必须 checkpoint/可重试。
本文面向正在评估大规模并行、HPC、渲染、影像/数据批处理或 Monte Carlo 的企业架构师、平台/SRE、财务与采购。它解释 Batch 的“免费服务 + 资源计费”模型、D2s_v3/D4s_v3/D8s_v3 按需 vs Spot、100/1,000/10,000 vCPU·h TCO、autoscale/idle/start task、Batch 与 Functions/Container Apps/AKS/CycleCloud 的边界,以及 90 天清单。价格来自 Azure Batch 定价页、Azure Retail Prices API 与 Microsoft Learn(eastus,2026-11-09)。本文把“官方价格事实”“编辑测算”和“未纳入项”分开写,不构成采购建议。
① Batch 本身免费,账单 = VM + 存储 + 网络;不要找“Batch 服务费”。② Spot/Low Priority 约省 80%,但会被容量驱逐;短任务/可 checkpoint/可重试才适合。③ 节点启动、空闲、start task 都计费;autoscale 要设下限和公式,避免空转。
计费结构:Batch 免费,资源付费
Azure Batch 提供作业调度和池管理,不额外收费;你只为底层资源付费:compute node 的 VM、存储(输入/输出/应用包)、网络(出网/VNet)。节点是标准 Azure VM,按 VM 价格计费;Spot/Low Priority 节点按 Spot 价格计费。Batch 账户本身免费,但有核心配额(vCPU)限制,池扩不到目标节点时先查配额。
| 项目 | 计费 | 说明 |
|---|---|---|
| Batch 服务 | 0 | 作业调度/池管理不另收费 |
| Compute node VM | 按 VM 价格 | 节点运行即计费,含启动/空闲 |
| Spot/Low Priority | Spot 价格 | 约按需价 20% |
| 存储 | Azure Storage 标准价 | 输入/输出/应用包 |
| 网络 | 标准价 | 出网/VNet/负载均衡 |
| Start task | 节点运行时间 | 加入/重启/重镜像时执行 |
来源:Azure Batch 定价页与 Learn“What is Azure Batch”(2026-11-09)。官方明确“no extra charge to use Batch”,只付 VM/存储/网络。
D 系列按需 vs Spot:约 80% 折扣
Linux D 系列的每 vCPU 价格很接近:D2s_v3 0.096/小时(2 vCPU)、D4s_v3 0.192(4)、D8s_v3 0.384(8),约 0.048/vCPU·小时;Spot 为 0.01919/0.038381/0.076762,约 0.0096/vCPU·小时,省 80%。Spot 价格随容量/区域/时间变化,本文用 eastus 2026-11-09 的快照;Low Priority 价格与 Spot 接近,但计费/驱逐行为不同。
| SKU | vCPU/RAM | 按需/小时 | Spot/小时 | Spot 折扣 | 按需/Spot per vCPU·h |
|---|---|---|---|---|---|
| D2s_v3 | 2 / 8GB | 0.096 | 0.01919 | 80.0% | 0.048 / 0.0096 |
| D4s_v3 | 4 / 16GB | 0.192 | 0.038381 | 80.0% | 0.048 / 0.0096 |
| D8s_v3 | 8 / 32GB | 0.384 | 0.076762 | 80.0% | 0.048 / 0.0096 |
来源:Azure Retail Prices API(eastus,2026-11-09);Linux 价格,未含税/折扣。Spot 价格随容量/区域/时间变化;Low Priority 价格接近但计费/驱逐行为不同。
100 / 1,000 / 10,000 vCPU·小时 TCO
按 D2s_v3(2 vCPU)折算:100 vCPU·h = 50 节点·小时 = 4.80(按需)/0.96(Spot);1,000 vCPU·h = 500 节点·小时 = 48.00/9.60;10,000 vCPU·h = 5,000 节点·小时 = 480.00/95.95。因为每 vCPU 价格接近,D4s_v3/D8s_v3 在同一 vCPU·h 下结果几乎一样;选型更多看单任务内存/核数/启动时间。50% 按需 + 50% Spot 的 1,000 vCPU·h 约为 28.80。
| vCPU·小时 | D2s_v3 节点·小时 | 按需/月 | Spot/月 | Spot 节省 |
|---|---|---|---|---|
| 100 | 50 | 4.80 | 0.96 | 80.0% |
| 1,000 | 500 | 48.00 | 9.60 | 80.0% |
| 10,000 | 5,000 | 480.00 | 95.95 | 80.0% |
编辑测算:D2s_v3 0.096/小时、Spot 0.01919;按 vCPU·h 线性折算;未计存储、网络、start task/空闲、税与折扣。Spot 实际价格/可用性随容量变化。
Spot/Low Priority:省 80% 的代价
Spot 利用 Azure 剩余容量,价格低但可能被容量驱逐;Batch 的 Spot 不支持设置最高价/按价驱逐,只能因容量被驱逐。被驱逐的 VM 可能在 48 小时内尝试恢复,但不保证成功;任务需要checkpoint/可重试/短任务。Spot 也不支持 ephemeral OS disk(服务管理 Stop-Deallocate)。截止期紧、不可中断的任务应保留 dedicated 节点或混合池。
| 项目 | 规则/影响 |
|---|---|
| 驱逐 | 容量原因,可能随时发生 |
| 最高价 | Batch Spot 不支持 max price/按价驱逐 |
| 恢复 | 48 小时内尝试,非保证 |
| Checkpoint | 必须可重试/断点续跑 |
| Ephemeral OS | Spot 不支持 |
| 混合池 | dedicated + Spot 可同时存在 |
| 截止期 | 紧 deadline 保留 dedicated |
来源:Learn“Use Spot VMs with Batch workloads”(2026-11-09)。Spot 可用性/价格随容量变化;不适合不可中断的长任务。
Autoscale、Idle 与 Start Task:免费服务也会烧钱
Batch 的 autoscale 用公式按指标增减节点;但节点只要存在就计费,包括启动、start task、空闲、任务间等待。常见浪费:池下限过高、公式不收敛、start task 过长、任务失败重试、核心配额不足导致池扩不到目标、忘记缩容/删除池。用 autoscale 的 min nodes、任务队列长度、节点去分配策略,把“空闲税”压下来。
| 杠杆 | 成本影响 | 控制 |
|---|---|---|
| Autoscale 公式 | 节点随负载 | 按 RunningTasks/队列设上下限 |
| Idle 节点 | 存在即计费 | 缩容/删除池/低优先级 |
| Start task | 节点启动时间 | 预装镜像/应用包 |
| 任务重试 | 重复 compute | checkpoint/幂等 |
| 核心配额 | 池扩不到目标 | 提前申请配额 |
| 池下限 | 固定成本 | min nodes=0/低 |
| 忘记删池 | 持续计费 | 生命周期/自动清理 |
来源:Learn“Autoscale compute nodes”和“Nodes and pools”(2026-11-09)。节点运行/启动/空闲都按 VM 计费。
Batch vs Functions vs Container Apps vs AKS vs CycleCloud
按调度模型选:Batch 适合大规模并行/HPC/渲染/独立任务/MPI,按 VM 付费;Functions 适合事件驱动、短任务、按执行计费;Container Apps 适合容器化 API/作业、按 vCPU/内存;AKS 适合 Kubernetes 编排/微服务;CycleCloud 适合已有 Slurm/PBS 等调度器的工作流。Batch 的优势是“调度即服务 + 池化 VM”,不是替代所有计算平台。
| 场景 | 优先 | 理由/先核对 |
|---|---|---|
| 大规模并行/HPC/渲染 | Batch | VM+Spot、池/任务模型 |
| 事件驱动/短任务 | Functions | 按执行/冷启动 |
| 容器化 API/作业 | Container Apps | vCPU/内存/副本 |
| Kubernetes/微服务 | AKS | 节点池/调度 |
| 已有 Slurm/PBS | CycleCloud | 保留调度器模型 |
| 紧耦合 MPI | Batch/CycleCloud | InfiniBand/节点通信 |
| 简单定时 | Logic Apps/Functions | 无需池 |
编辑整理的选择框架,不是厂商推荐;具体功能/配额/区域以官方文档为准。来源:Learn Batch/HPC 文档(2026-11-09)。
隐藏成本与 90 天清单
七项额外成本:存储(输入/输出/应用包)、网络出网/VNet、节点启动/空闲、start task、失败重试、Spot 驱逐后的重跑、核心配额。90 天:第 1–2 周统计任务数/时长/vCPU·h、数据量、截止期;第 2–4 周用 D2s_v3 按需 vs Spot 算 100/1,000/10,000 vCPU·h;第 4–6 周做 Spot PoC + checkpoint;第 6–8 周调 autoscale/池下限/start task;第 8–10 周比较 Functions/Container Apps/AKS/CycleCloud;第 10–12 周做存储/网络账单复盘和配额申请。
常见问题
Azure Batch 怎么收费?
Batch 服务本身免费;只付底层 VM、存储、网络。节点是标准 Azure VM,按 VM/Spot 价格计费;Batch 账户免费但有 vCPU 配额。没有“Batch 服务费”这一项。
为什么 Batch 免费但账单高?
因为节点只要存在就计费:启动、start task、空闲、任务间等待都算;再加存储、出网、失败重试和 Spot 驱逐重跑。池下限过高/忘记删池/公式不收敛是常见浪费。
Spot 能省多少?
eastus D2s_v3 按需 0.096/小时、Spot 0.01919,约省 80%;D4s_v3/D8s_v3 同比例。Spot 价格随容量/区域/时间变化,且会被容量驱逐;适合短任务/可 checkpoint/可重试。
1,000 vCPU·小时多少钱?
D2s_v3(2 vCPU)500 节点·小时:按需 48.00、Spot 9.60;50% 按需 + 50% Spot 约 28.80。未计存储/网络/start task/空闲/税。
Spot 被驱逐怎么办?
任务要能 checkpoint/重试/幂等;Batch Spot 不支持 max price,只按容量驱逐;被驱逐 VM 48 小时内尝试恢复但不保证。截止期紧的任务保留 dedicated 节点或混合池。
Autoscale 怎么设?
用公式按 RunningTasks/队列长度/时间窗口增减节点,设 min/max 和去分配策略;核心配额不足会扩不到目标。池下限=0 或低值,避免空闲税;定期清理不再使用的池。
存储和网络怎么算?
输入/输出/应用包按 Azure Storage 标准价;出网/VNet/负载均衡按标准网络价。它们不在 Batch 服务费里,需单独估算;大数据集/跨区传输可能比 VM 更贵。
Batch 和 Functions/Container Apps/AKS 怎么选?
大规模并行/HPC/渲染/MPI 选 Batch;事件驱动/短任务选 Functions;容器化 API/作业选 Container Apps;Kubernetes/微服务选 AKS;已有 Slurm/PBS 选 CycleCloud。按调度模型和计费单位选,不只看单价。
研究方法与局限
本文把“官方价格事实”和“编辑测算”分开:Batch 免费、只付 VM/存储/网络、Spot/Low Priority、autoscale/start task/核心配额来自 Azure Batch 定价页与 Microsoft Learn;D2s_v3 0.096/Spot 0.01919、D4s_v3 0.192/0.038381、D8s_v3 0.384/0.076762 来自 Azure Retail Prices API(eastus,2026-11-09);100/1,000/10,000 vCPU·h TCO 为编辑测算。
局限有八个:① 只取 eastus Linux list price,不含税/CSP/企业折扣/Windows;② Spot 价格随容量/区域/时间变化,示例是快照;③ 主 TCO 未计存储/网络/start task/空闲/重试/税;④ 未做真实任务/调度/HPC 压测;⑤ 未覆盖 GPU/InfiniBand/MPI 专用 SKU;⑥ Low Priority 与 Spot 的计费/驱逐差异未逐一模型化;⑦ 核心配额/区域可用性会影响实际池规模;⑧ 价格/功能会变,采购前应复核官方页面与账单。
数据来源与口径
- Microsoft Azure, Batch Pricing:azure.microsoft.com/en-us/pricing/details/batch。Batch 免费、VM/Spot、Low Priority。访问 2026-11-09。
- Azure Retail Prices API(armSkuName D2s_v3/D4s_v3/D8s_v3,eastus):prices.azure.com/api/retail/prices。0.096/0.01919、0.192/0.038381、0.384/0.076762。访问 2026-11-09。
- Microsoft Learn, What is Azure Batch:learn.microsoft.com/en-us/azure/batch/batch-technical-overview。“no extra charge to use Batch”、只付 VM/存储/网络、Batch vs CycleCloud。访问 2026-11-09。
- Microsoft Learn, Nodes and pools / Autoscale / Spot:nodes-and-pools、batch-automatic-scaling、batch-low-pri-vms。start task、autoscale 公式、Spot 驱逐/48h/checkpoint。访问 2026-11-09。
资料截止 2026-11-09;价格/可用性以 Microsoft 官方页面与账单为准;本文不构成采购、商务或法律建议。