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-generation gp2 volume 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 created io2 volumes run on the io2 Block Express architecture, so there is no longer a separate non-Block-Express io2 tier (the older io1 type 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.

Sources