跳至内容

如何检测由EventBridge规则触发的Fargate RunTask失败的原因?

0

【以下的问题经过翻译处理】 我们使用EventBridge来触发Fargate中的任务。这已经有很长时间运作良好。最近,似乎在Fargate中启动任务失败时会发生静默错误。

我们运行数千个这些任务,失败似乎是完全随机和偶发的。我在CloudTrail中进行了一些调查,发现已经执行了RunTask。但是在RunTask之后没有相应的CreateLogStream,在这种情况下当然也没有任何日志记录在CloudWatch中。

由于这种情况很少发生,我没有能够查看在Fargate中停止的任务,因为它们往往会被迅速清理,但我还在关注这个问题。

我发现在我们的Fargate配额远低于配额时,这种情况会发生,因此它不应该与任何服务配额有关。

专家
已提问 2 年前56 查看次数
1 回答
0

【以下的回答经过翻译处理】 错误消息 “ResourceInitializationError: failed to configure ENI” 可能是Fargate工作流程中的临时问题所致。如果这个Fargate任务是ECS服务的一部分,那么ECS服务调度程序将尝试自动重新启动任务。

然而,当EventBridge启动ECS任务时,它执行“RunTask” API操作以触发创建新任务。通过“RunTask” API启动任务涉及异步工作流程。

如果工作流程成功启动,则返回成功代码。但是,这并不意味着任务处于“RUNNING”状态。预期“RunTask”调用者验证任务是否达到“Running”状态,如果未发生这种情况,则调用者需要重试操作。

可以使用AWS Step Functions的指数退避和重试逻辑自动化地重新尝试。

这里有一个知识中心文章,说明如何使用Step Functions实现重试退避功能以减轻您的问题。

专家
已回答 2 年前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。