AWS EC2 Instance Types
Understand EC2 instance family names and choose between general purpose, compute-optimized, memory-optimized, and specialized hardware.
EC2 instance types are AWS’s way of packaging CPU, memory, networking, and sometimes local storage into predictable server shapes. The naming looks intimidating at first, but there is a useful pattern. A family letter hints at the workload class, the generation number shows relative age, and the size suffix indicates scale within that family.
For example, t3 and t4g are burstable general-purpose families suited for low to moderate workloads. m5 or m6i instances are balanced general-purpose options for many applications. c5 and c6i focus on CPU-heavy workloads such as builds or compute services. r5 and r6i emphasize memory for caches, analytics, or in-memory databases. p3, g5, and similar families target GPU workloads.
| Family | Best fit |
|---|---|
| t | Burstable, low-cost general workloads |
| m | Balanced general-purpose servers |
| c | Compute-optimized processing |
| r | Memory-heavy applications |
| i, d, h | Storage-focused patterns |
| p, g | GPU and accelerator workloads |
Choosing the right type starts with understanding the application rather than memorizing families. If a service is CPU-bound, moving from m to c may improve performance more than simply scaling up size. If the application caches heavily or uses large heaps, memory becomes the limiting factor instead. CloudWatch metrics help confirm what the workload actually uses after deployment.
Cost matters too. Over-sizing wastes money, but under-sizing creates unstable systems and noisy scaling behavior. Many teams start with a conservative instance, observe CPU, memory, disk, and network usage, then right-size after a few days of real traffic. That feedback loop is better than guessing forever.
Pair this lesson with AWS EC2 and AWS Cost Optimization so instance selection stays aligned with both performance and spend.
aws ec2 describe-instance-types --instance-types t3.micro m5.large c5.large r5.large --output table
aws ec2 describe-instance-type-offerings --location-type region --filters Name=location,Values=us-east-1
Operational note
Treat EC2 instances as managed infrastructure, not pets. Capture launch settings in infrastructure as code, keep bootstrap steps repeatable, and monitor CPU, memory, disk, and patch level from the start. That way replacing an instance is a routine operation instead of a risky manual repair exercise. Shared standards like this make future environments easier to launch, review, and support.
Family meaning
Which EC2 family is commonly associated with compute-optimized workloads?
Right sizing
What is a practical way to choose a better EC2 instance type after initial deployment?