I want to identify the Amazon Elastic Compute Cloud (Amazon EC2) instance that’s best for my workload.
Resolution
Note: If you receive errors when you run AWS Command Line Interface (AWS CLI) commands, then see Troubleshooting errors for the AWS CLI. Also, make sure that you're using the most recent AWS CLI version.
Amazon EC2 offers the following instance family types with different levels of CPU, memory, storage, and networking capacity:
For information about when to use each instance family, see Amazon EC2 instance types. To choose the correct type for your configuration, gather the following details about the application or software that you plan to run on your instance:
- Operating system (OS)
- Number of CPU cores
- Amount of system memory (RAM)
- Storage space
- GPU cores
- Network bandwidth requirement
Choose the instance family and size
Instance types include the family name and the instance size. For example, the t2.micro instance is from the T2 family and is micro sized.
Each instance type has the following hardware specifications:
- Default vCPUs: The number of virtual CPUs for the instance
- Memory (GiB): The amount of available RAM for your applications
- Instance storage (GB): The local instance store volumes that are available to the instance
Note: The data in an instance store isn't permanent. If you stop or terminate the instance, then Amazon EC2 deletes the data on its instance store volumes.
- Amazon Elastic Block Store (Amazon EBS)-optimized: Support for Amazon EBS optimization. To improve the performance of Amazon EBS volumes, an EBS-optimized instance provides additional, dedicated throughput for Amazon EBS I/O.
- Network specifications: The network specifications of your instance.
Note: Enhanced networking provides higher bandwidth, higher packet-per-second (PPS) performance, and consistently lower inter-instance latency. For more information about how to activate enhanced networking, see How do I turn on and configure enhanced networking on my EC2 instances?
Find and launch your selected instance type
Use the Amazon EC2 console or the AWS CLI to find your selected instance type. Then, launch your instance from an Amazon Machine Image (AMI).
Configure your instance based on your requirements
Configure a root volume
You must use an Amazon EBS-backed AMI or instance store-backed AMI as the root device for your instance.
Identify how to purchase your instance
To estimate the cost for your architecture solution, use the AWS Pricing Calculator.
For information about options to optimize your Amazon EC2 costs, see Amazon EC2 billing and purchasing options.
For detailed pricing of each instance type, see Amazon EC2 pricing.
Get recommendations for an instance type
To improve the performance or costs of running instances, it's a best practice to use AWS Compute Optimizer. Compute Optimizer can also identify whether you can change instance types. For Business or Enterprise Support plans, use the rightsizing recommendations in AWS Cost Explorer to downsize or terminate instances.
Change the instance type
If your system requires more CPU or memory than is available on the existing instance type, then resize the instance. To resize Windows instances, see How do I resize my EC2 Windows instance or change the EC2 Windows instance type? For Linux instances, see What steps do I need to take before changing the instance type of my EC2 Linux instance?
Monitor your EC2 resources
To verify that you optimized your configuration for reliability, availability, and performance, monitor your EC2 resources.
Manage an instance fleet
Use AWS Systems Manager to remotely and securely manage the configuration of the following resources:
- Your EC2 instances
- Your on-premises instances
- Virtual machines (VMs) in hybrid environments, including VMs from other cloud providers
For more information, see the Managing EC2 instances with Systems Manager