Intro to EBS
You may already know about EC2, and how it provides virtual servers in an on-demand fashion. Anyone can use the service to start one, or even hundreds of virtual servers whenever they want. This is perfect if all you need is an server. However, if you need persistent storage, EC2 alone won't be enough.
Enter the Elastic Block Storage (EBS) service. It allows customers to provision storage volumes to use with their EC2 instances. These are raw storage devices, and can be mounted to EC2 instances with whatever file system fits the OS.
This is a truly innovative technology by AWS. Never before has a company been able to deliver TBs upon TBs of raw disk storage in a moments notice. And AWS does it in a secure, reliable manner. While EC2 gets a lot of the limelight, anyone who has worked in the storage industry knows that this service must've been very difficult to deliver.
What is EBS?
EBS is a block-level storage device. They can be created and attached to EC2 instances that reside in the same availability zone. Once attached to an instance, they can be managed just like any other disk.
In this lesson we will explore some of the characteristics of EBS.
Raw Storage Device
The main goal of EBS is to deliver a raw storage device to EC2 instances. These devices can be created in various sizes, and attached to one instance at a time. You have lots of flexibility with these devices. You can create several and attach to the same server and configure them in a RAID. You can format them with different file systems. The choice is yours.
Network Connectivity
EC2 instances communicate with EBS volumes over the network. This is important because it has implications on I\/O performance.
Replicated Within an AZ
When you create an EBS volume you have to specify what Availability Zone (AZ) it resides in. The EBS service will take care of volume replication within that AZ. If the primary volume fails, the service will handle failover to the secondary volume.
Snapshots
EBS provides a snapshot feature that will create a backup of the volume to the Simple Storage Service (S3). This is a point-in-time backup of the volume. It is also incremental, meaning that after the first snapshot is taken, only the changes will be saved on subsequent snapshots.
SSD or Magnetic
There are two types of EBS volumes available. The service first launched with magnetic volumes, which can be created from 1GB to 1TB in size.
AWS customers wanted bigger volumes better performance, so the company launched SSD volumes. These volumes can be from 1GB to 16TB in size.
Storage Performance
EBS volume performance depends on the type (magnetic or SSD) and size created, as well as the size of the instance being used.
EBS Breakdown
Like other services, AWS doesn't disclose all of the details regarding the architecture of EBS. Rather, they provide guidance on what to expect performance and reliability wise. We do know that it is a custom storage service (sorry EMC and NetApp).
In this lesson we will explore what we do know about the architecture of EBS.
Replicatd Within an AZ
EBS volumes are replicated within an AZ. EBS will ensure that as you write data to the volume it is copied to the secondary volume. If the primary volume fails, EBS will promote the secondary volume to primary, and then start the process of creating a new secondary volume (this takes time depending on how big the volume is).
Network Connectivity to EC2
EBS volumes are connected to EC2 over ethernet. This provides a lot of flexibility. If an EC2 instance fails, this makes it easy to reattach the volume to a new EC2 instance.
Snapshots to S3
While striping volumes within an AZ provides protection for a certain category of failure modes, it does not provide protection in the event that an entire AZ goes down, and AWS has had incidents that impact entire AZs so there is precedence.
To prepare for a more catastrophic event, EBS allows you to create point-in-time snapshots to S3. S3 is a highly available object storage service that spans AZs.
Encryption
EBS volumes can be encrypted. By default they are not encrypted. When using an encrypted volume, you can be sure that all data at rest is encrypted, all snapshots are encrypted, and all disk I\/O is encrypted.