Quick notes on EC2 storage
Dog Days of DevOps 2024
Ian Littman / @ian@phpc.social
Slides at ian.im/dd24
We're ignoring S3 (sorta)
- EBS
- Instance store
- EFS
EBS
- Always used for your boot volume
- Can attach additional data volumes
- Can be moved around hosts, and can persist detached
- Performance can be reprovisioned online (will optimize in background)
- Snapshots
- Background-loaded from S3 (low perf); to force a quicker load use fio
- Can be warmed for instant full performance for 75¢/hr
EBS Volume Types
- You probably want gp3
- Normally 125 MB/s, 3k IOPS
- Max of 1 GB/s, 16k IOPS (for more $$)
- Use software RAID to stripe volumes for additional performance
- Instances have bandwidth limits for EBS
- io2 exists ($$$), for up to 4GB/s, 256k IOPS, multi-attach
- Magnetic volume types exist for cheap throughput or cold storage
Instance store
- Only available on some instances (e.g. "d" suffixed families)
- Massive IOPS and throughput (e.g. compute optimized specs)
- Survives reboots
- Does not survive stopping the instance
- Probably don't put in your fstab
- Bigger instances have multiple volumes; stripe them with software RAID
EFS
- Low-latency NFS mount accessible from multiple instances
- High per-file-system total throughput + IOPS
- 30 GiB/s read
- 5 GiB/s write
- 90k-250k IOPS
- 1,500 MiB/s per client
- Requires special handling to get max performance
- Numbers above for Elastic Throughput; prices charge along two dimensions
- per GB stored (e.g. 30¢/mo)
- per GB transferred (e.g. 6¢)
- Can trade performance and cost for cheaper storage and more expensive transfer
Quick Notes on EC2 Storage - Dog Days of DevOps 2024
By Ian Littman
Quick Notes on EC2 Storage - Dog Days of DevOps 2024
- 62