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

无法部署AWS ECS服务:部署失败求助

ECS部署nginxdemos/hello失败&503错误排查方向

1. 任务定义基础配置核查

  • 端口映射确认:nginxdemos/hello默认暴露80端口,需确保任务定义中容器的80端口已映射到主机端口(如30000),且服务负载均衡配置里的目标组端口与该主机端口一致。
  • 镜像地址校验:检查任务定义的容器镜像地址是否为nginxdemos/hello(注意拼写,避免类似nginex的笔误),公共镜像无需额外权限,但Fargate模式下需确保执行角色具备拉取公共镜像的出站权限。
  • 资源分配检查:给任务分配至少0.25vCPU和0.5GB内存,避免因资源不足导致容器启动失败。

2. 容器启动日志分析

找到集群中失败的任务,查看CloudWatch容器日志,排查是否存在镜像拉取失败、端口占用、权限限制等启动报错。本地能正常运行不代表AWS环境无限制,比如SELinux策略、网络拦截等都可能导致启动失败。

3. 负载均衡与目标组配置检查

  • 健康检查配置:目标组健康检查路径需设为HTTP:80/(对应容器80端口或主机映射端口),若路径错误会导致目标被标记为不健康,LB返回503。
  • 目标注册状态:查看目标组的注册目标,确认EC2实例(EC2模式)或Fargate任务ENI的状态是否为healthy,unhealthy状态优先排查健康检查和容器启动情况。
  • LB监听规则:确认负载均衡监听规则已正确指向目标组,比如HTTP 80端口流量是否转发至对应目标组,无错误路径规则。

4. 网络与安全组排查

  • 安全组规则:
    • 容器所在EC2实例/Fargate任务的安全组,需允许负载均衡安全组访问容器映射的主机端口。
    • 负载均衡安全组需允许外部流量访问80/443端口。
    • Fargate模式下,任务安全组需允许出站HTTPS 443流量以拉取Docker Hub镜像。
  • VPC子网配置:确认任务部署的子网具备公网访问能力(或配置NAT网关),Fargate模式需确保子网能分配公网IP或通过NAT访问公网。

5. ECS服务部署配置核查

  • 部署模式匹配:区分EC2/Fargate模式,Fargate需配置任务网络模式为awsvpc,EC2模式可使用bridge模式。
  • 服务期望任务数:确认服务期望任务数大于0,无自动伸缩规则导致任务被终止。
  • 任务停止原因:在服务“部署”标签下查看失败任务的停止原因,AWS会给出具体提示(如资源不足、网络错误等)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 18:03:18