Azure PowerShell を使用して、高速ネットワークを設定した VM を作成する

この記事では、Azure PowerShell を使用して高速ネットワーク (AccelNet) が有効になっている Windows 仮想マシン (VM) を作成する方法について説明します。 この記事では、既存の VM で高速ネットワークを有効にして管理する方法についても説明します。

VM は、Azure portal で高速ネットワークが有効になっている VM を作成することもできます。 Azure portal を使用して VM 上の高速ネットワークを管理する方法の詳細については、「ポータルを使用した高速ネットワークの管理」を参照してください。

Azure CLI を使用して高速ネットワークを有効にして Windows VM を作成するには、「Azure CLI を使用して高速ネットワークを使った Linux 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) には、既定の規則がいくつか含まれています。そのうちの 1 つは、インターネットからのすべての着信アクセスを無効にします。 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 を作成し、NSG に Allow-RDP-All ルールを割り当てます。

    $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. パブリック IP アドレスを作成するには、New-AzPublicIpAddress を使用します。 インターネットからアクセスしない場合、VM にパブリック IP アドレスは必要ありませんが、この記事の手順を完了するにはパブリック IP が必要です。

    $publicIp = New-AzPublicIpAddress `
      -ResourceGroupName "<myResourceGroup>" `
      -Name "<myPublicIp>" `
      -Location "<myAzureRegion>" `
      -AllocationMethod Dynamic
    
  2. New-AzNetworkInterface を使用して、高速ネットワークが有効なネットワーク インターフェース (NIC) を作成し、NIC にパブリック IP アドレスを割り当てます。

    $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 を使用して、「Windows の高速ネットワーク」に記載されているように、高速ネットワークをサポートする VM サイズで VM を定義します。 すべての 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 portal で、仮想マシンを検索して選択します。

  2. [仮想マシン] ページで、自分の新規 VM を選択します。

  3. VM の [概要] ページで、[接続] を選択します。

  4. [接続] 画面で、[ネイティブ RDP] を選択します。

  5. [ネイティブ RDP] 画面で、[RDP ファイルのダウンロード] を選択します。

  6. ダウンロードした RDP ファイルを開き、VM の作成時に入力した資格情報でサインインします。

  7. リモート VM で、[スタート] を右クリックし、[デバイス マネージャー] を選択します。

  8. [デバイス マネージャー] ウィンドウで、 [ネットワーク アダプター] ノードを展開します。

  9. Mellanox ConnectX-4 Lx Virtual Ethernet Adapter が表示されていることを確認します (下図参照)。

    Mellanox ConnectX-3 Virtual Function Ethernet Adapter、高速ネットワーク用の新しいネットワーク アダプター、デバイス マネージャー

    アダプターが存在することで、VM に対して高速ネットワークが有効になっていることを確認できます。

Note

Mellanox アダプターの起動が失敗する場合は、リモート VM で管理者コマンド プロンプトを開き、次のコマンドを入力します。

netsh int tcp set global rss = enabled

既存の VM で高速ネットワークを管理する

既存の VM で高速ネットワークを有効にすることができます。 高速ネットワークをサポートするには、VM が次の要件を満たしている必要があります。

  • 高速ネットワークに対してサポートされるサイズである。
  • サポートされている Azure Marketplace イメージである。
  • 任意の NIC で高速ネットワークを有効にする前に、停止するか割り当てを解除します。 この要件は、可用性セットまたは Azure Virtual Machine Scale Sets 内のすべての個々の VM または 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>"
    

Virtual Machine Scale Sets で高速ネットワークを有効にする

Azure Virtual Machine Scale Sets の場合は少し異なりますが、同じワークフローに従います。

  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. Virtual Machine Scale Sets には、自動、ローリング、または手動設定を使用して更新プログラムを適用するアップグレード ポリシーがあります。 変更がすぐに選択されるように、アップグレード ポリシーを自動に設定します。

    $vmss.UpgradePolicy.Mode = "Automatic"
    
    Update-AzVmss 
      -ResourceGroupName "<myResourceGroup>" `
      -VMScaleSetName "<myScaleSet>" `
      -VirtualMachineScaleSet $vmss
    
  4. スケール セットを再起動します。

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

再起動してアップグレードが完了すると、サポートされている OS と VM サイズを使用する VM 内に仮想関数 (VF) が表示されます。

高速ネットワークが有効な既存の VM のサイズを変更する

高速ネットワークが有効になっている VM のサイズは、高速ネットワークもサポートするサイズにのみ変更できます。 高速ネットワークが有効になっている VM のサイズを、高速ネットワークをサポートしていない VM インスタンスに、サイズ変更操作を使用して変更することはできません。 代わりに、次のプロセスを使用して、これらの VM のサイズを変更します。

  1. 可用性セットまたは Virtual Machine Scale Sets 内の VM またはすべての VM を停止して割り当てを解除します。
  2. 可用性セットまたは Virtual Machine Scale Sets 内の VM またはすべての VM の NIC で高速ネットワークを無効にします。
  3. 高速ネットワークをサポートしない新しいサイズに VM を移動し、再起動します。

ポータルを使用して高速ネットワークを管理する

Azure portal で VM を作成するときに、[仮想マシンの作成] 画面の [ネットワーク] タブで [高速ネットワークを有効にする] チェックボックスを選択することができます。 VM で高速ネットワークにサポートされているオペレーティング システムVM サイズが使用されている場合は、チェックボックスが自動的に選択されます。 高速ネットワークがサポートされていない場合、チェックボックスは選択されず、その理由を説明するメッセージが表示されます。

Note

ポータル VM の作成中に高速ネットワークを有効にできるのは、Azure Marketplace でサポートされているオペレーティング システムに対してのみです。 カスタム OS イメージを使用して VM の高速ネットワークを作成して有効にするには、PowerShell または Azure CLI を使用する必要があります。

Azure portal を介して既存の VM の高速ネットワークを有効または無効にするには:

  1. VM の Azure portal ページ上で、左側のメニューから [ネットワーク] を選択します。
  2. [ネットワーク] ページで、[ネットワーク インターフェイス] を選択します。
  3. NIC の [概要] ページの上部にある [高速ネットワークの編集] を選択します。
  4. [自動][有効]、または [無効] を選択し、[保存] を選択します。

既存の VM に対して高速ネットワークが有効になっているかどうかを確認するには:

  1. VM の Azure portal ページ上で、左側のメニューから [ネットワーク] を選択します。
  2. [ネットワーク] ページで、[ネットワーク インターフェイス] を選択します。
  3. NIC の [概要] ページの [要点] で、[高速ネットワーク][有効] または [無効] に設定されているかどうかを確認します。

次のステップ