Azure 仮想マシンのネットワーク スループットの最適化
Azure Virtual Machines (VM) には既定のネットワーク設定があり、ネットワーク スループットについてさらに最適化できます。 この記事では、Microsoft Azure の Windows および Linux VM (Ubuntu、Red Hat などの主要ディストリビューションを含む) のネットワーク スループットを最適化する方法について説明します。
Windows Virtual Machines
Windows 仮想マシンで "高速ネットワーク" がサポートされている場合は、その機能を有効にして最適なスループットを実現します。 詳細については、高速ネットワークを使用した Windows VM の作成に関する記事を参照してください。
その他のすべての Windows VM では、Receive Side Scaling (RSS) を使用すると、RSS を使用しない VM より高い最大スループットを実現できます。 Windows VM では、RSS が既定で無効になっている場合があります。 RSS が有効かどうかを判断し、現在無効になっている場合は有効にするには、次の手順を実行します。
Get-NetAdapterRss PowerShell コマンドを使用して、ネットワーク アダプターに対して RSS が有効になっているかどうかを確認します。 次の
Get-NetAdapterRss
からの出力例では、RSS は有効になっていません。Name : Ethernet InterfaceDescription : Microsoft Hyper-V Network Adapter Enabled : False
RSS を有効にするには、次のコマンドを入力します。
Get-NetAdapter | % {Enable-NetAdapterRss -Name $_.Name}
このコマンドには出力がありません。 このコマンドにより、NIC 設定が変更されます。 これにより、一時的に接続が失われます (約 1 分間)。 接続が失われている間、"再接続中" を示すダイアログが表示されます。 通常、3 回目の試行後に接続が復元されます。
再度
Get-NetAdapterRss
コマンドを入力して、VM で RSS が有効になっていることを確認します。 成功した場合は、次のような出力が返されます。Name : Ethernet InterfaceDescription : Microsoft Hyper-V Network Adapter Enabled : True
Linux Virtual Machines
Azure Linux VM では、RSS は既定で常に有効になっています。 2017 年 10 月以降にリリースされた Linux カーネルには、Linux VM がより高いネットワーク スループットを実現できる新しいネットワーク最適化オプションが含まれています。
新規デプロイ用の Ubuntu
Ubuntu Azure カーネルは、Azure でのネットワーク パフォーマンスに対して非常に効果的に最適化されています。 現在、Canonical のすべての Ubuntu イメージには、最適化された Azure カーネルが既定でインストールされています。
次のコマンドを使用するだけで、バージョンの末尾の -azure で識別される Azure カーネルを使用していることを確認できます。
uname -r
#sample output on Azure kernel:
6.8.0-1017-azure
既存の VM 用の Ubuntu Azure カーネル アップグレード
Azure Linux カーネルにアップグレードすると、スループットのパフォーマンスが大幅に向上する可能性があります。 このカーネルがあるかどうかを確認するには、カーネルのバージョンを調べてください。 例と同じかそれより新しいものにしてください。
#Azure kernel name ends with "-azure"
uname -r
#sample output on Azure kernel:
#4.13.0-1007-azure
仮想マシンに Azure カーネルがない場合、通常、バージョン番号は "4.4" で始まります。VM に Azure カーネルがない場合は、root として次のコマンドを実行します。
#run as root or preface with sudo
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get dist-upgrade -y
sudo apt-get install "linux-azure"
sudo reboot
その他のディストリビューション
最近のディストリビューションの多くは 4.19+ より新しいカーネルを使用しており、大幅に改善されています。現在のカーネル バージョンをチェックして、新しいカーネルを実行していることを確認してください。
次のステップ
- 近接配置グループを使用して VM を互いに近い場所にデプロイし、待ち時間を短縮する。
- 自分のシナリオについて、最適化された結果を帯域幅/スループットのテストで確認する。
- 仮想マシンに帯域幅を割り当てる方法を確認する。
- Azure Virtual Network についてよく寄せられる質問を確認する。