如何解决ECS出现“STOPPED (VolumeError: Agent could not create task's volume resources)”报错
STOPPED (VolumeError: Agent could not create task's volume resources)
报错含义
该报错表示ECS容器代理在为新启动的任务创建、分配所需的卷资源时执行失败,最终触发任务停止逻辑。问题根源集中在存储资源配置、权限、配额层面,和任务内部的业务代码无关。
排查与修复方案
前置判断
如果使用Fargate启动类型,无需排查EC2实例相关配置,直接核对卷配置、访问权限即可;如果使用EC2启动类型,可按以下步骤逐一排查。
1. 绑定挂载(Bind Mount)配置排查
- 检查任务定义中指定的宿主机挂载路径是否真实存在,ECS Agent运行用户(通常为
ecs-agent或root)对该路径拥有读写权限 - 执行
df -h命令确认挂载路径所在的磁盘分区剩余空间充足,避免磁盘占满导致卷创建失败
2. EFS卷配置排查(如果任务使用EFS作为持久化卷)
- 确认ECS实例所在安全组开放了EFS的NFS端口(2049)入方向规则,同时EFS的安全组放行了ECS实例的访问请求
- 核对任务定义中配置的EFS文件系统ID、挂载点路径、访问点ID无拼写错误
- 确认EFS文件系统和ECS集群在同一VPC下,跨VPC访问需要预先配置VPC对等连接且路由规则正常
- 检查EFS文件系统没有处于已删除、已冻结的异常状态
3. EBS卷配置排查(如果任务使用EBS作为持久化卷)
- 确认EBS卷和待调度任务的ECS实例在同一个可用区,跨可用区无法直接挂载
- 确认EBS卷状态为可用(Available),没有被其他实例占用挂载
- 核对任务执行角色已添加
ec2:AttachVolume、ec2:DescribeVolumes等相关操作权限
4. Docker存储驱动与资源排查
- 登录ECS实例执行
docker info查看当前使用的存储驱动,确认和ECS AMI默认支持的存储驱动(Amazon Linux 2默认使用overlay2)匹配,未手动修改为不兼容的存储驱动 - 执行
docker system prune -a清理冗余的镜像、未使用的卷资源,释放存储池空间,避免存储资源耗尽
5. Windows ECS实例特殊排查
- 确认Windows实例上的Docker服务运行正常,无安全软件限制Docker的卷创建操作
- 检查宿主机盘符配额,确认分配的盘符未被占用
内容的提问来源于stack exchange,提问作者All Glenn
相关产品推荐
相关产品推荐

