使用 Azure PowerShell 建立具有加速網路的 VM

本文說明如何使用 Azure PowerShell 建立已啟用加速網路功能的 Windows 虛擬機器 (VM)。 本文也會討論如何在現有 VM 上啟用和管理加速網路。

您也可以使用 Azure 入口網站建立已啟用加速網路的 VM。 若要深入瞭解如何使用 Azure 入口網站在 VM 上管理加速網路,請參閱透過入口網站管理加速網路

若要使用 Azure CLI 建立已啟用加速網路的 Linux 或 Windows VM,請參閱 使用 Azure CLI 建立具有加速網路功能的 VM

必要條件

  • 具有有效訂用帳戶的 Azure 帳戶。 您可以免費建立帳戶

  • 已安裝 Azure PowerShell 1.0.0 或更新版本。 若要尋找您目前安裝的版本,請執行 Get-Module -ListAvailable Az。 如果您需要安裝或升級,請從 PowerShell 資源庫 (英文) 安裝最新版的 Az 模組。

  • 在 PowerShell 中,使用 Connect-AzAccount 登入您的 Azure 帳戶。

建立使用加速網路的 VM

在下列範例中,您可將 <myResourceGroup><myNic><myVm> 等範例參數取代為自有值。

建立虛擬網路

  1. 使用 New-AzResourceGroup 建立資源群組以包含資源。

    New-AzResourceGroup -Name "<myResourceGroup>" -Location "<myAzureRegion>"
    
  2. 使用 New-AzVirtualNetworkSubnetConfig 建立子網路設定。

    $subnet = New-AzVirtualNetworkSubnetConfig `
      -Name "<mySubnet>" `
      -AddressPrefix "<192.168.1.0/24>"
    
  3. 使用 New-AzVirtualNetwork 建立具有子網路的虛擬網路。

    $vnet = New-AzVirtualNetwork -ResourceGroupName "<myResourceGroup>" `
      -Location "<myAzureRegion>" `
      -Name "<myVnet>" `
      -AddressPrefix "<192.168.0.0/16>" `
      -Subnet $Subnet
    

建立網路安全性群組

  1. 網路安全性群組 (NSG) 包含數個預設規則,其中一種會停用來自網際網路的所有輸入存取。 使用 New-AzNetworkSecurityRuleConfig 建立新的規則,讓您可以透過遠端桌面通訊協定 (RDP) 從遠端連線到 VM。

    $rdp = New-AzNetworkSecurityRuleConfig `
      -Name "Allow-RDP-All" `
      -Description "Allow RDP" `
      -Access Allow `
      -Protocol Tcp `
      -Direction Inbound `
      -Priority 100 `
      -SourceAddressPrefix * `
      -SourcePortRange * `
      -DestinationAddressPrefix * `
      -DestinationPortRange 3389
    
  2. 使用 New-AzNetworkSecurityGroup 建立 NSG,並將 Allow-RDP-All 規則指派給 NSG。

    $nsg = New-AzNetworkSecurityGroup `
      -ResourceGroupName "<myResourceGroup>" `
      -Location "<myAzureRegion>" `
      -Name "<myNsg>" `
      -SecurityRules $rdp
    
  3. 使用 Set-AzVirtualNetworkSubnetConfig 將 NSG 與子網路產生關聯。 NSG 規則對於子網路中部署的所有資源而言都是有效的。

    Set-AzVirtualNetworkSubnetConfig `
      -VirtualNetwork $vnet `
      -Name "<mySubnet>" `
      -AddressPrefix "<192.168.1.0/24>" `
      -NetworkSecurityGroup $nsg
    

使用加速網路建立網路介面

  1. 使用 New-AzPublicIpAddress 建立公用 IP 位址。 如果您未從網際網路存取 VM,則該 VM 就不需要公用 IP 位址,但您仍需要公用 IP 才能完成本文的步驟。

    $publicIp = New-AzPublicIpAddress `
      -ResourceGroupName "<myResourceGroup>" `
      -Name "<myPublicIp>" `
      -Location "<myAzureRegion>" `
      -AllocationMethod Dynamic
    
  2. 使用 New-AzNetworkInterface 建立已啟用加速網路的網路介面 (NIC),並將公用 IP 位址指派給 NIC。

    $nic = New-AzNetworkInterface `
      -ResourceGroupName "<myResourceGroup>" `
      -Name "<myNic>" `
      -Location "<myAzureRegion>" `
      -SubnetId $vnet.Subnets[0].Id `
      -PublicIpAddressId $publicIp.Id `
      -EnableAcceleratedNetworking
    

