Instance types Amazon EC2


When you launch an EC2 instance, the instance type that you specify determines the hardware of the host computer used for your instance. Each instance type offers different compute, memory, and storage capabilities, and is grouped in an instance family based on these capabilities. Select an instance type based on the requirements of the application or software that you plan to run on your instance.
Amazon EC2 dedicates some resources of the host computer, such as CPU, memory, and instance storage, to a particular instance. Amazon EC2 shares other resources of the host computer, such as the network and the disk subsystem, among instances. If each instance on a host computer tries to use as much of one of these shared resources as possible, each receives an equal share of that resource. However, when a resource is underused, an instance can consume a higher share of that resource while it's available.
Each instance type provides higher or lower minimum performance from a shared resource. For example, instance types with high I/O performance have a larger allocation of shared resources. Allocating a larger share of shared resources also reduces the variance of I/O performance. For most applications, moderate I/O performance is more than enough. However, for applications that require greater or more consistent I/O performance, consider an instance type with higher I/O performance.
Instance type naming conventions
Amazon EC2 provides a variety of instance types so you can choose the type that best meets your requirements. Instance types are named based on their family, generation, processor family, additional capabilities, and size. The first position of the instance type name indicates the instance family, for example c. The second position indicates the instance generation, for example 7. The third position indicates the processor family, for example g. The remaining letters before the period indicate additional capabilities, such as instance store volumes. After the period (.) is the instance size, such as small or 4xlarge, or metal for bare metal instances.
Amazon EC2 instance type specifications
Amazon EC2 provides a wide selection of instance types optimized to fit different use cases. Instance types comprise varying combinations of CPU, memory, storage, and networking capacity and give you the flexibility to choose the appropriate mix of resources for your applications. Each instance type includes one or more instance sizes, allowing you to scale your resources to the requirements of your target workload. We group EC2 instance into the following categories:
• General purpose – Provide a balance of compute, memory, and networking resources. These instances are ideal for applications that use these resources in equal proportions, such as web servers and code repositories.
• Compute optimized – Designed for compute intensive applications that benefit from high performance processors. These instances are ideal for batch processing workloads, media transcoding, high performance web servers, high performance computing (HPC), scientific modeling, dedicated gaming servers, ad server engines, and machine learning inference.
• Memory optimized – Designed to deliver fast performance for workloads that process large data sets in memory.
• Storage optimized – Designed for workloads that require high, sequential read and write access to very large data sets on local storage. They are optimized to deliver tens of thousands of lowlatency, random I/O operations per second (IOPS) to applications.
• Accelerated computing – Use hardware accelerators, or co-processors, to perform functions, such as floating point number calculations, graphics processing, or data pattern matching, more efficiently than is possible in software running on CPUs.
• High-performance computing – Purpose built to offer the best price performance for running HPC workloads at scale on AWS. These instances are ideal for applications that benefit from high-performance processors, such as large, complex simulations and deep learning workloads.
• Previous generation – AWS offers previous generation instance types for users who have optimized their applications around them and have yet to upgrade. We encourage you to use current generation instance types to get the best performance, but we continue to support previous generation instance types.
Instances built on the AWS Nitro System
The Nitro System is a collection of hardware and software components built by AWS that enable high performance, high availability, and high security. For more information, see AWS Nitro System.
The Nitro System provides bare metal capabilities that eliminate virtualization overhead and support workloads that require full access to host hardware. Bare metal instances are well suited for the following:
• Workloads that require access to low-level hardware features (for example, Intel VT) that are not available or fully supported in virtualized environments
• Applications that require a non-virtualized environment for licensing or support
Nitro components
The following components are part of the Nitro System:
• Nitro card
• Local NVMe storage volumes
• Networking hardware support
• Management
• Monitoring
• Security
• Nitro security chip, integrated into the motherboard
• Nitro hypervisor - A lightweight hypervisor that manages memory and CPU allocation and delivers performance that is indistinguishable from bare metal for most workloads.
Virtualized instances
The following virtualized instances are built on the Nitro System:
• General purpose: M5 | M5a | M5ad | M5d | M5dn | M5n | M5zn | M6a | M6g | M6gd | M6i | M6id | M6idn | M6in | M7a | M7g | M7gd | M7i | M7i-flex | T3 | T3a | T4g
• Compute optimized: C5 | C5a | C5ad | C5d | C5n | C6a | C6g | C6gd | C6gn | C6i | C6id | C6in | C7a | C7g | C7gd | C7gn | C7i
• Memory optimized: R5 | R5a | R5ad | R5b | R5d | R5dn | R5n | R6a | R6g | R6gd | R6i | R6idn | R6in | R6id | R7a | R7g | R7gd | R7i | R7iz | U-3tb1 | U-6tb1 | U-9tb1 | U-12tb1 | U-18tb1 | U-24tb1 | X2gd | X2idn | X2iedn | X2iezn | z1d
• Storage optimized: D3 | D3en | I3en | I4g | I4i | Im4gn | Is4gen
• Accelerated computing: DL1 | DL2q | G4ad | G4dn | G5 | G5g | Inf1 | Inf2 | P3dn | P4d | P4de | P5 | Trn1 | Trn1n | VT1
• High-performance computing: Hpc6a | Hpc6id | Hpc7a | Hpc7g
• Previous generation: A1
Bare metal instances
The following bare metal instances are built on the Nitro System:
• General purpose: m5.metal | m5d.metal | m5dn.metal | m5n.metal | m5zn.metal | m6a.metal | m6g.metal | m6gd.metal | m6i.metal | m6id.metal | m6idn.metal | m6in.metal | m7a.metal-48xl | m7g.metal | m7i.metal-24xl | m7i.metal-48xl | mac1.metal | mac2.metal | mac2-m2.metal | mac2-m2pro.metal
• Compute optimized: c5.metal | c5d.metal | c5n.metal | c6a.metal | c6g.metal | c6gd.metal | c6i.metal | c6id.metal | c6in.metal | c7a.metal-48xl | c7g.metal | c7i.metal-24xl | c7i.metal-48xl
• Memory optimized: r5.metal | r5b.metal | r5d.metal | r5dn.metal | r5n.metal | r6a.metal | r6g.metal | r6gd.metal | r6i.metal | r6idn.metal | r6in.metal | r6id.metal | r7a.metal-48xl | r7g.metal | r7i.metal-24xl | r7i.metal-48xl | r7iz.metal-16xl | r7iz.metal-32xl | u-6tb1.metal | u-9tb1.metal | u-12tb1.metal | u-18tb1.metal | u-24tb1.metal | x2gd.metal | x2idn.metal | x2iedn.metal | x2iezn.metal | z1d.metal
• Storage optimized: i3.metal | i3en.metal | i4i.metal
• Accelerated computing: g4dn.metal | g5g.metal
• Previous generation: a1.metal
Types Instance type quotas
The following quotas apply to Amazon EC2 instances by default.
• On-demand instance quotas
• Spot instance quotas
• Dedicated Host quotas
Subscribe to my newsletter
Read articles from Suraj Yelpale directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Suraj Yelpale
Suraj Yelpale
🚀 Hey there! I'm Suraj Yelpale, a under graduate in a Bachelor's in Computer Science, eager to dive into the exciting world of DevOps and fueled by a passion for all things Open Source! 🌟 🔧 Currently, I'm honing my skills in DevOps, exploring the ins and outs of modern software development practices. 🛠️ In my free time, I'm all about bringing project ideas to life and giving back to the open-source community. 💡 Here's a snapshot of my tech toolkit: Languages: Java and Python are my go-to languages for crafting innovative solutions. Web Development: From the front-end (HTML, CSS, React) to the back-end (Django), I love building seamless web experiences. Databases: Proficient in MySQL, ensuring data is stored and managed efficiently. Tools: Data Structures, Algorithms, OOPS, Git and Github, VSCode, Docker, Kubernetes, Jenkins, Ansible, AWS. 📬 Let's connect and explore opportunities together! Feel free to drop me an email at 𝐬𝐮𝐫𝐚𝐣𝐲𝐞𝐥𝐩𝐚𝐥𝐞𝟕@𝐠𝐦𝐚𝐢𝐥.𝐜𝐨𝐦. I'm always up for a chat about tech, projects, or anything else you'd like to discuss!> >