Understanding AWS EC2 Instance Types and Naming Conventions

engineering October 30, 2023
Understanding AWS EC2 Instance Types and Naming Conventions Rez Moss

Rez Moss

@rezmos1

Amazon Web Services (AWS) offers a diverse array of Elastic Compute Cloud (EC2) instances to accommodate the varying computational needs of businesses and individuals. These instances are categorized based on factors like performance, storage, and memory, allowing users to select the option that best aligns with their specific requirements. In this article, we will delve into the intricacies of AWS EC2 instance types and the meaning behind their naming conventions to help you make an informed decision for your computing needs.

Instance Type Naming Convention

The naming convention of AWS EC2 instance types is meticulously designed to provide insight into the specifications and capabilities of each instance at a glance. Each part of the instance name holds significance, detailing the family, generation, processor family, additional capabilities, and size of the instance.

For example, in the instance type 'c7gn.xlarge', each segment of the name provides specific information:

  • c:
    Instance family (Compute optimized)
  • 7:
    Instance generation
  • g:
    Processor family (AWS Graviton processors)
  • n:
    Additional capabilities (Network and EBS optimized)
  • xlarge:
    Instance size

Now, let’s break down each component to understand the full scope of AWS EC2 instance types.

Instance Families

The first position of the instance name indicates the instance family, which reflects the primary application of the instance. Below are some common instance families and their purposes:

  • C (Compute optimized):
    Ideal for compute-bound applications that require high-performance processors. Examples include batch processing workloads and media transcoding.
  • D (Dense storage):
    Best suited for applications that need access to high storage density, typically for large data warehousing applications or Hadoop clusters.
  • F (FPGA):
    Designed for applications that can take advantage of field-programmable gate arrays, such as hardware acceleration for specific computations.
  • G (Graphics intensive):
    Optimized for graphics and video processing applications, gaming, and 3D rendering.
  • Hpc (High performance computing):
    Tailored for high-performance computing applications in fields like science, engineering, and finance.
  • I (Storage optimized):
    Ideal for workloads that require high, sequential read and write access to very large data sets on local storage.
  • Inf (AWS Inferentia):
    Optimized for machine learning inference applications.
  • M (General purpose):
    Provides a balance of compute, memory, and networking resources and can be used for a variety of diverse workloads.
  • Mac (macOS):
    Instances that run the macOS operating system, useful for developers building for the Apple ecosystem.
  • P (GPU accelerated):
    Designed for general-purpose GPU compute applications.
  • R (Memory optimized):
    Ideal for memory-bound applications that need larger memory sizes.
  • T (Burstable performance):
    Offers a baseline level of CPU performance with the ability to burst to a higher level when the workload requires it.
  • Trn (AWS Trainium):
    Optimized for machine learning training workloads.
  • U (High memory):
    Instances that offer a high memory footprint per vCPU.
  • VT (Video transcoding):
    Optimized for video transcoding workloads.
  • X (Memory intensive):
    Designed for memory-intensive applications such as high-performance databases.

Processor Families Uncovered

The third position in the instance name indicates the processor family:

  • a (AMD processors):
    Powered by AMD processors.
  • g (AWS Graviton processors):
    Utilize ARM-based AWS Graviton processors.
  • i (Intel processors):
    Based on Intel processors.

Additional Capabilities Explained

Following the processor family, additional letters signify specific capabilities or optimizations:

  • d (Instance store volumes):
    Equipped with instance store volumes for temporary storage.
  • n (Network and EBS optimized):
    Enhanced networking and EBS performance.
  • e (Extra storage or memory):
    Offers additional storage or memory capacity.
  • z (High performance):
    Designed for high-performance applications.
  • flex (Flex instance):
    Provides flexible options to suit varying workloads.

Deciphering Instance Sizes

The instance size, denoted after the period in the instance name, ranges from ‘small’ to ‘4xlarge’, or ‘metal’ for bare metal instances. The size influences the resource allocation to the instance, affecting the CPU, memory, and storage.

Conclusion

The AWS EC2 instance naming convention is a well-thought-out system that provides quick insights into the specifications and capabilities of each instance. By understanding the meaning behind each component of the instance name, users can easily select the most appropriate instance type for their specific needs, ensuring optimal performance and cost-effectiveness. Whether you’re running compute-bound applications, graphics-intensive tasks, or memory-intensive workloads, AWS EC2 offers a solution tailored to your requirements.

Need expert advice? Schedule your AWS consultation today!

Schedule Now

Want to read more?

Back to Blog