使用AWS Batch作业定义创建作业时持续处于Runnable状态求助
AWS Batch作业始终处于Runnable状态求助
操作步骤:
- 创建计算环境:供应模式选择EC2,实例类型为
vt1.3xlarge,状态显示为valid - 创建队列
- 创建作业定义:编排类型选择Amazon Elastic Compute Cloud (Amazon EC2),命令栏填写的代码已附截图
- 提交作业后,作业持续处于Runnable状态,无法正常执行
排查建议:
计算环境资源验证
- 检查计算环境的最大vCPU配额:
vt1.3xlarge实例提供12个vCPU,确认作业定义的vCPU需求未超过计算环境上限,且无其他作业占用资源导致无法扩容。 - 查看EC2实例启动状态:通过CloudTrail或EC2控制台确认是否存在实例启动失败(如子网IP耗尽、IAM角色权限不足、安全组限制等)。
- 检查计算环境的最大vCPU配额:
队列与计算环境关联检查
- 确认目标队列已与创建的EC2计算环境绑定,在队列配置的“关联计算环境”列表中查看是否包含该环境。
作业定义配置校验
- 检查命令格式:若为容器作业,命令需符合容器入口点要求,建议使用数组格式传递命令,避免字符串解析错误。
- 验证IAM角色权限:确保作业定义指定的IAM角色具备拉取镜像(如使用ECR)、写入CloudWatch日志等必要权限。
网络配置排查
- 确认计算环境所在子网有可用IP,且配置了NAT网关(若作业需访问公网拉取资源)。
- 检查安全组规则:确保允许Batch服务与计算环境通信,以及实例间必要端口开放。
日志与事件分析
- 进入作业详情页的“事件”标签,查看作业无法调度的具体原因提示。
- 检查CloudWatch日志中计算环境实例启动阶段的错误信息,定位问题根源。
内容的提问来源于stack exchange,提问作者Sushant Shekhar
相关产品推荐
相关产品推荐

