メニュー
Amazon Elastic Compute Cloud
Windows インスタンス用ユーザーガイド

EC2 インスタンスの最大ネットワーク送信単位 (MTU)

ネットワーク接続の最大送信単位 (MTU) とは、接続を介して渡すことができる最大許容パケットサイズ (バイト単位) です。接続の MTU が大きいほど、より多くのデータを単一のパケットで渡すことができます。イーサネットパケットは、フレーム (送信している実際のデータ) とそれを囲むネットワークオーバーヘッド情報で構成されています。

イーサネットフレームの形式はさまざまで、最も一般的な形式は、標準イーサネット v2 フレーム形式です。これはインターネットのほとんどでサポートされている最大のイーサネットパケットサイズである 1500 MTU をサポートします。インスタンスでサポートされている最大 MTU は、インスタンスタイプによって異なります。すべての Amazon EC2 インスタンスタイプで 1500 MTU がサポートされており、現在の多くのインスタンスサイズで 9001 MTU またはジャンボフレームがサポートされています。

ジャンボフレーム (9001 MTU)

ジャンボフレームでは、パケットあたりのペイロードサイズを拡張し、パケットオーバーヘッド以外のパケットの割合を高めることによって、1500 バイトを超えるデータを送信できます。同じ量の使用可能なデータを少ないパケットで送信することができます。ただし、特定の AWS リージョン (EC2-Classic)、1 つの VPC、または VPC ピア接続の外側では、最大パスが 1500 MTU になることがあります。VPN 接続およびインターネットゲートウェイを介して送信されるトラフィックは 1500 MTU に制限されます。パケットが 1500 バイト以上ある場合は、フラグメント化されます。または、Don't Fragment フラグが IP ヘッダーに設定されている場合は削除されます。

ジャンボフレームを、インターネットバウンドトラフィックや VPC を出るトラフィックに使用する場合には慎重に行ってください。パケットは中間システムによってフラグメント化されるため、このトラフィックの速度が低下します。VPC 外に向かうトラフィックの速度を低下させずに VPC 内のジャンボ フレームを使用するには、ルートごとに MTU サイズを設定するか、または MTU サイズやルートの異なる複数の Elastic ネットワークインターフェイスを使用します。

クラスタープレイスメントグループ内にコロケーションされたインスタンスでは、考えられる最大のネットワークスループットの実現するうえでジャンボフレームが役立ちます。この場合は、ジャンボフレームを使用することが推奨されています。詳細については、「プレイスメントグループ」を参照してください。

次のインスタンスは、ジャンボフレームをサポートしています。

  • 汎用: M3、M4、M5、T2

  • コンピューティングの最適化: C3、C4、C5、CC2

  • 高速コンピューティング: F1、G2、G3、P2、P3

  • メモリの最適化: CR1、R3、R4、X1

  • ストレージを最適化: D2、H1、HS1、I2、I3

パス MTU 検出

2 つのデバイス間のパス MTU を判断するために、パス MTU 検出が使用されます。パス MTU は、送信側ホストと受信側ホスト間のパスでサポートされている最大のパケットサイズです。ホストが受信側ホストの MTU よりも大きなパケット、またはデバイスの MTU よりも大きなパケットをパスに沿って送信する場合、受信側ホストまたはデバイスは ICMP メッセージ Destination Unreachable: Fragmentation Needed and Don't Fragment was Set (タイプ 3、コード 4) を返します。これによって、パケットが送信できるようになるまで MTU を調整するように元のホストに指示されます。

デフォルトでは、セキュリティグループはインバウンド ICMP トラフィックを許可しません。インスタンスがこのメッセージを受信でき、パケットが削除されないようにするには、[Destination Unreachable] プロトコルをインスタンスのインバウンドセキュリティグループルールに設定したカスタム ICMP ルールを追加する必要があります。詳細については、「パス MTU 検出」を参照してください。

重要

インスタンスのセキュリティグループを変更してパス MTU 検出を有効にした場合、一部のルーターによってジャンボフレームが無視されることがあります。VPC のインターネットゲートウェイによって、最大 1500 バイトのパケットだけが転送されます。インターネットトラフィックには、1500 MTU パケットが推奨されています。

2 つホスト間のパス MTU の確認

mturoute.exe コマンドを使用して 2 つのホスト間のパス MTU を確認することができます。

