Elastic File System (EFS)

Amazon EFS is an implementation of the Network File System (NFSv4) delivered as a service. File systems can be created and mounted on multiple Linux instances at the same time. Use EFS when you need a “file system” that can be accessed from multiple instances (e.g., shared media, home folders, documentation, shared logs).

1. Highly available, scalable file system:

    • Spans multiple Availability Zones
    • Throughput for parallel workloads:  Big Data, Analytics, Media Processing, Content Management, Web Serving

2. Shared data store that can be mounted to multiple EC2 instances or on-premises servers:

    • For on-premises servers, use AWS Direct Connect or AWS VPN

3. Linux-only;  Windows is not supported

4. Two performance modes:

    • General Purpose – the default and suitable for 99% of needs)
    • Max I/O – designed for when a large number of instances [as in, hundreds] need to access the file system. Scales throughput and IOPS (slightly higher latencies)

5. Bursting:

    • Burst to 100 MiB/s for any size file system
    • Larger than 1 TiB = bursting 100 MiB/s per TiB of data stored
    • Credit system: Earns credits at 50 MiB/s per TiB of data stored

6. Security groups should be used to control NFS traffic

    • Use the EC2 security group as the source

7. Supports encryption at rest and in transit

8. Storage classes and lifecycle management:

    • Standard
    • Infrequent Access (IA)
    • Lifecycle management automatically moves files to IA not accessed for 30 days


  • Its base entity is a file system.
  • The file system is accessed via “mount targets” that are placed in subnets inside a VPC and have an IP address. The file system is “mounted” on Linux instances
  • File systems are accessible from a VPC or from on-premises locations via a VPN or Direct Connect.


CloudWatch Metrics

  • BurstCreditBatance
  • ClientConnections
  • DataReadI0Bytes
  • DataWriteI0Bytes
  • MetadataI0Bytes
  • PercentIOLimit
  • PermittedThroughput
  • TotalI0Bytes

EFS metric data is sent to CloudWatch at one-minute intervals and retained for 15 months.