Ref: https://learn.cantrill.io/courses/1820301/lectures/41301320
EBS - Key Concepts & Architecture
- 🔧 EBS is a service which provides block storage → raw disk allocations (volume)
- Volumes can be used by EC2 instances and other services
- EC2 instances see attached volume as a block device, can mount a FS on top of this device (ext3/4, xfs, NTFS…)

- Volumes can be encrypted using KMS (or can be left unencrypted)
- ‼️ Storage provisioned in ONE single AZ!!
- Built-in resilience in the AZ, but AZ failure → volume failure
- âť—Â Cross-AZ attachments NOT possible!
- Volumes generally attached to one EC2 instance (or other resource) over a storage NW
- Some volumes can be multi-attached to several instances (clusters), but generally not the case → cluster app must handle simultaneous data writes to prevent data corruption
- Volumes can be detached and reattached (to same or different instance)
- Volume not linked to the lifecycle of any instance → Volumes are persistent
- Volume can follow instance when moving to a new host
- Snapshot (backup) of a volume can be created in S3
- Volume can be created (restored) from S3 snapshot → migration between AZs possible
- Backups are regionally resilient (like S3)
- If global resiliency is desired → replicate S3 bucket across regions
- Volumes come in different physical storage types, sizes & performance profiles
- 💡 More details in following section
- Elastic Volume feature: change an EBS volume “on-the-fly”
- No need to detach & reattach volume to EC2 instance
- No downtime when changing volume
- Allows changing volume type (e.g. GP2 to IO1)
- Can increase volume size, but not decrease it (else stored data could get lost)
- Billed based on GB/month (and in some cases performance)
- Single 2GB volume = Two volumes of 1GB = Four volumes of 0.5GB (when it comes to billing)