仮想マシンのネットワーク帯域幅Virtual machine network bandwidth

Azure の VM には多様なサイズと種類があり、パフォーマンス機能の組み合わせもそれぞれ異なっています。Azure offers a variety of VM sizes and types, each with a different mix of performance capabilities. 機能の 1 つがネットワーク スループット (帯域幅) で、メガビット/秒 (Mbps) で測定されます。One capability is network throughput (or bandwidth), measured in megabits per second (Mbps). 仮想マシンは共有ハードウェアでホストされているため、同じハードウェアを共有する仮想マシン間でネットワーク容量が公平に分配される必要があります。Because virtual machines are hosted on shared hardware, the network capacity must be shared fairly among the virtual machines sharing the same hardware. 大きな仮想マシンには、小さい仮想マシンよりも相対的に多くの帯域幅が割り当てられます。Larger virtual machines are allocated relatively more bandwidth than smaller virtual machines.

各仮想マシンに割り当てられたネットワーク帯域幅は、仮想マシンからのエグレス (送信) トラフィックで測定されます。The network bandwidth allocated to each virtual machine is metered on egress (outbound) traffic from the virtual machine. 仮想マシンから送信されるすべてのネットワーク トラフィックは、送信先に関係なく、割り当てられた制限に達するまでカウントされます。All network traffic leaving the virtual machine is counted toward the allocated limit, regardless of destination. たとえば、ある仮想マシンの制限が 1,000 Mbps である場合、送信トラフィックの送信先が同じ仮想ネットワーク内の仮想マシンであっても Azure 外部であっても、この制限が適用されます。For example, if a virtual machine has a 1,000 Mbps limit, that limit applies whether the outbound traffic is destined for another virtual machine in the same virtual network, or outside of Azure.

受信は、直接的には測定も制限もされません。Ingress is not metered or limited directly. ただし、CPU やストレージの制限などの他の要素があり、仮想マシンの受信データ処理機能に影響する可能性はあります。However, there are other factors, such as CPU and storage limits, which can impact a virtual machine’s ability to process incoming data.

高速ネットワークは、ネットワーク パフォーマンス (待ち時間、スループット、CPU 使用率など) の向上を目的として設計された機能です。Accelerated networking is a feature designed to improve network performance, including latency, throughput, and CPU utilization. 高速ネットワークは仮想マシンのスループットを向上させますが、向上できるのは仮想マシンに割り当てられた帯域幅までです。While accelerated networking can improve a virtual machine’s throughput, it can do so only up to the virtual machine’s allocated bandwidth. 高速ネットワークの詳細については、Windows または Linux 仮想マシンの高速ネットワークに関する記事を参照してください。To learn more about Accelerated networking, see Accelerated networking for Windows or Linux virtual machines.

Azure の仮想マシンには、少なくとも 1 つ (複数可) のネットワーク インターフェイスが接続されている必要があります。Azure virtual machines must have one, but may have several, network interfaces attached to them. 仮想マシンに割り当てられる帯域幅は、仮想マシンに接続されているすべてのネットワーク インターフェイス全体の送信トラフィックの合計です。Bandwidth allocated to a virtual machine is the sum of all outbound traffic across all network interfaces attached to a virtual machine. つまり、帯域幅は仮想マシンごとに割り当てられており、仮想マシンに接続されているネットワーク インターフェイスの数は関係ありません。In other words, the allocated bandwidth is per virtual machine, regardless of how many network interfaces are attached to the virtual machine. さまざまな Azure VM サイズがサポートするネットワーク インターフェイスの数については、WindowsLinux の Azure VM サイズに関するページを参照してください。To learn how many network interfaces different Azure VM sizes support, see Azure Windows and Linux VM sizes.

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

VM の各サイズで想定される送信スループットとサポートされるネットワーク インターフェイスの数については、WindowsLinux の Azure VM サイズに関するページを参照してください。Expected outbound throughput and the number of network interfaces supported by each VM size is detailed in Azure Windows and Linux VM sizes. 型 (汎用など) を選択し、結果として表示されるページでサイズ シリーズ (Dv2 シリーズなど) を選択します。Select a type, such as General purpose, then select a size-series on the resulting page, such as the Dv2-series. 各シリーズの表の最後に、最大 NIC 数/想定ネットワーク パフォーマンス (Mbps) というネットワーク仕様の列があります。Each series has a table with networking specifications in the last column titled, Max NICs / Expected network performance (Mbps).

