You are viewing a free preview of this lesson.
Subscribe to unlock all 10 lessons in this course and every other course on LearningBro.
Choosing the right instance type is one of the most important decisions you make when working with EC2. AWS offers over 750 instance types across multiple families, each optimised for a different workload profile. This lesson breaks down the naming convention, the major families, and how to select the right type for your use case.
Every EC2 instance type follows a structured naming pattern:
<family><generation>.<size>
For example, m7g.xlarge:
| Component | Value | Meaning |
|---|---|---|
| Family | m | General Purpose |
| Generation | 7 | Seventh generation |
| Processor | g | AWS Graviton (ARM-based) |
| Size | xlarge | 4 vCPUs, 16 GiB RAM |
Common processor suffixes:
| Suffix | Processor |
|---|---|
| (none) | Intel (default) |
| a | AMD EPYC |
| g | AWS Graviton (ARM) |
| i | Intel with higher-frequency cores |
Common additional attribute suffixes:
| Suffix | Meaning |
|---|---|
| d | Local NVMe instance store included |
| n | Enhanced networking |
| e | Extra memory |
| z | High-frequency cores |
| flex | Flexible (choose vCPU and memory independently) |
Within each family and generation, instances come in multiple sizes. Each step up roughly doubles the resources:
| Size | Typical vCPUs | Typical RAM |
|---|---|---|
| nano | 1 | 0.5 GiB |
| micro | 1 | 1 GiB |
| small | 1 | 2 GiB |
| medium | 1–2 | 4 GiB |
| large | 2 | 8 GiB |
| xlarge | 4 | 16 GiB |
| 2xlarge | 8 | 32 GiB |
| 4xlarge | 16 | 64 GiB |
| 8xlarge | 32 | 128 GiB |
| 12xlarge | 48 | 192 GiB |
| 16xlarge | 64 | 256 GiB |
| 24xlarge | 96 | 384 GiB |
| metal | Full host | Full host |
The metal size gives you the entire physical server with no hypervisor overhead — useful for workloads that need bare-metal performance or hardware-level features.
General Purpose instances provide a balanced mix of compute, memory, and networking. They are the best starting point for most workloads.
| Type | Use Cases |
|---|---|
| M7g / M7i / M7a | Web servers, application servers, backend services, small databases, dev/test environments |
| T3 / T3a / T2 | Burstable workloads — development, testing, micro-services with variable load |
| Mac1 / Mac2 | macOS workloads — iOS/macOS app builds, testing |
Burstable instances (T family) earn CPU credits when idle and spend them when they need to burst above the baseline. This makes them very cost-effective for workloads that are mostly idle but occasionally need full CPU.
| T3 Size | Baseline CPU (%) | CPU Credits / Hour |
|---|---|---|
| t3.nano | 5% | 6 |
| t3.micro | 10% | 12 |
| t3.small | 20% | 24 |
| t3.medium | 20% | 24 |
| t3.large | 30% | 36 |
| t3.xlarge | 40% | 96 |
Tip: Enable Unlimited Mode on T instances to burst beyond your credit balance (you pay for the additional usage per vCPU-hour).
Subscribe to continue reading
Get full access to this lesson and all 10 lessons in this course.