Amazon EFS
Amazon EFS (Elastic File System) is a fully managed NFSv4 file system. You create it in your VPC, mount it on as many EC2 instances or containers as you want, and they all see the same files at the same time — the shared-filesystem counterpart to single-instance EBS.
EFS grows and shrinks automatically with no capacity to pre-allocate, and it spans multiple Availability Zones by default, surviving a single data-center failure. It fits any workload where many machines share files: web farms, content management, build servers.
Key Concepts
A file system is the top-level object; a mount target is its network endpoint in each AZ, through which instances in that AZ mount it; an access point is a logical entry with its own root path and user identity, useful for multi-tenant or per-container isolation.
Storage classes (Standard, Infrequent Access, Archive) mirror S3's cost tiers, and throughput modes range from Bursting to Elastic to Provisioned.
Performance and Storage Classes
Elastic Throughput is the default and right for almost everyone — it supplies the throughput the workload actually uses with no tuning. The General Purpose performance mode suits nearly all cases; Max I/O trades slightly higher latency for very high parallelism across thousands of clients.
Lifecycle Management moves files to Infrequent Access after ~30 days unread and to Archive after ~90 — invisible to applications. By default files stay in the colder class even when read; to promote them back to Standard on first access, enable the optional Transition into Standard policy (EFS Intelligent-Tiering).
Pricing
You pay for storage per GB-month by class, optional Provisioned throughput, and a small per-request fee when reading cold IA or Archive files. Standard storage costs more per GB than EBS, but the price includes multi-AZ redundancy and shared multi-host access — often cheaper than running a self-managed NFS server.
EFS — a shared Linux/NFS file system across many instances and AZs. The default for shared POSIX files on AWS.
EBS — a single-instance block disk — faster and cheaper per GB, but mounted by one instance at a time.
FSx — specialized engines — Windows SMB, Lustre, NetApp, OpenZFS — when you need that protocol or feature set.
- Using EFS for a single-instance workload — EBS is faster and cheaper per GB when only one host needs the data.
- Reaching for EFS to serve Windows SMB shares — use FSx for Windows File Server instead.
- Leaving Lifecycle Management off, so cold files sit in Standard at full price.
- Hand-crafting NFS mount options instead of using AWS's recommended
nfs4mount command, hurting reliability and performance. - Skipping access points in multi-tenant or container setups, losing per-app root and UID isolation.
- Forgetting encryption in transit — at-rest encryption is free and automatic, but in-transit needs the right mount options or efs-utils.
- Use Elastic Throughput unless you have a specific, measured reason not to.
- Enable Lifecycle Management to tier cold files to IA and Archive automatically.
- Mount with AWS's recommended NFS options for reliability and performance.
- Use access points to isolate multi-tenant or per-container access by root path and UID.
- Enable encryption at rest (free) and in transit for sensitive data.
Knowledge Check
What is the defining capability of EFS compared with EBS?
- Many instances across multiple AZs can mount and share the same files at the same time
- It delivers lower single-digit-millisecond latency than any EBS volume type
- It stores objects reachable over HTTP through a public bucket endpoint, exactly like S3 does
- It is always cheaper per GB than even a comparable gp3 EBS volume of the same size
Which throughput mode does AWS recommend for most EFS workloads?
- Elastic Throughput — it supplies what the workload uses with no tuning
- Provisioned Throughput — reserve a fixed guaranteed rate up front for every file system
- Max I/O performance mode, the safe default for every kind of workload
- Bursting Throughput, with the burst credits re-tuned by hand each week
A workload runs on a single EC2 instance and needs the fastest, cheapest disk per GB. What fits better than EFS?
- EBS — it is faster and cheaper per GB for single-instance access
- S3 Glacier Deep Archive, the cheapest cold object tier for a working disk
- FSx for Lustre, the fastest parallel file system AWS offers per GB
- Another EFS file system switched into Max I/O performance mode
How does EFS Lifecycle Management handle a file that has not been read in over a month?
- It moves the file to Infrequent Access; it stays there even when later read, unless you enable Transition into Standard
- It permanently deletes the unread file outright once the 30-day window passes, reclaiming space and trimming the bill
- It replicates the file to a second Region automatically for extra durability
- It compresses the file in place and leaves it sitting in Standard
You got correct