Amazon EFS and FSx
AWS managed file storage services — Amazon EFS (Elastic File System) for Linux-based NFS workloads, and Amazon FSx for Windows, Lustre, NetApp ONTAP, and OpenZFS. Covers use cases, performance modes, and cross-cloud equivalents.
Overview
Amazon EFS and FSx are AWS's managed file storage services — EFS for shared Linux file systems, and FSx for workloads needing a specific file system technology (Windows SMB, HPC Lustre, or on-premises NetApp/ZFS).
AWS offers two managed file storage service families for workloads that require a shared file system (as opposed to block storage like EBS or object storage like S3):
- Amazon EFS — AWS's own managed NFS file system. Fully elastic, Linux-only, multi-AZ by default.
- Amazon FSx — A family of managed file systems built on popular third-party file system technologies. The engine is chosen to match the workload or existing on-premises stack.
| Service | Protocol | OS Support | Best For |
|---|---|---|---|
| Amazon EFS | NFS v4.1 / v4.2 | Linux only | Shared file storage for Linux EC2, containers, Lambda |
| Amazon FSx for Windows | SMB / NTFS | Windows (and Linux via SMB) | Windows Server workloads, Active Directory integration |
| Amazon FSx for Lustre | Lustre (parallel FS) | Linux | HPC, ML training, large-scale data processing |
| Amazon FSx for NetApp ONTAP | NFS, SMB, iSCSI | Linux + Windows | Enterprise storage migration from NetApp on-premises |
| Amazon FSx for OpenZFS | NFS | Linux | Workloads already using ZFS on-premises |
SAA Tip: The quick rule: EFS = Linux shared storage; FSx for Windows = Windows shared storage; FSx for Lustre = High Performance Computing (HPC) / Machine Learning (ML).
Storage Protocols Explained
Understanding which protocol a service uses is essential for choosing the right service — and a common exam discriminator.
NFS — Network File System
A standard Unix/Linux file-sharing protocol. Allows a remote file system to be mounted on a client and accessed as if it were a local directory.
- Operates over TCP/IP
- POSIX-compliant: supports permissions, symlinks, file locking
- Used by: Amazon EFS, FSx for NetApp ONTAP, FSx for OpenZFS
- Not natively supported by Windows (requires third-party NFS client)
SMB — Server Message Block
Windows' native file-sharing protocol (also called CIFS — Common Internet File System in older versions). The default for Windows file shares and \\server\share UNC paths.
- Supports Windows ACLs, Active Directory (AD) authentication, and NTFS permissions
- Can be accessed from Linux via
samba/cifs-utilsmount, but Windows is the primary target - Used by: FSx for Windows File Server, FSx for NetApp ONTAP
iSCSI — Internet Small Computer Systems Interface
A protocol that transports block storage commands (SCSI) over a standard TCP/IP network. The remote storage device appears to the operating system as a locally attached disk (not a file share).
- Lower-level than NFS/SMB — the OS formats and manages the file system on top of the raw block device
- Used for databases, VM disk images, and any workload needing raw block I/O over a network
- Used by: FSx for NetApp ONTAP, AWS Storage Gateway (Volume Gateway)
Lustre
An open-source, high-performance parallel distributed file system. Designed for massive throughput and concurrency — used in most of the world's top supercomputers.
- Multiple servers serve different parts of the file system simultaneously (striping)
- Delivers sub-millisecond latency, millions of IOPS, and hundreds of GB/s throughput
- Used by: Amazon FSx for Lustre
Protocol Decision Quick Reference
| Requirement | Use protocol | Service |
|---|---|---|
| Shared Linux file storage | NFS | Amazon EFS |
| Shared Windows file storage with AD auth | SMB | FSx for Windows |
| Raw block device over the network | iSCSI | FSx for NetApp ONTAP / Storage Gateway |
| Maximum throughput for HPC / ML | Lustre | FSx for Lustre |
| Both NFS + SMB + iSCSI simultaneously | All three | FSx for NetApp ONTAP |
Amazon EFS — Elastic File System
A fully managed, elastic NFS file system that automatically grows and shrinks as files are added and removed.
Key Properties
- Multi-AZ — data is stored across multiple Availability Zones (AZs) simultaneously; highly durable and available
- Elastic — no pre-provisioning of capacity; pay only for storage used
- Concurrent access — thousands of EC2 instances, ECS containers, EKS pods, and Lambda functions can mount and access the same file system simultaneously
- POSIX-compliant — supports file locking, symlinks, permissions — unlike S3
Performance Modes
| Mode | When to Use |
|---|---|
| General Purpose (default) | Latency-sensitive workloads: web serving, CMS, home directories |
| Max I/O | Highly parallel workloads tolerating higher latency: big data, media processing |
Throughput Modes
| Mode | Description |
|---|---|
| Bursting | Throughput scales with file system size; earns and uses burst credits (similar to EBS gp2) |
| Provisioned | Set a fixed throughput independent of storage size — for workloads with high throughput but small storage |
| Elastic (recommended) | Automatically scales throughput up and down based on workload; no capacity planning required |
Storage Classes
| Class | Description | Cost |
|---|---|---|
| Standard | Multi-AZ, high durability | Higher |
| Standard-IA (Infrequent Access) | Multi-AZ, lower cost for files not accessed frequently | Lower |
| One Zone | Single-AZ; lower cost but reduced durability | Lowest |
| One Zone-IA | Single-AZ + infrequent access | Lowest |
EFS Lifecycle Management automatically moves files to IA classes after a configurable number of days without access.
Exam Trap: EFS is Linux-only (NFS protocol). If a scenario involves Windows EC2 instances needing shared file storage, the answer is FSx for Windows File Server, not EFS.
SAA/SAP Tip: EFS is the canonical answer for scenarios involving a shared content directory across an Auto Scaling group of EC2 instances (e.g. web server farm sharing media uploads, WordPress files, etc.).
Amazon FSx — What Is It?
Amazon FSx is a family of fully managed file systems, each built on a well-known third-party file system engine. Unlike EFS (which is AWS's own NFS implementation), FSx is AWS hosting and managing an existing proven technology — providing the same features an on-premises team already knows, without running the underlying infrastructure.
There are four FSx variants:
| Variant | Built On | Primary Protocol | When to Choose |
|---|---|---|---|
| FSx for Windows File Server | Windows Server | SMB | Windows workloads, Active Directory |
| FSx for Lustre | Lustre (open-source HPC FS) | Lustre | HPC, ML, big data, video rendering |
| FSx for NetApp ONTAP | NetApp ONTAP OS | NFS + SMB + iSCSI | Migrating from on-prem NetApp; multi-protocol |
| FSx for OpenZFS | OpenZFS | NFS | Migrating from on-prem ZFS; Linux workloads |
The reason FSx exists as a family rather than a single service: different workloads have radically different file system requirements — HPC needs Lustre's striping, Windows needs SMB + AD, enterprise storage needs ONTAP's feature set. EFS covers the common Linux case well; FSx handles everything else.
Amazon FSx for Windows File Server
A fully managed Windows-native file system built on Windows Server, supporting the SMB protocol and NTFS.
Key Properties
- Active Directory (AD) integration — joins an AD domain; users authenticate with existing Windows credentials
- Multi-AZ option for HA with automatic failover
- Shadow Copies — Windows VSS snapshots for self-service file recovery
- DFS Namespaces — Distributed File System (DFS) for organizing shares across multiple FSx file systems
- Supports Windows ACLs, user quotas, and NTFS permissions
Use Cases
- Lift-and-shift Windows file server workloads to AWS
- Home directory shares for Windows users
- Microsoft SQL Server databases (with FSx Multi-AZ for HA)
- .NET application shared storage
SAA/SAP Tip: If the scenario mentions SMB protocol, Windows ACLs, Active Directory, or NTFS — the answer is FSx for Windows File Server.
Amazon FSx for Lustre
A fully managed high-performance parallel file system designed for compute-intensive workloads. Lustre (Linux + cluster) is the de facto standard file system in HPC environments.
Key Properties
- Sub-millisecond latencies; hundreds of gigabytes per second of throughput; millions of IOPS
- Natively integrates with Amazon S3 — can automatically import data from S3 when first accessed and export results back to S3
- Deployed as a single-AZ file system
Deployment Types
| Type | Persistence | Best For |
|---|---|---|
| Scratch | Non-persistent; no replication | Temporary, short-duration HPC jobs where re-running the job is acceptable |
| Persistent | Replicated within AZ; auto-heals | Long-running jobs where data must survive hardware failure |
Use Cases
- Machine Learning (ML) training data loading (pairs well with Amazon SageMaker)
- Genomics, financial modeling, seismic analysis
- Electronic Design Automation (EDA)
- Video rendering pipelines
SAA/SAP Tip: FSx for Lustre + S3 integration is a common pattern: raw data in S3, FSx provides the high-speed scratch layer during computation, results exported back to S3.
Amazon FSx for NetApp ONTAP
A fully managed service running NetApp ONTAP on AWS — the same OS that powers NetApp on-premises arrays.
- Supports NFS, SMB, and iSCSI simultaneously — multi-protocol access
- Multi-AZ HA with automatic failover
- Rich ONTAP features: SnapMirror replication, instant cloning (FlexClone), deduplication, thin provisioning
- Primary use case: lift-and-shift of existing NetApp-dependent workloads to AWS with zero application changes
EFS vs. EBS vs. S3 vs. FSx Quick Reference
| EBS | EFS | S3 | FSx | |
|---|---|---|---|---|
| Type | Block | File (NFS) | Object | File (varies) |
| Multi-attach | io1/io2 only | Yes (thousands) | N/A | Yes |
| OS | Any | Linux only | Any (API) | Windows / Linux |
| Persistence | AZ-scoped volume | Multi-AZ | Regional | AZ or Multi-AZ |
| Elastic sizing | No (provision) | Yes | Yes | Varies |
Cross-Cloud Equivalents
EFS Equivalents
| Provider | Service / Solution | Notes |
|---|---|---|
| AWS | Amazon EFS | Baseline NFS managed file storage |
| Azure | Azure Files (NFS tier) | SMB and NFS; Azure File Sync for on-prem hybrid |
| GCP | Filestore | Managed NFS; similar performance tiers |
| On-Premises | NFS server (Linux) / NetApp | Standard NFS or enterprise NAS appliance |
FSx for Windows Equivalents
| Provider | Service / Solution | Notes |
|---|---|---|
| AWS | Amazon FSx for Windows | Baseline Windows SMB storage |
| Azure | Azure Files (SMB tier) | Native SMB; similar AD integration |
| GCP | Managed Service for Microsoft Active Directory + Filestore | Less native; no direct equivalent |
| On-Premises | Windows File Server / DFS | Full Windows file server on-prem |
FSx for Lustre Equivalents
| Provider | Service / Solution | Notes |
|---|---|---|
| AWS | Amazon FSx for Lustre | Baseline HPC parallel file system |
| Azure | Azure HPC Cache | Not Lustre; different architecture |
| GCP | No direct equivalent | Typically use Persistent Disk or GCS + custom Lustre cluster |
| On-Premises | Lustre (open-source) | Same underlying technology; self-managed |
Pricing Model
EFS: Per GB-month stored; Elastic throughput included; Provisioned throughput billed separately. IA storage classes are cheaper.
FSx: Per SSD/HDD storage GB-month + throughput capacity (MB/s per month); backup storage billed separately.
Related Services / See Also
- Amazon EBS — block storage for single EC2 instances
- Amazon S3 — object storage; used as backing store for FSx for Lustre
- Disaster Recovery Strategies — FSx Multi-AZ for HA DR patterns
Amazon EBS
Amazon Elastic Block Store (EBS) — persistent block storage for EC2. Covers volume types (gp3, io2, st1, sc1), IOPS vs throughput trade-offs, and cross-cloud equivalents.
Amazon S3
Amazon Simple Storage Service (S3) — scalable object storage. Covers storage classes, lifecycle policies, security, versioning, replication, and cross-cloud equivalents.