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

如何查看ECS Fargate集群中容器的内部运行日志?

Fargate容器登录及日志查看方案

核心说明

Fargate是AWS托管的无服务器容器运行环境,你无法直接SSH登录底层宿主节点,但支持直接进入运行中的容器内部,同时也有更便捷的无需登录的日志查看方式。

一、直接登录Fargate容器操作方法

前置要求

  • 容器运行在Linux Fargate上,平台版本≥1.4.0,Windows Fargate暂不支持该功能
  • 任务定义中已开启enableExecuteCommand配置
  • 你使用的IAM身份有ecs:ExecuteCommand权限,任务执行角色已配置SSM服务相关权限
  • 已安装配置好AWS CLI

操作命令

执行以下命令即可进入容器交互式shell:

aws ecs execute-command \
  --cluster <你的ECS集群名称> \
  --task <目标任务的ID> \
  --container <目标容器的名称> \
  --interactive \
  --command "/bin/sh"

如果你的容器镜像自带bash,可将/bin/sh替换为/bin/bash。进入容器后即可直接操作内部文件、查看本地日志。

二、查看SpringBoot应用日志方案

方案1:无需登录容器(推荐)

绝大多数场景不需要进容器看日志,你只需要在任务定义的容器日志配置中选择awslogs日志驱动,配置对应的CloudWatch日志组和流前缀,Fargate会自动把容器的stdout/stderr输出同步到CloudWatch Logs。SpringBoot默认会把日志输出到stdout,配置完成后直接在CloudWatch控制台就能搜索、筛选所有应用日志,还能配置告警。

方案2:登录容器查看本地日志

如果你的SpringBoot日志是单独输出到容器内的指定文件,没有同步到stdout,可以用上面的exec命令进入容器后,用常规Linux命令查看日志,比如:
tail -f /path/to/your/springboot/application.log

常见问题排查

  • 执行exec命令报错的话,优先检查任务是否已经开启enableExecuteCommand、平台版本是否符合要求、IAM权限是否配置正确
  • 旧的运行中任务如果没有开启exec功能,需要更新任务定义重新部署后才能使用
  • 已经停止的任务无法使用exec功能,停止前的日志如果已经配置了awslogs驱动依然可以在CloudWatch查看

内容的提问来源于stack exchange,提问作者Anil Kumar Keshavamurthy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 17:54:04