This content originally appeared on DEV Community and was authored by Wakeup Flower
- You launch an EC2 instance (e.g.,
m5d.large
). - That instance comes with instance store included (in this case, 1 × 75 GB NVMe SSD).
You don’t create “an instance store” separately — it’s a feature of the EC2 instance you pick.
Example
-
m5.large
→has no instance store (only EBS).
-
m5d.large
→has instance store (75 GB NVMe SSD, ephemeral).
The “d” in the name is the giveaway → d = instance store included.
How it looks:
- You launch an EC2 instance type that has “d” in the family (like
m5d
,c5d
,i3
, etc.). - AWS gives you:
- The EC2 compute resources (vCPU, RAM).
- One or more instance store volumes (NVMe or SSD, ephemeral, super fast).
- Optionally, you can also attach EBS volumes (persistent).
Perfect — here’s a text-based comparison table so you can see all options side by side:
AWS Storage Options Comparison
Storage Option | Performance (IOPS/Throughput) | Latency | Persistence | Cost Model | Best For | Why Not Here |
---|---|---|---|---|---|---|
EC2 Instance Store ![]() |
Very high IOPS (NVMe/SSD, physically attached) | Ultra-low (local disks) | ![]() |
![]() |
Temporary scratch space, caches, buffers | Exactly what we need: fast, temporary, cost-free |
EBS gp2/gp3 (General Purpose SSD) | gp2: 3 IOPS/GB (burst to 16K) gp3: baseline 3K, up to 16K |
Single-digit ms | ![]() |
![]() |
General workloads (boot, dev/test, light DBs) | Adds cost, not as fast as Instance Store |
EBS io1/io2 (Provisioned IOPS SSD) | Up to 64K IOPS (Nitro-based instances) | Consistent, predictable | ![]() |
![]() |
Mission-critical DBs, OLTP | Overkill, persistence not required |
EBS st1 (Throughput-Optimized HDD) | Optimized for throughput (MB/s), not IOPS | Higher than SSD | ![]() |
![]() |
Big data, data warehouses, sequential reads | Poor random IOPS, not fit for scratch space |
1. Amazon EBS General Purpose SSD (gp2 / gp3)
- Type: Network-attached block storage (persistent).
-
Performance:
- gp2 → 3 IOPS per GiB baseline, up to 16,000 IOPS (burstable).
- gp3 → Baseline 3,000 IOPS, configurable up to 16,000 IOPS.
Persistence:
Data persists beyond instance lifecycle.
Cost: Additional cost (charged per GB provisioned + IOPS if gp3).
Best For: General workloads (boot volumes, dev/test, moderate DBs).
Why Not Here? Persistent storage adds unnecessary cost; performance not as high as instance store.
2. Amazon EBS Provisioned IOPS SSD (io1 / io2)
- Type: Network-attached block storage (persistent).
-
Performance:
- Up to 64,000 IOPS (with Nitro-based EC2).
- Consistent, predictable IOPS delivery.
Persistence:
Data persists.
Cost: Most expensive EBS option (charged for storage and provisioned IOPS).
Best For: Critical databases, latency-sensitive OLTP apps.
Why Not Here? Overkill (expensive persistence when only temporary scratch space is needed).
3. Amazon EBS Throughput Optimized HDD (st1)
- Type: HDD-based network storage (persistent).
- Performance: Optimized for throughput (MB/s), not IOPS.
-
Persistence:
Data persists.
- Cost: Cheaper than SSD EBS, but still extra cost vs. instance store.
- Best For: Big Data, log processing, sequential throughput workloads.
- Why Not Here? Poor random IOPS performance (not suitable for file scratch space).
Recommendation
For computer vision researchers doing high IOPS, temporary file processing, the best choice is Amazon EC2 Instance Store:
Highest performance (IOPS, latency).
Cost-optimal (included in instance price).
Fits temporary nature of workload.
This content originally appeared on DEV Community and was authored by Wakeup Flower