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

AWS ECS Exec无法在Fargate启动shell:常规配置已排查仍报错

ECS Execute Command 报错排查补充方向

你已经完成了基础权限和任务配置的检查,以下是几个容易被忽略的排查方向:

1. 容器内ECS Execute Command Agent状态检查

ECS Execute Command依赖容器内的专属Agent运行:

  • 若使用Fargate:确认任务使用的是AWS官方ECS优化镜像(如amazonlinux:2或ecs-fargate-optimized),这类镜像默认内置Agent;
  • 若使用自定义镜像:需手动安装Agent,可在Dockerfile中添加安装步骤(以Amazon Linux 2为例):
    RUN amazon-linux-extras install -y ecs
    RUN systemctl enable --now ecs-execute-command-agent
    
  • 若能通过其他方式查看容器进程,可检查是否有ecs-execute-command-agent进程在运行。

2. 任务角色的信任关系验证

仅配置权限策略不够,任务角色的信任策略必须允许ECS任务服务扮演该角色,正确的信任策略应为:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "ecs-tasks.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

3. 网络连通性排查

Agent需要与AWS SSM服务建立HTTPS连接,需确认:

  • EC2类型任务:所在EC2实例的安全组允许出站HTTPS(443)到ssmmessages.<区域>.amazonaws.com;若使用VPC端点,需配置com.amazonaws.<区域>.ssmmessages类型的端点。
  • Fargate类型任务:任务所在安全组允许出站HTTPS,且VPC具备互联网访问能力(NAT网关或对应VPC端点)。

4. 确认任务是配置更新后启动的

即使describe-tasks显示enableExecuteCommand为true,仍需确认当前运行的任务是启用该配置后新启动的——旧任务不会自动应用新配置,需重新部署服务或启动新任务测试。

5. CLI版本与区域一致性检查

  • 升级AWS CLI到最新版本:旧版本可能存在兼容性问题,执行aws --version查看版本,用pip install --upgrade awscli(或对应系统包管理器)升级;
  • 确保命令中的--region与集群/任务所在区域完全一致,避免跨区域调用错误。

6. 容器日志排查

查看任务的CloudWatch日志,搜索关键词ecs-execute-command-agent,Agent的启动失败、权限错误或连接超时日志会直接暴露问题根源。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 23:07:30