Cache invalidation and naming things - AWS has certainly had a hard time of the latter. Between the variety of instance types they offer and how long they're been around, there’s no consistency.
Whether starting a new service to run internally or reviewing something we have going, it’s always a struggle to find the right instance type for the needs. For example, there are three families (r, x, z) that optimize RAM in various ways in various combinations yet I always forget about the x and z variants.
So I put together this "cheat sheet" for us internally and thought I'd share here for anyone else to use; pull requests welcome for updates.
NOTE: Each vCPU is a thread of an Intel or AMD core, except where noted.
- a: First generation graviton Arm processors, use m6g, c6g, or r6g instead.
- c: Compute-optimized with various core types.
- d: Locally attached spinning HDD.
- f: FPGAs to run ASICs.
- g: GPUs for graphics or machine-learning.
- h: Large spinning HDD.
- i: High-throughput local SSD.
- m: General-purpose with balanced memory, CPU, and storage.
- r: Memory-optimized.
- t: Burstable instances that will throttle after a CPU budget.
- x: Lowest price-per-GB RAM instances.
- z: Highest core frequency with a lot of RAM.
First generation graviton Arm processors, use m6g, c6g, or r6g instead.
Compute-optimized with various core types.
c4
Intel Xeon E5-2666 v3 cores
c5ad
c5a + locally attached SSD
c6g
Arm-based AWS Graviton2 *vCPU is physical core
c6gd
c6g with locally attached SSD storage
Locally attached spinning HDD.
d3en
High-throughput w/attached spinning HDD
FPGAs to run ASICs.
GPUs for graphics or machine-learning.
g3
Attached NVIDIA Tesla M60 GPU
g4ad
Attached AMD Radeon Pro V520 GPU
g4dn
Attached NVIDIA T4 Tensor Core GPU
Large spinning HDD.
h1
Up to 16TB of spinning HDD.
High-throughput local SSD.
i3en
Larger SSDs and enhanced networking
inf1
AWS Inferentia for machine learning
General-purpose with balanced memory, CPU, and storage.
m4
Balanced, older Intel Xeon cores, use m5 or m6g instead
m5
Balanced CPU and memory, latest Intel Xeon cores
m5a
Balanced CPU and memory, latest AMB EPYC cores
m5zn
m5n with highest 4.5GHz core speed
m6g
Balanced CPU and memory, latest Amazon Graviton 2 cores
m6gd
m6g with attached SSD storage
FAMILYDESC
Memory-optimized.
r4
Older high memory, use r5 or r6g instead.
r5
Latest high memory, Intel Xeon cores
r5a
Latest high memory, AMD EPYC cores
r6g
Latest high memory, Amazon Graviton 2 cores
Burstable instances that will throttle after a CPU budget.
t2
Older burstable instances *vCPU is physical core, use t3 or t4g instead
t3
Latest generation, burstable instances with Intel Xeon cores
t3a
Latest generation, burstable instances with AMD EPYC cores
t4g
Latest generation, burstable instances with Amazon Graviton 2 cores
Lowest price-per-GB RAM instances.
x1
Memory-optimized Intel Xeon E7-8880 v3
Highest core frequency with a lot of RAM.
z1d
Fast single core performance with really large CPU and memory configurations