Service comparisons / Amazon EFS vs Amazon FSx vs Amazon S3

EFS vs FSx vs S3

Amazon EFS is a shared Linux file system, the FSx family covers Windows, high-performance and NetApp workloads, and S3 is object storage accessed through an API. Which storage fits which scenario.

Last checked against AWS documentation · How we write our content

QuestionAmazon EFSAmazon FSxAmazon S3
Use it whenMany Linux instances, containers or Lambda functions need the same filesYou need a specific file system, such as Windows SMB, Lustre for HPC, NetApp ONTAP or OpenZFSYou store objects (images, backups, data lake files) and read them through an API
AccessNFS, POSIX permissions, mounted like a diskSMB with Active Directory, Lustre, NFS, SMB or iSCSI depending on the typeHTTPS API (GET, PUT), not a mounted file system
ScalingGrows and shrinks automaticallyYou choose capacity and throughput (some types scale automatically)Practically unlimited
AvailabilityRegional (multi-AZ) by default, or One Zone for lower costSingle-AZ or Multi-AZ deployments, depending on the typeData stored across at least three AZs (except One Zone classes)
Watch out forNo Windows support; use FSx for Windows File ServerPick the type from the protocol the scenario namesNot a drop-in replacement for an app that expects a file system

Storage questions usually describe the access pattern in plain words. Spot the protocol or the operating system in the scenario, and the answer follows.

How to choose

Exam traps