Amazon Elastic Block Store
EBS
You need a high-performance, persistent block storage volume to mount as a local hard drive on a single virtual server.
Reach for it when
- Providing boot volumes and root file systems for EC2 virtual machine instances.
- Hosting database files for self-managed databases like PostgreSQL or MongoDB on EC2.
- Running transactional applications that require sub-millisecond latencies for disk writes.
Do not reach for it when
- Sharing files simultaneously across hundreds of separate virtual machine instances — use EFS or S3 instead.
- Storing static media assets that are accessed globally by users via web browsers — use S3 instead.
- Creating a temporary scratch disk for ephemeral data that does not need to persist after shutdown — use Instance Store instead.
Alternatives, and how to choose
| Service | Pick it instead when |
|---|---|
| EFS | Choose it when you need a shared network file system that multiple EC2 instances can read and write to concurrently. |
| S3 | Choose it when storing unstructured objects that do not need to be mounted as a file system. |
How you pay
- The model
- Pay per GB provisioned per month, plus fees for provisioned IOPS on gp3/io2 volumes.
- The line item that surprises people
- You are billed for the full provisioned capacity of the volume regardless of whether the OS has written any data.
What trips people up
- Most EBS volumes can only be attached to one EC2 instance at a time within the exact same Availability Zone.
- Changing volume size or performance settings is rate-limited to once every six hours per volume.
- The max IOPS of gp3 volumes is capped at 3000 unless you pay an extra monthly fee to provision more.
Verify the live service
This page is a concept reference. Cost models are qualitative; confirm the current offering, Region and pricing before deploying.