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>
などのパラメーターの例を独自の値に置き換えることができます。
仮想ネットワークの作成
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) には、既定の規則がいくつか含まれています。そのうちの 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
New-AzNetworkSecurityGroup を使用して NSG を作成し、NSG に
Allow-RDP-All
ルールを割り当てます。$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
高速ネットワークを使ったネットワーク インターフェイスの作成
パブリック IP アドレスを作成するには、New-AzPublicIpAddress を使用します。 インターネットからアクセスしない場合、VM にパブリック IP アドレスは必要ありませんが、この記事の手順を完了するにはパブリック IP が必要です。
$publicIp = New-AzPublicIpAddress ` -ResourceGroupName "<myResourceGroup>" ` -Name "<myPublicIp>" ` -Location "<myAzureRegion>" ` -AllocationMethod Dynamic
New-AzNetworkInterface を使用して、高速ネットワークが有効なネットワーク インターフェース (NIC) を作成し、NIC にパブリック IP アドレスを割り当てます。
$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 を使用して、「Windows の高速ネットワーク」に記載されているように、高速ネットワークをサポートする VM サイズで VM を定義します。 すべての 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 portal で、仮想マシンを検索して選択します。
[仮想マシン] ページで、自分の新規 VM を選択します。
VM の [概要] ページで、[接続] を選択します。
[接続] 画面で、[ネイティブ RDP] を選択します。
[ネイティブ RDP] 画面で、[RDP ファイルのダウンロード] を選択します。
ダウンロードした RDP ファイルを開き、VM の作成時に入力した資格情報でサインインします。
リモート VM で、[スタート] を右クリックし、[デバイス マネージャー] を選択します。
[デバイス マネージャー] ウィンドウで、 [ネットワーク アダプター] ノードを展開します。
Mellanox ConnectX-4 Lx Virtual 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 で高速ネットワークを有効にする
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>"
Virtual Machine Scale Sets で高速ネットワークを有効にする
Azure Virtual Machine Scale Sets の場合は少し異なりますが、同じワークフローに従います。
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
Virtual Machine Scale Sets には、自動、ローリング、または手動設定を使用して更新プログラムを適用するアップグレード ポリシーがあります。 変更がすぐに選択されるように、アップグレード ポリシーを自動に設定します。
$vmss.UpgradePolicy.Mode = "Automatic" Update-AzVmss -ResourceGroupName "<myResourceGroup>" ` -VMScaleSetName "<myScaleSet>" ` -VirtualMachineScaleSet $vmss
スケール セットを再起動します。
Start-AzVmss -ResourceGroupName "<myResourceGroup>" -VMScaleSetName "<myScaleSet>"
再起動してアップグレードが完了すると、サポートされている OS と VM サイズを使用する VM 内に仮想関数 (VF) が表示されます。
高速ネットワークが有効な既存の VM のサイズを変更する
高速ネットワークが有効になっている VM のサイズは、高速ネットワークもサポートするサイズにのみ変更できます。 高速ネットワークが有効になっている VM のサイズを、高速ネットワークをサポートしていない VM インスタンスに、サイズ変更操作を使用して変更することはできません。 代わりに、次のプロセスを使用して、これらの VM のサイズを変更します。
- 可用性セットまたは Virtual Machine Scale Sets 内の VM またはすべての VM を停止して割り当てを解除します。
- 可用性セットまたは Virtual Machine Scale Sets 内の VM またはすべての VM の NIC で高速ネットワークを無効にします。
- 高速ネットワークをサポートしない新しいサイズに VM を移動し、再起動します。
ポータルを使用して高速ネットワークを管理する
Azure portal で VM を作成するときに、[仮想マシンの作成] 画面の [ネットワーク] タブで [高速ネットワークを有効にする] チェックボックスを選択することができます。 VM で高速ネットワークにサポートされているオペレーティング システムと VM サイズが使用されている場合は、チェックボックスが自動的に選択されます。 高速ネットワークがサポートされていない場合、チェックボックスは選択されず、その理由を説明するメッセージが表示されます。
Note
ポータル VM の作成中に高速ネットワークを有効にできるのは、Azure Marketplace でサポートされているオペレーティング システムに対してのみです。 カスタム OS イメージを使用して VM の高速ネットワークを作成して有効にするには、PowerShell または Azure CLI を使用する必要があります。
Azure portal を介して既存の VM の高速ネットワークを有効または無効にするには:
- VM の Azure portal ページ上で、左側のメニューから [ネットワーク] を選択します。
- [ネットワーク] ページで、[ネットワーク インターフェイス] を選択します。
- NIC の [概要] ページの上部にある [高速ネットワークの編集] を選択します。
- [自動]、[有効]、または [無効] を選択し、[保存] を選択します。
既存の VM に対して高速ネットワークが有効になっているかどうかを確認するには:
- VM の Azure portal ページ上で、左側のメニューから [ネットワーク] を選択します。
- [ネットワーク] ページで、[ネットワーク インターフェイス] を選択します。
- NIC の [概要] ページの [要点] で、[高速ネットワーク] が [有効] または [無効] に設定されているかどうかを確認します。