Skip to main content
In this lesson we cover Amazon Elastic Block Store (EBS) — AWS’s block-level storage service for EC2. Block storage splits data into fixed-size blocks, stores each block independently (each with a unique identifier), and presents a collection of blocks to an operating system as a volume. On that volume you can create a filesystem (XFS, EXT3, EXT4, etc.), mount it, and use it like a regular disk. Block storage can also be bootable so you can install and boot an operating system from it. When working with AWS, “block storage” refers to Amazon EBS. EBS provides durable block-level storage volumes for EC2 instances. An attached EBS volume appears to the instance as a block device: you can format it, create filesystems, and mount it. Volumes are independent of EC2 instances — you can detach a volume from one instance and attach it to another without losing the stored data. Although most EBS volumes attach to a single EC2 instance, some volume types support Multi-Attach, which allows multiple instances to attach to the same volume. If you enable Multi-Attach, your application must coordinate concurrent writes (for example using a clustered filesystem or database leader election) to avoid data corruption. EBS volumes are provisioned within an Availability Zone (AZ). Volumes are replicated within that AZ to protect against hardware failure, but if the entire AZ fails the volume is unavailable. Because of this AZ scope, an EBS volume and the EC2 instance it attaches to must be in the same Availability Zone.
A slide titled "Elastic Block Storage (EBS)" showing two Availability Zones, each containing four EBS volumes (EBS 01–04) linked by dashed lines to an orange compute/EC2 icon. It illustrates EBS volumes attached to instances across separate availability zones.
How EBS volumes are used and moved
  • Create a volume in an Availability Zone.
  • Attach the volume to an EC2 instance in the same AZ — the instance sees it as a block device; you can format it, create a filesystem, and mount it.
  • To move a volume between instances in the same AZ, detach it from the source instance and attach it to the destination instance.
To move data between Availability Zones (within the same region) or to create a volume in another AZ, use snapshots:
  • Take a snapshot of the source EBS volume. AWS stores snapshots in Amazon S3 behind the scenes.
  • From that snapshot, create a new EBS volume in the target Availability Zone.
  • Attach the new volume to your instance in that AZ.
This snapshot → new-volume workflow is the standard way to migrate EBS data between AZs. Snapshots can also be copied across regions: create a snapshot in Region A, copy that snapshot to Region B, then create a volume in Region B from the copied snapshot.
EBS snapshots are incremental after the first snapshot: only changed blocks are stored in subsequent snapshots. Snapshot storage is billed based on the actual storage used. Although snapshots are stored in Amazon S3, they are not exposed as standard S3 objects.
A diagram illustrating AWS Elastic Block Store (EBS) showing two regions where an EBS volume in Region 1 is snapshotted, the snapshot is copied across regions, and a new EBS volume is created in Region 2 from that snapshot.
EBS volume types Amazon EBS offers several volume types with different performance, scalability, and cost characteristics so you can choose the right tradeoff for your workload. The major categories are:
  • General Purpose SSD (gp3, gp2)
  • Provisioned IOPS SSD (io2, io2 Block Express, io1)
  • Throughput Optimized HDD (st1)
  • Cold HDD (sc1)
  • Magnetic (previous generation: standard)
A presentation slide titled "Volume Types" showing five colored, numbered panels listing storage options: General purpose SSD (gp2/gp3), Provisioned IOPS SSD, Throughput Optimized HDD, Cold HDD, and Magnetic. Each type is shown in a distinct vertical rounded rectangle.
Use-case summary table General Purpose SSD (gp3, gp2)
  • Backed by solid-state drives (SSDs); balance price and performance for a wide range of transactional workloads.
  • gp3 is generally the recommended default: lower cost per GiB than gp2 and allows independent provisioning of throughput and IOPS.
  • gp2 is older and scales IOPS with volume size.
A presentation slide titled "SSD Volumes" showing a comparison table of AWS EBS SSD volume types (gp3, gp2, io2 Block Express, io2, io1) with rows for durability, use cases, volume size, max IOPS/throughput, and support features. The slide includes a © Copyright KodeKloud notice at the bottom.
Provisioned IOPS SSD (io1, io2, io2 Block Express)
  • Designed for the highest performance: ideal for I/O-intensive, low-latency workloads such as high-performance databases.
  • io1 and io2 provide provisioned IOPS; io2 adds higher durability and better overall SLA.
  • io2 Block Express provides much higher maximum IOPS and throughput and supports larger maximum volumes — use it for extreme performance and sub-millisecond latency.
  • Use these when you need predictable, sustained IOPS and low latency.
If you use Multi-Attach with a volume type that supports it, ensure your application coordinates concurrent writes (clustered filesystems, distributed locks, or database-level coordination). Failing to coordinate writes can lead to data corruption.
HDD-backed volumes (st1 and sc1)
  • Throughput Optimized HDD (st1) — low-cost HDD for frequently accessed, throughput-intensive workloads such as big data, data warehouses, and log processing.
  • Cold HDD (sc1) — lowest-cost HDD for less-frequently accessed, throughput-oriented storage.
  • HDD volumes have moving parts and therefore provide lower IOPS and higher latency than SSD volumes; they are optimized for large, sequential workloads.
  • st1 and sc1 do not support Multi-Attach and are not recommended as boot volumes.
Between categories, typical performance ranking from highest to lowest: Provisioned IOPS SSD → General Purpose SSD → HDD-backed (st1/sc1) → Magnetic (previous generation). Magnetic volumes (previous generation)
  • Magnetic standard volumes are an older generation suitable for small, infrequently accessed datasets where performance is not important.
  • They offered limited IOPS and throughput compared to modern SSD/HDD EBS types and are typically only used for legacy workloads.
The image is a presentation slide titled "Magnetic Volumes (previous generation)" showing a table of specifications for magnetic storage (volume type, use cases, size, max IOPS, throughput, and boot volume support). It lists details like 1 GiB–1 TiB size, 40–200 IOPS, and 40–90 MiB/s throughput for infrequently accessed workloads.
Pricing
  • EBS billing is primarily by provisioned GiB-month. Some volume types also incur charges for provisioned IOPS and throughput.
  • Higher-performance volumes cost more per GiB and may include additional charges for provisioned IOPS/throughput.
  • Snapshot storage is billed by the amount of snapshot data stored. Since snapshots are incremental after the first, charges reflect the actual storage used.
Summary
  • Block storage splits data into uniquely identified blocks. Collections of blocks are presented to an OS as volumes.
  • EBS volumes are mountable and can be bootable — a key distinction from object or file storage.
  • Amazon EBS provides block-level storage for EC2. Volumes are provisioned and replicated within an Availability Zone; the instance and volume must be in the same AZ.
  • To move EBS data between AZs, take a snapshot and create a new volume from that snapshot in the target AZ. To move data across regions, copy the snapshot to the target region first.
  • EBS supports multiple volume types (SSD and HDD variants, plus older magnetic volumes) so you can balance performance, durability, and cost.
  • You pay for the storage and performance you provision.
A presentation slide titled "Summary" listing four short points about block storage: breaking data into uniquely identified blocks, presenting block collections as volumes, booting/mounting from block storage, and AWS Elastic Block Store (EBS) for EC2.
A presentation summary slide with a teal left panel and three numbered points about AWS EBS volumes: provisioning in an availability zone, copying via snapshots to another AZ, and different EBS volume types. Decorative colored icons labeled 05–07 appear beside each point.
Further reading and references

Watch Video