SQL Server license requirements are set out in the Microsoft Product Terms*, which can be found on the Microsoft Volume Licensing Website.

You are responsible for obtaining the licenses required for eligible Microsoft applications running in the AWS cloud using the License Mobility through Software Assurance benefit, and for complying with all applicable Microsoft licensing requirements. Under the Product Terms, the number of licenses required varies based on the instance type, version of SQL Server, and the Microsoft licensing model you choose.

When licensing individual virtual machines (VMs), the SQL Server 2019 licensing guide states, “To license individual VMs using the Per Core model, customers must purchase a core license for each v-core (or virtual processor, virtual CPU, virtual thread) allocated to the VM, subject to a four-core license minimum per VM.” The SQL Server 2019 Licensing Guide defines a virtual core as “virtual representation of one or more hardware threads.”  SQL Server licenses are sold by Microsoft in 2-core packs.

To assist you with your virtual core licensing calculations under the Product Terms, the following table shows the number of virtual representations of hardware threads based on instance type.** If you run Microsoft SQL Enterprise Edition, there are additional Microsoft License Mobility SQL Enterprise Edition options available. Speak to your account manager for more details.

For other versions of Microsoft SQL Server, please contact us. Learn more about Amazon EC2 instance types.

Instance Types Virtual Representations of Hardware Threads** 
m4.large 4
m4.xlarge 4
m4.2xlarge 8
m4.4xlarge 16
m4.10xlarge 40
m4.16xlarge 64
m5.large 4
m5.xlarge 4
m5.2xlarge 8
m5.4xlarge 16
m5.12xlarge 48
m5.24xlarge 96
m5d.large 4
m5d.xlarge 4
m5d.2xlarge 8
m5d.4xlarge 16
m5d.12xlarge 48
m5d.24xlarge 96
c4.large 4
c4.xlarge 4
c4.2xlarge 8
c4.4xlarge 16
c4.8xlarge 36
c5.large 4
c5.xlarge 4
c5.2xlarge 8
c5.4xlarge 16
c5.9xlarge 36
c5.18xlarge 72
c5d.large 4
c5d.xlarge 4
c5d.2xlarge 8
c5d.4xlarge 16
c5d.9xlarge 36
c5d.18xlarge 72
hi1.4xlarge 16
hs1.8xlarge 16
g2.2xlarge 8
g2.8xlarge 32
g3.4xlarge 16
g3.8xlarge 32
g3.16xlarge 64
f1.2xlarge 8
f1.4xlarge 16
f1.16xlarge 64
r4.large 4
r4.xlarge 4
r4.2xlarge 8
r4.4xlarge 16
r4.8xlarge 32
r4.16xlarge 64
r5.large 4
r5.xlarge 4
r5.2xlarge 8
r5.4xlarge 16
r5.12xlarge 48
r5.24xlarge 96
r5d.large 4
r5d.xlarge 4
r5d.2xlarge 8
r5d.4xlarge 16
r5d.12xlarge 48
r5d.24xlarge 96
x1.16xlarge 64
x1.32xlarge 128
x1e.xlarge 4
x1e.2xlarge 8
x1e.4xlarge 16
x1e.8xlarge 32
x1e.16xlarge 64
x1e.32xlarge 128
d2.xlarge 4
d2.2xlarge 8
d2.4xlarge 16
d2.8xlarge 36
h1.2xlarge 8
h1.4xlarge 16
h1.8xlarge 32
h1.16xlarge 64
i3.large 4
i3.xlarge 4
i3.2xlarge 8
i3.4xlarge 16
i3.8xlarge 32
i3.16xlarge 64
i3.metal 72

Microsoft License Mobility overview

* Please consult your specific Microsoft license agreements for information on how your software is licensed. You are solely responsible for complying with all applicable Microsoft licensing requirements, including the Product Terms. AWS recommends that you consult with your own advisors to understand and comply with the applicable Microsoft licensing requirements

** Because the current version of the Product Terms requires a minimum of 4 licenses per Virtual OSE, this table specifies a minimum of 4 virtual representations of hardware threads (even if the instance type has less threads).

Optimizing CPU Options

Amazon EC2 instances support Intel Hyper-Threading Technology, which enables multiple threads to run concurrently on a single Intel Xeon CPU core. Each thread is represented as a virtual CPU (vCPU) on the instance. An instance has a default number of CPU cores, which varies according to instance type. For example, an m5.xlarge instance type has two CPU cores and two threads per core by default—four vCPUs in total.


Each vCPU is a hyperthread of an Intel Xeon CPU core, except for T2 instances.

In most cases, there is an Amazon EC2 instance type that has a combination of memory and number of vCPUs to suit your workloads. However, you can specify the following CPU options to optimize your instance for specific workloads or business needs:

Number of CPU cores: You can customize the number of CPU cores for the instance. You might do this to potentially optimize the licensing costs of your software with an instance that has sufficient amounts of RAM for memory-intensive workloads but fewer CPU cores.

Threads per core: You can disable Intel Hyper-Threading Technology by specifying a single thread per CPU core. You might do this for certain workloads, such as high performance computing (HPC) workloads.

You can specify these CPU options during instance launch. There is no additional or reduced charge for specifying CPU options. You're charged the same as instances that are launched with default CPU options.