使用 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>
等範例參數取代為自有值。
建立虛擬網路
使用 New-AzResourceGroup 建立資源群組以包含資源。
New-AzResourceGroup -Name "<myResourceGroup>" -Location "<myAzureRegion>"
使用 New-AzVirtualNetworkSubnetConfig 建立子網路設定。
$subnet = New-AzVirtualNetworkSubnetConfig ` -Name "<mySubnet>" ` -AddressPrefix "<192.168.1.0/24>"
使用 New-AzVirtualNetwork 建立具有子網路的虛擬網路。
$vnet = New-AzVirtualNetwork -ResourceGroupName "<myResourceGroup>" ` -Location "<myAzureRegion>" ` -Name "<myVnet>" ` -AddressPrefix "<192.168.0.0/16>" ` -Subnet $Subnet
建立網路安全性群組
網路安全性群組 (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
使用 New-AzNetworkSecurityGroup 建立 NSG,並將
Allow-RDP-All
規則指派給 NSG。$nsg = New-AzNetworkSecurityGroup ` -ResourceGroupName "<myResourceGroup>" ` -Location "<myAzureRegion>" ` -Name "<myNsg>" ` -SecurityRules $rdp
使用 Set-AzVirtualNetworkSubnetConfig 將 NSG 與子網路產生關聯。 NSG 規則對於子網路中部署的所有資源而言都是有效的。
Set-AzVirtualNetworkSubnetConfig ` -VirtualNetwork $vnet ` -Name "<mySubnet>" ` -AddressPrefix "<192.168.1.0/24>" ` -NetworkSecurityGroup $nsg
使用加速網路建立網路介面
使用 New-AzPublicIpAddress 建立公用 IP 位址。 如果您未從網際網路存取 VM,則該 VM 就不需要公用 IP 位址,但您仍需要公用 IP 才能完成本文的步驟。
$publicIp = New-AzPublicIpAddress ` -ResourceGroupName "<myResourceGroup>" ` -Name "<myPublicIp>" ` -Location "<myAzureRegion>" ` -AllocationMethod Dynamic
使用 New-AzNetworkInterface 建立已啟用加速網路的網路介面 (NIC),並將公用 IP 位址指派給 NIC。
$nic = New-AzNetworkInterface ` -ResourceGroupName "<myResourceGroup>" ` -Name "<myNic>" ` -Location "<myAzureRegion>" ` -SubnetId $vnet.Subnets[0].Id ` -PublicIpAddressId $publicIp.Id ` -EnableAcceleratedNetworking
建立 VM 並連接網路介面
使用 Get-Credential 來設定 VM 的使用者名稱和密碼,並將其儲存在
$cred
變數中。$cred = Get-Credential
使用 New-AzVMConfig ,以支援加速網路的 VM 大小來定義 VM,如 Windows 加速網路中所述。 如需所有 Windows VM 大小和特性的清單,請參閱 Windows VM 大小。
$vmConfig = New-AzVMConfig -VMName "<myVm>" -VMSize "Standard_DS4_v2"
使用 Set-AzVMOperatingSystem 和 Set-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"
使用 Add-AzVMNetworkInterface ,將您先前建立的 NIC 連結至 VM。
$vmConfig = Add-AzVMNetworkInterface -VM $vmConfig -Id $nic.Id
使用 New-AzVM 來建立已啟用加速網路的 VM。
New-AzVM -VM $vmConfig -ResourceGroupName "<myResourceGroup>" -Location "<myAzureRegion>"
確認已安裝乙太網路控制器
一旦您在 Azure 中建立 VM,請與 VM 連線,然後確認乙太網路控制器已安裝在 Windows 中。
在 Azure 入口網站中,搜尋並選取 [虛擬機器]。
在 [虛擬機器] 頁面上選取您的新 VM。
在 VM 的 [概觀] 頁面上,選取 [連線]。
在 [連線] 畫面上選取 [原生 RDP]。
在 [原生 RDP] 畫面上選取 [下載 RDP 檔案]。
開啟下載的 RDP 檔案,然後使用您在建立 VM 時輸入的認證進行登入。
在遠端 VM 上,以滑鼠右鍵按一下 [啟動],然後選取 [裝置管理員] 。
在 [裝置管理員] 視窗中,展開 [網路介面卡] 節點。
確認顯示 Mellanox ConnectX-4 Virtual Ethernet Adapter,如下圖所示︰
顯示介面卡即確認已為您的 VM 啟用加速網路。
注意
如果無法啟動 Mellanox 介面卡,請在遠端 VM 中開啟系統管理員命令提示,並輸入下列命令:
netsh int tcp set global rss = enabled
在現有的 VM 上管理加速網路
您可以在現有的 VM 上啟用加速網路功能。 VM 必須符合下列需求,才能支援加速網路:
- 是加速網路支援的大小。
- 是支援的 Azure Marketplace 映像。
- 在您可以在任何 NIC 上啟用加速網路之前,請先停止或解除配置。 此需求適用於所有個別 VM,或是可用性設定組或 Azure 虛擬機器擴展集中的 VM。
在個別 VM 或可用性設定組中的 VM 上啟用加速網路
停止或解除配置 VM 或可用性設定組中的所有 VM:
Stop-AzVM -ResourceGroup "<myResourceGroup>" -Name "<myVM>"
如果您是在不使用可用性設定組的情況下個別建立 VM,必須停止或解除配置該個別 VM,才能啟用加速網路。 如果您使用可用性設定組建立 VM,則必須停止或解除配置集合中的所有 VM,因此 VM 最終會位於支援加速網路的叢集上。
不需要停止或解除配置需求來停用加速網路。 支援加速網路的叢集也適用於不使用加速網路的 NIC。
在您 VM 的 NIC 上啟用加速網路:
$nic = Get-AzNetworkInterface -ResourceGroupName "<myResourceGroup>" -Name "<myNic>" $nic.EnableAcceleratedNetworking = $true $nic | Set-AzNetworkInterface
重新啟動您的 VM,或是可用性設定組中的所有 VM,然後確認已啟用加速網路。
Start-AzVM -ResourceGroup "<myResourceGroup>" -Name "<myVM>"
在虛擬機器擴展集上啟用加速網路
Azure 虛擬機器擴展集稍有不同,但其會遵循相同的工作流程。
停止 VM:
Stop-AzVmss -ResourceGroupName "<myResourceGroup>" -VMScaleSetName "<myScaleSet>"
更新 NIC 底下的加速網路屬性:
$vmss = Get-AzVmss -ResourceGroupName "<myResourceGroup>" -VMScaleSetName "<myScaleSet>" $vmss.VirtualMachineProfile.NetworkProfile.NetworkInterfaceConfigurations[0].EnableAcceleratedNetworking = $true Update-AzVmss -ResourceGroupName "<myResourceGroup>" ` -VMScaleSetName "<myScaleSet>" ` -VirtualMachineScaleSet $vmss
虛擬機器擴展集具有升級原則,可使用自動、滾動或手動設定來套用更新內容。 將升級原則設定為自動,以便立即挑選變更。
$vmss.UpgradePolicy.Mode = "Automatic" Update-AzVmss -ResourceGroupName "<myResourceGroup>" ` -VMScaleSetName "<myScaleSet>" ` -VirtualMachineScaleSet $vmss
重新啟動擴展集:
Start-AzVmss -ResourceGroupName "<myResourceGroup>" -VMScaleSetName "<myScaleSet>"
重新啟動並升級完成後,虛擬函式 (VF) 會出現在使用支援的 OS 和 VM 大小的 VM 內。
調整可使用加速網路的現有 VM 大小
已啟用加速網路的 VM 只能調整為同時支援加速網路的大小。 針對具有加速網路的 VM 大小,您無法使用調整大小作業,將其調整為不支援加速網路的 VM 執行個體。 請改用下列流程來調整這些 VM 的大小:
- 停止或解除配置 VM,或是可用性設定組或虛擬機器擴展集的所有 VM。
- 針對 VM 或是可用性設定集或虛擬機器擴展集的所有 VM,在這些 VM 的 NIC 上停用加速網路。
- 將 VM 或多個 VM 移至不支援加速網路的新大小,然後重新啟動這些 VM。
透過入口網站管理加速網路
當您在 Azure 入口網站建立 VM 時,可在 [建立虛擬機器] 畫面的 [網路] 索引標籤上勾選 [啟用加速網路] 核取方塊。 如果 VM 使用支援的作業系統,並針對加速網路 VM 大小,則會自動選取核取方塊。 如果不支援加速網路,系統就不會勾選核取方塊,並會顯示訊息以說明原因。
注意
在建立入口網站 VM 期間,您只能為 Azure Marketplace 支援的作業系統啟用加速網路。 若要為具有自訂 OS 映像的 VM 建立和啟用加速網路,您必須使用 PowerShell 或 Azure CLI。
若要透過 Azure 入口網站啟用或停用現有 VM 的加速網路:
- 在 VM 的 Azure 入口網站頁面上,從左側功能表中選取 [網路]。
- 在 [網路] 頁面中,選取 [網路介面]。
- 在 NIC [概觀] 頁面頂端,選取 [編輯加速網路]。
- 選取 [自動]、[已啟用] 或 [已停用],然後選取 [儲存]。
若要確認是否已啟用現有 VM 的加速網路:
- 在 VM 的 Azure 入口網站頁面上,從左側功能表中選取 [網路]。
- 在 [網路] 頁面中,選取 [網路介面]。
- 在 NIC [概觀] 頁面上的 [基本資訊] 底下,請注意 [加速網路] 是否設定為 [啟用] 或 [停用]。