Amazon Elastic Block Storage provides durable, persistent block-level storage. AWS EBS is designed to be used with EC2 instances, connected as their disk storage volumes. EBS volume comes with redundancy built in which means the data is not lost if an individual drive fails.
Note - EBS volume lives entirely in one Availability Zone and not as redundant as S3 which replicates data into multiple AZs.
EBS Volume types
There are two main EBS volume types:
- Solid-state Drive (SSD)
- Hard disk drive (HDD)
SSD backed volume is more suitable for workloads that are primary depend on Input Outputs per Second (IOPS) where the volume performs a lot of read and write operations.
HDD backed volume is more suitable for large sequential workloads where throughput is more important and workloads measured in Megabytes per Second (MB/s)
If you don't require any specific storage requirement, it's recommended to use General Purpose SSD which is the default storage option. General purpose SSD volume that balances price and performance for a wide variety of workloads.
Throughput vs IOPS
- Throughput - Data transfer speed in Megabytes per second (MB/s)
- IOPS - The time it takes for a storage system to perform an Input/Output operation per second from start to finish.
EBS optimized instances
AWS defines EBS–optimized instances as:
An Amazon EBS–optimized instance uses an optimized configuration stack and provides additional, dedicated capacity for Amazon EBS I/O. This optimization provides the best performance for your EBS volumes by minimizing contention between Amazon EBS I/O and other traffic from your instance.
In simple words, non-EBS optimized EC2 instances access EBS volumes over shared network connections depicted in the below figure. The same shared connection is used by the EC2 instance to access other applications and Internet.
EBS-optimized EC2 instances have a dedicated network connection to EBS volume as depicted in the below figure. EBS-optimized EC2 instances offer a dedicated network connection to EBS storage. EBS-optimized instances can support a higher level of IOPS between the instance and its EBS storage volume through a dedicated connection.