EC2 Disk Overview
Amazon’s EC2 service is really neat, but its disk subsystem has some peculiarities that are not initially obvious. Up until very recently, root directories (’/’) at EC2 were limited to 10Gb, a limit defined by the maximum size of an Amazon Machine Image (AMI), essentially a template of an EC2 instance. In order to use more disk space, Amazon provides ephemeral disks that one can format and mount anywhere on the file system. However, in order to get persistent storage, one has to use network-attached EBS volumes, a sort of limitless in capacity but bound in I/O wonder of Amazon architecture. There are clear performance implications in choosing how to configure an EC2 instance’s disk subsystem, so I recently benchmarked some various ephemeral and EBS RAID configurations.
Ephemeral disks
Pros:
- Free (included in cost of EC2 instance)
- Stable, predictable performance on par with a standard physical hard disk
- Abundant storage (up to 1.7TB on a c1.xlarge)
Cons:
- Ephemeral - if the instance shuts down, all data is lost
- Average random seek performance (6-7ms seek times per spindle)
EBS Volumes
Pros:- "Highly available" - AWS claims to provide redundancy and a lower failure rate than physical disks
- Portable - an EBS volume can be connected to any instance in a single availability zone
- Backups - can easily create snapshots