Ref: https://learn.cantrill.io/courses/1820301/lectures/41301324
💡 Understanding pros & cons of instance store volumes can save money & improve performance, misunderstanding them can cause significant headaches
EC2 Instance Store - Characteristics
- đź”§Â Highly-performant, ephemeral, local, block volumes
- Block storage devices
- Raw volumes which can be attached to an instance
- FS can be mounted on them
- Local
- Physically connected to a single EC2 Host (NOT over NW)
- Each host has its own instance volumes, which are isolated to that one particular host
- Instances on host can access these volumes if configured to do so
- âť—Â Included in instance price
- Different instance types and sizes support different types and sizes of volumes
- Some instances don't include instance store volumes at all
- Larger instance size usually supports larger volumes
- You pay for it anyway → use it or lose it
- No advantage to not utilizing them
- ‼️ Attached at launch time! They can NOT be attached after launch time!!!
- You can use provided volumes at launch or not, but you can't adjust this later unless you relaunch the instance!
- 👍 Best benefit: performance
- Because they're local, they offer the highest performance available within AWS (much higher IOPS and throughput than what EBS can provide)
- E.g. 1: D3 instance (storage optimized) → 4.6 GB/s throughput
- large amounts of storage using traditional hard disks → really good value
- much higher levels of throughput than maximum levels of EBS HDD-based volumes
- E.g. 2: I3 instance (also storage optimized) → NVMe SSDs = 16 GB/s of sequential throughput
- Some large I3s can provide IOPS in the millions when optimally configured
- 👎 Biggest limitation: ephemeral (temporary) nature
- âť—Â Do NOT use for data you rely on or irreplaceable data!
- Use cases: Buffers, caches, scratch data, replicated data (e.g. load-balanced pool of web servers)…
EC2 Instance Store - Architecture

- Each EC2 instance can have 0+ instance store volumes
- Volumes are backed by physical devices on the host
- Ephemeral volumes:Â
ephemeral[0-23]
- âť—Â Storage can be lost if:
- instance changes host
- instance changes type or size → usually means changing hosts
- HW failure (both entire host failure or HW-specific failure)
- If you store a file on
ephemeral0
, then migrate instance to another host, you will still see ephemeral0
… but the file won't be there!
- đź’ˇÂ
ephemeral0
volume is different because it's in a different host!