すべてのプロダクト
Search
ドキュメントセンター

:Linux インスタンスにおける高いネットワーク帯域幅使用量のトラブルシューティングと解決

最終更新日:Dec 16, 2025

症状

  • サービスアクセスに関する問題:サービスの応答時間が著しく長くなる、リクエストがタイムアウトする、またはサービスにアクセスできなくなるといった問題が発生します。

  • 高い監視メトリック:ECS コンソールまたは CloudMonitor で、インスタンスのアウトバウンドインターネット帯域幅の使用率が常に 80% を超え、帯域幅制限に近づくか、または達しています。また、ネットワーク接続数が急増することもあります。

  • 監視アラート:ネットワーク帯域幅の使用量が事前に設定したアラートしきい値を超えたことを知らせるショートメッセージまたはメールアラートを受信します。

原因

  • 異常なプロセスまたは悪意のあるプログラム:インスタンスがマイニングプログラムやトロイの木馬ウイルスに感染している、または DDoS ボットネットの一部として利用されている。これらの悪意のあるプログラムは、大量の異常なネットワークトラフィックを生成します。

  • ネットワーク攻撃:DDoS 攻撃やブルートフォース攻撃などの悪意のある攻撃がインスタンスの公開ポートを標的にし、無効なリクエストでインバウンド帯域幅を飽和させます。

  • インスタンスのネットワーク仕様の不足:ビジネスの成長に伴い、インスタンスの帯域幅仕様が通常のサービストラフィックを処理できなくなり、パフォーマンスのボトルネックが生じます。

ソリューション

まず、sar ツールを使用して異常なトラフィックを持つネットワークインターフェースカード (NIC) を特定します。次に、iftop ツールを使用して帯域幅を消費しているピア IP アドレスを特定するか、nethogs ツールを使用してトラフィックの多いプロセスを特定します。最後に、特定されたプロセスと IP アドレスに基づいて適切な措置を講じます。

ステップ 1:トラフィックの多い NIC の特定

sar ツールを使用してトラフィックの多い NIC を特定し、調査範囲を絞り込みます。

  1. VNC 接続を使用して Elastic Compute Service (ECS) インスタンスにログインします。

    1. ECS コンソール - インスタンス に移動します。上部のナビゲーションバーで、対象のリージョンとリソースグループを選択します。

    2. 対象インスタンスの詳細ページに移動します。 [接続] をクリックし、[VNC] を選択します。ユーザー名とパスワードを入力して ECS インスタンスにログインします。

  2. ネットワークインターフェースの統計情報を収集します。

    # -n DEV: ネットワークデバイスの統計情報を報告します。
    # 1 5: 1 秒ごとにサンプリングし、合計 5 回行います。
    sudo sar -n DEV 1 5
  3. トラフィックの多い NIC を特定します。

    Average セクションの txkB/s (平均アウトバウンド帯域幅) の値に注目します。値を比較して、最も高い値を持つ IFACE (NIC 名) を見つけます。

    rxkB/s は平均インバウンド帯域幅を表します。

    image

    この例では、eth0 NIC の txkB/s の値が最も高いため、eth0 がトラフィックの多い NIC として特定されます。

