【发布时间】: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