Fargate服务停止,因为“ ELB运行状况检查”失败

时间:2020-09-19 17:07:54

标签: amazon-ecs aws-fargate health-check

我是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:

enter image description here

尽管如此,由于运行状况检查问题,我的任务在一段时间后停止了(直到此刻,我才可以在与负载均衡器关联的公共DNS上请求我的服务器)。

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

谢谢!

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

注释2 :该服务需要几分钟才能启动,并且我在服务中添加了Health check grace period中的300

1 个答案:

答案 0 :(得分:0)

这是一个内存问题。

服务器正常启动(这解释了我的200路由上的/awshealth状态)...但是几分钟后,CPU的运行速度为100%,服务器关闭,这是使我的服务停止。

我刚刚添加了一些内存,现在一切正常。