我有两个任务在 ECS Fargate 中运行,代表在端口 5000 上运行的基本 Flask 应用程序。由于运行状况检查失败,我的应用程序负载均衡器正在取消注册这些任务。
尽管存在以下事实,ALB 仍取消注册任务:
aws ecs execute-command
'进入其中之一进行确认。5000
在我的 ECS 任务定义的端口映射中明确调用。5000
在我的 ECS 服务的负载均衡器容器端口配置中显式调用。5000
上进行 TCP 入口,并通过 0.0.0.0/0
出口到 ip_protocol="-1"
。5000
上的 HTTP 流量,带有 target_type=ip
。80
上的传入流量路由到上面引用的目标组。0.0.0.0/0
。当任务启动并运行时:
telnet
和 curl
超时。nmap -Pn
报告所有 1,000 个扫描端口均处于忽略状态。为什么我的 ECS 任务对任何形式的交互完全没有响应?如何调试问题?
您需要有两个安全组,一个用于 ALB,一个用于 ECS 任务,因为它们都需要打开不同的端口。
ECS 任务应具有入站规则,允许端口
5000
上来自 ALB 安全组 ID 的流量作为源。