このトピックでは、タスクマネージャー、リソースモニター、Wireshark などのツールを使用して、Windows インスタンスにおける帯域幅の高使用率の問題をトラブルシューティングし、解決する方法について説明します。
症状
Windows インスタンスで帯域幅の使用率が高くなると、次の現象が発生する可能性があります。
-
サービスの応答時間が長くなる、またはタイムアウトする。
-
ECS コンソールのネットワーク監視メトリクスで、帯域幅使用率が高い (通常 80% 超と定義) 状態が示される。
-
ネットワーク帯域幅の使用率が指定されたしきい値を超えたというアラートを受信する。
考えられる原因
考えられる原因は次のとおりです。
-
通常のサービスからの頻繁なアクセスにより、高い帯域幅が消費される。
-
アプリケーションレイヤーの CC 攻撃、DDoS 攻撃、ウイルス、トロイの木馬などの悪意のあるアクティビティにより、大量のネットワークトラフィックが生成される。
説明サードパーティ製のマルウェアが、
svchost.exeやtcpsvcs.exeなどのオペレーティングシステムプロセスの名前を偽装し、これらのプロセスの帯域幅使用率を高くする場合があります。 -
Windows Update サービスなどの組み込みの Windows サービスが、大量のネットワークトラフィックを消費する。
操作手順
リソースモニターでのネットワークメトリックの表示
Windows には、タスクマネージャー、リソースモニター、パフォーマンスモニター、プロセスエクスプローラーなど、帯域幅の高使用率の原因を特定するためのツールがいくつか用意されています。より詳細な分析を行うには、Wireshark を使用してネットワークパケットをキャプチャできます。
Windows Server 2008 以降では、通常、組み込みのリソースモニターを使用して帯域幅を監視します。
-
タスクバーで [検索] をクリックし、「リソースモニター」と入力して Enter キーを押します。
-
リソースモニター ウィンドウで、過剰な帯域幅を消費しているプロセスを特定します。
[ネットワーク] タブを選択します。[ネットワーク活動のプロセス] パネルで、[送信 (B/秒)]、[受信 (B/秒)]、[合計 (B/秒)] の各列を確認し、異常な量の帯域幅を消費しているプロセスを特定します。
説明プロセスの詳細を表示するには、タスクマネージャーを使用します。タスクマネージャーの [プロセス] タブで、リソースモニターで特定した異常なプロセスを見つけます。プロセス名を右クリックし、[プロパティ]、[詳細へ移動]、または [ファイルの場所を開く] を選択します。この情報を使用して、プロセスが悪意のあるプログラムであるかどうかを判断します。
(オプション) TCPView を使用したネットワーク接続の確認
リソースモニターで帯域幅使用率の高いプロセスが表示されないにもかかわらず、全体の使用率が高いままである場合、原因はご利用のインスタンスにアクセスしている外部サービスである可能性が高いです。さらなる分析には、Microsoft の公式ツールである TCPView を使用します。TCPView は、ローカルアドレスとリモートアドレス、TCP 接続のステータスなど、システム上のすべての TCP および UDP ネットワーク接続の詳細なリストを提供します。
-
TCPView ツールをダウンロードして解凍します。
Microsoft の公式サイトから TCPView ツールをダウンロードし、パッケージを解凍します。
-
TCPView ツールをダブルクリックして開き、ネットワーク接続の詳細を表示します。
TCPView で、[送信パケット]、[受信パケット]、[送信バイト]、[受信バイト] の各列を使用して、各接続のパケットとバイトの統計情報を表示します。
これにより、123.xxx.xxx.74 などのどのリモートアドレスがインスタンスにデータを転送し、最も多くのネットワーク帯域幅リソースを消費しているかを確認できます。
(オプション) Wireshark を使用したトラフィック分析
トラフィックデータを詳細に分析するには、Wireshark を使用してネットワークパケットをキャプチャし、分析できます。
-
Wireshark をインストールして起動します。
Wireshark の公式サイトからインストールパッケージをダウンロードしてインストールします。
-
[キャプチャ]> [オプション] を選択します。
-
[Wireshark キャプチャオプション] ページで、インターフェイス名または IP アドレスに基づいてネットワークインターフェースを選択し、開始 をクリックします。

