Amazon Elastic Block Store (EBS)
Amazon Elastic Block Store (EBS) is an Amazon Web Services service that provides block-level storage volumes to store persistent data, attached to Amazon EC2 instances.
Key points
- Block storage, distinct from Amazon S3 (object storage) and Amazon Elastic File System (EFS) (file storage, mountable by many instances at once).
- An EBS volume lives in a single Availability Zone and can only attach to EC2 instances in that same AZ — it cannot span or move across AZs directly; moving data to another AZ requires creating a snapshot and restoring it into a new volume there. Multiple EBS volumes can be attached to a single EC2 instance; a single volume cannot be attached to multiple instances by default.
- Amazon EBS Multi-Attach — attaches a single Provisioned IOPS SSD (io1 or io2) volume to up to 16 Nitro-based instances in the same Availability Zone; Linux instances support Multi-Attach on io1 or io2, Windows instances on io2 only.
- EBS volumes persist independently once attached — data is not erased even if the instance stops, hibernates, or terminates. Distinct from EC2 instance store, which is ephemeral, temporary block storage physically tied to the host — its data is lost when the instance stops or terminates.
- By default the root EBS volume is terminated when its instance is terminated; by default a non-root EBS volume is not affected when the instance is terminated.
- Volumes can be attached, detached, and reattached to other EC2 instances; scales easily up to petabytes of data storage.
- Best suited for database servers with high reads and writes and throughput-intensive workloads with continuous reads and writes.
- Uses AWS Key Management Service (KMS) with the AES-256 algorithm to support encryption.
- Offers point-in-time snapshots for volumes, used to migrate to other AZs or regions; snapshots are region-specific and stored incrementally in Amazon S3.
- Volume types:
- General Purpose SSD (
gp3) — current-generation default for low-latency applications, development and test environments, boot volumes; 1 GiB–64 TiB; includes a 3,000 IOPS / 125 MiB/s baseline at no extra cost, and IOPS and throughput are each provisionable independently of volume size up to 80,000 IOPS and 2,000 MiB/s (older CLF-C02 material still cites the previous-generationgp2volume type, whose performance instead scales with size up to a ceiling of 16,000 IOPS / 250 MiB/s at 1 GiB–16 TiB). - Provisioned IOPS SSD (
io2) — I/O-intensive database workloads needing sub-millisecond latency; 4 GiB–64 TiB; up to 256,000 IOPS per volume and up to 4,000 MiB/s throughput per volume on Nitro-based instances (other instance types cap at 32,000 IOPS); as of April 30, 2025 all new and previously createdio2volumes run on the io2 Block Express architecture, so there is no longer a separate non-Block-Expressio2tier (the olderio1type still tops out at 4 GiB–16 TiB, 64,000 IOPS, and 1,000 MiB/s); Multi-Attach supported for io1 and io2 only. - Throughput Optimized HDD (
st1) — big data and log processing workloads; 125 GiB–16 TiB; up to 500 IOPS per volume; up to 500 MiB/s throughput per volume. - Cold HDD (
sc1) — infrequently accessed data and lowest-cost workloads; 125 GiB–16 TiB; up to 250 IOPS per volume; up to 250 MiB/s throughput per volume.
- General Purpose SSD (