AWS EC2 Instance Types: The Definitive Guide
AWS offers close to 15 instance classes and based on your workload requirements, many configuration and pricing options are available. In this blog, we will do a deep dive into the AWS EC2 instance costs and offer some tips on how to keep them under control so that you can avoid unexpected spikes in your AWS cloud bill. We will also uncover some hidden EC2 cost elements so that you can utilize the cloud resources wisely.
What Are the Different AWS EC2 Instance Types?
Amazon offers a variety of AWS EC2 Instance Types and families from which you can select the one that best meets your needs. The names of instance types are determined by their family, generation, additional capabilities, and size.
Following are the five different families of instance types:
- General Purpose
- Accelerated Computing
- General Purpose Instances: M and T families
Computing, memory, and networking resources for a general-purpose instance can be used for various workloads such as web servers and code repositories. General Purpose Instances are the most sought-after Instances, with many businesses preferring them. In this family, there are two types of instances:
- Fixed performance (M4 and M3 family )
- Burstable performance (T2 Family)
M4 instances are the most recent generation of GP instances. These offer a good balance of computing, and memory, network resources and are an excellent choice for applications with high demand for applications and microservices.
- Applications like web servers and code repositories.
- Test environments
- Compute Optimized: C-type family
These AWS EC2 instance types are used in applications that require a high CPU load but balanced memory usage. Instance types are combinations of CPU, memory, storage, and networking capacity that allow you to choose the best mix of resources for your applications.
- Applications that depend on computation and benefit from high-performance CPUs.
- Machine-learning application
- Performance-oriented web servers
- Memory Optimized: R and X families
Memory-optimized instances are designed to deliver quick performance for applications that demand the in-memory processing of huge data sets. These circumstances are ideal for the following AWS EC2 Instance Types: Relational (MySQL) and NoSQL (MongoDB, Cassandra) databases with high performance.
- Databases (Relational and NoSQL)
- Electronic Device Automation applications
- In-memory caches
- Real-time big data analytics
- Storage Optimized: I, D, and H families
Storage Optimized Instances are represented by the I2 and, more recently, the D2 instance families. I2 instances include large SSDs for random I/Os required by databases, data warehouses, and distributed systems like Hadoop. They are appropriate for NoSQL databases such as HBase, Cassandra, MongoDB, and OLTP.
- Caching, indexing, streaming
- Online Transaction Processing (OLTP) high-frequency systems
- Data warehousing applications
- Accelerated Computing: P, G, D, F, and V families
Accelerated computing instances are among the AWS EC2 Instance Types that use hardware accelerators, or co-processors, to perform some functions more efficiently than software running on CPUs, such as floating point number calculations, graphics processing, or data pattern matching.
- Hardware accelerators like Graphics Processing Units (GPU)
- Graphics-intensive applications like game streaming and rendering
What are the 5 Models for AWS Instance Types pricing?
There are five different ways for AWS Instance Types pricing, and these are as follows:
- AWS On-Demand Instance
- Only pay per hour
- Cannot be interrupted
AWS enables you to use EC2 compute instances with on-demand pricing and pay by the hour or second. This pricing model allows you to spin up instances without paying anything upfront. Then, as needed, you can quickly terminate these instances and pay for the resources consumed. This option offers high flexibility and scalability and is ideal for new AWS users testing the environment or for unpredictable workloads. On-demand instances, however, are more expensive and can quickly accumulate costs.
- First-time applications and dry-runs.
- A website application that experiences spikes in traffic.
- Also, for short-term and unpredictable workloads.
- AWS Reserved Instance
- Steady-state or predictable usage
- Can resell unused reserved instances
RIs pricing provides significant discounts in exchange for a commitment for one or three years. AWS allows you to pay for RIs in various ways, including no upfront, partial upfront, and all upfront. When compared to spot instances, it is easier to set up and maintain RIs. However, even if you do not use all of the reserved instances, you will be charged for them.
Types of Reserved Instances:
- Standard: Commit for instance, Region, instance family, and platform for one year or three years. (Up to 75% off),
- Convertible: Standard + ability to change instance family and instance platform. (Up to 54% off)
Reserved instance pricing model:
- All Up-front Reserved Instances (AURI) – Pay completely up-front, no monthly billing (more savings )
- Partial Up-front Reserved Instances (PURI) – Pay some amount up-front and then monthly installments (Lesser saving than full up-front)
- No Up-front Reserved Instances (NURI) – Pay nothing up-front, Only monthly installments (Lesser savings than Partial Up-front )
No up-front > partial up-front > All up-front (A difference of up to 5%)
- Invest in EC2 for a term of one or three years.
- Continuous workloads that are active at all times.
nOps tip: Buying Reserved instances is not a point in a timed exercise. As workload requirements change, you must closely monitor the utilization of reserved cases. nOps offer risk-free commitment; we automatically maximize your reserved instance coverage based on your workload needs.
- AWS Spot instance
- You can get up to 90% discount compared to on-demand
- Request spare computing capacity
- Flexible start and end times
- You receive a two-minute warning before your instance is terminated.
These instances are available at up to 90% off the on-demand price; AWS Spot Instances can help you significantly reduce computing capacity costs. This model has the highest potential cost savings but, on the other hand, can be challenging to use for some fault-sensitive workloads because a spot instance can be terminated at any time if AWS requires the compute capacity, and you will only receive a two-minute notice before this happens.
nOps tip: nOps can evaluate and manage your Spot workload to reduce your EC2 cost.
- Workloads that aren’t time-sensitive (Because instances can be terminated anytime)
- Workloads capable of handling interruptions (server randomly stopping and starting)
- AWS Dedicated host
- Expensive than on-demand EC2 as you are paying for the whole host
- Can be on-demand or reserved (up to 70% off)
- Guarantee of isolation
AWS allows you to rent physical servers, known as Dedicated Hosts. Because you have the entire server to yourself, this option is considered highly secure and reliable. You do not need to perform administrative tasks when renting a Dedicated Host. The hardware is cleaned and maintained by AWS. On the other hand, Dedicated Hosts are more expensive and primarily within the budget of businesses.
- Organizations between midsize and giant with 500+ people and who manage a lot of data.
- Game servers, application servers, and website servers that need secure workloads
- AWS Saving Plans
AWS Saving Plans, like RIs, provide a significant discount in exchange for committing to use AWS resources for a more extended period. On the other hand, it allows you to make an hourly spending commitment and then apply a discount rate that is subtracted from your on-demand usage. Coming to AWS Instance types comparison: Saving Plans, unlike RIs, are consolidated across resources, allowing you to take advantage of multiple discounts across your AWS account.
When you sign up for a Savings Plan, the prices you pay for usage remain constant throughout the plan term. You can pay for your commitment in three ways similar to RIs payment options like AURI, PURI, and NURI. For a significant saving, you must have a fusion of the suitable pricing model as well as the right type and family of instance and its size, so let’s have a look at Instance sizes and how they relate to cost; you can choose the correct instance that fits well with your workload requirements.
Hidden Charges Incurred by AWS
You may have noticed how AWS data transfer costs appear unexpectedly in your monthly cloud bill. You can perform various types of data transfers within and outside of AWS. Because of the sheer number of different transfer types available, keeping track of all their associated costs can be difficult. Understanding these hidden costs is critical if you want to do some AWS cost optimization:
- AWS EC2 Data Transfer Networking Costs
To keep a precise accounting of all your AWS data transfer costs or to optimize your AWS design before deploying it, you must first understand how data transfers are charged.
- Data Transfer Costs Within the AWS Cloud
The transport of incoming data across all services and Regions is free of charge.Charges for data transport from AWS to the internet vary depending on the originating Region and are assessed per service.
- Data transfers between regions: Fees for inter-region data transfers are based on the source region’s rates. All of the source-specific region rates can be found online on AWS Portal.
- AWS EC2 instance Data transfer costs within the same Region: There are no data transfer fees when using the internet gateway to reach the public endpoint of an AWS service in the same Region. When the same services are accessed through a NAT gateway, there is a processing fee (per gigabyte (GB)) for the data that flows through the gateway.
- AWS EC2 instance Data transfer costs across the Regions: There is a fee for data transfer across Regions if your workload accesses services in multiple Regions. The cost is determined on the region of origin and destination.
Here is a detailed blog about hidden AWS charges and what to do about them.
- Elastic IP Cost:
Additional Elastic IP addresses for the same instance are chargeable. In addition, when the EC2 instance associated with the extra elastic IP is terminated, it is also chargeable. For example, Additional IP addresses and IP addresses that are not assigned to a running instance currently incur a $0.005 per hour Elastic IP pricing charge.
- Volume (EBS) Cost:
When EC2 instances are terminated, the attached EBS volumes are not automatically deleted and will continue to charge as long as the EBS is still running. Additionally, occasionally increasing the volume size impacts the AWS EC2 expenses.
Tips to save your EC2 Instance costs
Here are some tried and tested tips that you can efficiently use to save your EC2 Instance Costs:
- The right size of the EC2 instance
Running an EC2 instance can range from nothing to more than US$25, depending on the type (e.g., t2.small, t3.large) and its configuration. The AWS console is the quickest way to check if the EC2 instance is correctly specified. While viewing the instance, click the Monitoring tab.
- Use Cost Optimization Software like nOps
nOps is a SaaS cloud platform for AWS. It is a software-as-a-service platform that helps customers monitor, analyze, and manage costs. nOps Cloud Cost Optimization tools monitor your AWS resources and provide recommendations for re-sizing so that you can cut the cost without impacting performance. nOps also help in securing their AWS credentials and other services and data. It can be used independently and in an AWS Well-Architected, which allows an organization to reduce its AWS service cost to the minimum.
- Use Savings Plans for Lowering EC2 Costs
Savings Plans are classified into two types:
- Compute Savings Plans – no commitment to example type, family, or Region required. They are also applicable to Fargate and Lambda.
- EC2 Savings Plans – Entail committing to the same family in the same Region.
When you sign up for a Savings Plan, the prices you pay for usage remain constant throughout the plan term. You can pay for your commitment in three ways that we have explained in this blog
- Use auto-scaling:
Auto Scaling is a tool that will monitor your applications and automatically adjust capacity to ensure consistent, predictable performance at the lowest possible cost.
- Use Spot instance:
Unlike the on-demand pricing model, you can save up to 90% by using Spot Instances. In addition, various stateless, fault-tolerant, or flexible applications like big data, containerized workloads, CI/CD, web servers, high-performance computing (HPC), and test & development workloads can all be run on Spot Instances.
- Avoid Using NAT Devices:
If you have EC2 instances within a VPC that need to communicate with the Internet or other AWS public resources, avoid using a dedicated NAT device because they charge a rate per GB that passes through it in addition to any data transfer out rates that may apply.
- Use the same Region:
Keep all traffic within the same Region. If traffic needs to leave a region, look for the Region with the lowest transfer rates that meet your business needs.
- Use the same Availability Zone:
Remember that using AWS Private IPs, all traffic within the same Availability Zone and VPC is free. As a result, try to keep your resources as close to the same AZ and VPC as possible by using private IPs.
- Disassociate Elastic IP address:
When terminating an ec2 instance, you must disassociate the Elastic IP address.
- Remove and reduce the size of EBS volume:
Remove the EBS volume before ending the EC2 instance. Also, downsize the volume, which is underutilized. Instead of storing an EBS volume for a long time, take a snapshot.
- Scheduling instance Stop/start
AWS won’t charge you for a stopped instance, so keeping the EC2 instances stopped when they are not in use can help you save a lot. For example, the Dev team needs the environment up from 9 am to 9 pm. So, there is no need to keep the instances running after 9 pm. Instead, turn the instance off after 9 pm and bring it back the next day at 9 am.
- You can use the AWS Scheduler service to plan the instances’ stop and start
nOps also provides an effortless nOps Scheduler that you can use to plan a stop-and-start instance and construct personalized start and stop.
Wrap-Up: How Cost Optimization Softwares can help
If you can’t access your AWS needs optimally, then these pricing techniques and AWS Instance Types comparison for Amazon Web Services are worthless. For example, what if you only needed 100 units of cloud computing but over-forecasted 1000 units, and now even the Reserved Instances plan is void for you? I am sure you understand how essential it is to inspect and predict your real cloud needs. With nOps ShareSave solution, we optimize your cloud cost on auto-pilot, and reduce your cost up to 50%. This helps you efficiently manage cloud costs and save more money.
Plus, with nOps Cloud Cost Optimization, you can save more by centralizing cloud accounts into a consolidated billing model, providing instant and continuous visibility to change requests and delta to your infrastructure that cause cost, and giving you the best root cause analysis for AWS EC2 Instance Types available anywhere.