EBS (Elastic Block Store)
- Block storage for a single EC2 instance in one Availability Zone (except Multi-Attach for io1/io2).
- AZ-bound – to move across AZs, create a snapshot and restore in target AZ.
- gp2 – IOPS scales with volume size.
- gp3/io1 – IOPS and throughput configured independently.
- Root volumes deleted on instance termination by default (can disable).
- Snapshots and restores consume I/O; avoid peak usage when running.
EFS (Elastic File System)
- Managed NFS file system mountable by hundreds of EC2 instances across multiple AZs.
- Ideal for shared storage (e.g., WordPress, CMS).
- POSIX-compliant – Linux only.
- More expensive than EBS, but cost can be reduced with Storage Tiers (EFS-IA, Archive).
- Automatically scales with demand; no capacity planning needed.
When to Use
- EFS – Multi-instance, multi-AZ, shared file access.
- EBS – Single-instance, low-latency, block storage.
- Instance Store – Ephemeral, high-performance local storage tied to instance lifecycle.