ステップ 2:トラフィックの多い問題の分析と解決

  1. NIC トラフィックを分析します。

    • iftop:接続の観点から NIC トラフィックを監視します。このツールは、インスタンスとの間で最もトラフィックの多い IP アドレスとポートを見つけるのに役立ちます。

      Web サービスの場合、iftop を使用してトラフィックの多い IP アドレスを特定し、logwatch などのツールを使用して Web ログを分析し、トラフィックが正規のものであるか判断できます。
    • nethogs:プロセスの観点から NIC トラフィックを監視します。このツールは、最も多くのネットワーク帯域幅を消費しているプロセスを見つけるのに役立ちます。

    iftop ツール

    1. iftop ツールをインストールします。

      • Alibaba Cloud Linux および CentOS の場合

        sudo yum install -y iftop
      • Ubuntu および Debian の場合

        sudo apt update
        sudo apt install -y iftop
    2. トラフィックの多い NIC を監視します。

      <IFACE>ステップ 1 で特定したトラフィックの多い NIC の名前に置き換えます。

      # -i <IFACE>: 監視する NIC を <IFACE> として指定します。
      # -P: ポート番号 (Port) を表示します。
      sudo iftop -i <IFACE> -P
      たとえば、トラフィックの多い NIC が eth0 の場合、sudo iftop -i eth0 -P を実行します。
    3. NIC トラフィックを分析して、最も帯域幅を消費しているピア IP アドレスを見つけます。

      image

      リアルタイムのトラフィック情報が降順でソートされます。=> 記号は、ご利用のインスタンスからピア IP アドレスへのアウトバウンドデータレートを示します。この例では、ご利用のインスタンスから IP アドレス 140.205.11.x への過去 2 秒間の平均アウトバウンドトラフィックは 4.32 Mb/s です。

    4. q を入力して iftop ツールのインターフェースを終了します。

    5. ポートに対応するプロセスを表示します。

      <PEER_IP_ADDRESS_CONSUMING_BANDWIDTH> を前のステップで取得したピア IP アドレスに置き換えます。

      sudo netstat -antp | grep <PEER_IP_ADDRESS_CONSUMING_BANDWIDTH>

      出力例:image

      この例では、ローカル IP アドレスは 172.16.0.x で、ピア IP アドレスは 140.205.11.x です。対応するプロセスは nginx: worker で、プロセス ID (PID) は 2282 です。

    nethogs ツール

    1. nethogs ツールをインストールします。

      • Alibaba Cloud Linux および CentOS の場合

        sudo yum install -y nethogs
      • Ubuntu および Debian の場合

        sudo apt update
        sudo apt install -y nethogs
    2. トラフィックの多い NIC を監視します。

      <IFACE>ステップ 1 で特定したトラフィックの多い NIC の名前に置き換えます。

      # デフォルトの監視間隔は 1 秒です。-d パラメーターを使用して監視間隔を指定できます。
      sudo nethogs <IFACE>
      たとえば、トラフィックの多い NIC が eth0 の場合、sudo nethogs eth0 を実行します。
    3. NIC トラフィックを分析します。

      image

      SENT 列には、インスタンスがデータを送信しているレートが表示されます。この例では、最もトラフィックを消費しているプロセスは nginx: worker で、アウトバウンドトラフィックレートは約 696 KB/s、プロセス ID (PID) は 2282 です。q を入力してツールを終了します。

  2. プロセスまたはピア IP アドレスに基づいてソリューションを選択します。

    • 特定されたプロセス (wget や curl などのダウンロードツール、または不明なプログラムなど) が不審な動作を示す場合、または悪意のある IP アドレスと通信している場合:

      • 異常なプロセスを終了する:sudo kill -15 <PID> を使用して異常なプロセスを終了します。<PID> を特定したトラフィックの多いプロセスの PID に置き換えます。

        重要

        プロセスを終了する前に、サービスの中断を避けるため、それが重要なビジネスプロセスでないことを確認してください。

      • 悪意のある IP アドレスをブロックするセキュリティグループルールを管理して、悪意のある IP アドレスからのアクセスをブロックします。

      • 悪意のあるプログラムのスキャンと削除:Security Center のウイルス検出と駆除機能 (有料機能) を使用してインスタンスを完全にスキャンし、検出されたウイルスを駆除します。

    • トラフィックの多い原因が正規のビジネスプロセスである場合、これは帯域幅のニーズが増加したことを示しています:

      • 帯域幅のスペックアップ:インスタンスの現在の帯域幅がボトルネックになっている場合は、インスタンスの帯域幅をスペックアップします

      • アプリケーションの最適化:アプリケーションコードをチェックして、不要なデータ転送の削減、キャッシュの追加、データの圧縮など、最適化の可能性を探します。

      • トラフィックのレート制限:ビジネスで許容される場合は、iptables などのツールを使用して、特定の IP アドレスまたはポートのトラフィックを制限します。これにより、単一のユーザーまたはサービスが利用可能なすべての帯域幅を消費するのを防ぐことができます。

    • 異常な帯域幅消費を伴うプロセスが見つからないが、全体的な帯域幅使用率が高いままである場合、これは総トラフィック量がインスタンスのネットワーク容量を超えていることを示しています。インスタンスの帯域幅をスペックアップする必要があります。

推奨事項