AWS ECS创建服务任务启动失败:卷挂载超时,求排查方案
ECS任务挂载EFS超时故障排查与解决
排查步骤
1. 补全容器实例安全组出站规则
仅配置EFS安全组的2049端口入站规则不够,需确保ECS容器实例的安全组允许NFS 2049端口的出站流量,目标可以是EFS的安全组ID,或者EFS所在VPC的CIDR段。
2. 验证EFS挂载目标覆盖范围
检查EFS是否在ECS集群容器实例所在的所有可用区都创建了挂载目标,且挂载目标的安全组配置了允许2049端口入站的规则。若容器实例所在可用区无对应挂载目标,会直接导致连接超时。
3. 测试容器实例与EFS的网络连通性
登录容器实例,执行以下命令测试连通性:
telnet <EFS挂载目标IP> 2049nc -zv <EFS挂载目标IP> 2049
如果连通失败,说明网络链路存在阻断。也可手动挂载EFS验证:
mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 <EFS文件系统ID>.efs.<区域>.amazonaws.com:/ /mnt/efs-test
根据手动挂载的报错信息进一步定位问题。
4. 检查IAM权限配置
确保ECS任务角色或容器实例角色拥有以下EFS权限:
elasticfilesystem:ClientMount(挂载权限)elasticfilesystem:ClientWrite(若需写入权限)
示例IAM策略:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "elasticfilesystem:ClientMount", "elasticfilesystem:ClientWrite" ], "Resource": "arn:aws:elasticfilesystem:<区域>:<账号ID>:file-system/<EFS文件系统ID>" } ] }
5. 确认EFS文件系统状态
在AWS控制台查看EFS文件系统状态,确保处于可用状态,排除文件系统本身故障的可能。
6. 核对任务定义的卷配置
检查任务定义中EFS卷的配置:
- 文件系统ID是否正确
- 容器内的挂载路径是否合法(无特殊字符、路径存在)
- NFS挂载选项是否符合AWS EFS要求(避免使用不支持的参数)
内容的提问来源于stack exchange,提问作者Dobryden Mykhailo
相关产品推荐
相关产品推荐

