Amazon Elastic Block Store Documentation

What is Amazon EBS?

Amazon Elastic Block Store (Amazon EBS) allows you to create storage volumes and attach them to Amazon EC2 instances. Once attached, you can create a file system on top of these volumes, run a database, or use them in any other way you would use block storage. Amazon EBS volumes are placed in a specific Availability Zone where they are replicated to help protect you from the failure of a single component. All EBS volume types offer durable snapshot capabilities and are designed for 99.999% availability.

Amazon EBS provides a range of options that allow you to optimize storage performance and cost for your workload. These options are divided into two major categories: SSD-backed storage for transactional workloads, such as databases and boot volumes, and HDD-backed storage for throughput intensive workloads, such as MapReduce and log processing.
 
Our highest performance io2 Block Express volume enables the first storage area network (SAN) in the Cloud. Block Express is a next-generation storage server architecture that provides high block storage performance without the hassle of having to procure, scale, and maintain expensive on-premises SANs. With io2 volumes running on Block Express, you can achieve sub-millisecond latency. io2 Block Express volumes are ideal for large, I/O-intensive deployments.
 
SSD-backed volumes include high performance Provisioned IOPS SSD (io2 and io1) for latency-sensitive transactional workloads and General Purpose SSD (gp3 and gp2) that balance price and performance for a wide variety of transactional data. HDD-backed volumes include Throughput Optimized HDD (st1) for frequently accessed, throughput intensive workloads and the lowest cost Cold HDD (sc1) for less frequently accessed data.
 
Elastic Volumes is a feature of Amazon EBS that is designed to allow you to dynamically increase capacity, tune performance, and change the type of live volumes with no downtime or performance impact. This allows you to right-size your deployment and adapt to performance changes.

Amazon EBS availability and durability

Amazon EBS volumes are designed to be highly available, reliable, and durable. At no additional charge to you, Amazon EBS volume data is replicated across multiple servers in an Availability Zone to prevent the loss of data from the failure of any single component. For more details, see the Amazon EBS Service Level Agreement.

Amazon EBS offers a higher durability volume (io2 Block Express), that is designed to provide durability. This makes io2 Block Express ideal for business-critical applications such as SAP HANA, Oracle, Microsoft SQL Server and IBM DB2 that will benefit from higher uptime.

EBS also supports a snapshot feature, which is a good way to take point-in-time backups of your data. To learn more about Amazon EBS Snapshots and how to take point-in time backups of your volumes please visit here.

Amazon EBS-Optimized instances

For an additional low, hourly fee, customers can launch certain Amazon EC2 instance types as EBS-optimized instances. EBS-optimized instances enable EC2 instances to use the IOPS provisioned on an EBS volume.

EBS-optimized instances deliver throughput between Amazon EC2 and Amazon EBS. The dedicated throughput minimizes contention between Amazon EBS I/O and other traffic from your EC2 instance, providing high performance for your EBS volumes.

EBS-optimized instances are designed for use with all Amazon EBS volume types.

For more information about the instance types that can be launched as EBS-Optimized instances, see Amazon EC2 Instance Types.

Volume Types

SSD-backed volumes (IOPS-intensive)

Provisioned IOPS SSD (io2 Block Express and io1) volumes

Io2 Block Express is the latest generation of the Provisioned IOPS SSD volumes that delivers 4x higher throughput, IOPS, and capacity than io1 volumes, along with sub-millisecond latency. Io2 Block Express provides the highest block storage performance for the largest, most I/O-intensive, mission-critical deployments of Oracle, Microsoft SQL Server, SAP HANA, and SAS Analytics.

When attached to Nitro System-based EC2 instances, io2 Block Express is designed to provide sub-millisecond latency, while io1 is designed to achieve single-digit millisecond latencies. This makes io2 Block Express ideal for performance-intensive, business-critical applications that will benefit from higher uptime. Io2 Block Express volumes support Multi-Attach with I/O fencing, which allows customers to attach an io2 Block Express volume to up to sixteen Nitro-based EC2 instances within the same Availability Zone. In addition, Fast Snapshot Restore and Elastic Volumes are also supported in all Provisioned IOPS SSD volumes. For more details on pricing, please visit the pricing page. For more information about instance types that can be launched as EBS-optimized instances, see Amazon EC2 Instance Types. For more information about Amazon EBS performance guidelines, see Increasing EBS PerformanceLearn more.

General purpose SSD (gp3 and gp2) volumes

General-purpose volumes are backed by solid-state drives (SSDs) and are suitable for a broad range of transactional workloads, virtual desktops, medium sized single instance databases, latency sensitive interactive applications, dev/test environments, and boot volumes. Amazon gp3 volumes are the latest generation of general-purpose SSD-based EBS volumes that help enable customers to provision performance independent of storage capacity, while providing lower pricing per GB than existing gp2 volumes. Both gp3 and gp2 volumes are designed to offer single-digit millisecond latency and deliver the provisioned performance. We advise using io2 Block Express volumes if you require more IOPS than gp3 can offer, have a workload where low latency is essential, or require improved performance consistency or durability.

