【问题标题】:Unable to mount EFS on EC2 instance; 'connection timed out' error无法在 EC2 实例上挂载 EFS; “连接超时”错误
【发布时间】:2018-04-10 21:06:29
【问题描述】:

我无法将 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

我该如何解决这个问题?

【问题讨论】:

    标签: amazon-web-services amazon-ec2 amazon-efs


    【解决方案1】:

    本指南用于将 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。这是为了确保它在重启后自动挂载。

    【讨论】:

      【解决方案2】:

      为了将 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、具有所需权限的安全组

      【讨论】:

        【解决方案3】:

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

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

        如果网络无法正常工作,请检查您的所有组件是否都已到位。

        • 例如您的所有组件都在同一个子网中

        【讨论】:

          猜你喜欢
          • 2021-10-02
          • 2017-07-11
          • 1970-01-01
          • 2019-03-31
          • 1970-01-01
          • 1970-01-01
          • 2017-07-25
          • 2020-03-13
          • 2011-06-18
          相关资源
          最近更新 更多