このスループット制限が仮想マシンに適用されます。The throughput limit applies to the virtual machine. スループットは、次の要因には影響されません。Throughput is unaffected by the following factors:

  • ネットワーク インターフェイスの数:帯域幅の制限は、仮想マシンからのすべての送信トラフィックの累積です。Number of network interfaces: The bandwidth limit is cumulative of all outbound traffic from the virtual machine.
  • 高速ネットワーク:この機能は公開された制限まで達成するためには役立ちますが、制限自体は変更されません。Accelerated networking: Though the feature can be helpful in achieving the published limit, it does not change the limit.
  • トラフィックの送信先:すべての送信先が、送信制限に達するまでカウントされます。Traffic destination: All destinations count toward the outbound limit.
  • プロトコル:すべてのプロトコルに対するすべての送信トラフィックが、制限に達するまでカウントされます。Protocol: All outbound traffic over all protocols counts towards the limit.

ネットワーク フローの制限Network Flow Limits

帯域幅に加えて、特定の時点で VM 上に存在するネットワーク接続の数がそのネットワーク パフォーマンスに影響を与える場合があります。In addition to bandwidth, the number of network connections present on a VM at any given time can affect its network performance. Azure のネットワーク スタックは、TCP/UDP 接続の各方向の状態を 'フロー' と呼ばれるデータ構造の中に保持します。The Azure networking stack maintains state for each direction of a TCP/UDP connection in data structures called ‘flows’. 標準的な TCP/UDP 接続では、受信方向に 1 つ、送信方向にもう 1 つの 2 つのフローが作成されます。A typical TCP/UDP connection will have 2 flows created, one for the inbound and another for the outbound direction.

エンドポイント間のデータ転送では、データ転送を実行するフローに加えていくつかのフローを作成する必要があります。Data transfer between endpoints requires creation of several flows in addition to those that perform the data transfer. その例として、DNS 解決のために作成されるフローや、ロード バランサーの正常性プローブのために作成されるフローがあります。Some examples are flows created for DNS resolution and flows created for load balancer health probes. また、ゲートウェイ、プロキシ、ファイアウォールなどのネットワーク仮想アプライアンス (NVA) では、アプライアンスで終了した接続やアプライアンスで開始された接続のためにもフローが作成されることに注意してください。Also note that network virtual appliances (NVAs) such as gateways, proxies, firewalls, will see flows being created for connections terminated at the appliance and originated by the appliance.

転送アプライアンスを経由した TCP 通信のためのフローの数

フローの制限と推奨事項Flow Limits and Recommendations

現在、Azure のネットワーク スタックは、CPU コアが 8 個を超える VM での良好なパフォーマンスには 250K 個の合計ネットワーク フロー、および CPU コアが 8 個未満の VM での良好なパフォーマンスには 100K 個の合計フローをサポートしています。Today, the Azure networking stack supports 250K total network flows with good performance for VMs with greater than 8 CPU cores and 100k total flows with good performance for VMs with fewer than 8 CPU cores. この制限を超えると、ネットワーク パフォーマンスは、ハード制限である 1M 個の合計フロー (500K 個の受信と 500K 個の送信) まで追加フローに対して適切に低下し、それ以降は追加フローが破棄されます。Past this limit network performance degrades gracefully for additional flows up to a hard limit of 1M total flows, 500K inbound and 500K outbound, after which additional flows are dropped.

CPU コアが 8 個未満の VMVMs with <8 CPU Cores CPU コアが 8 個を超える VMVMs with 8+ CPU Cores
良好なパフォーマンスGood Performance 100K 個のフロー100K Flows 250K 個のフロー250K Flows
パフォーマンスの低下Degraded Performance 100K 個を超えるフローAbove 100k Flows 250K 個を超えるフローAbove 250K Flows
フローの制限Flow Limit 1M 個のフロー1M Flows 1M 個のフロー1M Flows

Azure Monitor では、ネットワーク フローの数や、VM または VMSS インスタンスでのフロー作成の頻度を追跡するためのメトリックを使用できます。Metrics are available in Azure Monitor to track the number of network flows and the flow creation rate on your VM or VMSS instances.

azure-monitor-flow-metrics.png

接続の確立と終了はパケット処理ルーチンと CPU を共有するため、接続の確立と終了の頻度もネットワーク パフォーマンスに影響を与える場合があります。Connection establishment and termination rates can also affect network performance as connection establishment and termination shares CPU with packet processing routines. 予測されるトラフィック パターンに対してワークロードをベンチマークし、パフォーマンスのニーズを満たすようにワークロードを適切にスケールアウトすることをお勧めします。We recommend that you benchmark workloads against expected traffic patterns and scale out workloads appropriately to match your performance needs.

次の手順Next steps