Amazon Elastic File System
User Guide

Mounting Your Amazon EFS File System Automatically

You can use fstab to automatically mount your Amazon EFS file system using the mount helper whenever the Amazon EC2 instance it is mounted on reboots. For more information on the mount helper, see EFS Mount Helper. You can set up automatic mounting in two ways. You can update the /etc/fstab file in your EC2 instance after you connect to the instance for the first time, or you can configure automatic mounting of your EFS file system when you create your EC2 instance.

Configuring EC2 Instances to Mount an EFS File System at Instance Launch

When you create a new EC2 Linux instance, you can configure it to mount your Amazon EFS file system automatically when it is first launched, and whenever the instance restarts.

Before you perform this procedure, make sure that you have created your Amazon EFS file system. For more information, see Step 1: Create Your Amazon EFS File System in the Amazon EFS Getting Started exercise.

Note

You can't use Amazon EFS with Microsoft Windows–based Amazon EC2 instances.

Before you can launch and connect to an Amazon EC2 instance, you need to create a key pair, unless you already have one. Follow the steps in Setting Up with Amazon EC2 in the Amazon EC2 User Guide for Linux Instances to create a key pair. If you already have a key pair, you can use it for this exercise.

To configure your EC2 instance to mount an EFS file system automatically at launch

  1. Open the Amazon EC2 console at https://console.aws.amazon.com/ec2/.

  2. Choose Launch Instance.

  3. In Step 1: Choose an Amazon Machine Image (AMI), find an Amazon Linux AMI at the top of the list and choose Select.

  4. In Step 2: Choose an Instance Type, choose Next: Configure Instance Details.

  5. In Step 3: Configure Instance Details, provide the following information:

    • For Network, choose the entry for the same VPC that the EFS file system you're mounting is in.

    • For Subnet, choose a default subnet in any Availability Zone.

    • For File systems, choose the EFS file system that you want to mount. The path shown next the file system ID is the mount point that the EC2 instance will use, which you can change. Choose Add to user data to mount the file system when the EC2 is launched.

    • Under Advanced Details, confirm that the user data is present in User data.

  6. Choose Next: Add Storage.

  7. Choose Next: Add Tags.

  8. Name your instance and choose Next: Configure Security Group.

  9. In Step 6: Configure Security Group, set Assign a security group to Select an existing security group. Choose the default security group to make sure that it can access your EFS file system.

    You can't access your EC2 instance by Secure Shell (SSH) using this security group. For access by SSH, later you can edit the default security and add a rule to allow SSH or a new security group that allows SSH. You can use the following settings:

    • Type: SSH

    • Protocol: TCP

    • Port Range: 22

    • Source: Anywhere 0.0.0.0/0

  10. Choose Review and Launch.

  11. Choose Launch.

  12. Select the check box for the key pair that you created, and then choose Launch Instances.

Your EC2 instance is now configured to mount the EFS file system at launch and whenever it's rebooted.

Updating an Existing EC2 Instance to Mount Automatically

To automatically remount your Amazon EFS file system directory when the Amazon EC2 instance reboots, you can use the file fstab. The file fstab contains information about file systems, and the command mount -a, which runs during instance startup, mounts the file systems listed in the fstab file.

Note

Before you can update the /etc/fstab file of your EC2 instance, make sure that you've already created your Amazon EFS file system. For more information, see Step 1: Create Your Amazon EFS File System in the Amazon EFS Getting Started exercise.

To update the /etc/fstab file in your EC2 instance

  1. Connect to your EC2 instance, and open the /etc/fstab file in an editor.

  2. Add the following line to the /etc/fstab file.

    fs-12345678:/ /mnt/efs efs defaults,_netdev 0 0

    Warning

    Use the _netdev option, used to identify network file systems, when mounting your file system automatically. If _netdev is missing, your EC2 instance might stop responding. This result is because network file systems need to be initialized after the compute instance starts its networking. For more information, see Automatic Mounting Fails and the Instance Is Unresponsive.

  3. Save the changes to the file.

Your EC2 instance is now configured to mount the EFS file system whenever it restarts.

Note

If your Amazon EC2 instance needs to start regardless of the status of your mounted Amazon EFS file system, add the nofail option to your file system's entry in your /etc/fstab file.

The line of code you added to the /etc/fstab file does the following.

Field Description

fs-12345678:/

The ID for your Amazon EFS file system. You can get this ID from the console or programmatically from the CLI or an AWS SDK.

/mnt/efs

The mount point for the EFS file system on your EC2 instance.

efs

The type of file system. When you're using the mount helper, this type is always efs.

mount options

Mount options for the file system. This is a comma-separated list of the following options:

  • defaults – This value tells the operating system to use the default mount options, which you can list after the file system has been mounted by viewing the output of the mount command.

  • _netdev – The value tells the operating system that the file system resides on a device that requires network access. This option prevents the instance from mounting the file system until the network has been enabled on the client.

  • You can replace defaults here with tls to enable encryption of data in transit.

0

A nonzero value indicates that the file system should be backed up by dump. For EFS, this value should be 0.

0

The order in which fsck checks file systems at boot. For EFS file systems, this value should be 0 to indicate that fsck should not run at startup.