使用ECS动态端口映射时目标组端口异常问题排查咨询
ECS动态端口映射注册错误问题根因排查
以下是符合你场景的几个核心故障原因:
- Target Group未正确关联ECS自动注册逻辑
当ECS使用bridge网络模式+动态hostPort(值为0)时,绝对不能手动将EC2实例注册到目标组,也不能在目标组配置中指定固定流量端口覆盖。必须在ECS服务的负载均衡配置中直接绑定目标组,由ECS控制平面自动将任务启动后分配的动态宿主机端口上报到目标组完成注册。如果存在手动注册的固定端口条目,就会出现你遇到的同一实例下同时存在健康/不健康两条注册记录的问题。 - 旧版本任务的注册条目残留未清理
你修改task definition将hostPort改为0之前,旧版本任务使用固定hostPort注册到目标组,滚动更新过程中ECS控制平面未正常触发旧注册条目的注销逻辑,导致旧条目残留。你可以先手动注销所有固定端口的不健康条目,后续新部署的任务不会再生成错误注册项。 - ECS任务执行角色权限缺失
你使用的ECS任务执行角色(Task Execution Role)的IAM策略必须包含elasticloadbalancing:RegisterTargets和elasticloadbalancing:DeregisterTargets两个权限,否则ECS控制平面没有权限更新目标组的注册信息,会出现注册端口错误、旧条目残留的问题。 - 健康检查类型修改后的同步延迟
刚将健康检查类型从ELB调整为EC2后,ALB侧的注册信息、健康检查状态同步存在最长2分钟的延迟,旧的不健康条目不会被立即清理,等待同步完成后残留条目会自动消失,如果未消失手动注销即可。
内容的提问来源于stack exchange,提问作者Flyce
相关产品推荐
相关产品推荐

