Direct Connect 接続のパケット損失をトラブルシューティングするにはどうすればよいですか?
最終更新日: 2021 年 12 月 23 日
AWS Direct Connect を使用してデータを転送しています。Amazon Elastic Compute Cloud (Amazon EC2) インスタンスにデータを転送する際にパケット損失が発生しています。パケット損失を分離するにはどうしたらいいですか?
簡単な説明
パケット損失は、送信されたデータパケットが宛先に到着せず、ネットワークパフォーマンスの問題が生じる場合に発生します。パケット損失は、宛先での低い信号強度、高過ぎるシステム使用率、ネットワークの輻輳、およびネットワークルートの設定ミスによって生じます。
解決方法
ネットワークデバイスと Direct Connect 接続について、次のチェックを実行します。
AWS Personal Health Dashboard で定期メンテナンスやイベントを確認する
Direct Connect エンドポイント、カスタマーゲートウェイ (CGW)、および中間デバイス (レイヤー 1) のメトリクスを確認する
- CGW がインターフェイスフラップをログ記録すること。
- 問題が発生したときの CGW の CPU 使用率。
- Direct Connect 接続が終了するデバイスでの光信号の読み取り。
- 入力エラー、増分フレーミングエラー、巡回冗長 (CRC) エラー、runts、giants、throttles により、 Direct Connect 接続が終了するデバイス。
Direct Connect 接続のメトリクスを確認する (レイヤー 1)
- ConnectionErrorCount: sum 統計を適用します。ゼロ以外の値は AWS デバイス上の MAC レベルのエラーを示していることに注意してください。
- ConnectionLightLevelTX と ConnectionLightLevelRX: 問題が発生したときに Direct Connect 接続に記録された光信号を確認します。許容範囲は -14.4~2.50 dBm です。
- ConnectionBpsEgress および ConnectionBpsIngress: リンクの輻輳によりパケット損失が発生した場合に、Direct Connect 接続のトラフィック量を確認します。
詳細については、Direct Connect の接続メトリクスを参照してください。
非対称の最適ではないルーティングを確認する (レイヤー 3)
詳細については、トランジットゲートウェイで Direct Connect のバックアップとして VPN を作成する場合、非対称ルーティングの問題を解決するにはどうすればよいですか? を参照してください。
オンプレミスホストと AWS ホスト間のエンドツーエンドの双方向トレースルート (レイヤー 3)
1. traceroute をインストールするには、次のコマンドを実行します。
Linux:
sudo yum install traceroute
Ubuntu:
sudo apt-get install traceroute
2.その後、ICMP traceroute について次のようなコマンドを実行します。
sudo traceroute -T -p <destination Port> <IP of destination host>
Windows OS:
1. WinPcap と tracetcp をダウンロードします。
2. Tracetcp ZIP ファイルを展開します。
3. tracetcp.exe を C ドライブにコピーします。
4. WinPcap をインストールします。
5. コマンドプロンプトを開き、C:\Users\username>cd \ コマンドを使用して WinPcap を C ドライブにルートします。
6. tracetcp.exe hostname:port コマンド、または tracetcp.exe ip:port コマンドを使用して tracetcp を実行します。
オンプレミスホストと AWS ホスト間のエンドツーエンドの双方向 MTR テスト (レイヤー 3)
MTR の結果でパケット損失とネットワークレイテンシーを確認します。ホップでのネットワーク損失の割合は、ルーターに問題があることを示唆している可能性があります。一部のサービスプロバイダーは、MTR が使用する ICMP トラフィックを制限しています。パケット損失がレート制限によるものかどうかを判断するには、後続のホップを確認します。後続のホップで 0.0% の損失が見られる場合、それは ICMP レート制限を示唆している可能性があります。
1. MTR をインストールするには、次のコマンドを実行します。
Amazon Linux/REHEL:
$ sudo yum install mtr -y
Ubuntu:
sudo apt install mtr -y
Windows OS:
WinMTR をダウンロードしてインストールします。
注: Windows OS の場合、WinMTR は TCP ベースの MTR をサポートしていません。
2. オンプレミス --> AWS の方向については、オンプレミスホスト (ICMP および TCP ベース) で MTR を実行します。
$ mtr -n -c 100 <private IP of EC2> --report
$ mtr -n -T -P <EC2 instance open TCP port> -c 100 <private IP of EC2> --report
3. AWS --> オンプレミスの方向については、EC2 インスタンス (ICMP および TCP ベース) で MTR を実行します。
$ mtr -n -c 100 <private IP of the local host> --report
$ mtr -n -T -P <local host open TCP port> -c 100 <private IP of the local host> --report
オンプレミスホストと AWS ホスト間のパス MTU を確認する (レイヤー 3)
tracepath を使用して 2 つのホスト間のパス MTU を確認できます。
1. オンプレミス --> AWS の方向では、ローカルホストからポート 80 で tracepath を実行します。
$ tracepath -n -p 80 <EC2 private instance IP>
$ tracepath -n -p 80 <private IP of local host>