Amazon Elastic Block Store
Amazon Elastic Block Store (Amazon EBS) is a scalable, high-performance block storage service provided by Amazon Web Services (AWS) that offers persistent block-level storage volumes for use with Amazon Elastic Compute Cloud (EC2) instances.[1] These volumes function like raw, unformatted block devices that can be attached to EC2 instances in the same Availability Zone, enabling users to create file systems, run databases, or support other applications requiring low-latency access to data.[2] EBS volumes are designed for durability, with data automatically replicated across multiple servers within an Availability Zone to protect against component failures, achieving up to 99.999% durability for certain volume types like io2 Block Express.[1] Key features of Amazon EBS include a variety of volume types optimized for different workloads: solid-state drive (SSD)-backed volumes such as gp3 and io2 for transactional and I/O-intensive applications, and hard disk drive (HDD)-backed volumes like st1 and sc1 for throughput-oriented tasks like big data analytics. As of 2025, enhancements include instant volume cloning and increased performance limits for gp3 volumes.[3][4] Users can dynamically modify volume size, performance characteristics like IOPS and throughput, and type without downtime, ensuring flexibility for evolving workloads.[1] Additionally, EBS supports point-in-time snapshots, which are incremental backups stored durably in Amazon Simple Storage Service (S3) and can be used for recovery, volume cloning, or data migration across regions.[5] Security and compliance are integral to EBS, with built-in encryption at rest using AWS Key Management Service (KMS) keys and support for data in transit encryption.[1] Volumes can be configured with access policies to restrict public exposure, and features like backup locking prevent accidental deletion of critical snapshots.[2] EBS integrates seamlessly with other AWS services, including EC2 for attachment, Data Lifecycle Manager for automated snapshot management, and direct APIs for low-level access, making it suitable for enterprise applications such as databases (e.g., Oracle, SAP HANA), boot volumes for EC2 instances, and high-throughput computing environments.[1] Pricing is based on provisioned storage and performance, with options for on-demand or reserved capacity to optimize costs.[6]Overview
Definition and Purpose
Amazon Elastic Block Store (Amazon EBS) is a block storage service provided by Amazon Web Services (AWS) that offers durable, high-performance storage volumes designed for use with Amazon Elastic Compute Cloud (Amazon EC2) instances. These volumes function as block-level storage devices, which can be attached to EC2 instances in the same manner as physical hard drives, allowing users to format them with file systems and manage data at the block level for fine-grained control.[1][7] EBS volumes are independent of the lifecycle of the attached EC2 instance, meaning they persist even if the instance is stopped, restarted, or terminated, ensuring data availability across instance states.[8] The primary purpose of Amazon EBS is to provide persistent storage for applications running on EC2 instances, enabling data to survive beyond temporary instance operations and supporting workloads that demand low-latency, consistent access to storage. This persistence makes EBS suitable for use cases such as relational and NoSQL databases, enterprise applications, and virtual desktops, where data integrity and quick retrieval are essential.[1][2] In contrast to ephemeral instance store volumes, which lose data upon instance stops, terminations, or hardware failures, EBS volumes maintain data durability through automatic replication across multiple servers within an Availability Zone.[9] Key benefits of Amazon EBS include its scalability, with volumes ranging from a minimum of 1 GiB up to a maximum of 64 TiB as updated for general-purpose SSD volumes in 2025, allowing flexible provisioning for diverse workload sizes. Additionally, EBS delivers a 99.99% availability service level agreement (SLA) at the region level, backed by redundant infrastructure to minimize downtime and data loss risks.[10][3][11] EBS integrates seamlessly with EC2 instances to form the foundational storage layer for cloud-based computing environments.[12]Architecture and Components
Amazon Elastic Block Store (EBS) volumes serve as logical block devices that provide persistent block storage for use with Amazon Elastic Compute Cloud (EC2) instances. These volumes are designed to function similarly to raw, unformatted, external block devices, such as hard drives, which can be attached to instances to store data. Each EBS volume is automatically replicated across multiple servers within its specific Availability Zone to enhance durability and prevent data loss from the failure of any single hardware component.[1][8] The attachment process for EBS volumes involves associating them with EC2 instances through block device mapping, a configuration that specifies the volume's device name and attachment details during instance launch or runtime. Volumes must reside in the same Availability Zone as the target instance to ensure low-latency access. EBS supports single-attach mode by default, where a volume is attached to one instance at a time, as well as multi-attach mode for certain volumes, allowing simultaneous attachment to multiple instances within the same AZ for shared access scenarios.[7][13] At the infrastructure level, EBS operates as network-attached storage delivered over AWS's internal high-speed network, abstracting the underlying physical hardware from customers to provide a virtualized block storage interface. Users have no direct access to the physical servers or storage arrays in AWS data centers, which handle provisioning, management, and maintenance transparently. This architecture enables scalable storage without the need for on-premises hardware management.[1] Logically, once attached, an EBS volume can be formatted with a file system—such as ext4 for Linux or NTFS for Windows—and mounted to the instance's operating system, allowing it to be used for applications, databases, or as boot storage. The volume's data persists independently of the instance lifecycle, enabling detachment, reattachment to other instances, or modification without data loss.[7]History
Launch and Early Development
Amazon Elastic Block Store (EBS) was launched on August 20, 2008, expanding Amazon Web Services (AWS) beyond its initial offerings of Simple Storage Service (S3) for object storage and Elastic Compute Cloud (EC2) for virtual servers. This introduction provided developers with persistent, block-level storage that could be attached to EC2 instances, enabling more robust applications in the cloud.[14][15] The core motivation behind EBS was to fulfill the growing demand for reliable, low-latency storage in cloud environments, particularly for workloads like databases, transactional systems, and file servers that required data persistence independent of instance lifecycles. At launch, EBS volumes were based on magnetic media, with sizes ranging from 1 GB to 1 TB, and were designed to be mounted as block devices within a specific Availability Zone to ensure low-latency access. Snapshots of these volumes, stored durably in S3, allowed for backups, disaster recovery, and volume replication.[14][16] A foundational milestone came immediately with the launch, as EBS enabled the creation of EBS-backed Amazon Machine Images (AMIs), which used persistent EBS volumes as root devices for EC2 instances. This feature supported bootable, modifiable instances that retained data across stops and starts, simplifying instance management and enabling consistent deployments compared to ephemeral instance store-backed AMIs. In 2012, AWS introduced Provisioned IOPS SSD volumes, the first solid-state drive option for EBS, allowing users to provision specific input/output operations per second (up to 1,000 initially) for performance-critical applications.[14][17] Early operations faced significant hurdles, notably a widespread outage on April 21, 2011, in the US-East-1 region. Triggered by a routine network upgrade that inadvertently rerouted traffic and overloaded EBS replication systems, the incident caused multiple storage servers to fail, impacting thousands of EC2 instances and leading to data unavailability for several days in affected Availability Zones. AWS's subsequent analysis revealed limitations in fault tolerance and replication design, prompting architectural improvements such as enhanced multi-path networking, better load balancing, and increased redundancy to isolate failures and accelerate recovery.[18][19]Major Updates and Evolutions
In 2014, Amazon EBS introduced significant enhancements to its Provisioned IOPS SSD volumes, known as io1, enabling support for high-performance workloads with provisioned IOPS scaling up to 4,000 per volume (increased to 20,000 in March 2015 and further to 64,000 by 2018), alongside the launch of General Purpose SSD (gp2) volumes as the new default for balanced performance and cost.[20][21] These updates doubled the maximum IOPS and throughput for io1 volumes compared to prior capabilities, allowing better handling of I/O-intensive applications like databases.[22] Between 2016 and 2020, EBS expanded its offerings with Throughput Optimized HDD (st1) and Cold HDD (sc1) volumes in 2016, designed for big data, data warehouses, and log processing tasks that prioritize sequential throughput over random IOPS.[23] In 2020, gp2 evolved into the next-generation General Purpose SSD (gp3) volumes, which decoupled I/O performance from storage capacity, providing a baseline of 3,000 IOPS and 125 MiB/s throughput at a 20% lower cost than gp2, while supporting independent scaling up to 16,000 IOPS and 1,000 MiB/s.[24] From 2021 to 2024, EBS advanced with the general availability of io2 Block Express volumes in 2021, leveraging the AWS Nitro System to deliver sub-millisecond latency, up to 256,000 IOPS, and 4,000 MiB/s throughput for mission-critical applications.[25] In March 2024, Amazon RDS integrated support for io2 Block Express volumes, enabling relational databases to achieve higher durability (99.999%) and performance for demanding workloads like online transaction processing. Additionally, AWS Backup gained support for EBS Snapshots Archive in November 2023, allowing automated transition of infrequently accessed snapshots to a low-cost tier with up to 75% savings, and expanded in March 2024 to include restore testing for compliance and recovery validation.[26][27] In 2025, gp3 volumes received a major upgrade in September, increasing maximum size to 64 TiB (from 16 TiB), provisioned IOPS to 80,000 (from 16,000), and throughput to 2,000 MiB/s (from 1,000 MiB/s), enhancing scalability for large-scale data processing and analytics without requiring volume type changes.[3] Over this period, AWS's infrastructure investments in renewable energy and energy-efficient data centers have contributed to greater sustainability, reducing the carbon footprint of operations by up to 4.1 times compared to on-premises alternatives.[28] High-performance volumes like io2 Block Express support low-latency data access for I/O-intensive workloads such as databases.[29]Volume Types
Solid-State Drive (SSD) Volumes
Amazon Elastic Block Store (EBS) offers several solid-state drive (SSD) volume types designed for low-latency, random access workloads, providing high performance for applications requiring consistent input/output operations per second (IOPS) and throughput. These volumes leverage SSD technology to deliver sub-millisecond latency, making them suitable for transactional systems, databases, and virtualized environments. Unlike hard disk drive (HDD) options, SSD volumes prioritize IOPS over sequential throughput, with performance characteristics that can be provisioned or baseline-based depending on the type.[30] The general-purpose SSD (gp3) volume type serves as the default for most workloads, offering a cost-effective balance of performance and storage. It provides a baseline of 3,000 IOPS and 125 MiB/s of throughput regardless of size, with the ability to independently scale up to 80,000 IOPS and 2,000 MiB/s for larger configurations. Sizes range from 1 GiB to 64 TiB, following a September 2025 update that quadrupled the previous maximum size limit. gp3 volumes deliver 99.8–99.9% durability and are ideal for boot volumes, development environments, and moderate transactional applications, with no reliance on burst capabilities for peak performance.[31][3] For mission-critical applications demanding the highest reliability and lowest latency, the Provisioned IOPS SSD (io2) volume type is optimized, supporting up to 256,000 IOPS and 4,000 MiB/s of throughput on AWS Nitro System instances. Available in sizes from 4 GiB to 64 TiB, io2 volumes achieve 99.999% durability—equivalent to an annualized failure rate (AFR) of 0.001%—and feature io2 Block Express, which uses the Scalable Reliable Datagram (SRD) protocol over Remote Direct Memory Access (RDMA) to deliver average latencies under 500 microseconds for 16 KiB I/O operations. This makes io2 suitable for high-performance databases like SAP HANA or Oracle, with support for multi-attach functionality on Nitro instances. All io2 volumes transitioned to the Block Express configuration by April 2025.[32][33] The io1 volume type, a legacy Provisioned IOPS SSD option, provides up to 64,000 IOPS and 1,000 MiB/s of throughput, with sizes limited to 4 GiB to 16 TiB and 99.8–99.9% durability. Designed for I/O-intensive databases and similar workloads, io1 offers consistent performance across all EC2 instance types but lacks the enhanced latency and durability of io2, positioning it as a transitional choice for users migrating to newer offerings. AWS recommends io2 for new deployments requiring io1-like capabilities.[32] Selection among SSD volume types depends on workload requirements: gp3 is preferred for cost-efficient, general-purpose needs where baseline performance suffices, while io2 is selected for latency-sensitive, high-durability scenarios such as NoSQL databases or enterprise applications demanding sub-millisecond response times. Users should pair these volumes with EBS-optimized EC2 instances to achieve up to 90% of provisioned performance.[30][34]Hard Disk Drive (HDD) Volumes
Amazon Elastic Block Store (EBS) offers Hard Disk Drive (HDD)-backed volume types optimized for cost-effective, large-scale storage in throughput-intensive workloads that involve sequential access patterns, such as big data processing and media streaming. These volumes prioritize sustained throughput over low-latency random I/O, making them suitable for applications where data is accessed in large blocks rather than small, frequent reads and writes.[30] Throughput Optimized HDD (st1) volumes are designed for frequently accessed data in scenarios like distributed file systems, big data analytics, data warehouses, and log processing. They provide baseline throughput that scales linearly with volume size at 40 MiB/s per TiB, ranging from 40 MiB/s for a 1 TiB volume up to a maximum of 500 MiB/s for volumes of 12.5 TiB or larger, with burst capabilities allowing temporary peaks up to 500 MiB/s. st1 volumes are available in sizes from 125 GiB to 16 TiB and deliver up to 500 IOPS for 1 MiB I/O operations, emphasizing consistent performance for 90% of the expected throughput 99% of the time. These volumes use a burst-bucket model, where excess credits accumulate for short bursts, monitored via Amazon CloudWatch.[35][30]| Volume Size (TiB) | Baseline Throughput (MiB/s) | Burst Throughput (MiB/s) |
|---|---|---|
| 0.125 | 5 | 31 |
| 1 | 40 | 250 |
| 2 | 80 | 500 |
| 12.5 | 500 | 500 |
| Volume Size (TiB) | Baseline Throughput (MiB/s) | Burst Throughput (MiB/s) |
|---|---|---|
| 0.125 | 1.5 | 10 |
| 1 | 12 | 80 |
| 3.125 | 37.5 | 250 |
| 16 | 192 | 250 |
Performance Characteristics
IOPS and Throughput Metrics
Amazon Elastic Block Store (EBS) performance is primarily evaluated through two key metrics: IOPS and throughput. IOPS, or Input/Output Operations Per Second, quantifies the number of random read and write operations a volume can perform in one second, serving as a measure of the volume's capacity for transactional or random access workloads.[37] Solid-state drive (SSD)-backed volumes, such as gp3 and io2, support significantly higher IOPS compared to hard disk drive (HDD)-backed volumes like st1 and sc1, due to the inherent low-latency characteristics of flash storage, which enable efficient handling of small, random I/O requests typically sized at 16 KiB to 256 KiB.[30] In contrast, HDD volumes are optimized for larger, sequential operations and deliver lower IOPS, often in the range of 250 to 500, making them less suitable for IOPS-intensive applications.[37] Throughput measures the rate of data transfer to and from the volume, expressed in mebibytes per second (MiB/s), and is particularly important for sequential workloads involving large data streams, such as media processing or log ingestion.[37] Maximum throughput limits vary by volume type and are influenced by I/O size and instance configuration; for instance, gp3 volumes provide baseline throughput of 125 MiB/s, with the ability to provision up to 2,000 MiB/s as of 2025, enabling sustained performance for bandwidth-heavy tasks when paired with EBS-optimized instances.[31][3] EBS offers two primary provisioning models for performance: on-demand, which includes baseline IOPS and throughput at no additional cost beyond storage fees (as in gp3 volumes), and reserved capacity via provisioned IOPS SSD volumes (io1 and io2), where users specify and pay for guaranteed levels to meet consistent demands.[30] The maximum achievable IOPS is often constrained by volume size and type; for example, in gp3 volumes, it follows a formula of min(500 × volume size in GiB, 80,000 provisioned IOPS), allowing a 160 GiB volume to reach the 80,000 IOPS cap while smaller volumes scale proportionally.[31] This provisioning ensures predictable performance, with io2 volumes supporting even higher limits up to 256,000 IOPS under similar size-based constraints.[32][3] To monitor IOPS and throughput, AWS provides Amazon CloudWatch metrics such as VolumeReadOps and VolumeWriteOps, which track the total number of read and write operations performed, enabling calculation of average IOPS over time.[38] Additionally, VolumeThroughputPercentage indicates the utilization of provisioned throughput as a percentage, helping users identify bottlenecks when approaching limits like 2,000 MiB/s on gp3 volumes.[38] These metrics, available at one-minute granularity for Nitro-based instances, allow for real-time analysis and alerting to maintain optimal performance.[38]Baseline and Burst Capabilities
Amazon Elastic Block Store (EBS) volumes manage variable workloads by providing a guaranteed baseline performance level, with certain volume types offering temporary bursts above this baseline to handle spikes in demand. Baseline performance represents the sustained IOPS and throughput that a volume can achieve indefinitely, determined by the volume type and size. For General Purpose SSD (gp2) volumes, the baseline is calculated as 3 IOPS per GiB of storage, with a minimum of 100 IOPS for volumes up to 33 GiB and a maximum of 16,000 IOPS for volumes of 5,334 GiB or larger.[31] In contrast, gp3 volumes include a baseline of 3,000 IOPS and 125 MiB/s throughput regardless of size, allowing users to provision additional performance up to 80,000 IOPS and 2,000 MiB/s (as updated in September 2025) for more demanding sustained workloads.[31] Provisioned IOPS SSD (io2) volumes deliver consistent baseline performance without any burst capability, ensuring predictable IOPS up to 256,000 per volume for mission-critical applications.[30] The burst mechanism in EBS is primarily a credit-based system designed for gp2 volumes to accommodate short-term performance needs beyond the baseline. When a gp2 volume operates below its baseline, it accumulates I/O credits at a rate of 3 credits per GiB per second, up to a maximum bucket size of 5.4 million credits. During periods of high demand, the volume can burst to a maximum of 3,000 IOPS for volumes smaller than 1 TiB, consuming credits at the rate of (burst IOPS - baseline IOPS). The credit balance can be approximated by the formula: credit balance = (baseline IOPS × elapsed time) - total IOPS consumed, enabling bursts until credits are depleted, after which performance throttles back to the baseline.[31] gp3 volumes do not rely on this burst system, providing steady performance at the provisioned level to simplify workload planning.[31] To optimize burst capabilities and prevent throttling, users can monitor the burst balance using Amazon CloudWatch metrics, such as theBurstBalance percentage for gp2 volumes, which indicates available credits relative to the maximum bucket. In September 2025, AWS enhanced gp3 volumes by increasing the maximum size to 64 TiB, provisioned IOPS to 80,000, and throughput to 2,000 MiB/s, further reducing the need for burst mechanisms in larger configurations by allowing higher sustained baselines at a lower cost compared to io2 volumes.[31][3] These features collectively enable EBS to balance cost-efficiency with flexibility for varying I/O patterns.[30]