System Design Sim

Learn

AWS instance sizes explained: what micro, large and xlarge actually mean

An AWS instance name like m7g.large packs four facts into eight characters. Once you can read it, you can pick a server without guessing. This page decodes the names, lists the common sizes with their CPU, memory and price, and shows how many of each you'd need for your traffic.

· 5 min read

Which EC2 size for your traffic?

For 2,000 req/s, the cheapest steady option is 7 × m7g.medium at about $208/month (70% CPU target, one spare server).

EC2 sizes, sustained capacity and servers needed
SizevCPU · RAMSustains eachServersPer month
t4g.micro2 · 1 GiB~100 req/s (burstable, 10% CPU)30$184
t4g.small2 · 2 GiB~200 req/s (burstable, 20% CPU)16$196
t4g.medium2 · 4 GiB~200 req/s (burstable, 20% CPU)16$392
t4g.large2 · 8 GiB~300 req/s (burstable, 30% CPU)11$540
m7g.medium1 · 4 GiB~500 req/s7$208
m7g.large2 · 8 GiB~1,000 req/s4$238
m7g.xlarge4 · 16 GiB~2,000 req/s3$357
m7g.2xlarge8 · 32 GiB~4,000 req/s2$477
c7g.large2 · 4 GiB~1,000 req/s4$212
c7g.xlarge4 · 8 GiB~2,000 req/s3$318
c7g.2xlarge8 · 16 GiB~4,000 req/s2$423

Approximate AWS on-demand prices for us-east-1, read once in October 2026, before free tiers. They may be out of date; check the AWS pricing pages before you budget.

How to read an instance name

AWS names every instance type the same way: a family and a size, separated by a dot. Inm7g.large:

  • m is the series: general purpose.
  • 7 is the generation. Higher is newer and usually faster per dollar.
  • g is an option: an AWS Graviton (Arm) processor.
  • large is the size: how much CPU and memory you get.

The series letters you'll meet most often:

LetterSeriesUse it for
tBurstable performanceMostly idle, spiky work: dev boxes, small internal tools
mGeneral purposeMost production services: balanced CPU and memory
cCompute optimizedCPU-heavy, stateless APIs and workers that hold little in memory
rMemory optimizedDatabases and caches, where RAM is the point

Other option letters include a (AMD), i (Intel), d (local instance storage) andn (extra network bandwidth). The full list is in AWS'sinstance type naming conventions.

The size ladder: each step doubles

Within a family, each size up doubles both vCPU and memory, and the price doubles with it. The price per vCPU stays the same, so one big server costs exactly as much as several small ones:

SizevCPUMemoryPer monthHandles about
m7g.medium14 GiB$30500 req/s
m7g.large28 GiB$601,000 req/s
m7g.xlarge416 GiB$1192,000 req/s
m7g.2xlarge832 GiB$2384,000 req/s

Because the price per vCPU is flat, choose the size for what one request needs (memory, cores), and choose thecount for your traffic. Several smaller servers behind a load balancer survive a failure better: losing one of eight removes 12% of capacity, losing one of two removes half.

Burstable t4g: cheap until it isn't

A t4g instance has the same vCPU count as larger sizes, but it only sustains a fraction of it. It earns CPU credits while it's idle and spends them when it bursts. Under steady load, once the credits run out, it settles at itsbaseline:

SizevCPUMemoryBaseline CPUSustains aboutPer month
t4g.micro21 GiB10%100 req/s$6.13
t4g.small22 GiB20%200 req/s$12
t4g.medium24 GiB20%200 req/s$25
t4g.large28 GiB30%300 req/s$49

T4g instances launch in unlimited mode by default: they can keep bursting, but if average CPU over 24 hours stays above the baseline, AWS bills the extra at a flat rate per vCPU-hour. Either way, a burstable instance is the wrong tool for steady production traffic.

Common EC2 sizes and what they're for

SizevCPU · RAMPer monthIn plain words
t4g.micro2 · 1 GiB$6.13Tiny and burstable. Fine for a demo or a cron job; under steady load it slows to 10% of its CPU.
t4g.small2 · 2 GiB$12Small and burstable. Good for low-traffic services that are idle most of the time.
t4g.medium2 · 4 GiB$25Burstable with 4 GiB. Handles spiky internal tools; steady traffic needs a fixed-performance size.
t4g.large2 · 8 GiB$49The largest common burstable size. Sustains 30% of its CPU under steady load.
m7g.medium1 · 4 GiB$30One full vCPU, all the time. The cheapest size that never throttles.
m7g.large2 · 8 GiB$60The usual production default: 2 vCPU and 8 GiB, balanced CPU and memory.
m7g.xlarge4 · 16 GiB$119Twice a large. Use it when one process needs more memory or cores, not just for more traffic.
m7g.2xlarge8 · 32 GiB$2388 vCPU. Fewer, bigger servers cost the same per vCPU but leave less room to lose one.
c7g.large2 · 4 GiB$53Compute-optimized: same CPU as m7g.large with half the memory, about 11% cheaper.
c7g.xlarge4 · 8 GiB$106Compute-optimized, 4 vCPU. A good fit for stateless APIs that don't hold much in memory.
c7g.2xlarge8 · 16 GiB$212Compute-optimized, 8 vCPU.

Databases and caches use the same names

RDS and ElastiCache reuse the EC2 names with a prefix: db.r7g.large is a database on an r7g.large, andcache.r7g.large is a cache node on one. Memory-optimized r sizes are the usual choice for both, because a database is fast when its hot data sits in RAM and a cache is RAM. See database sizingand Redis memory sizing.

Which size should you pick?

  • Steady production API: start with m7g.large and add instances as traffic grows.
  • Stateless and CPU-bound: c7g has the same CPU as m7g with half the memory, about 11% cheaper.
  • Needs lots of memory per process: move up a size, or to the r series.
  • Idle most of the time: a t4g is fine, as long as you know its baseline.
  • Always: keep CPU around 60-70% at peak and run one more server than you need, so losing one doesn't overload the rest.

Want to feel the difference? Open the playground, click an API server and switch it fromm7g.large to t4g.micro, then press Play.

Frequently asked questions

What does t4g.micro mean?

t is the series (burstable performance), 4 is the generation, g means an AWS Graviton (Arm) processor, and micro is the size: 2 vCPUs and 1 GiB of memory. Burstable means it can run at full speed briefly but sustains only 10% of its CPU under steady load.

What is the difference between t4g and m7g?

t4g is burstable: it earns CPU credits while idle and spends them in bursts, so it's cheap for spiky, mostly idle work. m7g is general purpose with fixed performance: you get the full CPU all the time. For steady production traffic, use m7g (or c7g for CPU-heavy work).

Is it cheaper to run one big server or several small ones?

Within a family the price per vCPU is the same: an m7g.2xlarge costs exactly four m7g.large. Several small servers behind a load balancer tolerate a failure better, because losing one removes a smaller share of capacity.

What do c, m, r and t stand for?

In AWS's naming, c is compute optimized (less memory per vCPU), m is general purpose, r is memory optimized (more memory per vCPU, common for databases and caches), and t is burstable performance.

One system design problem a week

A real scenario, its constraints, and where the obvious design breaks.

One email a week. Unsubscribe any time. Privacy

Now break one yourself.

The first challenge takes about two minutes. No signup.