AWS ECS EC2启动类型服务创建失败回滚问题求助
AWS ECS EC2启动类型服务创建失败(触发部署熔断)问题排查
问题描述
探索AWS ECS服务时,采用EC2启动类型创建集群、任务定义与服务,从AWS ECR拉取Docker镜像。集群与任务定义创建成功,但服务创建时长时间处于Create In Progress状态后失败并触发回滚,错误信息为:
Error occurred during operation 'ECS Deployment Circuit Breaker was triggered error in aws ecs
采用Fargate启动类型时服务可正常运行,但EC2启动类型下CloudWatch无日志输出。
应用Dockerfile
FROM node:latest as build WORKDIR /app RUN npm install -g @angular/cli COPY ./package.json . RUN npm install COPY . . RUN ng build --configuration production FROM nginx as runtime COPY --from=build /app/dist/helloworld/ /usr/share/nginx/html EXPOSE 80
已执行操作步骤
- 集群创建:支持EC2启动类型,选择Amazon Linux 2实例、t2.micro实例类型
- 任务定义:选择EC2启动类型、Linux/x86_64,配置0.5 vCPU、1GB内存,指定ECR镜像并映射80端口,网络模式为awsvpc
- 服务创建:选择EC2启动类型、应用类型服务,指定已创建的任务定义家族,服务类型为replica,期望任务数1
已尝试的排查手段
- 使用根用户创建,排除权限角色问题
- 创建支持Fargate/EC2的集群,使用Fargate创建服务(含/不含应用负载均衡)仍失败
- 检查内存配置是否超出t2.micro实例上限
- 配置健康检查路径
- 检查端口映射与HTTP协议
- 核对ECR仓库路径
- 检查安全组权限
- 核对EC2启动类型的集群与任务定义
排查方法与解决指导
1. EC2实例资源与兼容性检查
- 调整任务资源配置:t2.micro实例总内存为1GB,任务配置1GB内存会耗尽实例资源,需将任务内存下调至512MB或更低,预留部分内存给ECS Agent和系统进程。
- 检查ECS Agent状态:登录EC2实例,执行
sudo systemctl status ecs确认Agent是否正常运行;若未启动,执行sudo systemctl start ecs,并查看/var/log/ecs/ecs-agent.log日志排查启动失败原因。 - 验证架构匹配:确保EC2实例为x86_64架构(与任务定义的Linux/x86_64一致),避免arm架构实例运行x86镜像的兼容性问题。
2. awsvpc网络模式配置验证
- 安全组规则:任务所属安全组需允许出站443端口访问ECR,同时允许健康检查的入站/出站流量。
- 网络连通性:若EC2实例在私有子网,需确保VPC配置了NAT网关;若在公有子网,需实例分配公网IP,保证实例能访问ECR、CloudWatch等AWS服务。
- 子网与安全组绑定:确认任务配置中指定了正确的子网和安全组,避免网络隔离导致镜像拉取或任务启动失败。
3. 部署熔断触发原因分析
- 查看服务事件日志:在ECS控制台服务详情页的Events标签,查看具体失败事件(如镜像拉取超时、资源不足、健康检查失败等),这是最直接的故障线索。
- 检查任务停止原因:在ECS控制台Tasks页面,找到失败的任务,查看
Stopped reason字段,明确故障类型。 - 手动启动任务测试:跳过服务,直接用任务定义启动单个任务,若任务能启动,问题可能出在服务部署配置(如健康检查、负载均衡);若仍失败,聚焦任务本身配置。
4. 镜像与权限验证
- 手动拉取镜像测试:在EC2实例上执行
docker pull <ECR镜像URI>,验证是否能成功拉取,排查权限或网络问题。 - 检查任务执行角色权限:确保任务执行角色具备
AmazonEC2ContainerRegistryReadOnly权限,即使使用根用户创建,任务仍需该权限拉取ECR镜像。
5. 健康检查与部署配置调整
- 调整健康检查参数:将健康检查的初始延迟设置为30秒以上(Angular应用启动需要时间),超时时间设为10秒,间隔时间设为5秒,避免因启动延迟触发熔断。
- 临时关闭部署熔断:在服务配置中暂时关闭部署熔断(仅用于排查),若任务能启动,说明是健康检查或启动延迟导致的熔断,再针对性调整配置。
内容的提问来源于stack exchange,提问作者Mr.DevEng
相关产品推荐
相关产品推荐

