Direct Connect 接続のパケットロスのトラブルシューティング方法を教えてください。

所要時間3分
0

AWS Direct Connect を使ってデータを転送しています。Amazon Elastic Compute Cloud (Amazon EC2) インスタンスにデータを転送する際にパケットロスが発生します。パケットロスを切り分ける必要があります。

解決方法

パケットロスは、送信されたデータパケットが宛先に届かず、ネットワークパフォーマンスの問題が発生したときに起こります。パケットロスは、宛先の信号強度が低い、システムが多すぎる、ネットワークが混雑している、ネットワークルートの設定が間違っていることが原因です。

ネットワークデバイスと Direct Connect 接続について、次のチェックを実行してください。

予定されているメンテナンスやイベントについては、AWS Personal Health Dashboard を確認してください

AWS Personal Health Dashboard には、メンテナンス中のリソースに関する関連情報が表示され、アクティビティの通知も表示されます。詳細については、「Direct Connect の定期メンテナンスやイベントの通知を受け取るにはどうすればよいですか?」を参照してください。

Direct Connect エンドポイント、カスタマーゲートウェイ、および中間デバイス (レイヤー 1) のメトリックを確認する

カスタマーゲートウェイと中間デバイスでは、問題はオンプレミスネットワークまたは AWS へのトランジットパスに限られている可能性があります。オンプレミスノードと中間デバイスで以下を確認してください。

  • インターフェイスフラップのカスタマーゲートウェイログ
  • 問題が発生したときのカスタマーゲートウェイの CPU 使用率
  • Direct Connect 接続が終了したときのデバイス上の光信号の読み取り値
  • 入力エラー、増加するフレーミングエラー、巡回冗長性 (CRC) エラー、ラント、ジャイアント、またはスロットルが原因で Direct Connect 接続が終了するデバイス

Direct Connect 接続メトリクスの確認 (レイヤー 1)

Direct Connect の次のメトリクスを確認してください。

  • ConnectionErrorCount: このメトリックの合計統計を適用します。0 以外の値は AWS デバイスの MAC レベルのエラーを示していることに注意してください。
  • ConnectionLightLevelTX と ConnectionLightLevelRX: 問題が発生したときに Direct Connect 接続に記録された光信号を確認します。許容範囲は -14.4 から 2.50 dBm の間です。
  • ConnectionBpsEgress と ConnectionBpsIngress: リンクの輻輳が原因でパケットロスが発生した場合の、Direct Connect 接続のトラフィック量を確認します。インターフェースの容量を 100% 使用すると、パケットロス、過剰なトラフィックが発生する可能性があります。

詳細については、「Direct Connect 接続のメトリクス」を参照してください。

非対称で最適ではないルーティング (レイヤー 3) の有無を確認する

非対称ルーティングは、ネットワークトラフィックが 1 つの接続から入り、別の接続から出るときに発生します。オンプレミスのファイアウォールがユニキャストリバースパス転送を実行すると、このルーティングによってパケットが失われ、ネットワークトラフィックがドロップする可能性があります。

  • バックアップ用の冗長な Direct Connect 接続またはバックアップの AWS Site-to-Site VPN 接続を使用している場合は、非対称ルーティングが発生していないか確認してください。
  • バックアップ用の Site-to-Site VPN 接続があり、Direct Connect 接続と VPN 接続の両方で同様のプレフィックスをアドバタイズしたとします。この場合、AWS からオンプレミスへのトラフィックは Direct Connect を介してルーティングされます。非対称ルーティングを避けるため、オンプレミスから AWS には Direct Connect のみでトラフィックを送信するようにしてください。
  • バックアップ用の Direct Connect 接続を使用している場合、両方の Direct Connect 接続でプレフィックスをアドバタイズする方法によっては、非対称ルーティングが発生する可能性があります。
  • オンプレミスネットワークでのルーティングが最適ではないと、パケットロスが発生する可能性があります。

詳細については、「トランジットゲートウェイで Direct Connect のバックアップとして VPN を作成する場合の非対称ルーティングの問題を解決する方法」を参照してください。

