You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Batch提交作业时如何指定选择On-Demand/Spot计算环境

AWS Batch 按作业类型匹配按需/竞价计算环境的实现方法

结论:无法在单作业队列提交作业时直接覆盖默认的计算环境优先级规则,但可以通过拆分作业队列的方式低成本实现你要的调度效果,具体方案如下:

你当前单队列绑定两个计算环境的配置存在调度逻辑限制:同一个作业队列内AWS Batch会严格按照ComputeEnvironmentOrder的优先级分配资源,只要Order=1的按需计算环境还有剩余可用vCPU,所有提交到该队列的作业都会优先运行在按需环境,只有按需环境达到MaxvCpus上限无可用资源时,新提交的作业才会溢出到Order=2的竞价环境,不存在提交作业时给单个作业单独指定计算环境的参数。

正确实现方式是拆分两个独立作业队列,分别绑定对应计算环境:

  • 新建专属按需作业队列,队列内仅绑定On-Demand计算环境,专门承接稳定性要求高、不允许中断的作业
  • 新建专属竞价作业队列,队列内仅绑定SPOT计算环境,专门承接可中断、对成本敏感的作业
  • 作业提交阶段直接指定对应队列即可,不需要额外调整调度规则:
    • 提交高稳定性作业时,将提交参数中的jobQueue指定为按需队列名,作业将始终调度到按需实例运行
    • 提交成本敏感可中断作业时,将提交参数中的jobQueue指定为竞价队列名,作业将始终调度到竞价实例运行

调整后的作业队列CloudFormation配置参考如下:

# 按需实例专属作业队列
DragenOnDemandJobQueue:
  Type: AWS::Batch::JobQueue
  Properties:
    JobQueueName: dragen-ondemand-queue
    Priority: 100
    State: ENABLED
    ComputeEnvironmentOrder:
      - Order: 1
        ComputeEnvironment: !Ref DragenComputeEnvironmentOnDemand

# 竞价实例专属作业队列
DragenSpotJobQueue:
  Type: AWS::Batch::JobQueue
  Properties:
    JobQueueName: dragen-spot-queue
    Priority: 100
    State: ENABLED
    ComputeEnvironmentOrder:
      - Order: 1
        ComputeEnvironment: !Ref DragenComputeEnvironmentSpot

如果需要做资源兜底,可以给竞价队列额外配置Order=2的按需计算环境,这样当竞价实例资源不足、价格超出阈值无法启动时,提交到竞价队列的作业可以自动溢出到按需环境运行,不会阻塞任务流程;注意不要给按需队列添加竞价计算环境,避免高稳定性作业被调度到竞价实例出现中断。

内容的提问来源于stack exchange,提问作者Quentin Chartreux

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 20:09:17