EC2 Instances primarily utilize storage known as EBS Volumes. But this isn’t the only type of storage that is available. There’s another type, known as Instance Store, or Ephemeral Storage.
Instance Store was first used by Amazon, until they shifted to Elastic Block Store. There are several differences between EBS and Ephemeral Storage that may be worth understanding for us as Cloud Engineers.
|Elastic Block Store (EBS)||Ephemeral Storage (Instance Store)|
|The DeFacto standard Storage Option for EC2||A legacy option that's still available for EC2 storage.|
|Provisioned from Snapshots created from Elastic Block Storage||Provisioned from templates stored in Amazon S3|
|Can be attached/deattach/reattached to an EC2 instance||Cannot be detached/reattached to an EC2 instance|
|Able to restart the EC2. instance.||Unable to Restart the Instance once running. Only Option is Terminate|
|Able to both start and stop EBS backed EC2 instances||Unable to stop the EC2 once it starts running.|
|Can attach as many EBS volumes to an EC2 as is desired.||Cannot only attach a max of ONE additional Instance Store to the EC2|
The AWS Documentation mentions that Amazon Instance Store is designed for temporary storage for EC2. Things like Buffer, Cache,, in Raid Arrays, or Temporary Backups. are some possible use cases for instance store.
I was surprised to see this storage option besides EBS, because EBS is the default. EBS is is the DeFacto standard when launching an EC2 instance.
It’s actually pretty tricky to figure out where you can actually use ephemeral storage when launching EC2 instances. For example, if you try to launch a t2.micro EC2, or even most of the other instance types, you will not be able to attach ephemeral storage.
But if you launch the m3.medium EC2, then you are able to add ONE instance store. And for the g2.8xlarge, it allows you to add TWO additional instance stores. And if you create a new AMI image from a launched EC2 instance, then you can attach as many Instance store volumes as are available (24 total).
Don’t ask me why it’s all set up this way. I’m clueless. But If you do know, please explain it by leaving a comment below.
I don’t expect you to fully understand Ephemeral Storage just by this post, but hopefully this helped to clarify a bit the concept of Ephemeral Storage according to AWS. Like is the case with most of AWS, after getting the theory, you gotta “get your hands dirty” by playing around in the actual AWS console.