你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

探索 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 的 Azure 混合权益许可”页

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

所有区域现在都支持将 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 混合权限配合使用:

  1. 可以从其中一个提供的 Azure 市场上的 Windows Server 映像部署 VM
  2. 用户可以上传自定义 VM,并使用资源管理器模板或 Azure PowerShell 进行部署
  3. 你可以在运行 Azure 混合权益或按需支付 Windows Server 成本之间切换和转换现有 VM
  4. 还可以在虚拟机规模集上应用 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 "East US" `
    -ImageName "Win2016Datacenter" `
    -LicenseType "Windows_Server"

CLI

az vm create \
    --resource-group myResourceGroup \
    --name myVM \
    --location eastus \
    --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                 : westus
LicenseType              : Windows_Server

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

Type                     : Microsoft.Compute/virtualMachines
Location                 : westus
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')]"
    }
}    

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

后续步骤