建立 VM 並連接網路介面

  1. 使用 Get-Credential 來設定 VM 的使用者名稱和密碼,並將其儲存在 $cred 變數中。

    $cred = Get-Credential
    
  2. 使用 New-AzVMConfig ,以支援加速網路的 VM 大小來定義 VM,如 Windows 加速網路中所述。 如需所有 Windows VM 大小和特性的清單,請參閱 Windows VM 大小

    $vmConfig = New-AzVMConfig -VMName "<myVm>" -VMSize "Standard_DS4_v2"
    
  3. 使用 Set-AzVMOperatingSystemSet-AzVMSourceImage 建立其餘的 VM 設定。 下列範例會建立 Windows Server 2019 Datacenter VM:

    $vmConfig = Set-AzVMOperatingSystem -VM $vmConfig `
      -Windows `
      -ComputerName "<myVM>" `
      -Credential $cred `
      -ProvisionVMAgent `
      -EnableAutoUpdate
    $vmConfig = Set-AzVMSourceImage -VM $vmConfig `
      -PublisherName "MicrosoftWindowsServer" `
      -Offer "WindowsServer" `
      -Skus "2019-Datacenter" `
      -Version "latest"
    
  4. 使用 Add-AzVMNetworkInterface ,將您先前建立的 NIC 連結至 VM。

    $vmConfig = Add-AzVMNetworkInterface -VM $vmConfig -Id $nic.Id
    
  5. 使用 New-AzVM 來建立已啟用加速網路的 VM。

    New-AzVM -VM $vmConfig -ResourceGroupName "<myResourceGroup>" -Location "<myAzureRegion>"
    

確認已安裝乙太網路控制器

一旦您在 Azure 中建立 VM,請與 VM 連線,然後確認乙太網路控制器已安裝在 Windows 中。

  1. Azure 入口網站中,搜尋並選取 [虛擬機器]

  2. 在 [虛擬機器] 頁面上選取您的新 VM。

  3. 在 VM 的 [概觀] 頁面上,選取 [連線]

  4. 在 [連線] 畫面上選取 [原生 RDP]

  5. 在 [原生 RDP] 畫面上選取 [下載 RDP 檔案]

  6. 開啟下載的 RDP 檔案,然後使用您在建立 VM 時輸入的認證進行登入。

  7. 在遠端 VM 上,以滑鼠右鍵按一下 [啟動],然後選取 [裝置管理員]

  8. 在 [裝置管理員] 視窗中,展開 [網路介面卡] 節點。

  9. 確認顯示 Mellanox ConnectX-4 Virtual Ethernet Adapter,如下圖所示︰

    Mellanox ConnectX-3 Virtual Function Ethernet Adapter, new network adapter for accelerated networking, Device Manager

    顯示介面卡即確認已為您的 VM 啟用加速網路。

注意

如果無法啟動 Mellanox 介面卡,請在遠端 VM 中開啟系統管理員命令提示,並輸入下列命令:

netsh int tcp set global rss = enabled

在現有的 VM 上管理加速網路

您可以在現有的 VM 上啟用加速網路功能。 VM 必須符合下列需求,才能支援加速網路:

  • 是加速網路支援的大小。
  • 是支援的 Azure Marketplace 映像。
  • 在您可以在任何 NIC 上啟用加速網路之前,請先停止或解除配置。 此需求適用於所有個別 VM,或是可用性設定組或 Azure 虛擬機器擴展集中的 VM。

在個別 VM 或可用性設定組中的 VM 上啟用加速網路

  1. 停止或解除配置 VM 或可用性設定組中的所有 VM:

    Stop-AzVM -ResourceGroup "<myResourceGroup>" -Name "<myVM>"
    

    如果您是在不使用可用性設定組的情況下個別建立 VM,必須停止或解除配置該個別 VM,才能啟用加速網路。 如果您使用可用性設定組建立 VM,則必須停止或解除配置集合中的所有 VM,因此 VM 最終會位於支援加速網路的叢集上。

    不需要停止或解除配置需求來停用加速網路。 支援加速網路的叢集也適用於不使用加速網路的 NIC。

  2. 在您 VM 的 NIC 上啟用加速網路:

    $nic = Get-AzNetworkInterface -ResourceGroupName "<myResourceGroup>" -Name "<myNic>"
    
    $nic.EnableAcceleratedNetworking = $true
    
    $nic | Set-AzNetworkInterface
    
  3. 重新啟動您的 VM,或是可用性設定組中的所有 VM,然後確認已啟用加速網路

    Start-AzVM -ResourceGroup "<myResourceGroup>" -Name "<myVM>"
    

在虛擬機器擴展集上啟用加速網路

Azure 虛擬機器擴展集稍有不同,但其會遵循相同的工作流程。

  1. 停止 VM:

    Stop-AzVmss -ResourceGroupName "<myResourceGroup>" -VMScaleSetName "<myScaleSet>"
    
  2. 更新 NIC 底下的加速網路屬性:

    $vmss = Get-AzVmss -ResourceGroupName "<myResourceGroup>" -VMScaleSetName "<myScaleSet>"
    
    $vmss.VirtualMachineProfile.NetworkProfile.NetworkInterfaceConfigurations[0].EnableAcceleratedNetworking = $true
    
    Update-AzVmss 
      -ResourceGroupName "<myResourceGroup>" `
      -VMScaleSetName "<myScaleSet>" `
      -VirtualMachineScaleSet $vmss
    
  3. 虛擬機器擴展集具有升級原則,可使用自動、滾動或手動設定來套用更新內容。 將升級原則設定為自動,以便立即挑選變更。

    $vmss.UpgradePolicy.Mode = "Automatic"
    
    Update-AzVmss 
      -ResourceGroupName "<myResourceGroup>" `
      -VMScaleSetName "<myScaleSet>" `
      -VirtualMachineScaleSet $vmss
    
  4. 重新啟動擴展集:

    Start-AzVmss -ResourceGroupName "<myResourceGroup>" -VMScaleSetName "<myScaleSet>"
    

重新啟動並升級完成後,虛擬函式 (VF) 會出現在使用支援的 OS 和 VM 大小的 VM 內。

調整可使用加速網路的現有 VM 大小

已啟用加速網路的 VM 只能調整為同時支援加速網路的大小。 針對具有加速網路的 VM 大小,您無法使用調整大小作業,將其調整為不支援加速網路的 VM 執行個體。 請改用下列流程來調整這些 VM 的大小:

  1. 停止或解除配置 VM,或是可用性設定組或虛擬機器擴展集的所有 VM。
  2. 針對 VM 或是可用性設定集或虛擬機器擴展集的所有 VM,在這些 VM 的 NIC 上停用加速網路。
  3. 將 VM 或多個 VM 移至不支援加速網路的新大小,然後重新啟動這些 VM。

透過入口網站管理加速網路

當您在 Azure 入口網站建立 VM 時,可在 [建立虛擬機器] 畫面的 [網路] 索引標籤上勾選 [啟用加速網路] 核取方塊。 如果 VM 使用支援的作業系統,並針對加速網路 VM 大小,則會自動選取核取方塊。 如果不支援加速網路,系統就不會勾選核取方塊,並會顯示訊息以說明原因。

注意

在建立入口網站 VM 期間,您只能為 Azure Marketplace 支援的作業系統啟用加速網路。 若要為具有自訂 OS 映像的 VM 建立和啟用加速網路,您必須使用 PowerShell 或 Azure CLI。

若要透過 Azure 入口網站啟用或停用現有 VM 的加速網路:

  1. 在 VM 的 Azure 入口網站頁面上,從左側功能表中選取 [網路]
  2. 在 [網路] 頁面中,選取 [網路介面]
  3. 在 NIC [概觀] 頁面頂端,選取 [編輯加速網路]
  4. 選取 [自動]、[已啟用] 或 [已停用],然後選取 [儲存]

若要確認是否已啟用現有 VM 的加速網路:

  1. 在 VM 的 Azure 入口網站頁面上,從左側功能表中選取 [網路]
  2. 在 [網路] 頁面中,選取 [網路介面]
  3. 在 NIC [概觀] 頁面上的 [基本資訊] 底下,請注意 [加速網路] 是否設定為 [啟用] 或 [停用]

下一步