探索 Windows VM 的 Azure 混合权益

通过适用于 Windows Server 的 Azure 混合权益,你可以使用 Windows Server 许可证的本地核心许可证,以较低的成本在 Azure 上获取 Windows 虚拟机。 可以使用 Windows Server 的 Azure 混合权益部署 Windows OS 的新虚拟机。 本文介绍如何使用 Windows Server 的 Azure 混合权益部署新的 VM 的步骤,以及如何更新现有正在运行的 VM 的步骤。

要有资格获得适用于 Windows Server 的 Azure 混合权益,你需要有效软件保障或合格订阅许可证的合适计划提供的 Windows Server 本地核心许可证。 软件保障和合格的订阅许可证仅作为某些商业许可协议的一部分提供。 要详细了解商业许可,请参阅 Microsoft 许可资源。 要详细了解 Windows Server 核心许可证,请参阅 Windows Server 产品许可

每个 VM 至少需要 8 个核心许可证(Datacenter 或 Standard 版本)。 例如,如果运行 4 核实例,则仍然需要 8 个核心许可证。 还可以通过分配与实例核心大小相等的许可证来运行大于 8 个核心的实例。 例如,12 核实例需要 12 个核心许可证。 对于拥有处理器许可证的客户,每个处理器许可证相当于 16 个核心许可证。

重要

  • 使用 Azure 混合权益的工作负荷只能在软件保障或订阅许可证期限内运行。 当软件保障或订阅许可证期限即将到期时,必须续订与软件保障或订阅许可证的协议、禁用混合权益功能或取消预配那些使用 Azure 混合权益的工作负荷。

  • 计划的 Microsoft 产品条款优先于本条款。 有关详细信息,请参阅 Microsoft Azure 产品条款并选择计划以显示条款。

所有区域现在都支持将 Windows Server 的 Azure 混合权益用于运行 Windows Server OS 的任何 VM,其中包括具有其他软件(如 SQL Server 或第三方市场软件)的 VM。

经典 VM

对于经典 VM,仅支持从本地自定义映像部署新的 VM。 若要使用本文支持的功能,必须首先将经典 VM 迁移到资源管理器模型。

重要

通过经典部署模型创建的 VM 将于 2023 年 9 月 1 日停用。

如果从 Azure 服务管理中使用 IaaS 资源,请在 2023 年 9 月 1 日前完成迁移。 我们建议你尽快进行切换,以利用 Azure 资源管理器中的许多增强功能。

有关详细信息,请参阅在 2023 年 9 月 1 日之前将 IaaS 资源迁移到 Azure 资源管理器

使用 Windows Server 的 Azure 混合权益的方式

可以通过以下几种方式将 Windows 虚拟机与 Azure 混合权限配合使用:

  • 可以从其中一个提供的 Azure 市场上的 Windows Server 映像部署 VM
  • 用户可以上传自定义 VM,并使用资源管理器模板或 Azure PowerShell 进行部署
  • 你可以在运行 Azure 混合权益或按需支付 Windows Server 成本之间切换和转换现有 VM
  • 还可以在虚拟机规模集上应用 Windows Server 的 Azure 混合权益

使用 Windows Server 的 Azure 混合权益创建 VM

Windows Server 的 Azure 混合权益支持所有基于 Windows Server OS 的映像。 可以使用 Azure 平台支持映像或上传自己的自定义 Windows Server 映像。

门户

若要使用适 Windows Server 的 Azure 混合权益创建 VM,请在创建过程中滚动到“基本信息”选项卡的底部,在“许可”下选中此复选框以使用现有的 Windows Server 许可证 。

PowerShell

