AWS Storage Options – EBS & Instance Store
- Elastic Block Store – EBS and Instance Store provide block-level storage options for EC2 instances.
Elastic Block Store (EBS) volume
- EBS provides durable block-level storage for use with EC2 instances
- EBS volumes are off-instance, network-attached storage (NAS) that persists independently from the running life of a single EC2 instance.
- EBS volume is attached to an instance and can be used as a physical hard drive, typically by formatting it with the file system of your choice and using the file I/O interface provided by the instance operating system.
- EBS volume can be used to boot an EC2 instance (EBS-root AMIs only), and multiple EBS volumes can be attached to a single EC2 instance.
- EBS volume can be attached to a single EC2 instance only at any point in time.
- EBS Multi-Attach volume can be attached to multiple EC2 instances (up to 16 Nitro-based instances in the same AZ). Multi-Attach is supported on io1 and io2 Block Express volumes.
- EBS provides the ability to take point-in-time snapshots, which are persisted in S3. These snapshots can be used to instantiate new EBS volumes and to protect data for long-term durability
- EBS snapshots can be copied across AWS regions as well, making it easier to leverage multiple AWS regions for geographical expansion, data center migration, and disaster recovery
- All EBS volume types are designed for 99.999% availability.
EBS Volume Types
- Amazon EBS provides six volume types divided into two major categories:
- SSD-backed storage for transactional workloads (databases, virtual desktops, boot volumes)
- HDD-backed storage for throughput-intensive workloads (MapReduce, log processing)
- General Purpose SSD (gp3) — baseline 3,000 IOPS and 125 MiB/s at any size; scales up to 64 TiB, 80,000 IOPS, and 2,000 MiB/s (enhanced Sep 2025). Performance provisioned independently of capacity. 99.8%-99.9% durability.
- General Purpose SSD (gp2) — burstable performance tied to volume size (3 IOPS/GiB, up to 16,000 IOPS). Being superseded by gp3 for new workloads.
- Provisioned IOPS SSD (io2 Block Express) — highest performance block storage: up to 256,000 IOPS, 4,000 MiB/s throughput, 64 TiB capacity, sub-millisecond latency. 99.999% durability (100X more durable than gp3). Supports Multi-Attach and NVMe reservations for shared storage fencing.
- Provisioned IOPS SSD (io1) — previous generation Provisioned IOPS; up to 64,000 IOPS and 1,000 MiB/s. 99.8%-99.9% durability.
- Throughput Optimized HDD (st1) — low-cost HDD for frequently accessed, throughput-intensive workloads; up to 500 MiB/s. Cannot be a boot volume.
- Cold HDD (sc1) — lowest cost HDD for less frequently accessed workloads; up to 250 MiB/s. Cannot be a boot volume.
- Magnetic (standard) — previous generation volume type with lower performance. AWS recommends migrating to current generation volume types.
Ideal Usage Patterns
- EBS is meant for data that changes relatively frequently and requires long-term persistence.
- EBS volume provides access to raw block-level storage and is particularly well-suited for use as the primary storage for a database or file system
- EBS Provisioned IOPS volumes (io2 Block Express) are particularly well-suited for use with databases applications that require a high and consistent rate of random disk reads and writes, such as Oracle, SAP HANA, Microsoft SQL Server, and SAS Analytics.
- gp3 volumes are ideal for a wide variety of workloads including virtual desktops, medium-sized databases, development/test environments, and boot volumes.
- st1 volumes are ideal for big data, data warehouses, and log processing.
- sc1 volumes are ideal for infrequently accessed cold data requiring lowest storage cost.
Anti-Patterns
- Temporary Storage
- EBS volume persists independent of the attached EC2 life cycle.
- For temporary storage such as caches, buffers, queues, etc it is better to use local instance store volumes, SQS, or ElastiCache
- Highly-durable storage
- For highly durable storage, use S3 or Glacier which provides 99.999999999% (11 9’s) annual durability per object. EBS io2 Block Express offers 99.999% durability, while gp3/gp2/io1 offer 99.8%-99.9% durability.
- Static data or web content
- For static web content, where data infrequently changes, EBS with EC2 would require a web server to serve the pages.
- S3 may represent a more cost-effective and scalable solution for storing this fixed information and is served directly out of S3.
EBS Performance
- EBS provides multiple volume types that differ in performance characteristics and pricing, allowing you to tailor storage performance and cost to application needs.
- EBS Volumes can be attached and striped across multiple similarly-provisioned EBS volumes using RAID 0 or logical volume manager software, thus aggregating available IOPS, total volume throughput, and total volume size.
- gp3 volumes offer cost-effective storage with independently configurable IOPS and throughput. Baseline: 3,000 IOPS and 125 MiB/s; scalable up to 80,000 IOPS and 2,000 MiB/s (as of Sep 2025).
- io2 Block Express volumes deliver predictable, high performance for I/O intensive workloads: up to 256,000 IOPS, 4,000 MiB/s throughput, with sub-millisecond latency. Supports 1,000 IOPS per GB provisioned.
- As EBS volumes are network-attached devices, other network I/O performed by the instance, as well as the total load on the shared network, can affect individual EBS volume performance.
- EBS-optimized instances deliver dedicated throughput between EC2 and EBS. Latest Nitro-based instances (e.g., C8gn, M8gn, R8gn in 48xlarge/metal sizes) support up to 120 Gbps EBS bandwidth and 480,000 IOPS (as of Apr 2026).
- Each separate EBS volume can be configured independently with its own type and performance settings.
EBS Durability & Availability
- EBS volumes are designed to be highly available and reliable.
- EBS volume data is replicated across multiple servers in a single AZ to prevent the loss of data from the failure of any single component.
- All EBS volume types are designed for 99.999% availability.
- io2 Block Express volumes provide 99.999% durability (0.001% annual failure rate) — 100X more durable than other volume types.
- gp3, gp2, and io1 volumes provide 99.8%-99.9% durability (0.1%-0.2% annual failure rate).
- EBS snapshots are incremental, point-in-time backups, containing only the data blocks changed since the last snapshot.
- Frequent snapshots are recommended to maximize both the durability and availability of EBS data.
- EBS snapshots provide an easy-to-use disk clone or disk image mechanism for backup, sharing, and disaster recovery.
EBS Snapshots Archive
- EBS Snapshots Archive offers up to 75% lower snapshot storage costs for snapshots stored for 90 days or longer that are rarely accessed.
- Snapshots in the standard tier are incremental; when archived, they are converted to full snapshots and moved to the archive tier.
- Archived snapshots can be restored to the standard tier when needed (restoration takes 24-72 hours).
- AWS Backup now supports EBS Snapshots Archive in backup policies for automated lifecycle management.
- EBS now displays full snapshot size information in Console and via DescribeSnapshots API (
full-snapshot-size-in-bytesfield, Feb 2025).
EBS Elastic Volumes
- Elastic Volumes allows you to dynamically increase capacity, tune performance, and change the type of live volumes with no downtime or performance impact.
- EBS volumes can be resized dynamically (increased only, cannot be reduced in size).
- As of Jan 2026, EBS supports up to 4 Elastic Volumes modifications per volume within a rolling 24-hour window (previously limited to 1 modification per 6 hours).
- Modifications include: increasing size, changing volume type, and adjusting provisioned performance (IOPS/throughput).
EBS Cost Model
- EBS pricing varies by volume type:
- gp3: charged per GB-month of provisioned storage, plus separately for provisioned IOPS (above 3,000) and throughput (above 125 MiB/s)
- gp2: charged per GB-month of provisioned storage (IOPS included based on size)
- io2/io1: charged per GB-month of provisioned storage and per Provisioned IOPS-month
- st1/sc1: charged per GB-month of provisioned storage
- EBS snapshots are charged per GB-month of data stored. Snapshots are incremental and compressed, so storage used is generally much less than volume size.
- EBS Snapshots Archive tier costs up to 75% less than standard snapshot storage (minimum 90-day retention).
- EBS snapshot copy is charged for data transferred between regions, plus standard snapshot charges in the destination region.
- EBS volume storage capacity is allocated at creation time, and you are charged for allocated storage even if not fully used.
EBS Scalability and Elasticity
- EBS volumes can easily and rapidly be provisioned and released to scale in and out with changing storage demands.
- EBS volumes can be resized dynamically using Elastic Volumes (increase only, cannot be reduced).
- Volume type and performance can be changed without detaching the volume or stopping the instance.
- Up to 4 modifications are allowed per 24-hour rolling window.
Interfaces
- AWS offers management APIs for EBS through REST-based APIs, AWS CLI, and SDKs, which can be used to create, delete, describe, attach, and detach EBS volumes, as well as to create, delete, and describe snapshots and copy snapshots across regions.
- Amazon also offers the same capabilities through the AWS Management Console.
- EBS Direct APIs allow you to read and write data directly to/from EBS snapshots without needing to attach them to an instance — useful for backup, disaster recovery, and data migration.
Instance Store Volumes
- Instance Store volumes are also referred to as Ephemeral Storage.
- Instance Store volumes provide temporary block-level storage and consist of a preconfigured and pre-attached block of disk storage on the same physical server as the EC2 instance.
- Instance storage amount depends on the Instance type; larger instances provide both more and larger instance store volumes.
- Modern instance store volumes use NVMe SSD storage on Nitro-based instances, delivering high random I/O performance with low latency.
- Latest generation storage-optimized instances (2025-2026):
- C8gd, M8gd, R8gd (Graviton4): up to 11.4 TB of NVMe SSD local storage, 3X more than previous generation
- C8id, M8id, R8id (Intel Xeon 6): up to 22.8 TB of NVMe SSD local storage, 3X more than 6th-gen instances
- Instance store volumes, unlike EBS volumes, cannot be detached or attached to another instance.
- Data on instance store volumes persists only during the life of the associated EC2 instance — data is lost when the instance stops, terminates, or the underlying hardware fails.
Ideal Usage Patterns
- EC2 local instance store volumes are fast, free (included in the price of the EC2 instance) “scratch volumes” best suited for storing temporary data that is continually changing, such as buffers, caches, scratch data, or data that is replicated for durability.
- NVMe SSD-backed instances are ideally suited for many high performance database workloads. e.g., NoSQL databases like Cassandra, MongoDB, and real-time analytics.
- High storage instances support much higher storage density per EC2 instance and are ideally suited for applications that benefit from high sequential I/O performance across very large datasets. e.g., data warehouses, Hadoop/Spark storage nodes, distributed file systems.
- Machine learning training workloads that need fast local scratch storage for datasets and checkpoints.
Anti-Patterns
- Persistent storage
- For persistent virtual disk storage similar to a physical disk drive for files or other data that must persist longer than the lifetime of a single EC2 instance, EBS volumes or S3 are more appropriate.
- Relational database storage
- In most cases, relational databases require storage that persists beyond the lifetime of a single EC2 instance, making EBS volumes the natural choice.
- Shared storage
- Instance store volumes are dedicated to a single EC2 instance, and cannot be shared with other systems or users.
- If you need storage that can be detached from one instance and attached to a different instance, or if you need the ability to share data easily, EBS volumes, EFS, or S3 are better choices.
- Snapshots
- If you need the convenience, long-term durability, availability, and shareability of point-in-time disk snapshots, EBS volumes are a better choice.
Instance Store Performance
- EC2 instance virtual machine and the local instance store volumes are located on the same physical server, providing very fast access with low latency, particularly for sequential access.
- Because the bandwidth to the disks is not limited by the network, aggregate sequential throughput for multiple instance volumes can be higher than for the same number of EBS volumes.
- NVMe SSD instance store volumes provide from tens of thousands to hundreds of thousands of low-latency, random 4 KB IOPS.
- To further increase aggregate IOPS or improve sequential disk throughput, multiple instance store volumes can be grouped together using RAID 0 (disk striping) software.
- High storage instances are capable of delivering multi-GB/sec sequential read and write performance.
- AWS provides detailed NVMe statistics for instance store volumes to help optimize latency-sensitive workloads (available 2025).
Instance Store Durability and Availability
- EC2 local instance store volumes are NOT intended to be used as durable disk storage.
- Data persists only during the life of the associated EC2 instance.
- Data is lost when: instance is stopped or terminated, underlying disk drive fails, or instance hibernates.
- Always replicate important data to EBS, S3, or other durable storage.
Cost Model
- Cost of the EC2 instance includes any local instance store volumes if the instance type provides them.
- While there is no additional charge for data storage on local instance store volumes, data transferred to and from instance store volumes from other AZs or outside an EC2 region may incur data transfer charges.
- Additional charges apply for any persistent storage used (S3, Glacier, EBS volumes, EBS snapshots).
Scalability and Elasticity
- Local instance store volumes are tied to a particular EC2 instance and are fixed in number and size for a given EC2 instance type.
- Scalability and elasticity of this storage are tied to the number of EC2 instances running.
Interfaces
- Instance store volumes are specified using the block device mapping feature of the EC2 API and the AWS Management Console.
- To the EC2 instance, an instance store volume appears just like a local disk drive. Use the native file system I/O interfaces of the chosen operating system to read and write data.
- On Nitro-based instances, instance store volumes are exposed as NVMe block devices.
EBS vs Instance Store Comparison
| Feature | EBS | Instance Store |
|---|---|---|
| Persistence | Persists independently of instance | Ephemeral — lost on stop/terminate |
| Network | Network-attached | Physically attached (local) |
| Snapshots | Supported (incremental, cross-region) | Not supported |
| Boot volume | Yes | No (legacy only) |
| Resize | Yes (Elastic Volumes) | Fixed per instance type |
| Max IOPS | 256,000 (io2 Block Express) | Millions (NVMe, instance-dependent) |
| Max size per volume | 64 TiB | Instance-type dependent (up to 22.8 TB) |
| Durability | 99.999% (io2) / 99.8-99.9% (others) | None — ephemeral |
| Multi-Attach | Yes (io1/io2, up to 16 instances) | No |
| Cost | Pay per provisioned GB + IOPS/throughput | Included in instance price |
AWS Certification Exam Practice Questions
- Questions are collected from Internet and the answers are marked as per my knowledge and understanding (which might differ with yours).
- AWS services are updated everyday and both the answers and questions might be outdated soon, so research accordingly.
- AWS exam questions are not updated to keep up the pace with AWS updates, so even if the underlying feature has changed the question might not be updated
- Open to further feedback, discussion and correction.
- Which of the following provides the fastest storage medium?
- Amazon S3
- Amazon EBS using Provisioned IOPS (PIOPS)
- SSD Instance (ephemeral) store (SSD Instance Storage provides hundreds of thousands of IOPS on some instance types, much faster than any network-attached storage)
- AWS Storage Gateway
- A company needs a block storage volume with the highest durability for a mission-critical Oracle database. Which EBS volume type should they choose?
- gp3
- gp2
- io2 Block Express (io2 Block Express provides 99.999% durability — 100X more durable than other volume types, designed for mission-critical applications)
- io1
- An application requires a single EBS volume with 50,000 IOPS. Which volume type(s) can meet this requirement? (Choose TWO)
- gp3 (gp3 now supports up to 80,000 IOPS as of Sep 2025)
- gp2 (gp2 max is 16,000 IOPS)
- io2 Block Express (io2 Block Express supports up to 256,000 IOPS)
- st1 (st1 is HDD-backed and optimized for throughput, not IOPS)
- Which statements about EBS Elastic Volumes are correct? (Choose TWO)
- You can increase volume size without detaching or stopping the instance
- You can decrease volume size dynamically (Volume size can only be increased, not decreased)
- Up to 4 modifications are allowed per volume within a 24-hour rolling window
- Volume modifications require a reboot to take effect (No downtime or reboot required)
- A company wants to reduce costs for EBS snapshots that are retained for compliance for 2 years but rarely accessed. What should they use?
- S3 Glacier Deep Archive
- EBS Snapshots Archive (EBS Snapshots Archive provides up to 75% lower costs for snapshots stored 90+ days that are rarely accessed)
- Delete the snapshots and use AMIs instead
- Use sc1 volumes instead of snapshots
- Which of the following is true about EC2 Instance Store volumes? (Choose TWO)
- Data is lost when the instance is stopped or terminated
- Instance store volumes can be detached and attached to another instance (Instance store volumes cannot be detached)
- Instance store volumes provide lower latency than EBS because they are physically attached
- Instance store volumes support point-in-time snapshots (Snapshots are not supported for instance store)
- A company needs to attach a single high-performance EBS volume to 8 EC2 instances in the same AZ for a clustered application. Which solution is appropriate?
- Use gp3 with Multi-Attach (Multi-Attach is not supported on gp3)
- Use io2 Block Express with Multi-Attach (io2 Block Express supports Multi-Attach to up to 16 Nitro-based instances in the same AZ with NVMe reservations for I/O fencing)
- Use instance store volumes shared via NFS
- Use st1 with Multi-Attach (Multi-Attach is not supported on HDD volumes)
Hi Jayendra,
>>High I/O instances provide instance store volumes backed by SSD, and are ideally suited for many high performance database workloads. for e.g. applications include NoSQL databases like Cassandra and MongoDB.
Since SSD storage is ephemeral. Why would they be good candidates for database workloads? If the instance is restarted, the data will be lost so I think these are not good candidates for db workload. Amazon documentation (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/storage_instances.html) also says it is good — I think I’m missing a point. Could you please clarify?
Cheers,
Satish
The reason for using SSD Instance store for NoSQL and other use cases is the performance. However, the data needs to be backed up or replicated to prevent any data loss if the instance fails.
For e.g. AWS DyanamoDB the data items are stored on solid-state drives (SSDs) and are automatically replicated across three Availability Zones in an AWS region to provide built-in high availability and data durability.
You can create an HA and durable architecture using Distributed Replicated Block Device (DRBD). Create RAID 0 by striping multiples instance store together. Replicate the same model in other AZ and user DRDB to replicate data in both AZ instance store. Add one more cluster of RAID 0 EBS volume and replicate data there using DRDB. Take the snapshot of EBS volume and store in S3.
From the post,
“Amazon EBS volumes cannot be resized, and if additional storage is needed either”
Tested and found that EBS volume can be enlarged, but cannot be shrinked.
thanks Dave, seems to be latest enhancement from AWS @ https://aws.amazon.com/blogs/aws/amazon-ebs-update-new-elastic-volumes-change-everything/ where you can actually enlarge a volume. Will edit the post
Hi Jayendra/Experts,
Which of the following provides the fastest storage medium?
Amazon S3
Amazon EBS using Provisioned IOPS (PIOPS)
SSD Instance (ephemeral) store (SSD Instance Storage provides 100,000 IOPS on some instance types, much faster than any network-attached storage)
AWS Storage Gateway
Isn’t the answer provisioned IOPS ?
which SSD instance type provides 100K IOPS ?
Thank you
Rahul
Refer AWS documentation – SSD Instance Store IOPS Performance