mturoute.exe を使用してパス MTU を確認するには

  1. http://www.elifulkerson.com/projects/mturoute.php から mturoute.exe をダウンロードします。

  2. コマンドプロンプトウィンドウを開いて、mturoute.exe をダウンロードしたディレクトリに移動します。

  3. 次のコマンドを使用して、EC2 インスタンスと別のホスト間のパス MTU を確認します。宛先として DNS 名または IP アドレスを使用できます。宛先が別の EC2 インスタンスの場合、セキュリティグループによりインバウンド UDP トラフィックが許可されていることを確認します。次の例では、EC2 インスタンスと www.elifulkerson.com の間のパス MTU を確認します。

    .\mturoute.exe www.elifulkerson.com * ICMP Fragmentation is not permitted. * * Speed optimization is enabled. * * Maximum payload is 10000 bytes. * + ICMP payload of 1472 bytes succeeded. - ICMP payload of 1473 bytes is too big. Path MTU: 1500 bytes.

    この例では、パス MTU は 1500 です。

Windows インスタンス上の MTU の確認および設定

一部のドライバでは、ジャンボフレームを使用し、それ以外のインスタンスには標準フレームサイズを使用するように設定されています。VPC 内のネットワークトラフィックにはジャンボフレームを使用し、インターネットトラフィックには標準フレームを使用したいと思われるかもしれません。いずれにしても、予想したとおりにインスタンスが動作することを確認することをお勧めします。

ENA ドライバー

MTU 設定は、デバイスマネージャーまたは Set-NetAdapterAdvancedProperty コマンドを使用して変更できます。

Get-NetAdapterAdvancedProperty コマンドを使用して現在の MTU 設定を取得するには、次のコマンドを使用します。インターフェイス名 MTU のエントリを確認します。値 9000 は、ジャンボフレームが有効であることを示します。ジャンボフレームはデフォルトで無効化されています。

Get-NetAdapterAdvancedProperty -Name "Ethernet"

次のようにジャンボフレームを有効にします。

Set-NetAdapterAdvancedProperty -Name "Ethernet" -RegistryKeyword "MTU" -RegistryValue 9000

次のようにジャンボフレームを無効にします。

Set-NetAdapterAdvancedProperty -Name "Ethernet" -RegistryKeyword "MTU" -RegistryValue 1500

Intel SRIOV 82599 ドライバー

MTU 設定は、デバイスマネージャーまたは Set-NetAdapterAdvancedProperty コマンドを使用して変更できます。

Get-NetAdapterAdvancedProperty コマンドを使用して現在の MTU 設定を取得するには、次のコマンドを使用します。インターフェイス名 *JumboPacket のエントリを確認します。値 9014 は、ジャンボフレームが有効であることを示します。(MTU のサイズには、ヘッダーとペイロードが含まれる点に注意してください)。ジャンボフレームはデフォルトで無効化されています。

Get-NetAdapterAdvancedProperty -Name "Ethernet"

次のようにジャンボフレームを有効にします。

Set-NetAdapterAdvancedProperty -Name "Ethernet" -RegistryKeyword "*JumboPacket" -RegistryValue 9014

次のようにジャンボフレームを無効にします。

Set-NetAdapterAdvancedProperty -Name "Ethernet" -RegistryKeyword "*JumboPacket" -RegistryValue 1514

AWS PV ドライバー

デバイスマネージャーを使用して MTU 設定を変更することはできませんが、netsh コマンドを使用して変更することはできます。

次のコマンドを使用して、現在の MTU 設定を取得します。インターフェイスの名前は異なる場合があります。出力では、"Ethernet"、"Ethernet 2"、または "Local Area Connection" という名前のエントリを探してください。ジャンボフレームを有効または無効にするには、インターフェイス名が必要です。値 9000 は、ジャンボフレームが有効であることを示します。

netsh interface ipv4 show subinterface

次のようにジャンボフレームを有効にします。

netsh interface ipv4 set subinterface "Ethernet" mtu=9000

次のようにジャンボフレームを無効にします。

netsh interface ipv4 set subinterface "Ethernet" mtu=1500

トラブルシューティング

ジャンボフレームを使用したときに EC2 インスタンスと Amazon Redshift クラスター間の接続に問題が発生する場合は、Amazon Redshift Cluster Management Guide の「クエリがハングしたようになる」を参照してください。