EC2 Instance Types
EC2 offers a wide variety of instance types optimized for different use cases. Each instance type is grouped into an instance family and provides different combinations of CPU, memory, storage, and networking capacity.
Instance Families
General Purpose (T and M series)
T instances (T3, T3a, T2) are burstable performance instances
Uses CPU credits for burst capacity
M instances (M6i, M5, M4) provide balanced compute, memory, and networking
Best for web servers, development environments, and small databases
Compute Optimized (C series)
C6i, C5, C4 instances
High performance processors
Ideal for batch processing, media transcoding, high-performance web servers
Best price-to-compute performance in EC2
Memory Optimized (R, X, z series)
R6i, R5, R4 instances: Standard memory optimized
X2, X1e, X1: For high-memory workloads
z1d: High compute capacity and memory
Perfect for in-memory databases, real-time big data analytics, large SAP workloads
Storage Optimized (I, D, H series)
I3, I3en: NVMe SSD-backed instance storage
D2: HDD-backed storage
H1: High disk throughput
Ideal for data warehousing, log processing, distributed file systems
Accelerated Computing (P, G, F series)
P4, P3: GPU compute instances for machine learning
G4: Graphics-optimized for gaming and application streaming
F1: Field Programmable Gate Arrays (FPGAs)
Key Instance Type Features
Enhanced Networking
Uses SR-IOV for better performance
Available on most current generation instances
Lower latency, higher packet per second (PPS)
Placement Groups
Cluster: Low-latency, high-throughput
Spread: Distinct hardware for high availability
Partition: Multiple instances spread across partitions
Instance Store vs EBS
Instance store: Ephemeral, high I/O
EBS: Persistent storage, multiple volume types
Some instances are EBS-only
Comparison Table of Common EC2 Instance Types
t3.micro
2
1
EBS-Only
Up to 5 Gigabit
Low traffic websites, small applications
m5.large
2
8
EBS-Only
Up to 10 Gigabit
Small to medium databases, data processing tasks
c5.large
2
4
EBS-Only
Up to 10 Gigabit
Web servers, batch processing
r5.large
2
16
EBS-Only
Up to 10 Gigabit
Memory-intensive applications
i3.large
2
15.25
1 x 475 NVMe SSD
Up to 10 Gigabit
NoSQL databases, data warehousing
p3.2xlarge
8
61
EBS-Only
Up to 10 Gigabit
Machine learning, high-performance computing
Key Points
Instance type naming convention: [Instance Family][Generation][Additional Capabilities].[Size] For example, in "m5.large":
'm' is the instance family (General Purpose)
'5' is the generation
'large' is the size within that type
As you move up in size within an instance type (e.g., from t3.micro to t3.small to t3.medium), you generally get proportionally more vCPU and memory.
Some instance types are EBS-optimized by default, providing additional, dedicated capacity for EBS I/O.
Newer generations within a family typically offer better performance and newer features.
Some specialized instance types offer additional features:
GPU instances (P and G families) for graphics and general-purpose GPU compute applications
FPGA instances (F1) for custom hardware acceleration
When choosing an instance type, consider:
The specific requirements of your application (CPU, memory, storage, network)
The workload patterns (steady-state, variable, or burst)
Cost optimization (different instance types have different pricing)
Last updated
Was this helpful?