-
Wireshark のツールバーで、[統計]>[カンバセーション] を選択します。
-
[カンバセーション] ページには、すべてのネットワーク通信が表示されます。Wireshark は、データリンク、IP、TCP の各レイヤーでのトラフィック詳細 (両方のエンドポイントのトラフィックを含む) を提供します。時間をかけてパケットをキャプチャすることで、どの接続とポートが最も多くのトラフィックを消費しているかを特定するのに役立ちます。
カンバセーションテーブルには、[アドレス A]、[アドレス B]、[パケット]、[バイト]、[相対開始時刻]、[期間]、[bps A→B]、[bps A←B] などの列が含まれます。下部にある [ストリームを追跡] ボタンと [グラフ] ボタンを使用して、選択したカンバセーションのトラフィック傾向をさらに追跡および分析できます。
パケットをキャプチャして、ネットワークデータをさらに分析できます。詳細については、「Windows インスタンスで Wireshark ツールを使用する」をご参照ください。
帯域幅高使用率の解決
次の表に、ネットワーク帯域幅の高使用率の一般的な原因とその解決策を示します。
|
症状 |
原因 |
解決策 |
|
異常なユーザープログラムまたはプロセスが長期間にわたって過剰なネットワークリソースを消費しているか、不正な IP アドレスがサービスに悪意を持ってアクセスしているため、ネットワーク負荷が高くなっています。 |
プログラムまたはプロセスが異常であり、実行時に過剰なネットワークリソースを消費しています。 |
|
|
通常のユーザープログラムまたはプロセスが長期間にわたって過剰なネットワークリソースを消費しているか、特定の IP アドレスがサービスに頻繁にアクセスしているため、ネットワーク負荷が高くなっています。 |
プログラムは、実行時に過剰なネットワークリソースを消費する通常のビジネスプログラムまたはプロセスです。 |
頻繁なビジネスアクセスやネイティブの Windows サービス (更新など) により、ネットワークトラフィックと CPU 使用率が高くなることがあります。ご利用のインスタンスがネットワークパフォーマンスのボトルネックに達した場合は、次の戦略を検討してください。
|
|
単一のビジネスプログラムまたはプロセスが、時折、短時間かつまれにネットワークリソース使用量の急増を引き起こします。 |
ビジネスアプリケーションは、特定のシナリオ (大容量ファイルのアップロードやダウンロードなど) によってトリガーされる高いネットワーク消費を処理するために最適化が必要です。 |
ビジネスアプリケーションを最適化します。 コードの最適化や、接続数、キャッシュ設定、Web およびデータベースの設定などのアプリケーション設定パラメーターの調整を検討してください。 |
|
単一のプログラムやプロセスが過剰なネットワークリソースを消費しているわけではないが、全体的なネットワーク負荷が高い。 |
インスタンス上のサービスに必要なネットワークリソースが、インスタンスの帯域幅を超えています。 |
インスタンスがネットワークパフォーマンスのボトルネックに達した場合は、帯域幅をアップグレード (スペックアップ) できます。詳細については、「インスタンスの帯域幅構成の変更」をご参照ください。 説明
インスタンスの最大帯域幅でもビジネスニーズに不十分な場合は、アプリケーションを分離し、異なるサービスを別々のサーバーでホストすることを検討してください。たとえば、RDS を使用してデータベースサービスをホストすることで、ECS インスタンスのリソース消費と内部呼び出しを削減できます。 |
参考資料
-
Linux システムにおけるネットワーク帯域幅の高使用率のトラブルシューティングと解決方法については、「Linux インスタンスにおけるネットワーク帯域幅の高使用率のトラブルシューティングと解決」をご参照ください。
-
異常分析のためにネットワークメトリックを収集する必要がある場合は、atop ツールを使用できます。詳細については、「atop ツールを使用した Linux システムメトリックの監視」をご参照ください。