【问题标题】:Fargate service stops because "ELB health check" failsFargate 服务因“ELB 运行状况检查”失败而停止
【发布时间】:2020-09-20 04:20:35
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

    这是一个内存问题。

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

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

    【讨论】:

    • 有任何关于内存问题的迹象吗?
    • 我不明白这个问题
    猜你喜欢
    • 2021-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-07
    • 2018-04-04
    • 2017-01-05
    • 2022-10-04
    • 1970-01-01
    相关资源
    最近更新 更多