To maximize the performance of gp3, we recommend using EBS-optimized EC2 instances.

HDD-backed volumes (MB/s-intensive)

Throughput optimized HDD (st1) volumes

ST1 is backed by hard disk drives (HDDs) and is ideal for frequently accessed, throughput intensive workloads with large datasets and large I/O sizes, such as MapReduce, Kafka, log processing, data warehouse, and ETL workloads. These volumes deliver performance in terms of throughput, measured in MB/s. ST1 is designed to deliver the expected throughput performance and has enough I/O credits to support a full-volume scan at the burst rate. To maximize the performance of st1, we recommend using EBS-optimized EC2 instances.

Cold HDD (sc1) volumes

SC1 is backed by hard disk drives (HDDs) and provides the lowest cost per GB of all EBS volume types. It is ideal for less frequently accessed workloads with large, cold datasets. For infrequently accessed data, sc1 provides inexpensive storage. SC1 is designed to deliver the expected throughput performance and has enough I/O credits to support a full-volume scan at the burst rate. To maximize the performance of sc1, we recommend using EBS-optimized EC2 instances.

Amazon EBS Snapshots

Amazon EBS provides the ability to save point-in-time snapshots of your volumes to Amazon S3. Amazon EBS Snapshots are stored incrementally: only the blocks that have changed after your last snapshot are saved, and you are billed only for the changed blocks.

When you delete a snapshot, you remove only the data not needed by any other snapshot. Active snapshots contain the information needed to restore the volume to the instant at which that snapshot was taken. The time to restore changed data to the working volume is the same for all snapshots.

Snapshots can be used to instantiate multiple new volumes, expand the size of a volume, or move volumes across Availability Zones. When a new volume is created, you may choose to create it based on an existing Amazon EBS Snapshot. In that scenario, the new volume begins a replica of the snapshot.

The following are key features of Amazon EBS Snapshots:

  • Direct read access of EBS Snapshots - Customers can use EBS direct APIs for Snapshots to read data off snapshots and identify differences between two EBS Snapshots without needing to create EBS volumes and EC2 instances. EBS direct APIs for Snapshots enable backup partners to track incremental changes on EBS volumes more efficiently, providing faster backup times and more granular recovery point objectives (RPOs) to customers at a lower cost. For more information, see the EBS direct APIs for Snapshots technical documentation and pricing page.
  • Creating EBS Snapshots from any block storage - Using EBS direct APIs, you can create EBS Snapshots directly from any block storage data, regardless of where it resides, including data on-premises, and quickly recover into EBS volumes. This allows you to meet your disaster recovery objectives in AWS at lower costs. For more information, see the EBS direct APIs for Snapshots technical documentation and pricing page.
  • Immediate access to Amazon EBS volume data - After a volume is created from a snapshot, there is no need to wait for all of the data to transfer from Amazon S3 to your Amazon EBS volume before your attached instance can start accessing the volume. Amazon EBS Snapshots implement lazy loading, so that you can begin using them right away.
  • Instant full performance on EBS volumes restored from snapshots - For an additional hourly charge, you can enable Fast Snapshot Restore (FSR) capability for low latency access to data restored from snapshots. EBS volumes restored from FSR-enabled snapshots instantly receive their full performance. For more information, see the FSR technical documentation and pricing page.
  • Automating creation of application-consistent snapshots - With Amazon Data Lifecycle Manager support for pre-script and post-script automation, you can automate the creation of application-consistent EBS Snapshots of your self-managed databases and VSS Backups. The capability will integrate with AWS Systems Manager Agent (SSM Agent) and SSM documents to automate actions before and after snapshots are initialized. To create application-consistent snapshots and find out the workloads supported, see the technical documentation.
  • Resizing Amazon EBS volumes - There are two methods that can be used to resize an Amazon EBS volume. If you create a new volume based on a snapshot, you can specify a larger size for the new volume. With the Elastic Volumes feature you can dynamically grow live volumes without the use of snapshots. Make certain that your file system and application supports resizing a device.
  • Sharing Amazon EBS Snapshots - Amazon EBS Snapshots shareability makes it easy for you to share data with your co-workers or others in the AWS community. Authorized users can create their own Amazon EBS volumes based on your Amazon EBS shared snapshots; your original snapshot remains intact. You can also restrict public access to snapshots in an account by enabling Block Public Access for EBS Snapshots. If you choose, you can also make your data available publicly to all AWS users. For more information about how to share snapshots, see Modifying Snapshot Permissions.
  • Locking Amazon EBS Snapshots - You can lock your Amazon EBS Snapshots to help protect them against accidental or malicious deletions, or store them in WORM (write-once-read-many) format for a specific duration to help comply with regulatory requirements. While a snapshot is locked, it can't be deleted by any users, regardless of their IAM permissions. For more information, see Locking Snapshots.
  • Copying Amazon EBS Snapshots across AWS Regions - Amazon EBS ability to copy snapshots across AWS Regions makes it easier to leverage multiple AWS Regions for geographical expansion, data center migration and disaster recovery. You can copy any snapshot accessible to you: snapshots you created; snapshots shared with you; and snapshots from the AWS Marketplace, VM Import/Export, and AWS Storage Gateway. For more information, see Copying an Amazon EBS Snapshot.
  • EBS Snapshots Archive - EBS Snapshots Archive is a lower storage cost tier which stores a copy of your point-in-time EBS Snapshots. Unlike an EBS Snapshot of a volume which is incremental, a snapshot archive is "full" since it contains all the blocks written into the volume at the moment the snapshot was taken. To recreate a volume from EBS Snapshots Archive, you restore the EBS Snapshot to the standard tier, and then create an EBS volume from the restored snapshot.
  • Instant full performance on EBS volumes restored from snapshots - For an additional hourly charge, you can enable Fast Snapshot Restore (FSR) capability for low latency access to data restored from snapshots. You can enable FSR on snapshots you own or those shared with you. EBS volumes restored from FSR-enabled snapshots instantly receive their full performance. For more information, see the FSR technical documentation and pricing page.

