How to Manage Your SQL License Cost with AWS License Manager
For this article, I will walk you through how you can manage your SQL Server licenses and even your Windows Servers licenses via AWS License Manager.
As a SQL Server database administrator, part of your responsibilities is to manage the current Microsoft investments in terms of licenses of your organization. There's a yearly exercise to audit the agreement with your Microsoft vendor. As part of the cloud adoption, you will need to plan how you will bring your own licenses (i.e. on-premises) to the cloud. Let me introduce you to AWS License Manager and how it can help you seamlessly bring your own license (BYOL) to Amazon Web Services platform.
AWS License Manager is an AWS offering that will help you manage your SQL Server and Windows Server licenses in real-time. Even from other software vendors like SAP, Oracle and IBM, if you have these products in your organization, you can also track licenses from them via AWS License Manager.
AWS License Manager can simplify your license management with its easy-to-understand dashboard. You can manage license violations, because with AWS License Manager you can track excess deployments more than what is stipulated in your vendor agreement. You can create policies that can stop the deployments of new Amazon EC2 instances when you have exceeded the number of licenses and you can take actions when there is a breach.
AWS License Manager setup for managing your license is a one-time setup, once completed, you can take license management off your shoulders and let AWS manage it for you.
The best thing about AWS License Manager is that you do not incur costs when using this service. You only incur costs for resources that you launch for running your SQL Servers or Windows Server operating system.
When planning to migrate your SQL Server estate to AWS platform, there are 2 options for you to consider:
- Flexible pay-as-you-go, means that you will use the AWS images with Windows Server and SQL Server license either SQL Servers running in EC2 or in AWS RDS
- Bring your own license mobility to AWS, you can discuss this with your current vendor account manager.
To start using AWS License Manager, navigate to the search bar on the AWS console and key in AWS License Manager. This will bring you to the AWS License Manager dashboard, see screenshot below.
The dashboard is simple and the left side menu guides you to the things you need to go thru to manage your product licenses. To start creating entries for your Microsoft product licenses, SQL Server in particular, click 'Customer Managed Licenses' from the left pane menu. Click on 'Create License Configuration'.
Key in the preferred name, your preferred description, select 'Cores' for the license type for SQL Servers and the product information of the Microsoft product.
Click on 'Submit' to create the customer managed license for SQL Server.
When it is created successfully, you now have a license manager for SQL Server. In the screenshot below, the column for the Licenses consumed is managed by AWS License Manager for you. You can enable a ruling to track this number so that you are aware if the number is going over.
The AccountID column refers to the AWS account that is managed by this service. You can track other licenses that are managed by a different team on a different AWS account. It is recommended that you setup AWS License Manager on a shared service account that is used for managing all other accounts in your AWS environment.
Click on the link name for the column 'License configuration name'. This will open a screen to display the details of the license configuration name. Here you can manage the AMI associated, and track the resources running SQL Servers and tags.
To start adding and associating the AMI for this SQL Server license configuration, click the tab 'Associated AMIs'. Click on the button 'Associate AMI'. You can select from your list of existing AMIs and associate them to this license configuration.
Building your SQL AMI on AWS
To start building your SQL Server images or AMI on AWS, you need to:
- Create an EC2 instance running Windows Server with the preferred edition. You can follow the steps discussed in this article.
- Login into the EC2 and install an instance of SQL Server with the preferred edition.
- When this is completed, take a snapshot of the EC2 to create an AMI. Make sure that it is labeled and tagged properly for ease of identification and manageable for other team's use. You can stop this EC2 instance at this point to lower the cost of this operation.
To associate this AMI that you have created to AWS License Manager you need to go back to the AWS License Manager dashboard. Click on the 'Associated AMIs' tab. Click on 'Associate an AMI' and select your AMI created from previous steps.
This AMI will be used for deploying SQL Servers running on EC2 instance in your AWS environment. You will also have the option to share the AMI to other AWS accounts that you manage under organizational unit (OU) or AWS root account. Click 'Confirm' to save your options.
You will see the associated AMI under the tab 'Associated AMIs' after it is successfully saved.
Host Resource Groups
The host resource groups are a collection of dedicated hosts i in your AWS Organization. The use of dedicated hosts helps the AWS License Manager to track all the EC2 instances running Windows Server and SQL Server because in dedicated hosts tenancy, you are able to see the sockets and cores of the EC2 that your SQL Server will be using.
To create a host resource group, click on 'Create host resource group'. In the same screen as below, key in your preferred host resource group name and description. In the dropdown list for 'license configuration' select the previously selected license configuration created that you plan to associate with this host resource group. This simply means that all EC2 instances that will host SQL Servers should be launched in this host resource group so AWS License Manage can track the license usage for you.
When your users start to launch their own SQL Servers running on EC2, they should use this same host resource group. You can specify this in the EC2 launch page, in the tenancy dropdown list. See my screenshot below for creating an EC2 instance. You should select the host resource group that you have created in the AWS License Manager console.
When you launch your EC2 in a dedicated host and selecting the license configuration created previously, you are able to see that the servers have the correct number of cores and sockets. This is critical because you need to know how many sockets or cores there are in the EC2 instance that is used by your SQL Server.
From the AWS online documentation bringing your own licenses to AWS, verify that the terms of your software license agreement allows the software to be used in a virtualized environment to bring your existing machine images into AWS.
Once the steps for creating license configuration are completed, all users in your AWS organization can launch EC2 instances and run Windows Server and SQL Server and AWS License Manager can help you track all these usages. You will see that the license configuration will be decreasing once users started launching their SQL Servers on EC2 in their accounts or organization. The centralized dashboard can help you readily see the usage at a glance.
For this article, I was able to show how you can easily manage your SQL Server licenses running on AWS EC2. Once your organization have started the migration of SQL Servers to AWS, you will have to plan for adopting new processes for managing your Microsoft products licenses including SQL Server via AWS License Manager.
- Check out these related items:
About the author
View all my tips
Article Last Updated: 2022-04-20