AWS Cloud Operations & Migrations Blog

Use AWS Flexible Licensing options to optimize cost

License Flexibility

Many organizations have an existing investment in Microsoft licenses. This includes licenses for the Windows Server Operating System and Microsoft SQL Server. Customers who have decided to migrate to AWS often want to leverage their existing investment in Microsoft licenses to reduce the costs associated with the move. However, many customers also need additional flexibility in how their licenses are deployed on AWS, especially during the migration, or during times of fluctuating workloads.

AWS makes it possible to leverage your existing investment in Microsoft licenses through the use of Bring Your Own License (BYOL). BYOL lets customers deploy their existing Microsoft licenses in AWS and only pay for the underlying compute.

As of June 14th 2021 customers now have the flexibility to change the way that they license both Windows Server and Microsoft SQL Server products on existing Amazon Elastic Compute Cloud (EC2) Instances. Customers can change the license purchase option for their instances in AWS as business needs change. This lets them fully optimize existing licenses, and purchase licenses from AWS to cover additional requirements.

“AWS BYOL to LI conversion tool allowed us the flexibility to pay for on demand licensing and gradually pair down our SQL Server Licenses. This had a huge impact on our Microsoft renewal.”

– Luis Teixeira – Vistaprint

Per-second Billing

In addition to offering flexibility in the way that Microsoft licenses are used, AWS now offers per-second billing for license-included versions of Windows and SQL Server. Effective June 10th, customers using the License Included pricing model for the Windows Server Operating System and Microsoft SQL Server will now be billed in one-second increments. There are no changes required to receive this benefit, and customers are automatically converted to per-second billing for all instances.

Requirements for using Bring Your Own License:

Media

To bring your own license for either Windows Server or SQL Server, you must use your own media for the components that you want to leverage your own licenses for. This means that if you want to use your own Windows Server licenses, you must base the instance off of an Amazon Machine Image (AMI) that was created from your own Windows install media. You can create a BYOL AMI by importing a Virtual Machine to AWS using the BYOL licensing model. Available options for importing Virtual Machines to AWS AMIs include:

To BYOL SQL Server, you must download the SQL Server installation media from Microsoft and install it on an EC2 instance.

Note that while you cannot use Amazon provided install media for instances that you want to leverage BYOL licensing, you can use Amazon provided licenses on media created from your own install media. This means that if you base your AMIs off of images created from your own install media, then you can easily swap licensing as needed.

Windows Server

In addition to the media requirement, to use your existing licenses for Windows Server on AWS, you must meet the following requirements:

  • The licenses must have been purchased prior to October 2019, or as a True-Up on a licensing agreement that was active prior to October 2019.
  • The EC2 instances must be hosted on Amazon EC2 Dedicated Hosts (not Dedicated Instances)
  • The Windows Server Licenses cannot have been obtained through MSDN or a Visual Studio subscription.

SQL Server

Determining eligibility for using BYOL SQL Server on AWS is more complicated. We strongly suggest getting in touch with an AWS Expert on Microsoft licensing to review your situation and determine the best way forward.

A post describing how to create your own AMIs for the Windows Server Operating System that are eligible for use via BYOL can be found here.

Additionally, for the required commands for license switching to be run on the EC2 instances, the instance must have the AWS Systems Manager (SSM) agent installed and running on your instances. The instance must also have an instance profile that lets it be managed via Amazon SSM. Requirements for this profile can be found here.

You can validate the Amazon SSM requirement by going to the Systems Manager section of the AWS Management Console, selecting Fleet Manager, and ensuring that the instance you want to change the license for appears in the list of Managed Instances.

Fleet manager to view SSM Managed Instances.

Amazon EC2 instances created from AWS AMIs can only leverage the AWS Default License Included purchasing option. However, instances that have been created from AMIs based on your own install media can leverage either the License Included or BYOL purchasing options. As a result, you may want to consider using imported AMIs for instances that are not currently leveraging BYOL, but may be candidates for BYOL in the future.

Customers may find that their Windows licensing needs change over time. Licenses that were originally deployed in AWS via BYOL may need to be redeployed on premises due to changing business needs. Alternatively, customers may find that, as they migrate, they free up Windows Server licenses on-premises that can now be deployed into AWS to further optimize costs. Customers can temporarily or permanently change the license purchasing options associated with their infrastructure by using the new license switching feature.

This post assumes that you already have existing Amazon EC2 Instances configured and running in AWS.