Amazon Data Lifecycle Manager for EBS Snapshots

Amazon Data Lifecycle Manager for EBS Snapshots provides a simple, automated way to back up data stored on EBS volumes by helping to ensure that EBS Snapshots are created and deleted on a custom schedule. You no longer need to use scripts or other tools to comply with data backup and retention policies specific to your organization or industry. With the support for custom script automation, you can set lifecycle policies to automate pre-scripts and post-scripts before and after the creation of application-consistent EBS Snapshots for self-managed databases running on EC2 instances.

With Data Lifecycle Manager, snapshots are cleaned up regularly and costs are kept under control. Simply tag your EBS volumes and start creating Lifecycle policies for creation and management of backups. Use CloudWatch Events to monitor your policies and ensure that your backups are being created successfully.

Amazon EBS encryption and AWS Identity and Access Management

Amazon EBS encryption offers encryption of EBS data volumes, boot volumes and snapshots, helping to eliminate the need to build and manage a key management infrastructure designed to be secure. EBS encryption helps enable data at rest security by encrypting your data volumes, boot volumes and snapshots using Amazon-managed keys or keys you create and manage using the AWS Key Management Service (KMS). In addition, the encryption occurs on the servers that host EC2 instances, providing encryption of data as it moves between EC2 instances and EBS data and boot volumes. For more information, see Amazon EBS encryption in the Amazon EC2 User Guide.

Access to Amazon EBS volumes is integrated with AWS Identity and Access Management (IAM). IAM enables access control to your Amazon EBS volumes. For more information, see AWS Identity and Access Management.

Amazon EBS Elastic Volumes

Elastic Volumes is a feature that allows you to easily adapt your volumes as the needs of your applications change. Elastic Volumes allows you to increase capacity, tune performance, and change the type of any new or existing current generation volume with no downtime or performance impact. Easily right-size your deployment and adapt to performance changes.

Create a volume with the capacity and performance needed today knowing you have the ability to modify your volume configuration in the future, saving hours of planning cycles.

By using Amazon CloudWatch with AWS Lambda, you can automate volume changes to meet the changing needs of your applications.

The Elastic Volumes feature makes it easier to adapt your resources to changing application demands, giving you confidence that you can make modifications in the future as your business needs change.

Amazon EBS Multi-Attach

Customers can enable Multi-Attach on an EBS Provisioned IOPS volume to allow a volume to be concurrently attached to Nitro-based EC2 instances within the same Availability Zone. Multi-Attach makes it easier to achieve higher application availability for applications that manage storage consistency from multiple writers. Each attached instance has read and write permission to the shared volume. Multi-Attach on a Provisioned IOPS io2 Block Express volume supports NVMe reservations. There is no additional fee to enable Multi-Attach.

To learn more, see Multi-Attach technical documentation.

Amazon EBS Torn Write Prevention

Torn Write Prevention (TWP) ensures that write operations are persisted to the block storage. With this feature, customers can turn off the double write operation that MySQL and MariaDB databases perform for increased database write throughput. These customers can increase the number of transactions processed per second (TPS) without having to over-provision or scale up their clusters, thereby reducing storage cost. By eliminating the second write operation, TWP decreases the write latency and variability in the number of TPS, enabling customers to improve their Service Level Agreement (SLA) without compromising the resiliency of their workloads.

TWP supports all Amazon EBS volumes attached to EC2 Nitro-based instances. To learn more, see Torn Write Prevention technical documentation.

Additional Information

For additional information about service controls, security features and functionalities, including, as applicable, information about storing, retrieving, modifying, restricting, and deleting data, please see https://docs.aws.amazon.com/index.html. This additional information does not form part of the Documentation for purposes of the AWS Customer Agreement available at http://aws.amazon.com/agreement, or other agreement between you and AWS governing your use of AWS’s services.