EC2 インスタンスのネットワークの最大送信単位 (MTU)
ネットワーク接続の最大送信単位 (MTU) とは、接続を介して渡すことができる最大許容パケットサイズ (バイト単位) です。接続の MTU が大きいほど、より多くのデータを単一のパケットで渡すことができます。イーサネットフレームは、パケット (送信している実際のデータ) とそれを囲むネットワークオーバーヘッド情報で構成されています。
イーサネットフレームの形式はさまざまで、最も一般的な形式は、標準イーサネット v2 フレーム形式です。これはインターネットのほとんどでサポートされている最大のイーサネットパケットサイズである 1500 MTU をサポートします。インスタンスでサポートされている最大 MTU は、インスタンスタイプによって異なります。
ジャンボフレーム (9001 MTU)
ジャンボフレームでは、パケットあたりのペイロードサイズを拡張し、パケットオーバーヘッド以外のパケットの割合を高めることによって、1500 バイトを超えるデータを送信できます。同じ量の使用可能なデータを少ないパケットで送信することができます。ただし次の場合には、トラフィックの MTU は最大 1500 に制限されます。
-
インターネットゲートウェイ経由のトラフィック
-
リージョン間 VPC ピアリング接続経由のトラフィック
-
VPN 接続経由のトラフィック
-
AWS リージョン間のトラフィック (トランジットゲートウェイが使用されている場合を除く)
パケットが 1500 バイト以上ある場合は、フラグメント化されます。または、Don't Fragment
フラグが IP ヘッダーに設定されている場合は削除されます。
ジャンボフレームを、インターネットバウンドトラフィックや VPC を出るトラフィックに使用する場合には慎重に行ってください。パケットは中間システムによってフラグメント化されるため、このトラフィックの速度が低下します。VPC 外に向かうトラフィックの速度を低下させずに VPC 内のジャンボ フレームを使用するには、ルートごとに MTU サイズを設定するか、または MTU サイズやルートの異なる複数の Elastic ネットワークインターフェイスを使用します。
クラスタープレイスメントグループ内にコロケーションされたインスタンスでは、考えられる最大のネットワークスループットの実現するうえでジャンボフレームが役立ちます。この場合は、ジャンボフレームを使用することが推奨されています。詳細については、Amazon EC2 インスタンスのプレイスメントグループを参照してください。
AWS Direct Connect を経由した VPC とオンプレミスのネットワーク間のトラフィックにはジャンボフレームを使用できます。詳細や、Jumbo Frame 機能を確認する方法については、AWS Direct Connect ユーザーガイドのネットワーク MTU 設定を参照してください。
すべての Amazon EC2 インスタンスタイプは 1500 MTU をサポートしており、すべての現行世代のインスタンスタイプはジャンボフレームをサポートしています。以下の旧世代のインスタンスタイプは、A1、C3、I2、M3、R3 のジャンボフレームをサポートしています。
サポート対象の MTU サイズの詳細については、次を参照してください。
-
NAT ゲートウェイについては、「Amazon VPC ユーザーガイド」の「NAT ゲートウェイの基本」を参照してください。
-
トランジットゲートウェイの詳細については、「Amazon VPC Transit Gateway ユーザーガイド」の「Maximum transmission unit」を参照してください。
-
ローカルゾーンについては、「AWS ローカルゾーンユーザーガイド」の「考慮事項」を参照してください。
-
AWS Wavelength については、「AWS Wavelength User Guide」の「Maximum transmission unit」を参照してください。
-
Outposts については、「AWS Outposts User Guide」の「Service link maximum transmission unit requirements」を参照してください。
パス MTU 検出
2 つのデバイス間のパス MTU を判断するために、パス MTU 検出 (PMTUD) が使用されます。パス MTU は、送信側ホストと受信側ホスト間のパスでサポートされている最大のパケットサイズです。2 つのホスト間のネットワークで MTU サイズに違いがある場合、PMTUD は、受信側ホストが ICMP メッセージで送信側ホストに応答するのを可能にします。この ICMP メッセージは、送信側ホストがネットワークパスに沿って最低の MTU サイズを使用し、リクエストを再送信するように指示します。このネゴシエーションがないと、リクエストが大きすぎて受信側ホストが受け取れないため、パケットドロップが発生する可能性があります。
IPv4 の場合、ホストがパスに沿って送信するパケットが、受信側ホストの MTU、あるいはデバイスの MTU よりも大きな場合、受信側ホストまたはデバイスはそのパケットをドロップし、次のような ICMP メッセージ Destination
Unreachable: Fragmentation Needed and Don't Fragment was Set
(タイプ 3、コード 4) を返します。このメッセージは送信側ホストに対し、ペイロードを複数の小さなパケットに分割し再送信することを指示します。
IPv6 プロトコルは、ネットワークのフラグメンテーションをサポートしていません。ホストがパスに沿って送信するパケットが、受信側ホストの MTU、あるいはデバイスの MTU よりも大きな場合、受信側ホストまたはデバイスはそのパケットをドロップし、次のような ICMP メッセージ ICMPv6 Packet Too Big (PTB)
(タイプ 2) を返します。このメッセージは送信側ホストに対し、ペイロードを複数の小さなパケットに分割し再送信することを指示します。
NAT ゲートウェイやロードバランサーなどの一部のコンポーネントを介して行われる接続は、自動追跡されます。つまり、セキュリティグループの追跡は、アウトバウンド接続を試みると自動的に有効になります。接続が自動追跡されるか、セキュリティグループのルールでインバウンド ICMP トラフィックが許可されている場合は、PMTUD 応答を受信できます。
サブネットへの ICMP トラフィックを拒否するネットワークアクセスコントロールリストのエントリがある場合など、セキュリティグループレベルでトラフィックが許可されている場合でも、ICMP トラフィックはブロックされる可能性があることに注意してください。
重要
パス MTU 検出は、ジャンボフレームが一部のルーターによって破棄されないことを保証するものではありません。VPC のインターネットゲートウェイでは、最大 1500 バイトのパケットだけが転送されます。インターネットトラフィックでは、MTU が 1500 のパケットが推奨されています。
NAT ゲートウェイの MTU ルールについては、「Amazon VPC ユーザーガイド」の「最大送信単位 (MTU)」を参照してください。Transit Gateway の MTU ルールについては、「AWS Transit Gateway ユーザーガイド」の「最大送信単位 (MTU)」を参照してください。
トラブルシューティング
ジャンボフレームを使用したときに EC2 インスタンスと Amazon Redshift クラスターとの間で接続の問題が発生した場合は、「Amazon Redshift 管理ガイド」の「クエリがハングしたようになる」を参照してください。