You need to enable JavaScript to run this app. AWS Fargate ECS任务公网IP运行约2分钟后无响应(eu-central-1区域)
优惠活动
大模型
产品
解决方案
定价
更多

AWS Fargate ECS任务公网IP运行约2分钟后无响应(eu-central-1区域)

AWS Fargate 任务公网访问2分钟后超时排查

故障基础现象

  • 基于官方示例镜像amazon/amazon-ecs-sample(简单PHP欢迎页)创建Fargate任务,启动后可通过任务ENI绑定的公网IP正常访问站点
  • 启动后约2分钟服务完全停止响应,所有访问请求出现超时,任务本身始终保持RUNNING状态
  • 容器无任何错误日志输出,通过Container Insights、CloudWatch观测的CPU、内存等资源指标均处于正常范围,无资源打满、OOM等异常事件
  • 未配置负载均衡,直接通过任务公网IP访问;将相同任务定义切换至eu-west-1区域部署时服务运行完全正常,故障仅在eu-central-1区域复现
  • 任务定义核心配置:awsvpc网络模式,Fargate兼容配置,端口映射为容器80/TCP绑定主机80端口,awslogs日志驱动配置指向eu-central-1区域的CloudWatch日志组myapp,容器未配置本地健康检查

高概率根因与修复方案

按照故障匹配度从高到低排序:

  • eu-central-1区域平台层ENI路由老化异常
    该故障与eu-central-1曾出现的Fargate平台问题完全匹配:任务ENI分配的公网IP对应的平台路由条目存在120秒的固定老化周期,且无自动续期逻辑。初始路由条目有效期内流量可正常通行,条目老化后没有续写逻辑,导致公网流量无法到达任务ENI;由于任务运行在平台托管的隔离环境中,容器进程、资源使用完全正常,不会触发日志报错或任务重启。
    修复操作:
    • 为容器定义添加本地健康检查配置,平台通过持续探测容器端口状态自动触发ENI路由续期,示例配置:
      "healthCheck": {
        "command": ["CMD-SHELL", "curl -f http://localhost/ || exit 1"],
        "interval": 60,
        "timeout": 5,
        "retries": 2,
        "startPeriod": 30
      }
      
    • 若添加健康检查后仍未恢复,可向AWS Support反馈该区域的公网路由异常,获取平台侧的修复策略
  • 安全组会话状态超时不匹配
    Fargate ENI关联的安全组对已建立TCP会话的状态跟踪默认超时为120秒。如果初始访问完成后没有持续的流量,会话表条目老化后,后续新的访问请求因为无法匹配对应的会话状态,会被安全组直接丢弃。
    排查操作:确认安全组入方向规则明确允许0.0.0.0/0到任务80端口的TCP流量,不要仅依赖已建立会话的匹配规则;检查是否存在自定义的过短会话超时配置。
  • 日志投递阻塞影响数据面流量
    若CloudWatch日志客户端因为权限不足、日志组不存在、网络不通等原因持续重试投递日志,虽然不会打满CPU、内存资源,但会占用任务的管理通道带宽,挤占公网数据面的转发资源,导致流量无法正常通行。
    排查操作:确认executionRole拥有对应eu-central-1区域CloudWatch日志组myapp的写入权限,日志组已提前创建,无投递失败的重试堆积。

内容的提问来源于stack exchange,提问作者Héctor Valls

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.06 00:45:06