Skip to content

Instantly share code, notes, and snippets.

@thelebster
Forked from ryanmaclean/ubuntu_mount_efs.md
Created July 6, 2024 14:22
Show Gist options
  • Save thelebster/38b82df59b0957287d83599bc708065a to your computer and use it in GitHub Desktop.
Save thelebster/38b82df59b0957287d83599bc708065a to your computer and use it in GitHub Desktop.
Mount EFS on Ubuntu Linux

EFS Mounting on Ubuntu

Get EFS ID

aws configure set preview.efs true
aws efs describe-file-systems --profile TEST --region us-east-2
{
    "FileSystems": [
        {
            "SizeInBytes": {
                "Timestamp": 71990.0, 
                "Value": 614
            }, 
            "Name": "Shared-Storage-TEST", 
            "CreationToken": "console-ac435345", 
            "CreationTime": 14723446.0, 
            "FileSystemId": "fz-83A2", 
            "NumberOfMountTargets": 2, 
            "LifeCycleState": "available", 
            "OwnerId": "3423349"
        }
    ]
}

To get only the ID: aws efs describe-file-systems \ --profile TEST \ --region us-east-1 | \ grep FileSystemId | \ cut -f 4- -d '"' | \ cut -f -1 -d '"'

Or with jq installed:

aws efs describe-file-systems --profile TEST --region us-east-1 | jq -r ".FileSystems[] | .FileSystemId"

Install NFS Client

sudo apt-get install nfs-common

Mount the EFS Storage

mkdir efs-mount-point
sudo mount -t nfs4 -o vers=4.1 $(curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone).file-system-id.efs.$(curl -s http://169.254.169.254/latest/dynamic/instance-identity/document|grep region|awk -F\" '{print $4}').amazonaws.com:/   ~/efs-mount-point

For example:

sudo mount -t nfs4 -o vers=4.1 $(curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone).fs-ebeb2f234242.efs.$(curl -s http://169.254.169.254/latest/dynamic/instance-identity/document|grep region|awk -F\" '{print $4}').amazonaws.com:/ ~/efs-mount-point2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment