无法在 EC2 实例上挂载 EFS; 'connection timed out'错误



我无法将 EFS 挂载到 EC2 实例。它失败并显示"连接超时"错误。

使用的步骤:

  1. 使用 SSH 连接到 Amazon EC2 实例

  2. 创建了 EFS

  3. 在 EFS 中使用 DNS 名称尝试将 EFS 挂载到实例上(使用默认安全组(

    sudo mount fs-0a9a08a3.efs.us-west-2.amazonaws.com://usr/local/mousetrap/remote

我该如何解决这个问题?

本指南用于将 EFS 挂载到 Ubuntu 18:

  1. 确保 EFS 与您的 EC2 位于同一安全组中。
  2. 在该安全组中,允许ingress 、键入 NFS 、TCP 端口2049 以及源公共或内部 IP。
  3. 运行sudo apt-get install nfs-common
  4. 运行sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport <your-efs-id>.efs.<zone>.amazonaws.com:/ /efs
  5. 运行df -h以查看您的 EFS 是否正确安装。
  6. 运行sudo vim /etc/fstab并添加以下内容:<your-efs-id>.efs.<zone>.amazonaws.com:/ /efs nfs4 nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 0 0 .这是为了确保它在重新启动后自动挂载。

为了将 EFS 附加到 EC2 实例,您需要确保所需的软件包可用。按照以下步骤安装并挂载 EFS 所需的软件包。

sudo yum install -y amazon-efs-utils
# For centos:-
sudo yum install -y nfs-utils
# For Ubuntu:- 
sudo apt-get install nfs-common

sudo mkdir efs
sudo mount -t efs fs-2c222222:/ efs
# For encrypted EFS:
sudo mount -t efs -o tls fs-2c222222:/ efs
fs-2c222222:/ /home/ec2-user/mongodb efs defaults,_netdev 0 0 

还要确保 EC2 实例具有适当的角色,以获取具有所需权限的附加 EFS 安全组

最终超时可能有几个原因。请检查以下内容:

  • EC2 和网络接口上允许安全组和端口!检查端口 2049 (nmap -Pn -p 2049(
  • 如果允许 ICMP,您也可以尝试 ping IP 地址
  • 要使用 DNS 主机名,必须在 VPC 中允许它。但要进行故障排除,请尝试使用 IP

如果网络不工作,请检查所有组件是否到位。

  • 例如,您的所有组件都位于同一子网中

相关内容

最新更新