What are EC2 Instances?
Amazon EC2 instances are Amazon’s Elastic Compute Cloud (EC2) virtual servers for running applications on Amazon Web Services (AWS) infrastructure. AWS is a cloud computing platform with hundreds of managed services. EC2 is one of the first and most popular Amazon services, which lets users create an unlimited set of virtual machines (VMs), known as compute instances, and run applications on them.
Amazon offers different types of instances with different configurations of CPU, memory, storage, and network resources. Each type is available in a variety of sizes to meet specific workload requirements.
Amazon Windows EC2 Instance Pricing Models
An Amazon Windows EC2 instance is simply a compute instance that runs the Windows operating system. It typically costs more than a comparable Linux instance, because the instance price includes the added cost of the Windows license. To help you consider your AWS cost management strategy, here are the pricing models available for Windows instances:
The AWS Free Tier includes 750 hours of Windows t2.micro instances per year (t3.micro in regions where t2.micro is not available).
On-Demand Instances provide compute capacity billed on an hourly or second-by-second basis, with no long-term contracts or upfront payments. Compute capacity can be increased or decreased based on your needs, and you pay a fixed hourly rate for your instances.
There are 368 Windows instance sizes available, starting from $0.081 per hour for the t2.nano instance. A c5.large instance with 2 vCPUs and 4 GB RAM costs $0.0177 per hour (pricing is in the US East region and subject to change).
EC2 usage is billed in 1-second increments, with a minimum of 60 seconds. Similarly, storage provisioned for EBS volumes is billed every second for a minimum of 60 seconds.
Amazon EC2 Spot Instances let you bid on spare EC2 compute capacity and get discounts of up to 90% compared to on-demand rates. However, they can be disrupted with only 2 minutes’ notice. The Spot Instance Advisor lets you see pricing for EC2 spot instances, as well as the estimated frequency at which Amazon disrupts each type of instance.
Reserved Instances offer discounts of up to 75% over On-Demand Instance pricing, in exchange for a long term commitment to 1 or 3 years of usage. It is also possible to reserve capacity when Reserved Instances are assigned to specific Availability Zones, ensuring that you can launch instances when you need them.
The Savings Plan is a flexible pricing model that offers EC2 and Fargate usage at a lower price, with commitment to continuous usage (measured in terms of dollars per hour) for 1 or 3 years.
EC2 Instance Savings Plans offer savings of up to 72% in exchange for committing to a single instance family in an Amazon region (for example, C5 in US East region). This automatically reduces the cost of the instance family you select in that region, regardless of Availability Zone, size, operating system, or tenant.
AWS EC2 Instance Cost Optimization
AWS cost optimization is a set of advanced practices for making more efficient use of Amazon resources, to improve business value and drive down cost. Here are a few cost optimization practices for Windows compute instances.
Define Your Requirements
It is important to define your requirements in advance before ordering compute resources on Amazon. Identify the requirements of your applications in terms of number of CPUs, types of processors, memory, SSD storage, and networking.
There are several complex considerations when selecting an instance type:
- Whether you need CPUs or GPUs, and how many cores are most suitable for your workloads.
- How many workloads to run on a single instance. Running more workloads improve utilization, but you run the risk of exhausting capacity on the instance.
- How to leverage EC2 autoscaling capabilities to deal with variable loads.
Identify Amazon EC2 Instances with Low Utilization
Get reports on idle or underutilized EC2 instances using AWS Cost Explorer. You can stop or scale these instances down to reduce costs.
Use AWS Compute Optimizer to get recommendations for instance types in your instance family. It provides recommendations for scaling within or across instance families, scaling up to remove performance bottlenecks, and how to best manage EC2 instances that are part of an autoscaling group.
Using AWS Cost Explorer
The AWS Cost Management console has features you can use to set and forecast your costs and optimize pricing to reduce your AWS bill.
Within the console, you’ll find the AWS Cost Explorer tool. You can use it to view and analyze historic cost data, and also see future cost projections based on your cost data.
You can see graphs showing Amazon costs and filter them by various factors such as Availability Zones, AWS services, and AWS Regions. It also includes other details such as custom cost allocation tags, Amazon EC2 instance types, and purchasing options. If you use consolidated billing, you can also filter by Amazon account.
You can run your workloads on a schedule—for example, run instances only on certain hours during the day, on specific days, or during specified time periods. If your use case has a predefined schedule on which your applications need to run, you can use Planned Reserved Instances (RIs) to reduce your overall EC2 bill.
Reserved RIs allow you to reserve capacity on a daily, weekly, or monthly basis. After you purchase Planned RIs, they will only activate during the specified schedule.
Best Practices for Windows on Amazon EC2
The following best practices can help you achieve optimal results when Windows on Amazon EC2:
Update Windows Drivers
You must run the latest drivers on all your Windows EC2 instances to ensure they include the latest performance enhancements and issue fixes. Depending on the instance type, you need to update ENA, NVMe, and AWS PV drivers. Here are tips to help you get started:
- Use Trusted Advisor to keep EC2 Windows up-to-date with all AWS-provided Windows drivers.
- Employ SNS topics to receive timely updates about new driver releases.
- Easily apply updates across instances using the AWS Systems Manager SSM document AWSSupport-UpgradeWindowsAWSDrivers.
Launch New Instances With the Latest Windows AMIs
Each month, AWS releases new Windows AMIs that contain the latest operating system patches, launch agents, and drivers. You can utilize the latest AMI when building custom images or launching a new instance.
Test System/Application Performance Before Migration
Migrating applications to AWS involves many configurations and variables. Before migrating, you should test your EC2 solution to ensure it is ready for the desired performance. It can help ensure your instance types are configured properly, validating instance size, tenancy (shared or dedicated), and enhanced networking.
Additionally, testing can help ensure that your instance topology is configured appropriately for the workload and utilizes high-performance features, including dedicated tenancy, instance store volumes, bare metal, and placement groups.
You can secure Windows instances by using Active Directory Domain Services to enable a secure, manageable, and scalable infrastructure for distributed locations. After you launch the desired EC2 instances, you can utilize native operating system features, like Windows PowerShell DSC. If drifts occur, this feature enables you to maintain the configuration state.
In this article, I explained the basics of Windows compute instances on AWS and their primary pricing options:
- Free tier—Amazon provides 750 free hours of Windows t2.micro instances per year
- On-demand—Amazon offers Windows instances at an hourly rate that starts from $0.081 per hour
- Spot instances—you can purchase Windows instances on Amazon’s spot market for up to 90% off the on-demand rate
- Reserved instances—you can receive discounts of up to 72% on Windows instances if you commit to using them for a period of 1 or 3 years
In addition, I provided several tips for optimizing Windows instance costs and using Windows instances more effectively in AWS. I hope this will be useful as you consider moving your Windows machines to the world’s biggest cloud provider.