排查 Amazon ECS TaskFailedToStart 错误 - Amazon Elastic Container Service

排查 Amazon ECS TaskFailedToStart 错误

以下是一些 TaskFailedToStart 错误消息和可以用来修复错误的操作。

要使用 AWS Management Console 检查已停止的任务是否有错误消息,请参阅 查看 Amazon ECS 已停止任务错误

尝试在子网“subnet-id”中创建启用了公有 IP 分配的网络接口时意外出现 EC2 错误

当 Fargate 任务使用 awsvpc 网络模式并在具有公有 IP 地址的子网中运行,且该子网没有足够的 IP 地址时,就会发生这种情况。

可用 IP 地址的数量可在 Amazon EC2 控制台中的子网详细信息页面上找到,也可以使用 describe-subnets 找到。有关更多信息,请参阅《Amazon VPC 用户指南》中的查看您的子网

要解决此问题,您可以创建一个新的子网,在其中运行您的任务。

InternalError:<reason>

当请求 ENI 连接时会出现此错误。Amazon EC2 会异步处理 ENI 的配置。配置过程需要时间。如果等待时间长或出现未报告的故障,则 Amazon ECS 会超时。存在 ENI 已配置,但故障超时后报告发送至 Amazon ECS 的情况。在这种情况下,Amazon ECS 会出现报告的任务故障,并带有使用中的 ENI。

选定的任务定义与选定的计算策略不兼容

当您所选任务定义的启动类型与集群容量类型不匹配时,将发生此错误。有关更多信息,请参阅 Amazon ECS 启动类型。您需要选择与分配给集群的容量提供程序相匹配的任务定义。

无法将网络接口连接到未使用的设备索引

使用 awsvpc 联网类型并且没有足够的 CPU/内存来执行任务时,就会发生此错误。首先,请检查用于实例的 CPU。有关更多信息,请参阅《Amazon EC2 实例类型》中的 Amazon EC2 instance type specifications。获取实例的 CPU 值并将其乘以实例的 ENI 数量。在任务定义中使用该值。

AGENT

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

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