オンプレミスホストと AWS ホスト (レイヤー 3) 間のエンドツーエンドの双方向トレースルート

ホスト間でトレースルートを実行することで、両方向のネットワークパスが決まります。トレース結果によって、ルーティングが非対称であるか、負荷分散されているかなども決まります。

1.    次のコマンドを実行して traceroute をインストールします。

Linux:

sudo yum install traceroute

Ubuntu:

sudo apt-get install traceroute

2.    TCP 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 ホスト (レイヤー 3) 間のエンドツーエンドの双方向 MTR テスト

MTR テストは、ホスト間のネットワーク接続経路にある各ルーターを検出できるという点で traceroute に似ています。MTR テストでは、パケットロスなど、パス内の各ノードに関する情報も得られます。

MTR の結果でパケットロスとネットワーク遅延を確認します。1 ホップあたりのネットワークロス率が表示される場合は、ルーターに問題がある可能性があります。サービスプロバイダーによっては、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 ホスト (レイヤー 3) 間のパス MTU を確認する

最大伝送単位 (MTU) は、ネットワーク接続を介して渡された最大許容パケットのサイズです。MTU サイズを超えるパケットはすべてインターフェイスでドロップされます。そのため、パケットが大きすぎるとパケットロスが発生する可能性があります。

Path MTU Discovery (PMTUD) は MTU パスを決定します。詳細については、「Path MTU Discovery」を参照してください。

](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/network_mtu.html#check_path_mtu)tracepath を使用して 2 つのホスト間のパス MTU を確認[できます。

1.    オンプレミスから AWS への方向では、ローカルホストからポート 80 で tracepath を実行します。

$ tracepath -n -p 80 <EC2 private instance IP>

2.    AWS からオンプレミスへの方向については、EC2 インスタンスのポート 80 で tracepath を実行します。

$ tracepath -n -p 80 <private IP of local host>

BGP で発生する可能性のあるルーティングの問題を確認する

Direct Connect 接続では、AWS とオンプレミス間のルーティングと通信に動的ルーティングプロトコルである Border Gateway Protocol (BGP) を使用します。

断続的なパケットロスの原因となっている可能性のある BGP の通常のフラップがないか確認します。

カスタマーゲートウェイデバイスで、AWS から顧客ネットワークまでの学習ルートの経過時間を確認します。カスタマーゲートウェイデバイスでルートが更新されると、BGP ルートテーブルでルートの有効期間が更新されます。この情報を確認して、ルートが更新されたときに一時的にパケットロスが発生したかどうかを確認できます。

Cisco ルータのルートの有効期間を確認するには、次のコマンドを実行します。

Router#sh ip bgp 1.1.1.1       
BGP routing table entry for 1.1.1.1/32, version 3
Paths: (1 available, best #1, table default)
  Not advertised to any peer
  Refresh Epoch 1
  64512, (received & used)
    169.254.92.181 from 169.254.92.181 (169.254.92.181)
      Origin IGP, metric 100, localpref 100, valid, external, best
      rx pathid: 0, tx pathid: 0x0
      Updated on Mar 31 2023 08:08:00 UTC    >> Last time that the route was updated

-or-

Router#sh ip route | in 1.1.1.1
B    1.1.1.1 [20/100] via 169.254.92.181, 01:37:46   >> You can see the route age or when the route was last refreshed

ホスト接続を使用している場合は、パートナーまたはサービスプロバイダーに問い合わせて、パートナー側のメンテナンスがパケットロスの原因となっているかどうかを確認してください。

関連情報

ネットワークインターフェイス設定のベストプラクティス

インターネットゲートウェイまたは NAT ゲートウェイを介して AWS からオンプレミスネットワークへのパケットロスとレイテンシーを監視する方法を教えてください。

AWS Direct Connect のトラブルシューティング

Direct Connect のネットワークパフォーマンスの問題をトラブルシューティングするにはどうすればいいですか? WinPcap と tracetcp をダウンロードしてください。

AWS公式
AWS公式更新しました 1年前