【问题标题】:AWS ECS Fargate ALB Error (Request Timed Out)AWS ECS Fargate ALB 错误(请求超时)
【发布时间】:2019-10-16 20:09:09
【问题描述】:

我已经设置了一个在端口 5566 上运行的 Docker 容器,其中包含一个小型 Django 应用程序。将 Docker 映像上传到 ECR,然后供 Fargate 容器使用。
我已经用 VPC 搭建了一个 ECS 集群。
在创建任务定义和服务之后,服务启动了 2 个任务(正如它应该做的那样):

这是服务的网络访问(健康检查宽限期为 300 秒):

我还设置了一个 Application Load Balancer(带有 DNS),其中包含服务的目标组,但运行状况检查似乎失败了:

健康检查配置如下:

由于运行状况检查失败,任务会被终止,新的任务会在 ~ 每 5 分钟后启动。

这是容器的端口映射:

由于无法访问 Fargate 容器(例如通过 SSH)且日志为空,我该如何排查问题?

我已尝试遵循Troubleshoot Your Application Load Balancer 中的每一步。

请随时询问更多信息。

【问题讨论】:

  • 服务定义中定义的 healthCheckGracePeriodSeconds 是多少?可能是您的应用程序需要时间来加载,并且在 ALB 之间正在检查运行状况并报告目标运行状况为“不健康”。尝试增加'healthCheckGracePeriodSeconds'docs.aws.amazon.com/AmazonECS/latest/developerguide/…
  • 服务的健康检查宽限期为 0,我改为 300(5 分钟)。不过,这并没有改变任何东西。还使用服务的网络访问权限编辑了帖子。

标签: amazon-web-services amazon-ecs aws-fargate aws-application-load-balancer


【解决方案1】:

您能否确认一下,您的应用程序正在 docker 内的端口 5566 上运行?

您可以在 cloudwatch 中查看日志。您将在 cluster -> service -> tasks -> your task 中获得链接。

您可以发布您的 ALB 配置吗?您的目标组端口?

【讨论】:

    猜你喜欢
    • 2018-09-06
    • 2023-01-03
    • 1970-01-01
    • 1970-01-01
    • 2019-09-10
    • 2018-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多