AWS ECS Fargate ALB 错误(请求超时)
Posted
技术标签:
【中文标题】AWS ECS Fargate ALB 错误(请求超时)【英文标题】:AWS ECS Fargate ALB Error (Request Timed Out) 【发布时间】: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 分钟)。不过,这并没有改变任何东西。还使用服务的网络访问权限编辑了帖子。 【参考方案1】:您能否确认一下,您的应用程序正在 docker 内的端口 5566 上运行?
您可以在 cloudwatch 中查看日志。您将在 cluster -> service -> tasks -> your task 中获得链接。
您可以发布您的 ALB 配置吗?您的目标组端口?
【讨论】:
以上是关于AWS ECS Fargate ALB 错误(请求超时)的主要内容,如果未能解决你的问题,请参考以下文章
AWS ECS Fargate 未创建任务 AmazonECSTaskExecutionRole 错误