9
votes

I am unable to mount EFS to EC@ instance. It fails with connection timed out error.

Steps used:

  1. Connected to Amazon EC2 instance using SSH
  2. created EFS
  3. Using DNS name in EFS trying to mount EFS on to the instance(using default security group)

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

3

3 Answers

13
votes

This guide is for mounting EFS to Ubuntu 18:

  1. Make sure the EFS is in the same Security Group as your EC2.
  2. In that Security Group, allow ingress, type NFS, TCP port 2049, and source public or internal IP.
  3. Run sudo apt-get install nfs-common
  4. Run 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. Run df -h to see if your EFS is mounted properly.
  6. Run sudo vim /etc/fstab and add the following: <your-efs-id>.efs.<zone>.amazonaws.com:/ /efs nfs4 nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 0 0. This is to make sure it's automount after reboot.
6
votes

In order to attach EFS to EC2 instance you need to make sure that the required packages are available. Follow the steps below to get the required packages installed and mounting 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 

Also make sure that EC2 instance have proper roles to get the EFS attached

0
votes

ending up in time out can have several reasons. Please check following:

  • security group and port is allowed on ec2 AND on network interface! Check for port 2049 (nmap -Pn -p 2049)
  • if there is ICMP allowed, you can also try to ping the ip address
  • in order to use DNS hostnames, it must be allowed in the VPC. But for troubleshooting, try the IP

if the network stuff is not working, check whether all your components are in place.

  • e.g. all your components are in the same subnet