常见错误和故障排除
AWS Batch 中的错误通常发生在应用程序级别,或者是由不符合您的特定作业要求的实例配置引起的。其他问题包括作业卡在 RUNNABLE 状态或计算环境陷入 INVALID 状态。有关故障排除在 RUNNABLE 状态中卡住的作业的更多信息,请参阅 作业在RUNNABLE状态卡住。有关对陷入 INVALID 状态的计算环境进行故障排除的信息,请参阅 INVALID 计算环境。
-
查看 Amazon EC2 竞价型 vCPU 限额 – 验证您当前的服务限额是否符合作业要求。例如,假设您当前的服务限额为 256 个 vCPU,而作业需要 10,000 个 vCPU。则服务限额不符合作业要求。有关更多信息和疑难解答说明,请参阅 Amazon EC2 服务限额和如何增加 Amazon EC2Resources 的服务限额?
。 -
作业在应用程序运行之前失败 – 有些作业可能因为
DockerTimeoutError错误或CannotPullContainerError错误而失败。有关疑难解答信息,请参阅如何解决 AWS Batch 中的"DockerTimeoutError"错误?。 -
IP 地址不足 - 您的 VPC 和子网中的 IP 地址数量可能会限制您可以创建的实例数量。使用无类别域间路由,可提供多于运行工作负载所需的 IP 地址。如有必要,您还可以构建具有较大地址空间的专用 VPC。例如,您可以在
10.x.0.0/16中创建一个包含多个 CIDR 的 VPC,并在每个可用区中创建一个子网,CIDR 为10.x.y.0/17。在此示例中,x 介于 1-4 之间,y 为 0 或 128。此配置在每个子网中提供 36,000 个 IP 地址。
-
验证实例是否已在 Amazon EC2 中注册 – 如果您在 Amazon EC2 控制台中看到您的实例,但在 Amazon ECS 集群中看不到 Amazon Elastic Container Service 容器实例,则可能未在亚马逊机器映像(AMI)上安装 Amazon ECS 代理。Amazon ECS 代理、AMI 中的 Amazon EC2 数据或启动模板也可能配置不正确。要找出根本原因,请创建单独的 Amazon EC2 实例或使用 SSH 连接到现有实例。有关更多信息,请参阅 Amazon ECS 容器代理配置、Amazon ECS 日志文件位置和 计算资源 &AMI;。
-
查看 AWS 控制面板 - 查看 AWS 控制面板以验证预期的作业状态以及计算环境是否按预期扩展。您也可以查看 CloudWatch 中的作业日志。
-
验证您的实例是否已创建 - 如果创建了实例,则意味着您的计算环境按预期进行扩展。如果您实例尚未创建,请在计算环境中找到要更改的关联子网。有关更多信息,请参阅验证自动扩缩组的扩展活动。
我们还建议您验证实例是否可以满足相关作业要求。例如,一项作业可能需要 1 TiB 的内存,但计算环境使用的 C5 实例类型限制为 192 GB 内存。
-
确认您的实例是由 AWS Batch 请求的 – 查看自动扩缩组历史记录以验证您的实例是否由 AWS Batch 请求过。这表明了 Amazon EC2 是如何尝试获取实例的。如果您收到错误消息,指出 Amazon EC2 竞价型无法在特定可用区获取实例,这可能是因为该可用区不提供特定的实例系列。
-
验证实例是否在 Amazon ECS 中注册 – 如果您在 Amazon EC2 控制台中看到实例,但在 Amazon ECS 集群中看不到任何 Amazon ECS 容器实例,则可能未在亚马逊机器映像(AMI)上安装 Amazon ECS 代理。此外,Amazon ECS 代理、AMI 中的 Amazon EC2 数据或启动模板可能配置不正确。要找出根本原因,请创建单独的 Amazon EC2 实例或使用 SSH 连接到现有实例。有关更多信息,请参阅 CloudWatch 代理配置文件:日志部分、Amazon ECS 日志文件位置 和 计算资源 &AMI;。
-
打开支持请求单 – 如果您在进行故障排除后仍遇到问题并且已经制定了支持计划,请打开支持请求单。在支持请求中,请务必包含有关问题、工作负载细节、配置和测试结果的信息。有关更多信息,请参阅比较 支持 计划
。 -
查看 AWS Batch 运行时监测控制面板 – 此控制面板使用无服务器架构捕获来自 Amazon ECS 的事件,AWS Batch,和 Amazon EC2 来提供对作业和实例的见解。有关更多信息,请参阅AWS Batch运行时监控面板解决方案
。