5.61 What is the EFS

In this lesson we cover Amazon Elastic File System (EFS). EFS is essentially NFS managed by AWS: a network file system you can mount on many EC2 instances simultaneously. Contrary to EBS, EFS works across multiple availability zones, so the same resource can be shared by EC2 instances spread across multiple AZs. EFS is highly elastic and resizes automatically as you add data. It is more expensive than EBS (around 3× the price of gp2) and is billed per usage — you only pay for what you store and read.

Key characteristics

  • Protocol: NFS v4 standard, Linux POSIX only — does not work on Windows.
  • Access control via security groups.
  • Encryption at rest using AWS KMS.
  • Automatic scaling — capacity grows as data grows, no planning required.
  • Up to thousands of concurrent client connections at 10+ Gbps.
  • Two performance modes: General Purpose (low latency, default) and Max I/O (higher throughput for big data / large parallel workloads).

EFS supports two throughput modes: Bursting, where throughput scales with stored size (about 75 MB/s per TB, with credits), and Provisioned, where you set a fixed throughput regardless of size. Storage classes (Standard vs Infrequent Access) let you set lifecycle policies: files not accessed for N days move automatically to the cheaper IA tier, with a small retrieval cost when accessed again.

Typical use cases for EFS: shared content management, hosting multi-server WordPress sites, distributing assets across web servers, sharing data across data processing pipelines. Anywhere you need a single shared filesystem visible from multiple Linux EC2 instances in multiple AZs, EFS is the canonical AWS solution. In the next lab we will create an EFS, mount it on two EC2 instances in different AZs, and observe that files written from one machine appear instantly on the other.

Summary

Amazon EFS (Elastic File System) is a managed NFS protocol service that enables multiple EC2 instances across different availability zones to mount and share the same network file resource. Unlike EBS volumes, EFS automatically scales storage capacity based on actual usage and charges you only for what you consume, making it ideal for distributed applications requiring shared access to files.

Key points

  • EFS is a managed NFS service supporting multi-instance access across availability zones with automatic scaling and pay-as-you-go pricing
  • Two performance modes available: General Purpose (default, suitable for web servers and content management) and Max Performance (for big data and parallel processing with higher throughput and lower latency)
  • Security groups control access, and EFS supports NFSv4 protocol; compatible with Linux-based distributions only, not Windows
  • Lifecycle management enables automatic tiering of infrequently accessed files to cheaper storage tiers while maintaining quick retrieval
  • Supports massive concurrent connections (1,000+ clients simultaneously) with throughput exceeding 10 Gbps and auto-scaling up to petabyte-scale storage

FAQ

What is the difference between EFS and EBS (GP2 volumes)?

EBS GP2 is block storage with fixed provisioned capacity you must plan upfront and pay for regardless of usage. EFS is shared file storage with automatic scaling and pay-as-you-go pricing, allowing you to avoid capacity planning and reduce costs for variable workloads.

What are the two performance modes in EFS and when should I use each?

General Purpose mode (default) is suitable for content management, web servers, and standard applications with normal latency tolerance. Max Performance mode is designed for latency-sensitive applications and big data workloads, offering higher throughput and lower latency for parallel processing.

Can EFS be used on Windows instances?

No. EFS is based on the NFSv4 standard and only works with Linux-based distributions. It is not compatible with Windows instances.