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

如何查看ECS服务创建日志?部署Rails应用遇配置问题需排查

ECS服务部署日志排查步骤

以下是针对ECS服务创建失败的核心排查日志路径:

1. 查看失败任务的容器日志

这是排查启动问题最直接的方式:

  • 登录ECS控制台,进入目标集群的任务标签页,筛选出STOPPED/FAILED状态的任务,点击任务ID进入详情
  • 在任务详情的容器模块,点击对应容器名称,切换到日志标签,这里会展示容器启动时的stdout/stderr输出(前提是任务定义配置了日志驱动)
  • 如果未配置日志驱动,需要先在任务定义的容器配置中添加logConfiguration:指定awslogs驱动,配置对应的日志组、区域和流前缀,确保容器日志能输出到CloudWatch

2. 直接查看CloudWatch日志组

  • 打开CloudWatch控制台,找到任务定义中指定的日志组,查看最新的日志流,里面会包含镜像拉取失败、Rails启动报错、环境变量缺失等关键信息

3. 查看任务级别的事件详情

  • 在ECS任务详情页的事件标签,会记录任务生命周期的具体错误,比如:
    • 镜像拉取失败(如镜像不存在、ECR权限不足)
    • 安全组端口未开放导致无法健康检查
    • 任务执行角色权限缺失

4. 验证IAM权限

  • 检查ECS任务执行角色是否具备必要权限:
    • 拉取ECR镜像的权限(可附加AmazonEC2ContainerRegistryReadOnly托管策略)
    • 写入CloudWatch日志的权限(可附加CloudWatchLogsFullAccess或自定义细粒度策略)
    • 可通过命令行验证:aws iam simulate-principal-policy --policy-source-arn <任务执行角色ARN> --action-names ecr:GetDownloadUrlForLayer ecr:BatchGetImage logs:CreateLogStream logs:PutLogEvents

5. 排查网络配置问题

  • 确认任务使用的安全组开放了Rails应用的端口(如3000)以及容器健康检查端口
  • 检查任务所在子网是否有互联网访问能力(若需拉取公网镜像,需配置NAT网关)
  • 验证端口映射配置:主机端口与容器端口是否冲突,是否正确映射

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 19:52:09