Cloud Parts

Amazon EBS

Network-attached virtual disks for EC2 instances, sized and tuned per volume.

What it is
Block storage
Type
Managed service on AWS
Made by
Amazon Web Services
License
Proprietary
Facts checked
5 October 2026

What it is

An EBS volume is a disk that lives on the network, not inside the server. You create it in one Availability Zone, attach it to an EC2 instance in that same zone, and the operating system sees an ordinary block device to format and mount. The volume outlives the instance, so you can detach it and attach it to another one. On current instances you can grow it, change its type or raise its performance while it stays in use.

You choose a volume type per disk. gp3, the general-purpose SSD, includes 3,000 IOPS and 125 MiB/s at any size, and you can pay for up to 80,000 IOPS and 2,000 MiB/s on volumes up to 64 TiB. io2 Block Express goes to 256,000 IOPS and 4,000 MiB/s with average latency under 500 microseconds and 99.999% durability. The HDD types st1 and sc1 are cheap throughput for large sequential reads. Snapshots are incremental, store only changed blocks in S3, and can restore a volume in any zone of the Region.

Why teams pick it

  • Performance is set per volume, and gp3 lets you buy IOPS and throughput separately from size
  • Volumes persist independently of instances and can be resized or retyped live
  • Incremental snapshots are cheap backups and the way to move a disk to another zone
  • io2 Block Express gives sub-millisecond latency for demanding databases

Watch out for

  • Tied to one Availability Zone; a zone outage takes the volume with it until you restore from a snapshot
  • Usually one instance at a time; Multi-Attach works only on io1 and io2, and needs a cluster-aware file system
  • You pay for the provisioned size whether or not it’s full
  • gp3 durability is 99.8–99.9% a year, and AWS doesn’t snapshot your volumes unless you set it up

How it fits with other technologies

Create a gp3 volume with extra IOPS, attach, mount and snapshot it · bash

aws ec2 create-volume --availability-zone eu-west-1a \
  --volume-type gp3 --size 200 --iops 6000 --throughput 250

aws ec2 attach-volume --volume-id vol-0a1b2c3d4e5f67890 \
  --instance-id i-0123456789abcdef0 --device /dev/sdf

# on the instance: Nitro instances expose EBS volumes as NVMe devices
sudo mkfs -t xfs /dev/nvme1n1
sudo mkdir -p /data && sudo mount /dev/nvme1n1 /data

aws ec2 create-snapshot --volume-id vol-0a1b2c3d4e5f67890 --description "nightly"

See it in a real stack

No architecture uses Amazon EBS yet. Drop it into the playground and wire it up yourself.Open playground →
Where it came from2008–2025

When EC2 opened in beta in 2006, an instance’s disk belonged to that instance: terminate the instance and the data was lost. That made EC2 awkward for anything that had to keep state, such as a database.

AWS launched Elastic Block Store on 20 August 2008, nearly two years after EC2’s beta. A volume of 1 GB to 1 TB attached to one instance in one Availability Zone, was replicated automatically within that zone, and could be snapshotted to S3. It cost $0.10 per GB-month plus $0.10 per million I/O requests. Werner Vogels described block storage as the third storage pattern Amazon’s internal analysis had found, alongside key-value storage (S3) and simple structured data (SimpleDB).

The first EBS ran on hard drives that managed roughly 120–150 operations a second each, and customers sharing disks slowed each other down. Over the next decade the team, as engineer Marc Olson later recounted, retrofitted SSDs, moved storage processing off the host onto Nitro cards and wrote its own network protocol, SRD. By 2024 EBS was handling over 140 trillion operations a day.

Why it’s built this way

On the network, not inside the server
Keeping volumes on separate storage servers lets a disk outlive its instance and be attached to another one, which instance storage couldn’t do. Every I/O pays for a network round trip in return.
Replicated within one zone, with snapshots to S3
Each volume is copied automatically inside its Availability Zone. Surviving the loss of that zone, or moving a volume to another one, goes through incremental snapshots stored in S3.
Raw blocks, not files
A plain block device lets the customer choose the layer above it, from a file system such as ZFS to a database that manages its own blocks.
Performance bought separately from size
Early users striped several volumes together to go faster. Provisioned IOPS (2012) and gp3 (2020) let them pay for IOPS and throughput directly instead.

Timeline

  1. 2008

    Launches on 20 August: 1 GB–1 TB volumes, snapshots stored in S3

  2. 2011

    A faulty network change in US East causes a “re-mirroring storm” outage (April)

  3. 2012

    Provisioned IOPS volumes offer up to 1,000 IOPS (July)

  4. 2020

    gp3 decouples IOPS and throughput from size, up to 20% cheaper than gp2

  5. 2021

    io2 Block Express: up to 256,000 IOPS with sub-millisecond latency (July)

  6. 2025

    gp3 grows to 64 TiB, 80,000 IOPS and 2,000 MiB/s (September)

Sources10 · facts checked 5 October 2026

Improve this page on GitHub