New-AzVm `
    -ResourceGroupName "myResourceGroup" `
    -Name "myVM" `
    -Location "China East" `
    -ImageName "Win2016Datacenter" `
    -LicenseType "Windows_Server"

CLI

az vm create \
    --resource-group myResourceGroup \
    --name myVM \
    --location chinaeast \
    --image Win2016Datacenter \
    --license-type Windows_Server

模板

在资源管理器模板中,必须指定附加参数 licenseType。 可以阅读有关创作 Azure Resource Manager 模板的详细信息。

"properties": {
    "licenseType": "Windows_Server",
    "hardwareProfile": {
        "vmSize": "[variables('vmSize')]"
    }
}    

将现有 VM 转换为使用 Windows Server 的 Azure 混合权益

如果你要转换现有 VM 以充分利用 Windows Server 的 Azure 混合权益,则可以按照以下说明更新 VM 的许可证类型。

注意

更改 VM 上的许可证类型不会导致系统重新启动,也不会导致服务中断。 它只是更新元数据标志。

门户

从门户 VM 边栏选项卡中,可以通过选择"配置"选项将 VM 更新为使用 Azure 混合权益,然后切换“Azure 混合权益”选项

PowerShell

  • 将现有 Windows Server VM 转换为 Windows Server 的 Azure 混合权益

    $vm = Get-AzVM -ResourceGroup "rg-name" -Name "vm-name"
    $vm.LicenseType = "Windows_Server"
    Update-AzVM -ResourceGroupName rg-name -VM $vm
    
  • 将具有权益的 Windows Server VM 转换回标准预付费套餐

    $vm = Get-AzVM -ResourceGroup "rg-name" -Name "vm-name"
    $vm.LicenseType = "None"
    Update-AzVM -ResourceGroupName rg-name -VM $vm
    

CLI

  • 将现有 Windows Server VM 转换为 Windows Server 的 Azure 混合权益

    az vm update --resource-group myResourceGroup --name myVM --set licenseType=Windows_Server
    

如何验证 VM 是否正在利用许可权益

通过 PowerShell、资源管理器模板或门户部署 VM 后,可使用以下方法验证设置。

门户

从门户 VM 边栏选项卡中,通过选择“操作系统”选项卡,可以查看适用于 Windows Server 的 Azure 混合权益的切换。

PowerShell

以下示例显示单个 VM 的许可证类型

Get-AzVM -ResourceGroup "myResourceGroup" -Name "myVM"

输出:

Type                     : Microsoft.Compute/virtualMachines
Location                 : chinanorth
LicenseType              : Windows_Server

此输出与下面未使用 Windows Server 的 Azure 混合权益许可部署的 VM 形成鲜明对比:

Type                     : Microsoft.Compute/virtualMachines
Location                 : chinanorth
LicenseType              :

CLI

az vm get-instance-view -g MyResourceGroup -n MyVM --query "[?licenseType=='Windows_Server']" -o table

注意

更改 VM 上的许可证类型不会导致系统重新启动,也不会导致服务中断。 它仅是元数据许可标志。

列出订阅中所有具有 Windows Server 的 Azure 混合权益的虚拟机规模集

若要查看和计算所有使用 Windows Server 的 Azure 混合权益部署的虚拟机和虚拟机规模集,可从订阅运行以下命令:

门户

从虚拟机或虚拟机规模集资源边栏选项卡中,可以通过将表列配置为包含“OS 许可权益”来查看所有 VM 和许可类型的列表。 VM 的状态可以是“适用于 Windows 的 Azure 混合权益”、“未启用”或“具有多租户托管的 Windows 客户端”

PowerShell

对于虚拟机:

Get-AzVM | ?{$_.LicenseType -like "Windows_Server"} | select ResourceGroupName, Name, LicenseType

对于虚拟机规模集:

Get-AzVmss | Select * -ExpandProperty VirtualMachineProfile | ? LicenseType -eq 'Windows_Server' | select ResourceGroupName, Name, LicenseType

CLI

对于虚拟机:

az vm list --query "[?licenseType=='Windows_Server']" -o table

对于虚拟机规模集:

az vmss list --query "[?virtualMachineProfile.licenseType=='Windows_Server']" -o table

使用 Windows Server 的 Azure 混合权益部署虚拟机规模集

在虚拟机规模集资源管理器模板内,必须在 VirtualMachineProfile 属性中指定额外参数 licenseType。 可以通过 ARM 模板、PowerShell、Azure CLI 或 REST,在为规模集创建或更新期间执行此操作。

以下示例将 ARM 模板用于 Windows Server 2016 Datacenter 映像:

"virtualMachineProfile": {
    "storageProfile": {
        "osDisk": {
            "createOption": "FromImage"
        },
        "imageReference": {
            "publisher": "MicrosoftWindowsServer",
            "offer": "WindowsServer",
            "sku": "2016-Datacenter",
            "version": "latest"
        }
    },
    "licenseType": "Windows_Server",
    "osProfile": {
            "computerNamePrefix": "[parameters('vmssName')]",
            "adminUsername": "[parameters('adminUsername')]",
            "adminPassword": "[parameters('adminPassword')]"
    }
}    

还可以详细了解如何修改虚拟机规模集,了解更多更新规模集的方法。

后续步骤