EC2 Instance Types: Which Family Should You Choose - M, C, R, or T?
Compare AWS EC2 instance families (general purpose, compute, memory, storage optimized) and learn how to select the right instance type for your workload.
Related Exam Domains
- Domain 3: Design High-Performing Architectures
- Domain 4: Design Cost-Optimized Architectures
Key Takeaway: EC2 Instance Type Selection
Bottom line: Start with M series (general purpose). Choose C series for CPU-intensive workloads, R series for memory-intensive workloads, and T series when you need burstable performance.
Quick Comparison
| Family | Type | Characteristics | Primary Use Cases |
|---|---|---|---|
| M | General Purpose | Balanced CPU/memory | Web servers, business apps |
| T | Burstable | Baseline + burst | Dev/test, small websites |
| C | Compute Optimized | High CPU performance | Batch processing, HPC, gaming |
| R | Memory Optimized | Large memory | In-memory DB, caching |
| I/D | Storage Optimized | High-speed storage | NoSQL, data warehousing |
| P/G | Accelerated Computing | GPU/accelerators | ML/DL, graphics rendering |
Exam Tip
Exam Essential: Select the appropriate family based on workload characteristics (CPU/memory/storage/GPU). "Batch processing" → C, "In-memory DB" → R, "ML training" → P/G
EC2 Instance Naming Convention
Understanding instance type names makes selection easier.
m7i.2xlarge
│││ │
││└──┴── Size (determines vCPU/memory)
│└────── Generation (higher = newer, better value)
└─────── Family (determines purpose)
Additional attribute examples:
m7i = Intel processor
m7a = AMD processor
m7g = Graviton (ARM) processor
m7gd = Graviton + NVMe SSD
m7in = Intel + enhanced networking
Size Resource Multipliers
| Size | vCPU Multiple | Memory Multiple |
|---|---|---|
| nano | 1 | - |
| micro | 1 | - |
| small | 1 | 1x |
| medium | 1 | 2x |
| large | 2 | 1x |
| xlarge | 4 | 2x |
| 2xlarge | 8 | 4x |
| 4xlarge | 16 | 8x |
Exam Tip
Generation Selection Tip: Choose the latest generation (7th gen or newer) when possible. Newer generations offer better performance at the same cost.
General Purpose Instances (M, T Series)
M Series: Fixed Performance General Purpose
The most common instances providing balanced compute, memory, and networking.
M Series Characteristics
┌─────────────────────────────────────────────────────┐
│ Balanced Resource Distribution │
│ │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ vCPU │ │ Memory │ │ Network │ │
│ │ ████ │ │ ████ │ │ ████ │ │
│ │ ████ │ │ ████ │ │ ████ │ │
│ └─────────┘ └─────────┘ └─────────┘ │
│ │
│ • Good starting point when workload is unknown │
│ • Baseline before switching to other families │
└─────────────────────────────────────────────────────┘
| Series | Processor | Features |
|---|---|---|
| M7i | Intel Sapphire Rapids | Latest Intel, high performance |
| M7a | AMD EPYC | Cost-effective |
| M7g | AWS Graviton3 | Best price-performance |
M Series Best For:
- Web application servers
- Business applications
- Small to medium databases
- Development and test environments
- Backend servers
T Series: Burstable General Purpose
Cost-effective instances offering baseline performance + burst capability.
T Series Burst Model
┌─────────────────────────────────────────────────────┐
│ │
│ CPU Usage │
│ ▲ │
│ 100%│ ████ │
│ │ ████ █ ██ │
│ Base│────────────────────────────────── │
│ (e.g.20%) │
│ └──────────────────────────────────▶ Time │
│ │
│ CPU Credits │
│ ▲ │
│ │ ████████ │
│ │ ██ ██████ │
│ └──────────────────────────────────▶ Time │
│ │
│ • Accumulate credits during low usage │
│ • Consume credits when bursting │
│ • Limited to baseline when credits depleted │
└─────────────────────────────────────────────────────┘
| Series | Processor | Features |
|---|---|---|
| T3 | Intel | Most common |
| T3a | AMD | ~10% cheaper than T3 |
| T4g | Graviton2 | 40% better price-performance than T3 |
T Series Best For:
- Development and test environments
- Small websites
- Microservices
- Code repositories
- Low-traffic applications
Exam Tip
T vs M Selection Criteria: If CPU usage is consistently high, choose M series. If it's intermittent, T series is more cost-effective. If T series credits are frequently depleted, switch to M series.
Compute Optimized Instances (C Series)
Instances with high-performance processors for CPU-intensive workloads.
C Series Characteristics
┌─────────────────────────────────────────────────────┐
│ CPU-Centric Resource Distribution │
│ │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ vCPU │ │ Memory │ │ Network │ │
│ │ ████ │ │ ██ │ │ ████ │ │
│ │ ████ │ │ ██ │ │ ████ │ │
│ │ ████ │ │ │ │ │ │
│ │ ████ │ │ │ │ │ │
│ └─────────┘ └─────────┘ └─────────┘ │
│ │
│ • Lower memory-to-vCPU ratio than M series │
│ • Highest level CPU performance │
└─────────────────────────────────────────────────────┘
| Series | Processor | Features |
|---|---|---|
| C7i | Intel Sapphire Rapids | Latest Intel |
| C7a | AMD EPYC | AVX-512 support |
| C7g | Graviton3 | Best price-performance |
| C7gn | Graviton3 + enhanced networking | Up to 200Gbps |
C Series Best For:
- Batch processing
- Media transcoding
- High-performance web servers
- High-performance computing (HPC)
- Scientific modeling
- Dedicated game servers
- Ad serving engines
- Machine learning inference
Memory Optimized Instances (R, X, Z Series)
Instances with large memory for memory-intensive workloads.
R/X Series Characteristics
┌─────────────────────────────────────────────────────┐
│ Memory-Centric Resource Distribution │
│ │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ vCPU │ │ Memory │ │ Network │ │
│ │ ██ │ │ ████ │ │ ███ │ │
│ │ ██ │ │ ████ │ │ ███ │ │
│ │ │ │ ████ │ │ │ │
│ │ │ │ ████ │ │ │ │
│ └─────────┘ └─────────┘ └─────────┘ │
│ │
│ • R: 16 GiB at large (M series is 8 GiB) │
│ • X: Even larger memory (up to 4 TiB) │
│ • Z: High-frequency CPU + large memory │
└─────────────────────────────────────────────────────┘
| Series | Features | Max Memory |
|---|---|---|
| R7i | Intel, general memory optimization | 1,024 GiB |
| R7g | Graviton3, best value | 512 GiB |
| X2idn | Ultra-large memory | 2,048 GiB |
| X2iedn | Ultra-large + NVMe | 4,096 GiB |
| z1d | High-frequency CPU + memory | 384 GiB |
R/X/Z Series Best For:
- In-memory databases (SAP HANA, Redis)
- In-memory caching (ElastiCache)
- Real-time big data analytics
- Large enterprise applications
- High-performance relational databases
Exam Tip
SAP HANA: R or X series + io2 EBS is the typical combination. Choose X series (up to 4 TiB) when ultra-large memory is required.
Storage Optimized Instances (I, D Series)
Instances with high-speed local storage for storage-intensive workloads.
| Series | Features | Use Cases |
|---|---|---|
| I4i | NVMe SSD, high IOPS | NoSQL DB, OLTP |
| I4g | Graviton2 + NVMe | Cost-effective NoSQL |
| D3 | HDD, high-density storage | Data warehousing |
| D3en | Ultra-large HDD | Big data analytics |
I/D Series Best For:
- NoSQL databases (Cassandra, MongoDB)
- Data warehousing
- Distributed file systems (HDFS)
- Elasticsearch, log analytics
Accelerated Computing Instances (P, G, Inf, Trn Series)
Instances with GPUs and AI accelerators for specialized workloads.
| Series | Accelerator | Use Cases |
|---|---|---|
| P5 | NVIDIA H100 | Large-scale ML/DL training |
| P4d | NVIDIA A100 | ML/DL training |
| G5 | NVIDIA A10G | Graphics rendering, ML inference |
| G6 | NVIDIA L4 | Cost-effective graphics |
| Inf2 | AWS Inferentia2 | ML inference specialized |
| Trn1 | AWS Trainium | DL training specialized |
Accelerated Computing Best For:
- Deep learning model training (P series)
- Machine learning inference (Inf series)
- 3D graphics rendering (G series)
- Video transcoding
- Game streaming
Processor Comparison: Intel vs AMD vs Graviton
Processor Selection Guide
| Processor | Advantages | Disadvantages | Recommended For |
|---|---|---|---|
| Intel (i) | Wide compatibility, stability | Relatively expensive | Legacy app migration |
| AMD (a) | ~10% cheaper than Intel | Check some app compatibility | Cost optimization |
| Graviton (g) | Up to 40% better price-performance | ARM architecture compatibility | New workloads, containers |
Graviton Considerations
Graviton Compatible:
✅ Container-based applications
✅ Open-source software
✅ Java, Python, Node.js applications
✅ Web servers (NGINX, Apache)
✅ Databases (MySQL, PostgreSQL)
Graviton - Verify First:
⚠️ Windows-only applications
⚠️ x86-only binaries
⚠️ Special hardware drivers
Exam Tip
Graviton Exam Point: If keywords include "cost optimization" or "price-performance," consider Graviton (g suffix) instances. However, if x86 compatibility is specified, choose Intel or AMD.
Instance Type Selection Guide
Decision Flowchart
What's your workload characteristic?
│
├── CPU-intensive ──▶ C series
│
├── Memory-intensive ──▶ R/X series
│
├── Storage-intensive ──▶ I/D series
│
├── GPU/ML required ──▶ P/G/Inf/Trn series
│
└── Balanced needed ──▶ What's the CPU usage pattern?
│
├── Consistently high ──▶ M series
│
└── Intermittent ──▶ T series
Recommended Instances by Workload
| Workload | Recommended Family | Recommended Series |
|---|---|---|
| Web server | General Purpose | M7i, M7g, T3 |
| API server | General Purpose | M7i, M7g |
| Batch processing | Compute | C7i, C7g |
| Media encoding | Compute | C7i, C6i |
| In-memory cache | Memory | R7i, R7g |
| SAP HANA | Memory | X2idn, R7iz |
| NoSQL DB | Storage | I4i, I4g |
| ML training | Accelerated | P5, P4d, Trn1 |
| ML inference | Accelerated | Inf2, G5 |
| Dev/test | Burstable | T3, T4g |
Cost Optimization
Instance Cost Reduction Strategies
-
Select the Right Family
- Avoid over-provisioning for your workload
- Start with general purpose → switch as needed
-
Leverage Graviton
- Save up to 40% with compatible workloads
-
Use Latest Generation
- Better performance at the same cost
- Example: M6i → M7i (15% performance improvement)
-
Combine Purchase Options
- Stable workloads: Reserved Instances
- Flexible workloads: Savings Plans
- Interruptible workloads: Spot Instances
SAA-C03 Exam Focus Points
Common Question Types
-
Instance Selection by Workload
- "Batch processing, CPU-intensive" → C series
- "In-memory database" → R series
- "Large-scale ML training" → P series
-
T Series Burst Credits
- "CPU credits depleted" → Switch to M series or enable Unlimited mode
-
Cost Optimization
- "Price-performance, cost savings" → Graviton (g suffix)
- "Predictable workloads" → Reserved/Savings Plans
-
SAP HANA Instances
- Large memory required → X series or R series
Exam Tip
Sample Exam Question: "A company runs a real-time analytics application that processes large datasets in memory. Which EC2 instance type should they choose?"
→ Answer: R series (Memory Optimized) - Optimal for in-memory analytics
Key Memorization Points
| Keyword | Association |
|---|---|
| Balanced, general purpose | M series |
| Burstable, variable CPU | T series |
| CPU-intensive, batch | C series |
| Memory-intensive, in-memory DB | R series |
| Ultra-large memory, SAP | X series |
| High-speed storage, NoSQL | I series |
| ML training, GPU | P series |
| ML inference | Inf series |
| Price-performance, ARM | Graviton (g) |
Frequently Asked Questions
Q: Should I choose M series or T series?
A: Choose based on your CPU usage pattern:
- M series: When CPU usage is consistently high (e.g., 24/7 production servers)
- T series: When CPU usage is intermittent (e.g., dev servers, small websites)
Q: Can I use Graviton instances?
A: Most Linux-based open-source workloads are compatible with Graviton. Container, Java, and Python applications typically run without major modifications. However, verify x86-only binaries first.
Q: Can I change instance types?
A: Yes, you can change EC2 instance types after stopping the instance. Generally, changes within the same hypervisor (Nitro/Xen) are straightforward.
Q: Which generation should I choose?
A: Choose the latest generation (7th gen or newer) when possible. Newer generations provide better performance and features at the same cost.
Q: Storage Optimized (I/D) vs EBS io2 - which should I choose?
A:
- I/D series: When ultra-fast local storage is needed and data persistence is less critical
- EBS io2: When data persistence is required, snapshots/replication needed
Summary
The key to EC2 instance type selection is understanding your workload characteristics:
- Starting Point: Begin with M series (general purpose)
- Optimization: Monitor and switch to appropriate family
- Cost Savings: Leverage Graviton, choose latest generation
On the SAA-C03 exam, matching workload keywords to instance families is frequently tested. Remember: "Batch processing" → C, "In-memory" → R, "ML training" → P.