AWS Cloud Operations & Migrations Blog

Using AWS License Manager to track your Microsoft SQL Server licenses

AWS License Manager can manage any software licenses that are based on vCPU, physical cores, physical sockets, or number of instances. In this blog post, we’ll walk through a common use case of using AWS License Manager to help you manage your SQL Server licenses.

Step 1: Launch License Manager
You can access License Manager through the AWS Management Console under Management & Governance. Go to Services and search for License Manager. In addition to the console, you could use the AWS SDKs and the AWS CLI to work with License Manager.


Step 2: Enter your SQL Server licensing rules into AWS License Manager
In this step, you’ll enter into License Manager the quantity of Microsoft SQL Server licenses that you own. Open AWS License Manager and choose Start using AWS License Manager.


  • Grant AWS Identity and Access Management (IAM) permissions to AWS License Manager.


  • Choose License configurations in the left navigation pane, and then choose Create license configuration.


  • You will need the following details for your Microsoft SQL Server licensing.
    • License configuration name: Identifies your license configuration and its resource associations. Enter a descriptive name (e.g., Microsoft SQL Server Enterprise).
    • Description (optional): Brief information about the license configuration. Enter a descriptive name (e.g., Microsoft SQL Server Enterprise).
    • License type: Vendors license their software by vCPUs, cores, sockets, or instances. For example, if you have licensed Microsoft SQL Server by vCPU then select vCPUs.
    • Number of <<License Type>> (optional): Indicate the number of licenses that you own. License Manager uses this information to help you manage the number of licenses used by your organization.
    • Enforce license Limit: Check this check box to limit licensing overage based on the number of license type. License Manager blocks instance launches when you enforce a limit. An example of this enforcement capability is if a user attempts to create an Amazon EC2 instance that uses Microsoft SQL Server and this new instance would put you over your license count, then the EC2 instance will be blocked from being created.


  • Rules (optional): In the Rules area you can specify additional licensing constraints. For example, a software vendor might have a special rule that defines the minimum number of vCPUs to be 4. This section allows you to keep track of these rules. The following chart outlines some of the available rules.

  • Tags (optional): You can tag these license rules with AWS tags.
  • After you choose Create license configuration, the system creates the license configuration rule.


Step 3: Enable automatic tracking of any new Microsoft SQL Servers
You can configure License Manager to automatically track the creation of new servers that consume SQL Server licenses. This process is transparent to your users. When your users create a new EC2 instance running Microsoft SQL Server, License Manager tracks the SQL Server license usage. There are multiple ways to set up this configuration. We are going to walk through the process of using Amazon Machine Images (AMI) to perform this automatic tracking. An AMI is a template of an EC2 instance. Read more details in the AMI documentation.


Associating the SQL Server license rule with an AMI

In this scenario, License Manager will track the SQL Server licenses used when you create EC2 instances running Microsoft SQL Server from an AMI. To enable License Manager to do this tracking, you associate the Microsoft SQL Server AMI with the SQL Server license rule. Then, every time that a new EC2 instance is created from that AMI, the SQL Server licenses are tracked.

License Manager also provides an Enforce option. With this option, the EC2 launch operation would check the number of licenses that you have and if the new instance that is being created would exceed your available licenses, then the EC2 Launch Wizard would not create the instance.

To set this configuration, perform the following steps:

  • Select the licensing rule that you created earlier (in this example it’s Microsoft SQL Server Enterprise). Choose the Actions menu and select Associate AMI.


  • Select the AMI that has Microsoft SQL Server and then choose the Associate button.


  • Now, any time that an instance is created using that AMI, License Manager will keep track of the number of Microsoft SQL server licenses used by that instance. If the Enforce option on the Licensing Rule was selected, then the EC2 instance creation process will check if you have enough licenses before proceeding with the instance creation. If there aren’t enough licenses, then the instance creation process will stop.


Step 4: Capturing the usage of your current SQL Server licenses
The next step is capture the number of Microsoft SQL Server licenses that you are currently using. For instances running in AWS, License Manager communicates with AWS Systems Manager to determine the software running on the EC2 instances. If you want to inventory the servers running on-premises, then you need to install the Systems Manager Agent on those servers. Read more details in the Systems Manager documentation.

To collect your current SQL Server license usage, perform the following steps:

  • Select Search Inventory in the left side menu. In the search box, select Application name. Then, select the Begins with qualifier. This step will find all instances running Microsoft SQL Server.


  • To associate the instance with the SQL Server license rule, choose the check box next to the instance and then choose Associate License Configuration.


  • In the next window, select the license configuration rule (in our example it’s Microsoft SQL Server Enterprise), and then choose Associate.


Licensing Manager reporting and alerting
License Manager provides you a dashboard of your SQL Server license usage.

  • Go to the AWS License Manager console and choose Dashboard on the left navigation pane. The Dashboard indicates the number of license configurations tracked and any usage limit alerts. In the following screenshot, License Manager highlighted one usage limit alert.


  • By choosing View exceeded license configurations, we discover that in this example, we are over-subscribed on our SQL Server license usage.


  • If you want to receive an alert when you are over-subscribed, you can set up alerting. On the left navigation pane, choose Settings.


  • On the Settings page, specify an Amazon Simple Notification Service (SNS) topic that License Manager will use to send messages to your team. You will need to create this SNS topic before choosing it here.


Thanks for joining us as we walked through how to use AWS License Manager to manage your SQL Server licenses. The steps described in this blog focus on managing Microsoft SQL Server licenses, but the same steps can be used to manage any software licenses.

In future posts, we will be covering:

  • Using License Manager to track software usage across multiple AWS accounts
  • Using License Manager to track software usage across hybrid (on-premises and cloud) scenarios


About the author:

Dean Suzuki is a Senior Architect focused on helping customers run Microsoft Workloads in AWS. Dean has 20+ years of experience working with Microsoft technologies and enjoys helping customers gain the benefits of running their workloads in the cloud.