我是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:
尽管如此,由于运行状况检查问题,我的任务在一段时间后停止了(直到此刻,我才可以在与负载均衡器关联的公共DNS上请求我的服务器)。
有人可以帮我解决这个问题吗?
谢谢!
注释1 :我的负载均衡器与我的所有可用区(和我的所有子网)相关联,与我的服务共享相同的VPC和相同的安全组。
注释2 :该服务需要几分钟才能启动,并且我在服务中添加了Health check grace period
中的300
。
答案 0 :(得分:0)
这是一个内存问题。
服务器正常启动(这解释了我的200
路由上的/awshealth
状态)...但是几分钟后,CPU的运行速度为100%,服务器关闭,这是使我的服务停止。
我刚刚添加了一些内存,现在一切正常。