次の方法で共有


仮想マシンのネットワーク帯域幅

Azure には、さまざまな仮想マシンのサイズと種類が用意されており、それぞれに異なるパフォーマンス機能の組み合わせがあります。 機能の 1 つがネットワーク スループット (帯域幅) で、メガビット/秒 (Mbps) で測定されます。 仮想マシンは共有ハードウェアでホストされているため、同じハードウェアを共有する仮想マシン間でネットワーク容量が公平に分配される必要があります。 大きな仮想マシンには、小さい仮想マシンよりも相対的に多くの帯域幅が割り当てられます。

各仮想マシンに割り当てられたネットワーク帯域幅は、仮想マシンからのエグレス (送信) トラフィックで測定されます。 仮想マシンから送信されるすべてのネットワーク トラフィックは、送信先に関係なく、割り当てられた制限に達するまでカウントされます。 たとえば、ある仮想マシンの制限が 1,000 Mbps である場合、送信トラフィックの送信先が同じ仮想ネットワーク内の仮想マシンであっても Azure 外部であっても、この制限が適用されます。

イングレスは直接的に測定されることも制限されることもありません。 ただし、仮想マシンで受信データを処理する能力に影響する可能性がある、CPU や記憶域の制限などの他の要因もあります。

高速ネットワークは、ネットワーク パフォーマンス (待ち時間、スループット、CPU 使用率など) の向上を目的として設計された機能です。 高速ネットワークは仮想マシンのスループットを向上させますが、向上できるのは仮想マシンに割り当てられた帯域幅までです。 高速ネットワークの詳細については、Windows または Linux 仮想マシンの高速ネットワークに関する記事を参照してください。

Azure 仮想マシンには 1 つ必要ですが、複数のネットワーク インターフェイスがアタッチされている場合があります。 仮想マシンに割り当てられる帯域幅は、仮想マシンに接続されているすべてのネットワーク インターフェイス全体の送信トラフィックの合計です。 つまり、帯域幅は仮想マシンごとに割り当てられており、仮想マシンに接続されているネットワーク インターフェイスの数は関係ありません。 さまざまな Azure VM サイズがサポートするネットワーク インターフェイスの数については、WindowsLinux の Azure VM サイズに関するページを参照してください。

想定されるネットワーク スループット

VM の各サイズで想定される送信スループットとサポートされるネットワーク インターフェイスの数については、WindowsLinux の Azure VM サイズに関するページを参照してください。 型 (汎用など) を選択し、その結果として表示されるページでサイズとシリーズ (Dv2 シリーズなど) を選択します。 各シリーズの表の最後の列にはネットワーク仕様が示されており、そのタイトルは

最大 NIC 数/想定ネットワーク パフォーマンス (Mbps) です。

このスループット制限が仮想マシンに適用されます。 スループットは、次の要因には影響されません。

  • ネットワーク インターフェイスの数: 帯域幅の制限は、仮想マシンからのすべての送信トラフィックの累積です。

  • 高速ネットワーク: この機能は公開されている制限までの達成には役立ちますが、制限を変更することはありません。

  • トラフィックの送信先: すべての送信先が、送信制限に達するまでカウントされます。

  • プロトコル: すべてのプロトコルに対するすべての送信トラフィックが、制限に達するまでカウントされます。

ネットワーク フローの制限

仮想マシン上のネットワーク接続の数は、常にそのネットワーク パフォーマンスに影響を与える可能性があります。 Azure ネットワーク スタックでは、 フロー と呼ばれるデータ構造を使用して、TCP/UDP 接続の各方向を追跡します。 一般的な TCP/UDP 接続では、受信トラフィック用と送信トラフィック用の 2 つのフローが作成されます。 プロトコル、ローカル IP アドレス、リモート IP アドレス、ローカル ポート、およびリモート ポートで構成される 5 タプルは、各フローを識別します。

エンドポイント間のデータ転送では、データ転送を実行するフローに加えていくつかのフローを作成する必要があります。 その例として、DNS 解決のために作成されるフローや、ロード バランサーの正常性プローブのために作成されるフローがあります。 ゲートウェイ、プロキシ、ファイアウォールなどのネットワーク仮想アプライアンス (NVA) では、アプライアンスが終点の接続およびアプライアンスが始点の接続に対して作成されたフローが表示されます。

転送アプライアンスを経由した TCP 通信のフロー数のスクリーンショット。

フローの制限とアクティブ接続に関する推奨事項

現在、Azure のネットワーク スタックでは、1 つの VM について合計 100 万個のフロー (50 万個の受信と 50 万個の送信) がサポートされています。 さまざまなシナリオで VM によって処理されるアクティブ接続の合計数は以下のとおりです。

  • 仮想ネットワークに属している VM では、すべての VM サイズについて 50 万個の "アクティブ接続" を処理できます。"各方向のアクティブ フロー数" は 50 万個です。

  • ゲートウェイ、プロキシ、ファイアウォールなどの NVA を持つ VM は、前の図に示すように、新しい接続セットアップで転送され、さらに新しいフローが作成されるため、各方向に 500k のアクティブ フローを持つ 250k のアクティブ接続を処理できます。

この制限に達すると、その他の接続は切断されます。 接続の確立と終了はパケット処理ルーチンと CPU を共有するため、接続の確立と終了の頻度もネットワーク パフォーマンスに影響を与える場合があります。 予測されるトラフィック パターンに対してワークロードをベンチマークし、パフォーマンスのニーズを満たすようにワークロードを適切にスケールアウトすることをお勧めします。

Azure Monitor では、VM または Virtual Machine Scale Sets インスタンス上のネットワーク フロー数やフロー作成頻度を追跡するためのメトリックを使用できます。 さまざまな理由により、VM ゲスト OS によって追跡されるフローの数が Azure ネットワーク スタックによって追跡されるフローの数と異なる可能性があります。 ネットワーク接続が切断されないようにするには、受信フローと送信フローのメトリクスを使用します。

折れ線グラフと、受信フローと送信フローの合計が表示されている Azure Monitor の [メトリック] ページを示すスクリーンショット。

次のステップ