You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ECS双端口映射任务仅注册NLB单个目标组问题排查

ECS任务仅注册至单个NLB目标组的问题分析与解决

问题场景

我的ECS服务容器配置了双端口映射:

"portMappings": [
    {
        "containerPort": 15672,
        "hostPort": 15672,
        "protocol": "tcp"
    },
    {
        "containerPort": 5672,
        "hostPort": 5672,
        "protocol": "tcp"
    }
]

搭配AWS Network Load Balancer(NLB)使用,配置了两个监听器:

  • 监听器1监听15672端口,关联目标组1
  • 监听器2监听5672端口,关联目标组2

但ECS任务启动后仅注册到目标组2,即便容器已暴露两个端口。已排查以下内容确认无误:

  • 监听器与目标组的关联配置正确
  • ECS服务容器定义包含双端口映射
  • 两个目标组的健康检查均配置为对应端口

核心原因

最常见的触发原因是ECS服务未同时关联两个目标组。ECS不会自动根据容器端口映射注册到所有相关目标组,必须在服务配置中明确指定要关联的每一个目标组。

其他次要可能原因:

  • 目标组1的注册来源未设置为当前ECS服务(比如为手动注册模式)
  • ECS任务执行角色缺少注册目标组的权限
  • 目标组1的健康检查规则虽端口正确,但服务未通过检查,导致注册后被标记为不健康,看起来像是未注册

解决步骤

1. 关联ECS服务到两个目标组

  • 进入AWS ECS控制台,定位到目标服务,打开「配置与路由」标签页
  • 在「负载均衡」模块点击「编辑」
  • 在「目标组」区域点击「添加目标组」,分别选择目标组1和目标组2
  • 为每个目标组匹配对应的容器端口:目标组1绑定容器端口15672,目标组2绑定容器端口5672
  • 保存配置后重新部署ECS服务

2. 确认目标组的注册来源设置

  • 进入AWS EC2控制台的「目标组」页面,选择目标组1
  • 查看「目标组属性」中的「注册来源」,确认已设置为「ECS服务」并关联当前ECS服务
  • 若为手动注册模式,切换为自动关联ECS服务,或手动添加ECS任务的IP+15672端口

3. 检查ECS任务执行角色权限

  • 进入AWS IAM控制台,找到该ECS服务使用的任务执行角色
  • 确保角色已附加AmazonECSTaskExecutionRolePolicy托管策略,或自定义策略包含以下权限:
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "elasticloadbalancing:RegisterTargets",
                    "elasticloadbalancing:DeregisterTargets",
                    "ecs:RegisterContainerInstance",
                    "ecs:DeregisterContainerInstance"
                ],
                "Resource": "*"
            }
        ]
    }
    

4. 验证目标组1的健康检查有效性

  • 在ECS任务所在的ECS实例上,手动测试目标端口服务状态:
    • TCP协议:执行telnet localhost 15672确认端口可连通
    • HTTP/HTTPS协议:执行curl http://localhost:15672/health(替换为实际健康检查路径)确认返回正常状态码
  • 调整健康检查的超时、间隔时间,避免因服务启动延迟导致初始健康检查失败

内容的提问来源于stack exchange,提问作者Ivan Yalovets

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 02:22:03