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

AWS ECS中Spring微服务Pet任务映射错误目标组问题咨询

看起来你遇到了ECS部署Spring微服务后,Pet服务访问404的问题,我帮你梳理下排查和解决的思路:

问题梳理

先明确下已知的关键信息:

  • 两个微服务(Pets、Owners)都是从同一MySQL取数的Spring应用,部署在ECS的两个独立任务,主机端口分别映射32768和32769
  • Owners服务通过ELB访问http://{elb-dns}/owner正常,但Pets服务访问http://{elb-dns}/pet返回404
  • 已经确认Pet任务被关联到了错误的Target Group(TG)
  • 从你提供的CLI输出看,ECS集群vets状态正常,有2个活跃服务;Target Group vets0-tg已经关联到了vets-elb
排查与解决步骤

1. 确认ECS服务和Target Group的绑定关系

首先得明确Pet对应的ECS服务是不是真的绑错了TG,执行这条命令查看Pet服务的详情:

aws ecs describe-services --cluster vets --services <你的Pet服务名称> --region us-west-2

重点看输出里的loadBalancers字段,检查targetGroupArn是不是和你预期的Pet服务TG一致(毕竟Owners用了vets0-tg,Pet应该有自己独立的TG才对)。

2. 检查ELB的监听器规则

如果两个服务要通过同一个ELB的不同路径(/pet和/owner)转发,ELB必须配置对应的路径规则,把不同请求转发到各自的TG:

  • 先确认是否存在Pet服务对应的专属TG(你目前只列出了vets0-tg,可能漏掉了Pet的TG)
  • 执行以下命令查看ELB的监听器和规则:
# 先获取监听器ARN
aws elbv2 describe-listeners --load-balancer-arn arn:aws:elasticloadbalancing:us-west-2:224265390743:loadbalancer/app/vets-elb/5643eac9e4d51da0 --region us-west-2

# 用上面得到的监听器ARN查看规则
aws elbv2 describe-rules --listener-arn <上一步得到的listener-arn> --region us-west-2

检查是否有规则把/pet*开头的请求转发到Pet的TG,/owner*转发到vets0-tg。如果没有这个规则,就得补上。

3. 验证Pet任务的端口映射与健康检查

就算绑对了TG,还要确认两个关键点:

  • Pet任务的端口映射是否正确:执行命令查看Pet任务的详情,检查containers[].networkBindings里的主机端口(32768)和容器端口是否匹配你的Spring应用端口:
aws ecs describe-tasks --cluster vets --tasks <你的Pet任务ID> --region us-west-2
  • 健康检查是否匹配:当前vets0-tg的健康检查路径是/,如果Pet服务的健康检查端点不是/(比如是/pet/health),那TG会认为Pet任务不健康,不会转发流量。这种情况需要修改对应TG的HealthCheckPath。

4. 修复ECS服务与TG的绑定

如果确认是ECS服务绑错了TG,用这条命令更新服务的负载均衡配置:

aws ecs update-service --cluster vets --service <你的Pet服务名称> --load-balancers targetGroupArn=<正确的Pet服务TG的ARN>,containerName=<Pet容器名称>,containerPort=<Pet容器内部端口> --region us-west-2

更新后,ECS会重新部署Pet任务,把它注册到正确的TG里。

5. 最终验证

完成上面的步骤后,做两个验证:

  • 查看Pet对应的TG的目标状态,确认Pet任务是healthy:
aws elbv2 describe-target-health --target-group-arn <正确的Pet服务TG的ARN> --region us-west-2
  • 再次访问http://{elb-dns}/pet,确认是否返回预期数据。
总结

核心问题大概率是ECS服务和Target Group的绑定错误,或者ELB缺少/pet路径的转发规则,按照上面的步骤逐一排查,应该就能解决问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 04:03:33