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.
|Instance Types||Virtual Representations of Hardware Threads**|
* 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).
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.