How do I choose the appropriate EC2 instance type for my workload?

Last updated: 2021-06-25

What steps should I take to determine which Amazon Elastic Compute Cloud (Amazon EC2) instance is best for my workload?

Short description

Amazon EC2 offers a range of instance types with different levels of CPU, memory, storage, and networking capacity. To determine which instance type you need for your use case, gather details about the system requirements of the application or software that you plan to run on your instance. These details should include the following:

  • Operating System
  • Number of CPU cores
  • Amount of system memory (RAM)
  • Storage space
  • GPU cores
  • Network bandwidth requirement

Resolution

Determine the use case for the instance and then review the different EC2 instance families.

To learn more about the different use cases that a particular EC2 instance family can serve, see Instance types.

Amazon offers the following instance type families:

Choose the Amazon EC2 instance family and appropriate size for your instance

Use the system requirements you gathered and the instance family that best serves your needs to choose a specific instance type. Instance type names are comprised of the family name and the instance size. For example, the t2.micro instance is from the T2 family and is micro-sized.

Every instance type has the following hardware specifications:

  • Default vCPUs: The number of virtual CPUs for the instance. For more information, see Optimize CPU options.
  • Memory (GiB): For more information, see Amazon EC2 high memory instances.
  • Instance storage (GB): The local instance store volumes that are available to the instance. The data in an instance store isn't permanent. Data on instance store volumes is deleted if the instance is stopped or terminated. For more information, see Amazon EC2 instance store.
  • Amazon Elastic Block Store (Amazon EBS)-Optimized available: Indicates whether the instance type supports EBS optimization. An EBS-optimized instance provides additional, dedicated throughput for Amazon EBS I/O. This provides improved performance for your Amazon EBS volumes and enables instances to use provisioned IOPs fully. For more information, see Amazon EBS–optimized instances.
  • Network Performance: Indicates the performance level of the rate of data transfer. You can enable enhanced networking that provides higher bandwidth, higher packet-per-second (PPS) performance, and consistently lower inter-instance latencies. For more information, see How do I enable and configure enhanced networking on my EC2 instances?

Find and launch your selected instance type

You can find your selected instance type using the Amazon EC2 console or AWS Command Line Interface (AWS).  You can launch your instance from a selected Amazon Machine Image (AMI) using any available launch option.

Note: If you receive errors when running AWS CLI commands, make sure that you’re using the most recent version of the AWS CLI.

Additional considerations


Did this article help?


Do you need billing or technical support?