EBSAmazon Elastic Block Store
Block storage volumes for EC2 instances: a disk that outlives the instance, lives in one Availability Zone, and is backed up with snapshots.
Where EBS takes you6 steps, all open
- I know the problem it solves
- I can picture it
- I know how it fails
- I know when to choose it
- I can use it in a design
- I can answer an exam question
What & why
A disk that outlives the instanceEBS gives an EC2 instance block storage: a volume that works like a hard drive attached to it. It persists independently of the instance, so its data survives a stop and a start, and it is replicated within its Availability Zone so that one failed hardware component does not lose it.
One zone, usually one instance. A volume attaches only to instances in its own Availability Zone, normally one at a time; only io1 and io2 volumes can be shared, with Multi-Attach. AWS does not back volumes up for you: the snapshots are yours to take.
Reach for it when
- an instance needs a boot volume, or a disk for a database
- data must survive the instance stopping
- a workload needs guaranteed IOPS or throughput
- a disk must grow or change type without stopping the instance
It is the wrong tool when
- instances in several zones must share the same files: that is EFS
- objects are served over HTTP, in any amount: that is S3
- the data is scratch space you can lose: instance store comes with the instance
Mental model
An external drive that stays in its roomAn external hard drive that plugs only into computers in the same room. You pick a fast solid-state drive or a cheaper spinning one. Copy it to the building's archive, and you can make a new drive from that copy in any room of the building, or send the copy to another building.
EBS volumeAvailability Zonegp3, io2, st1, sc1SnapshotIncrementalDeleteOnTerminationHow it works
Type, zone, attach, snapshot- Choose a typeGeneral Purpose SSD (gp3, gp2) for most workloads, Provisioned IOPS SSD (io2, io1) for sustained IOPS, and HDD (st1, sc1) for large sequential reads.
- Create it in a zoneThe volume lives in one Availability Zone, where it is replicated, and attaches to instances there.
- Attach and use itIt appears as a block device to format with a file system. Its size, type and IOPS can be changed while it is in use.
- Snapshot itSnapshots are incremental and stored in S3 across the Region's zones, so they can become volumes in any zone, or be copied to another Region.
- gp3 baseline
- 3,000 IOPSand 125 MiB/s, at any size
- gp3 maximum
- 80,000 IOPS2,000 MiB/s, up to 64 TiB
- io2 Block Express
- 256,000 IOPS99.999% durability
- gp2
- 3 IOPS per GiB100 to 16,000; bursts to 3,000
- Multi-Attach
- Up to 16Nitro instances, io1 or io2, one zone
- st1 and sc1
- Not bootableHDD, for throughput
Architecture
A way out of the zoneSnapshots on a schedule. Amazon Data Lifecycle Manager or AWS Backup can take them automatically, since AWS takes none for you.
Encryption follows the data. Snapshots of an encrypted volume are encrypted, and so are the volumes restored from them.
Failure simulation
Get the data somewhere else- Same zone
A volume attaches only to instances in its own Availability Zone.
- Snapshot
Stored in S3 across the Region's zones, so it can become a volume in any of them, or be copied to another Region.
- New volume
Created from the snapshot in the zone you choose, as an exact copy of the data when the snapshot was taken.
- Attach
To an instance in that zone.
Pick a case to follow the data through each check.
Instance store is different. It is erased when the instance stops. An EBS volume keeps its data through a stop and a start.
When the instance is terminated, each volume's DeleteOnTermination setting decides its fate. By default the root volume created at launch is deleted, and a data volume attached later is kept, and still charged.
Security
Encryption end to endEncrypt with KMS. Encryption covers data at rest, data moving between the instance and the volume, the snapshots taken from it and the volumes restored from them.
Encryption by default. Turn it on, and new volumes, and snapshot copies made from unencrypted snapshots, are always encrypted.
No switch in place. An unencrypted volume cannot be encrypted directly: snapshot it, then create an encrypted volume or an encrypted snapshot copy from the snapshot.
Share snapshots with care. A snapshot can be shared with chosen accounts or made public, but an encrypted one can never be public, and the account you share it with needs permission to use its KMS key.
Cost
How you are charged, not what it costs todayProvisioned, not used. A volume is charged for every GB you provision, each month, until you delete it, however much is written to it.
Performance above the baseline. gp3 includes 3,000 IOPS and 125 MiB/s at any size; more is charged.
Snapshots are charged for the data they store, which is only what changed. A copy to another Region starts as a full copy.
Fast snapshot restore is charged for each minute it is enabled, for each snapshot in each zone, with a one-hour minimum.
Forgotten volumes still cost money. One kept after its instance is terminated is charged until it is deleted.
Prices change, so none are printed here. Check the EBS pricing page on aws.amazon.com.
Comparison
Six volume types, and three kinds of instance storage| Type | Media | Max IOPS | Max throughput | Choose it when |
|---|---|---|---|---|
| gp3 | SSD | 80,000 | 2,000 MiB/s | Most workloads and boot volumes |
| gp2 | SSD | 16,000 | 250 MiB/s | Existing volumes; gp3 is 20 percent lower per GiB |
| io2 Block Express | SSD | 256,000 | 4,000 MiB/s | Sub-millisecond latency, sustained IOPS, Multi-Attach |
| io1 | SSD | 64,000 | 1,000 MiB/s | Older Provisioned IOPS volumes |
| st1 | HDD | 500 | 500 MiB/s | Big data, data warehouses and logs: large sequential reads |
| sc1 | HDD | 250 | 250 MiB/s | Rarely read data, where the lowest storage cost matters |
| Storage | Survives a stop | Used by | Where it lives |
|---|---|---|---|
| EBS volume | Yes | One instance, or up to 16 with Multi-Attach | One Availability Zone |
| Instance store | No: erased on stop | Its own instance only | The instance's host |
| EFS file system | Yes: it is separate from instances | Many instances, containers and functions at once | A Region, or one zone |
SAA traps
The phrase in the question, and what it meansattach the volume to an instance in another Availability ZoneSnapshot it, then create a volume in that zone
A volume attaches only to instances in its own zone.
sub-millisecond latency and sustained IOPS beyond what gp3 givesio2 Block Express
Up to 256,000 IOPS and 99.999% durability, with average latency under 500 microseconds.
the most cost-effective SSD for most workloadsgp3
3,000 IOPS and 125 MiB/s at any size, at a lower price per GiB than gp2.
large sequential reads for a data warehouse, at low costThroughput Optimized HDD, st1
Built for throughput rather than IOPS, and never a boot volume.
encrypt an existing unencrypted volumeSnapshot it, then make an encrypted copy or volume
Encryption cannot be turned on in place.
a clustered application needs one volume shared by several instancesMulti-Attach on io2
Up to 16 Nitro instances in the same zone, with a cluster-aware file system.
the data was lost when the instance was terminatedDeleteOnTermination
The root volume created at launch is deleted with the instance by default.
keep backups in another Region for disaster recoveryCopy the snapshots to that Region
A volume never leaves its zone, but its snapshots can be copied.
a volume restored from a snapshot is slow at firstFast snapshot restore
The volume is fully initialised when it is created, so first reads are not slower.
Scenario
Exam style, marked when you answerA company runs a self-managed database on an EC2 instance in us-east-1a, with its data on an EBS volume. For disaster recovery, it must be able to bring the database up in us-east-1b if us-east-1a fails. What should a solutions architect do?
Practice
Fill the gap, the way the challenges workA self-managed database on one EC2 instance needs block storage for its data files, with sub-millisecond latency and sustained high IOPS. The data must survive the instance being stopped, and be backed up every night. What holds the data files?
Quick revision
The night before the exam- Scope
- One Availability Zone, replicated within it; attaches only there.
- gp3
3,000IOPS and125 MiB/sincluded; up to80,000IOPS.- io2 Block Express
- Up to
256,000IOPS, sub-millisecond,99.999%durable. - HDD
- st1 for throughput, sc1 for cold data; neither can boot.
- Snapshots
- Incremental, in S3, restorable in any zone, copyable to other Regions.
- Encryption
- At rest, to the instance and in snapshots; never switched on in place.
- Multi-Attach
- io1 and io2, up to 16 Nitro instances, same zone.
- Termination
- The root volume from launch is deleted by default.
This whole page is free right now.The AWS library is still being written, so every page of it is open to everyone while that lasts. It becomes a paid bundle later; what you read today costs you nothing.
Checked against
Every fact on this page was checked against AWS’s own documentation on 15 Sept 2026. If AWS has changed something since, its page is the one to trust.
- Amazon EBS volumes
- Features and benefits of Amazon EBS volumes
- Amazon EBS volume types
- Amazon EBS General Purpose SSD volumes
- Amazon EBS snapshots
- Copy an Amazon EBS snapshot
- Amazon EBS fast snapshot restore
- Amazon EBS encryption
- Attach an EBS volume to multiple EC2 instances using Multi-Attach
- Preserve data when an instance is terminated
- Instance store temporary block storage
- Amazon EFS performance specifications
- Understanding and managing Amazon S3 storage classes
- Amazon EBS pricing