AWS EC2 uses instance type names like C1, M2, T1, T2, etc. C means CPU and M means memory, but what does the numbers 1, 2 and the letter T mean?
From official reInvent video:
There is no official explanation as why a letter is chosen for a certain type. To remember, try:
- T for Turbo (Burstable)
- M for Most Scenarios (General Purpose) = 1:4 vCPU to RAM
- C for Compute (with better CPU) = 1:2 vCPU to RAM
- R for Random-Access Memory = 1:8 vCPU to RAM
- X for Extra-Large Memory (~4TB DRAM)
- H for HDD (16TB Local)
- D for Dense Storage (48TB Local)
- I for I/O (NVMe Local)
- HS for High Storage
- G for GPU
- P for Performance (High-end GPU) (yes, could be confusing)
- F for FPGA
- A for ARM
- Z for High Frequency (sorry ran out of alphabets)
- MAC for mac mini
Also for additional capabilities:
- a for AMD CPUs
- b for Block Storage Optimized
- d for Directly-Attached Instance Storage (NVMe)
- e for Extra Capacity (Storage or RAM)
- g for Graviton2 (AWS) processors
- i for Intel processors (currently Ice Lake)
- n for Networking Optimized
- z for High Frequency (again)
For instance sizes:
- nano, micro, small, medium = 2 vCPUs with 0.5, 1, 2, 4GB RAM (T series only)
- large = 2 vCPUs
- xlarge = 4 vCPUs
- 2xlarge = 8, 16xlarge = 64 etc.
Note: In my experience, T could also stand for "Trouble". It's CPU throttling mechanism may trigger a lot of mysterious problems in various applications including the Attunity suite powering AWS's own DMS.
Steer away from it unless you are really good at calculation CPU credits, and you are 100% confident that your application could handle the sudden throttling of computing power.
No, actually, just don't use it.
Reference: Understanding instance types
- A typical name has three parts: a letter describing the instance class (R, M, C, T, G, D, I, P, X), a number describing the generation (1, 2, 3, 4, 5), and a string describing the size within that instance class and generation (small, medium, large, xlarge, 2xlarge, 4xlarge, 8xlarge, 10xlarge, 16xlarge, 32xlarge). For instance, "r3.4xlarge" is instance type R, generation 3, and size 4xlarge.
- The instance class gives the ratio between the different parts of the instance specs. The most relevant ratio is the ratio of vCPUs to RAM. For instance, the C instance class (where C stands for compute-optimized) offers 1 vCPU for every (approximately) 2 gigabytes of RAM. The exact ratios differ slightly between different generations, since later instances do a better job squeezing out more value from the hardware.
- Generations also differ in some of the extra features they offer. For instance, the third-generation C, M, and R classes (C3, M3 and R3) all have local SSDs, but the fourth-generation (C4, M4, and R4) do not.
- For a given instance class and generation, size differences just mean different amounts of each resource, but in the same proportion (note that some peripheral aspects of the specs, such as SSD storage and throughput, do not scale linearly). For on-demand and reserved instances, costs scale linearly with size within a given instance type and generation. For spot instance, costs may not scale linearly since they are determined by supply and demand, but for the most common instance types, the scaling is close to linear.
- For a given instance type and generation, it is generally possible to change a reservation type (after the reservation has already been made) to reallocate capacity between different sizes. For instance, c3.2xlarge is twice the capacity of c3.xlarge, so it is possible to change a reservation of 5 c3.2xlarge's into 10 c3.xlarge's, or into 3 c3.2xlarge's and 4 c3.xlarge's.
- Keep in mind that the names of the instance types don't have any deeper meaning than just providing an intuitive description of the specs. Thus, for instance, C is "compute-optimized" but all this means is that the ratio of vCPUs to memory is more in favor of vCPUs than in memory. There is no specific computation-specific optimization beyond what the specs already reveal.
Each letter represents a different EC2 Instance Family. For example, the letter “c” stands for the C Instance Type, which is “Compute Optimized,” or in other words, a Virtual Server that is configured with the optimal processing power. The letter “X” stands for the X Instance Type, which is a “Memory Optimized” EC2 instance, useful with applications that use EXTREME amounts of memory.
AWS organized the EC2 Instance types into 5 broad categories:
- General Purpose – (T2, M5, M4, M3)
- Compute Optimized – (C4, C3)
- Memory Optimized – (X1, R4, R3)
- Accelerated Computing (P2, G4, G3, F1)
- Storage Optimized – (I3, D2)
Each Instance Category is “optimized” for various functions. by optimized, we mean
- There is more of that specific resource available,
- The cost for the resource is cheaper.
Bonus Resources
© 2022 - 2024 — McMap. All rights reserved.