API 失败原因 - Amazon Elastic Container Service

API 失败原因

当您通过 Amazon ECS API、控制台或 AWS CLI 退出时出现 failures 错误消息,以下内容可能有助于解决原因。失败将返回与故障关联的资源的原因和 Amazon Resource Name (ARN)。

许多资源都特定于区域,因此,在设置控制台时,确保区域和资源对应。使用 AWS CLI 时,确保您的 AWS CLI 命令发送到带 --region region参数 的正确区域

有关 Failure 数据类型结构的更多信息,请参阅 Amazon Elastic Container Service API 参考中的失败

以下是运行 API 命令时可能会收到的失败消息的示例。

API 操作

失败原因

原因

DescribeClusters

MISSING

未找到指定的集群。验证集群名称的拼写。

DescribeInstances

MISSING

未找到指定的容器实例。验证您指定了容器实例注册到的集群,以及容器实例 ARN 或 ID 是否正确。

DescribeServices

MISSING

未找到指定的服务。验证是否指定了正确的群集或区域,并且服务 ARN 或名称是否有效。

DescribeTasks

MISSING

未找到指定的任务。验证是否指定了正确的集群或区域,以及任务 ARN 或 ID 都有效。

GetTaskProtection

MISSING

未找到指定的任务。验证集群名称或 ARN 以及任务 ARN 或 ID 是否有效。

TASK_NOT_VALID

指定任务不是 Amazon ECS 服务的一部分。只有 Amazon ECS 服务托管的任务可以受到保护。验证任务 ARN 或 ID,然后重试。

RunTask 或者 StartTask

RESOURCE:*

任务请求的资源在给定容器实例上不可用。如果资源是 CPU、内存、端口或弹性网络接口,则您可能需要将容器实例添加到集群。

如果出现 RESOURCE:ENI 错误,则说明您的群集没有任何可用的弹性网络接口附加点,这是使用 awsvpc 网络模式的任务必需的。Amazon EC2 实例对可以附加到它们的网络接口数量有限制,并且主网络接口算作一个。有关每个实例类型支持的网络接口数量的更多信息,请参阅 Linux Instances的Amazon EC2 用户指南中的每个实例类型的每个网络接口的 IP 地址

对于 RESOURCE:GPU 错误,任务请求的 GPU 数量不可用,您可能需要将支持 GPU 的容器实例添加到集群。有关更多信息,请参阅在 Amazon ECS 上使用 GPU

AGENT

您尝试在其上启动任务的容器实例有一个目前已断开连接的代理。为防止任务放置的等待时间延长,已拒绝该请求。

有关如何排除断开连接的代理故障的信息,请参阅如何排除断开连接的 Amazon ECS 代理的故障

LOCATION

您尝试启动任务的容器实例位于与您在 awsVpcConfiguration 中指定的子网不同的可用区。

ATTRIBUTE

您的任务定义包含一个需要容器实例上未提供的特定容器实例属性参数。例如,如果您的任务使用 awsvpc 网络模式,但您指定的子网中没有包含 ecs.capability.task-eni 属性的实例。有关特定任务定义参数和代理配置变量需要哪些属性的更多信息,请参阅任务定义参数Amazon ECS 容器代理配置

StartTask

MISSING

找不到您尝试启动任务的容器实例。可能指定了错误的集群或区域,或者容器实例 ARN 或 ID 拼写错误。

INACTIVE

您尝试启动任务的容器实例之前已从 Amazon ECS 注销且无法使用。

UpdateTaskProtection

DEPLOYMENT_BLOCKED

无法设置任务保护,因为一项或多项受保护的任务正在阻止服务部署达到稳定状态。取消对现有任务的任务保护或等到任务保护到期。

MISSING

未找到指定的任务。验证集群名称或 ARN 以及任务 ARN 或 ID 是否有效。

TASK_NOT_VALID

指定任务不是 Amazon ECS 服务的一部分。只有 Amazon ECS 服务托管的任务可以受到保护。验证任务 ARN 或 ID,然后重试。

注意

除了此处描述的故障场景外,API 也可能由于异常而失败,从而导致错误响应。有关此类异常的列表,请参阅常见错误