How to change the licensing type for the instance

The following steps will walk you through the process of updating the license type for an instance currently running as BYOL. You can use a similar process to change the licensing type for other combinations of both SQL Server and Windows Server.

Log in to the AWS Management Console with full access to AWS EC2.

Find the instance that you want to convert the license for, and ensure that the instance is stopped. If the instance you want to convert does not appear in this list, then refer to the conversion prerequisites documentation here.

Confirm instance is stopped.

Note the instance details for the instance currently running under a BYOL license:

Reviewing platform details to determine eligibility.

The Platform Details indicate ‘Windows BYOL’ and the Usage Operation code is set to ‘RunInstances:0800’.

Details about the Usage operation codes can be found here.

Platform details Usage operation
SQL Server Enterprise RunInstances:0100
SQL Server Standard RunInstances:0004
SQL Server Web RunInstances:0200
Windows RunInstances:0002
Windows BYOL RunInstances:0800
Windows with SQL Server Enterprise RunInstances:0102
Windows with SQL Server Standard RunInstances:0006
Windows with SQL Server Web RunInstances:0202

License switching is accomplished in the AWS Management Console, under the License Manager service. From the console, select License Manager.

AWS License Manager in the console.

Once in License Manager, select License Conversion Tasks.

License conversion tasks in the console.

You can see a list of any license conversion tasks that you have run in the past, along with an option to create a new conversion. Choose “Create license conversion task”.

Creating a new license conversion task.

You will be presented with an option that lets you select the instance that you want to convert the license for.

Selecting instances to be converted.

An instance that you want to convert may not show up in this list for a few reasons:

  • The instance is currently running.
  • The instance does not have an instance profile with the “AmazonSSMManagedInstanceCore “policy.
  • The instance may not have access to the Amazon SSM service either through outbound access to the internet or a private endpoint.

Once the instance you want to convert is present in the list, select the instance ID from the list, and then select Next.

Filtered list of aplicable conversion options.

The next dialog box will let you select the destination license type. Only valid conversion options will be made available to you. For example, the image that I am currently converting is a Windows BYOL instance. Therefore, I have the option to convert this instance to “Windows”, which means Windows License included, but not to Windows BYOL.

If you select an option that includes SQL Server, for example Windows BYOL with SQL Server Standard, then the conversion process will validate that you have SQL Server installed, and that it is the correct version of SQL Server for the license that you selected.

Options exist for both SQL Server and Windows to be licensed in any combination of BYOL and LI. For example, you may choose to bring your own Windows License, but license SQL Server from AWS. In the event that you want to use either Windows BYOL, or Windows BYOL and SQL Server BYOL, then you should select the option for “Windows BYOL”, as this option does not include licensing for either the Windows OS or SQL Server.

Select the option that you want to convert to, and then choose Next.

Confirming details of the conversion.

You will be presented with a confirmation dialog that shows the conversion task that will be performed. Click Start the conversion task to make the licensing change.

Tracking conversion progress.

Once the conversion task has been completed, you will see the results in the list of conversion tasks. While the license conversion task is being completed, the instance may be started and stopped multiple times to validate configuration items, such as license type, media source, and SQL Editions.

The amount of time that a license conversation task takes will vary depending on the conversions  being made. Converting a Windows license will be a fast process, while converting the license for an SQL Server instance will take longer due to the SQL Server validation that occurs.

Conversion tasks may fail if it is determined that the instance was based off of AWS supplied media, or that you are trying to convert the license for SQL Server to a different version than what is installed on the instance.

Once your license conversion task has been completed, you can start the instance and run with the new licensing model in place.

Customers can use the license conversion functionality multiple times as their licensing needs change so long as they meet the media requirements. In addition to changing the license type, customers may have to change the hosting tenancy to remain complaint with licensing terms. See documentation for details.

Summary

In this post, we covered two new changes that increase the flexibility for customers running Microsoft workloads on AWS. This added flexibility will help customers maximize the use of existing licenses on AWS, as well as reduce the costs for instances that are used for short periods of time.

While this change to per-second billing will result in price reductions for many workloads, it also opens up flexibility to customers in the ways that they use Windows and SQL Server.

If you have questions about Microsoft Licensing on AWS, contact your account team or our dedicated team of Microsoft Experts at: microsoft@amazon.com.

About the author

Tom Moore

Tom Moore is a Sr. Microsoft Specialist SA based out of Boston, Massachusetts.