Fargate 服务停止,因为 "ELB health check" 失败

Fargate service stops because "ELB health check" fails

我是 AWS 世界的新手,我的 Fargate 任务有问题:它总是停止,因为健康检查似乎遇到问题:

Task failed ELB health checks in (target-group arn:aws:elasticloadbalancing:REGION:IDENTIFIER:targetgroup/TG_NAME/TG_ID)

在发布这篇文章之前,我已经阅读了很多帖子并做了很多测试...现在我希望我遗漏了一些对于更熟悉 AWS 的人来说显而易见的东西。

我在这里:

我的服务 (Fargate) 包含在具有以下权限的安全组中:

TYPE         PROTOCOL  PORT_RANGE  SOURCE
--------------------------------------------
HTTP         TCP       80          0.0.0.0/0  // normally, only this one
All traffic  All       All         0.0.0.0/0  // but because I'm quite desperate
All traffic  All       All         ::/0

关联的目标组具有如下定义的健康检查:

Protocol: HTTP
Route: /awshealth
Port: Traffic port
...
Success codes: 200

从我的日志中,我知道我的 /awshealth 路由被调用并回答状态 200:

然而,由于健康检查问题,我的任务在一段时间后停止(而直到这一刻,我可以在与我的负载均衡器关联的 public DNS 上请求我的服务器)。

有人可以帮我解决这个问题吗?

提前致谢!

注意 1:我的负载均衡器关联到我的所有可用区(和我的所有子网),与我的服务共享相同的 VPC 和相同的安全组。

注2:服务需要几分钟才能启动,我在服务中添加了Health check grace period300[=18] =]

这是内存问题。

服务器正常启动(这解释了我在 /awshealth 路线上的 [​​=10=] 状态)...但是几分钟后 CPU 是 运行 100% 并且服务器关闭,这导致我的服务停止。

刚刚加了内存,现在一切正常