症状
-
サービスのアクセス問題:サービスの応答時間が大幅に増加し、リクエストのタイムアウトやサービスへのアクセス不能を引き起こします。
-
監視メトリクスの高騰:Elastic Compute Service (ECS) コンソールまたは CloudMonitor で、インスタンスのアウトバウンドインターネット帯域幅の使用量が常に 80% を超え、帯域幅制限に近づくか、または達しています。また、ネットワーク接続数が急増することもあります。
-
監視アラート:ネットワーク帯域幅の使用量が設定されたアラートのしきい値を超えたことを通知する SMS メッセージまたはメールを受信します。
原因
-
異常なプロセスまたは悪意のあるプログラム:インスタンスが暗号資産マイニングプログラムやトロイの木馬に感染している、または DDoS 攻撃のボットとして機能している。これらの悪意のあるプログラムは、大量の異常なネットワークトラフィックを生成します。
-
ネットワーク攻撃:インスタンスの公開ポートが、アプリケーションレイヤーの CC 攻撃、DDoS 攻撃、またはブルートフォース攻撃などの悪意のあるアクセス試行の標的になっています。これらの攻撃は、無効なリクエストでインバウンド帯域幅を飽和させる可能性があります。
-
インスタンスのネットワークキャパシティ不足:ビジネスの成長に伴い、インスタンスに設定された帯域幅が通常のサービストラフィックを処理できなくなり、ネットワークパフォーマンスのボトルネックが生じます。
解決策
まず、sar ツールを使用して異常なトラフィックを持つネットワークインターフェースを特定します。次に、iftop ツールを使用して NIC トラフィックを分析し、帯域幅を消費しているピア IP アドレスを特定するか、nethogs ツールを使用して高トラフィックのプロセスを特定します。最後に、プロセスと IP アドレスの性質に基づいて適切なアクションを実行します。
ステップ 1: 高トラフィックの NIC の特定
sar ツールを使用して高トラフィックの NIC を特定し、トラブルシューティングの対象を定義します。
VNC 接続を使用して ECS インスタンスにログインします。
ECS コンソール - インスタンスに移動します。左上のコーナーで、ターゲットインスタンスのリージョンとリソースグループを選択します。
ターゲットインスタンスの詳細ページに移動します。接続 をクリックし、VNC を選択します。認証情報を入力して ECS インスタンスにログインします。
-
ネットワークインターフェースの統計情報を収集します。
# -n DEV: ネットワークデバイスの統計情報を報告します # 1 5: 1 秒ごとに 1 回、合計 5 回サンプリングします sudo sar -n DEV 1 5 -
高トラフィックの NIC を特定します。
AverageのtxkB/s(平均アウトバウンド帯域幅) の値に注目します。値を比較して、最も高い値を持つIFACE(NIC 名) を見つけます。rxkB/sは平均インバウンド帯域幅レートを表します。Linux 5.10.134-19.1.al8.x86_64 (iZbp1e5xxx) 11/14/2025 _x86_64_ (2 CPU) 04:11:13 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil 04:11:14 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:11:14 PM eth0 317.00 580.00 21.36 933.00 0.00 0.00 0.00 0.00 04:11:14 PM eth1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:11:14 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil 04:11:15 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:11:15 PM eth0 328.00 582.00 22.34 943.08 0.00 0.00 0.00 0.00 04:11:15 PM eth1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:11:15 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil 04:11:16 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:11:16 PM eth0 352.00 595.00 24.08 935.58 0.00 0.00 0.00 0.00 04:11:16 PM eth1 1.00 1.00 0.04 0.04 0.00 0.00 0.00 0.00 04:11:16 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil 04:11:17 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:11:17 PM eth0 347.00 581.00 23.58 943.02 0.00 0.00 0.00 0.00 04:11:17 PM eth1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:11:17 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil 04:11:18 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:11:18 PM eth0 367.00 623.00 24.98 952.79 0.00 0.00 0.00 0.00 04:11:18 PM eth1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 Average: IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil Average: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 Average: eth0 342.20 592.20 23.27 941.49 0.00 0.00 0.00 0.00 Average: eth1 0.20 0.20 0.01 0.01 0.00 0.00 0.00 0.00この例では、
eth0NIC のtxkB/s値が最も高いため、eth0が高トラフィックの NIC です。
ステップ 2: 高トラフィック問題の分析と解決
-
NIC のトラフィックを分析します。
-
iftop:接続の観点から NIC トラフィックを監視します。インスタンスとの間で最も多くのトラフィックを生成している IP アドレスとポートを特定します。Web サービスの場合、
iftopを使用して高トラフィックの IP アドレスを特定し、logwatchなどのツールと組み合わせて Web ログを分析し、トラフィックが正当なものかどうかを判断できます。 -
nethogs:プロセスの観点から NIC トラフィックを監視します。最も多くのネットワーク帯域幅を消費しているプロセスを特定します。
iftop
-
iftopツールをインストールします。-
Alibaba Cloud Linux および CentOS の場合:
sudo yum install -y iftop -
Ubuntu および Debian の場合:
sudo apt update sudo apt install -y iftop
-
-
高トラフィックの NIC を監視します。
<IFACE>をステップ 1 で特定した高トラフィックの NIC の名前に置き換えます。# -i <IFACE>: 監視する NIC を指定します。 # -P: ポート番号を表示します。 sudo iftop -i <IFACE> -P例えば、高トラフィックの NIC が
eth0の場合、sudo iftop -i eth0 -Pを実行します。 -
NIC トラフィックを分析して、帯域幅を消費しているピア IP アドレスを見つけます。
19.1Mb 38.1Mb 57.2Mb 76.3Mb 95.4Mb iZbp1e5w04k4l xxx => 140.205.11 xxx 4.32Mb 3.17Mb 1.06Mb <= 62.9Kb 47.7Kb 15.1Kb iZbp1e5w04k4l xxx => 140.xxx 0b 164Kb 41.1Kb <= 0b 4.97Kb 1.30Kb iZbp1e5w04k4l xxx => 140.xxx 796Kb 159Kb 40.1Kb <= 15.5Kb 3.10Kb 804b iZbp1e5w04k4l xxx => 140.xxx 0b 89.9Kb 29.2Kb <= 0b 2.97Kb 882b iZbp1e5w04k4l xxx => 140.xxx 0b 83.9Kb 46.4Kb <= 0b 2.55Kb 1.25Kb iZbp1e5w04k4l xxx => 140.xxx 0b 78.9Kb 50.7Kb <= 0b 2.50Kb 1.52Kb iZbp1e5w04k4l xxx => 140.xxx 0b 71.0Kb 89.6Kb <= 0b 2.51Kb 2.85Kb iZbp1e5w04k4l xxx => 140.xxx 0b 66.1Kb 26.2Kb <= 0b 2.29Kb 822b iZbp1e5w04k4lv xxx => 140.xxx 0b 65.6Kb 16.4Kb <= 0b 1.62Kb 416b iZbp1e5w04k4l xxx => 140.xxx 0b 61.1Kb 23.2Kb <= 0b 1.77Kb 656b iZbp1e5w04k4l xxx => 140.xxx 0b 56.2Kb 55.6Kb <= 0b 1.53Kb 1.54Kb iZbp1e5w04k4lv xxx => 140.xxx 0b 52.1Kb 75.3Kb <= 0b 1.65Kb 2.40Kb iZbp1e5w04k4l xxx => 140.xxx 0b 52.0Kb 13.0Kb <= 0b 1.42Kb 363b ───────────────────────────────────────────────────────────────────────────────────────────────────── TX: cum: 80.9MB peak: 14.3Mb rates: 7.15Mb 6.52Mb 11.2Mb RX: 1.91MB 440Kb 146Kb 154Kb 276Kb TOTAL: 82.8MB 14.6Mb 7.30Mb 6.67Mb 11.4Mb出力はリアルタイムのトラフィック情報を降順でソートします。
=>記号は、ご利用のインスタンスがピア IP アドレスにデータを送信するレートを示します。この例では、インスタンスから IP アドレス140.205.11.xへの過去 2 秒間の平均アウトバウンドトラフィックレートは4.32Mb/sです。 -
qを押してiftopインターフェースを終了します。 -
ポートに対応するプロセスを表示します。
<PEER_IP_ADDRESS>を前のステップで取得したピア IP アドレスに置き換えます。sudo netstat -antp | grep <PEER_IP_ADDRESS>以下は出力例です。
tcp 0 172.16.0.xxx xxx 140.205.11.xxx xxx ESTABLISHED 2282/nginx: worker tcp 0 172.16.0.xxx xxx 140.205.11.xxx xxx ESTABLISHED 2282/nginx: worker tcp 0 172.16.0.xxx xxx 140.205.11.xxx xxx ESTABLISHED 2282/nginx: worker tcp 0 172.16.0.xxx xxx 140.205.11.xxx xxx ESTABLISHED 2282/nginx: worker tcp 0 172.16.0.xxx xxx 140.205.11.xxx xxx ESTABLISHED 2282/nginx: worker tcp 0 172.16.0.xxx xxx 140.205.11.xxx xxx ESTABLISHED 2282/nginx: workerこの例では、ローカル IP アドレスは
172.16.0.x、ピア IP アドレスは140.205.11.x、対応するプロセスはnginx: worker、PID は2282です。
nethogs
例
-
nethogs ツールをインストールします。
-
Alibaba Cloud Linux および CentOS の場合:
sudo yum install -y nethogs -
Ubuntu および Debian の場合:
sudo apt update sudo apt install -y nethogs
-
-
高トラフィックの NIC を監視します。
<IFACE>をステップ 1 で特定した高トラフィックの NIC の名前に置き換えます。# デフォルトの監視間隔は 1 秒です。-d を使用して監視間隔を指定できます。 sudo nethogs <IFACE>例えば、高トラフィックの NIC が
eth0の場合、sudo nethogs eth0を実行します。 -
NIC トラフィックを分析します。
NetHogs version 0.8.5 PID USER PROGRAM DEV SENT RECEIVED 2282 nginx nginx: worker process 696.898 19.289 KB/sec 15823 root sshd: root@pts/3 0.773 0.231 KB/sec ? root 172.16.xxx.54.137:80 0.000 0.000 KB/sec ? root 172.16.xxx.26.209:80 0.000 0.000 KB/sec ? root 172.16.xxx.45.106:80 0.000 0.000 KB/sec ? root 172.16.xxx.4.191:80 0.000 0.000 KB/sec ? root 172.16.xxx.154.78:80 0.000 0.000 KB/sec 1749 root /usr/local/cloudmonitor/bin/argusagent 0.000 0.000 KB/sec ? root 172.16.xxx.54.135:80 0.000 0.000 KB/sec ? root 172.16.xxx.26.207:80 0.000 0.000 KB/sec ? root 172.16.xxx.4.217:80 0.000 0.000 KB/sec ? root 172.16.xxx.89.115:80 0.000 0.000 KB/sec 6215 root /opt/aliyun-security/ilogtail/ilogtail-aliyun-security 0.000 0.000 KB/sec ? root 172.16.xxx.154.78:80 0.000 0.000 KB/sec ? root 172.16.xxx.83.69:80 0.000 0.000 KB/sec ? root 172.16.xxx.54.132:80 0.000 0.000 KB/sec ? root 172.16.xxx.26.210:80 0.000 0.000 KB/sec ? root 172.16.xxx.4.217:80 0.000 0.000 KB/sec ? root 172.16.xxx.89.113:80 0.000 0.000 KB/sec ? root 172.16.xxx.154.78:80 0.000 0.000 KB/sec 1806 root /usr/local/aegis/aegis_client/aegis_12_61/AliYunDun 0.000 0.000 KB/sec 2810 root /usr/local/aegis/alihips/AliHips 0.000 0.000 KB/sec 6172 root /opt/aliyun-security/rapt-daemon/rapt-daemon 0.000 0.000 KB/sec ? root unknown TCP 0.000 0.000 KB/secSENT列は、ご利用のインスタンスが受信側 (ピア IP アドレス) にデータを送信するレートを示します。この例では、最も多くのトラフィックを消費しているプロセスはnginx: worker processで、アウトバウンドトラフィックレートは約 696 KB/s、プロセス ID (PID) は2282です。qを押してツールのインターフェースを終了します。
-
-
特定されたプロセスまたはピア IP アドレスに基づいて解決策を選択します。
-
特定されたプロセス (
wgetやcurlなどのダウンロードツール、または不明なプログラムなど) が疑わしい動作をしている場合、または悪意のあるピア IP アドレスと通信している場合:-
異常なプロセスを終了する:
sudo kill -15 <PID>コマンドを実行します。<PID>を特定された高トラフィックのプロセスの PID に置き換えます。重要プロセスを終了する前に、それが重要なビジネスプロセスでないことを確認し、サービスの中断を避けてください。
-
悪意のある IP アドレスをブロックする:セキュリティグループルールを使用して、既知の悪意のある IP アドレスをブロックします。送信元 IP アドレスが広範囲に分散しているアプリケーションレイヤーの CC 攻撃を受けている場合、セキュリティグループルールの効果は限定的です。この場合、専門的な保護のために Web Application Firewall (WAF) をデプロイすることを推奨します。詳細については、「CC 攻撃から防御するために ECS インスタンスを WAF に追加する」をご参照ください。
-
悪意のあるプログラムをスキャンして削除する:Security Center のウイルス検出と駆除機能を有効にして、インスタンスのフルスキャンを実行し、検出された悪意のあるプログラムを削除します。
-
高頻度の DDoS 攻撃に対応する:高頻度の DDoS 攻撃または CC 攻撃中、ピークトラフィックが Anti-DDoS Origin のブラックホールしきい値を超える可能性があります。これにより、クラウドサービスがブラックホール状態になり、アクセスできなくなる可能性があります。このシナリオでは、サービスの可用性を確保するために Anti-DDoS Pro and Anti-DDoS Premium を有効にする必要があります。
-
-
正当なビジネスプロセスが高いトラフィックを生成している場合、これは通常のビジネス需要によるものと考えられます:
-
帯域幅のアップグレード:インスタンスの現在のネットワークキャパシティがボトルネックになっています。インスタンスの帯域幅をアップグレードする必要があります。
-
アプリケーションの最適化:アプリケーションコードを見直し、不要なデータ転送の削減、キャッシュの追加、データの圧縮など、最適化の可能性を探ります。
-
トラフィックレートの制限:サービスで許可されている場合は、
iptablesなどのツールを使用して、特定の IP アドレスまたはポートのトラフィックレートを制限できます。これにより、単一のユーザーまたはサービスが利用可能なすべての帯域幅を消費するのを防ぎます。
-
-
異常な帯域幅を消費しているプロセスが見つからないものの、全体的な使用量が依然として高い場合は、総サービストラフィックがインスタンスのネットワークキャパシティを超えている可能性があります。この場合、インスタンスの帯域幅をアップグレードする必要があります。
-
次のステップ
-
継続的な分析のために、定期的にシステムメトリクスを収集することを推奨します。詳細については、「atop ツールを使用した Linux システムメトリクスの監視」をご参照ください。
-
将来のリスクや異常に関する通知を受け取るために、インスタンスのモニタリングとアラートを設定します。