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

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

最終更新日:Dec 10, 2025

症状

  • サービスアクセスの問題:サービスの応答時間が大幅に増加し、リクエストのタイムアウトやサービスの利用不可につながります。

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

原因

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

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

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

ソリューション

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

ステップ 1: 高トラフィックのネットワークインターフェースカードの特定

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

  1. レスキュー接続を使用して Simple Application Server にログインします。

    1. Simple Application Server コンソールの [サーバー] ページ に移動します。

    2. サーバーカードで、[リモート接続] をクリックします。ダイアログボックスの [レスキュー接続] セクションで、[今すぐログイン] をクリックします。ユーザー名とパスワードを入力して Simple Application Server にログインします。

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

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

    Average セクションの txkB/s の値に注目します。値を比較して、最も高い値を持つ IFACE (NIC 名) を見つけます。

    rxkB/s は、キロバイト/秒単位の平均アウトバウンド帯域幅を表します。

    image

    この例では、eth0 NIC の txkB/s の値が最も高いため、高トラフィックの 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 epel-release
        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 アドレスへのアウトバウンドデータレートを示します。この例では、過去 2 秒間のローカルインスタンスから IP アドレス 140.205.11.x への平均アウトバウンドトラフィックは 4.32Mb/s です。

    4. q を入力して iftop ツールを終了します。

    5. ポートに関連付けられているプロセスを表示します。

      <HIGH_TRAFFIC_PEER_IP> を前の手順で見つけたピア IP アドレスに置き換えます。

      sudo netstat -antp | grep <帯域幅を消費するピア IP アドレス>

      出力例: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 epel-release
        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 process で、アウトバウンドトラフィックレートは約 696 KB/s、プロセス ID (PID) は 2282 です。q を入力してツールを終了します。

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

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

      • 異常なプロセスの停止: sudo kill -15 <PID> を実行して異常なプロセスを終了できます。<PID> を高トラフィックのプロセスの PID に置き換えます。

        重要

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

      • 悪意のある IP アドレスのブロックファイアウォールを設定して、悪意のある IP アドレスからのアクセスをブロックします。

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

    • 高トラフィックが通常のビジネスプロセスによって生成されている場合:

      • プログラムの最適化:ビジネスコードを確認し、不要なデータ転送の削減、キャッシュの追加、データの圧縮など、最適化の機会を探します。

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

次のステップ