AWS Elastic Block Store (EBS) is Amazon’s block-level storage solution used with the EC2 cloud service to store persistent data. This means that the data is kept on the AWS EBS servers even when the EC2 instances are shut down. EBS offers the same high availability and low-latency performance within the selected availability zone, allowing users to scale storage capacity at low subscription-based pricing model. The data volumes can be dynamically attached, detached and scaled with any EC2 instance, just like a physical block storage drive. As a highly dependable cloud service, the EBS offering guarantees 99.999% availability.
AWS EBS is different from the standard EC2 Instance Store, which merely provides temporary storage available on the physical EC2 host servers. The EC2 Instance Store is useful for temporary data content such as caches, buffers or files that are replicated across the hosted servers. For data that needs to be available persistently, regardless of the operating life of an EC2 instance, the AWS EBS offers the following storage volume options:
- General Purpose SSD (gp2): An optimum balance between cost and performance for a variety of IT workloads. Use cases include virtual desktops, apps, dev and test environments, among others.
- Provisioned IOPS SSD (io1): The high-performance functionality serves particularly well for mission-critical IT workloads. Suitable use cases include large databases and business apps that require 16,000 IOPS or 250 MiB/s of throughput per volume.
- Throughput Optimized HDD (st1): A low cost alternative for large storage volume workloads with high performance throughput requirements. Examples include streaming workloads, big data applications, log processing and data warehousing.
- Cold HDD (sc1): An inexpensive alternative for use cases with a requirement to maintain minimal cost for large volume data storage. Examples include workloads that are accessed less frequently.
It’s important to note that each storage option doesn’t represent individual physical storage media, but a distributed system of storage options as per the categorized volume options. This AWS resource provides a detailed overview of the various EBS volume types.
AWS EBS includes powerful features that make it easier to store persistent data automatically and reliably while optimizing cost investments on the cloud storage. The prominent features include:
Amazon EBS Snapshots
This feature allows point-in-time storage of data volumes incrementally, while only charging for the change in data volume. For instance, if 5GB of data was added to an existing 100GB of storage block with the snapshot, AWS will only charge for the additional 5GB of data. Snapshots can be expanded, replicated, moved, shared, copied, modified, managed and organized within and across AWS Availability Zones using the Amazon Data Lifecycle Manager and the Tag feature. All EBS Snapshots are stored in AWS S3 that guarantee up to 11×9’s of durability. Snapshots are not stored as user accessible objects but accessed via the EBS API. The Snapshots are stored behind the Amazon Machine Images (AMI), providing all necessary information to recover data and launch EC2 instances in the cloud accordingly.
The Snapshot capability is key to business continuity plans for mission-critical apps and services. Users can define Recovery Time Objectives (RTO) and Recovery Point Objectives (RPO) and manage the snapshots to meet those objectives. In addition to the data backup and disaster recovery objectives, customers also use EBS Snapshots to capture production data for testing and development. EBS Snapshots and volumes also support encryption, allowing users to create custom CMK when needed from the AWS IAM management console.
Amazon EBS–Optimized Instances
The EBS Optimized Instances offer burst of performance improvements for storage workloads that require short and intense periods of high device I/O operations. The throughput performance for EBS-optimized instances can vary between 4250 to 14,000 Mbps based on the instance type. For instance, the SSD GP2 volume option is designed to operate within 10 percent of its baseline and burst performance, for 99 percent of the time that it’s used as such. This capability allows low spec instances to replicate the high performance of larger instances for a limited period of the day. This feature allows users to right-size their instances while accommodating EBS demand spikes. As a result, the EBS volumes are optimized for a variety of storage use cases and the demand spikes do not impact end-user or customer experience. The EBS solutions are optimized by default or available on a low hourly pricing.
Details are available on Amazon EBS–Optimized Instances guide here.
Other notable features of the AWS EBS include:
- Amazon EBS and NVMe: AWS offers Non-Volatile Memory Express (NVMe) devices for its Nitro-based instance types designed for high performance computing. The Nitro hypervisor system reduces virtualization overhead and offers the same high performance as bare metal hardware. More details here.
- Amazon EBS Volume Performance: Since the AWS EBS is delivered as a raw storage solution, users need to configure and tune the systems to maximize performance on Linux instances. AWS offers a detailed guideline on producing optimal configurations for real-world workloads and benchmarking for a variety of I/O characteristics, EC2 instances and EBS volumes. More details here.
- Amazon EBS Encryption: the encryption solution supports all EBS volume types to secure data at rest, in transition, snapshots and instances. AWS promises minimal impact on the performance on the storage volume due to encryption. Users can manage control, policies and security of snapshots and volume data using the IAM and AWS Key Management Service (AWS KMS). More details here.
- EBS CloudWatch Events: Users can set policies and automated actions in response to EBS event notifications. These actions may include operational changes to the environment, activating AWS Lambda functions, batch jobs, adjusting EBS capacity and others. More details here.
The choice for AWS EBS volumes should be a part of an exhaustive cloud management strategy, along with the necessary resources on maximizing the value potential of the available AWS EBS tooling and features. The strategy should include an in-depth analysis of the storage volume I/O performance and data transmission throughput requirements, backup and disaster recovery objectives, as well as budgeting and financial planning for scalable workloads. With the vast selection of Amazon Elastic Block Store, businesses can then choose appropriate storage capabilities for a variety of use cases while maintaining an optimal balance between cost, performance and dependability of their persistent data storage portfolio.