挂载AWS EFS报错:No address associated with hostname 求解决指导
解决EFS挂载时的DNS解析失败问题
问题描述
我创建了EC2实例和EFS文件系统,执行挂载命令:
sudo mount -t nfs4 fs-0d06d36f390aeXXXX.efs.us-east-2.amazonaws.com:/myDir
遇到错误:
mount.nfs4: Failed to resolve server fs-0d06d36f390aeXXXX.efs.us-east-2.amazonaws.com: No address associated with hostname
解决步骤
确认EC2与EFS的区域一致性
必须保证EC2实例和EFS文件系统处于同一AWS区域(此处为us-east-2)。跨区域挂载需要额外配置VPC对等连接或访问点,默认仅同区域支持直接解析EFS域名。检查VPC与子网的DNS配置
- 进入VPC控制台,找到EC2实例所属的VPC,编辑DNS属性,确保「启用DNS解析」和「启用DNS主机名」均设置为「是」。
- 查看EC2实例所在子网的路由表,确认存在指向VPC默认DNS服务器(通常为VPC网段的第二个IP,如10.0.0.2)的路由,未被自定义DNS服务器覆盖。
测试DNS解析有效性
在EC2实例上执行以下命令,验证EFS域名的解析情况:nslookup fs-0d06d36f390aeXXXX.efs.us-east-2.amazonaws.com若返回「NXDOMAIN」或无地址信息,说明DNS解析异常:
- 可将EC2实例的DNS服务器改为VPC默认DNS地址;
- 检查安全组或网络ACL是否阻止了UDP 53端口的DNS请求。
验证EFS的挂载目标配置
- 确认EFS文件系统已在EC2实例所在子网创建挂载目标,且挂载目标的安全组允许EC2实例安全组访问TCP 2049端口(NFS服务端口)。
- 检查EFS的生命周期状态为「可用」,排除创建中或故障状态的影响。
使用EFS挂载助手简化操作
安装AWS官方提供的EFS挂载助手,自动处理DNS解析和权限配置:# Amazon Linux/RHEL系统 sudo yum install -y amazon-efs-utils # Ubuntu/Debian系统 sudo apt-get install -y amazon-efs-utils执行挂载:
sudo mount -t efs fs-0d06d36f390aeXXXX:/myDir /mnt/your-mount-point
内容的提问来源于stack exchange,提问作者Ezequiel Jaramillo
相关产品推荐
相关产品推荐

