Amazon EBS
Network-attached block storage volumes for EC2 — a virtual hard drive that outlives the instance.
Verified against AWS documentation · 2026-09-09
Key facts
- 01One volume, one instance, same Availability Zone — EBS is zone-locked (io1/io2 Multi-Attach to 16 Nitro instances is the exception)
- 02Volumes persist after termination; root volumes are the exception — deleted by default unless you flip DeleteOnTermination
- 03Snapshots are incremental, stored in S3, and Region-scoped — the only way to move a volume to another AZ or Region
- 04gp3 is the default (3,000 IOPS + 125 MiB/s at any size); io2 Block Express for extreme IOPS; st1/sc1 are cheap HDD and can't boot
- 05Elastic Volumes: grow size, change type, tune IOPS on a live volume — no detach, no downtime
Exam triggers
Phrases and scenarios that point here.
- "Data must survive a stop, reboot, or termination" → EBS, not instance store
- "Shared file system across multiple instances or AZs" → EFS, not EBS
- "Back up a volume", "copy a disk to another Region for DR" → EBS snapshot + cross-Region copy
- "Database needs guaranteed low latency and sustained IOPS" → Provisioned IOPS (io2), not gp3
Not this service
- Many instances reading and writing the same files → EFS (Linux) or FSx (Windows)
- Objects fetched over HTTP, static assets, archives → S3
Use cases
- 01Boot volumes for every EC2 instance — the OS, packages, and app code the instance starts from
- 02Self-managed databases on EC2 (Postgres, MySQL, MongoDB) where the data directory needs consistent low-latency disk
- 03Nightly snapshot backups automated with Data Lifecycle Manager, turning a corrupted volume into a 10-minute restore instead of a rebuild
- 04Golden AMIs — snapshot one fully configured volume, then launch identical instances from it in any AZ in the Region
- 05Cheap bulk throughput on st1: log ingestion, analytics scratch space, video transcode staging — sequential reads where IOPS don't matter
How it's charged
- 01Billed per GB-month provisioned, not used — a 500 GB volume that is 10% full still costs 500 GB (per-second billing, 60-second minimum)
- 02Detached volumes keep billing at the same rate as attached ones — orphaned volumes left behind by terminated instances are a classic surprise line item
- 03gp3 includes 3,000 IOPS and 125 MiB/s free; IOPS and throughput above that are priced separately, while io1/io2 charge for every provisioned IOPS (tiered per volume)
- 04gp2, st1, and sc1 bundle I/O into the per-GB price — no separate IOPS charge, so the volume size is the only lever
- 05Snapshots bill on changed blocks stored in S3, so deleting one may not shrink the bill; Archive is cheaper but has a 90-day minimum plus a retrieval fee, and Fast Snapshot Restore bills per snapshot, per AZ, per hour while enabled