2

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

4

1 回答 1

1

这是一个内存问题。

服务器正在正确启动(这解释了我在路线200上的状态/awshealth)......但几分钟后,CPU 以 100% 的速度运行,服务器关闭,这导致我的服务停止。

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

于 2020-09-19T20:20:35.293 回答