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

Elastic Compute Service:ネットワークパケット損失ドリル

最終更新日:Apr 22, 2025

ネットワークパケット損失は、一般的なネットワーク障害です。ネットワークの輻輳、ハードウェアの障害、リンクの干渉、その他の状況がネットワークパケット損失を引き起こす可能性があります。このドリルシナリオでは、ネットワークパケット損失が発生した場合のシステムアラートと回復を確認します。

制限事項

このドリルシナリオでは、tc トラフィックコントロール(TC)ユーティリティとその依存カーネルネットワークエミュレータ(NetEm)コンポーネントが必要です。

  • システムに tc ユーティリティがない場合は、sudo yum install -y iproute-tc または sudo apt-get install -y iproute2 コマンドを実行してインストールするか、ACS-ECS-NetDelay プラグインを実行するときに関連パラメーターを指定して自動的にインストールします。

  • CentOS など、システムカーネルに NetEm コンポーネントがない場合は、sudo yum install kernel-modules-extra コマンドを実行してコンポーネントパッケージをインストールし、システムを再起動します。

    警告

    kernel-modules-extra パッケージをインストールするとカーネルバージョンが変更されることに注意してください。慎重に行ってください。他のオペレーティングシステムを実行している Elastic Compute Service (ECS) インスタンスを使用してドリルを実行することをお勧めします。

実装

このソリューションでは、クラウドアシスタントプラグイン ACS-ECS-NetLoss を使用します。これは、tc ユーティリティと netem コンポーネントを使用してネットワークインターフェースカードに特定のルールを追加し、Linux カーネルの TC を実装します。このプラグインは、すべての IP アドレスをグローバルに制限することも、単一の IP アドレスをターゲットにすることもできます。クラウドアシスタントネットワークセグメント 100.100.0.0/16 は影響を受けません。

ユーザーガイド

前提条件

障害の挿入

  1. sudo 権限を持つユーザーとして ECS インスタンスにログオンします。

    詳細については、「Workbench を使用して SSH 経由で Linux インスタンスに接続する」をご参照ください。

  2. クラウドアシスタントプラグイン ACS-ECS-NetLoss を実行します。

    sudo acs-plugin-manager --exec --plugin ACS-ECS-NetLoss --params inject,dev=eth0,[rate=paramA],[target-ip=paramB],[replace=paramC],[duration=paramD],[install-tc=paramF]

    [] 内のパラメーターは、オプションの障害挿入パラメーターです。次のパラメーターの説明を参照してください。

    • dev(必須): 障害を挿入するネットワークインターフェースカード(例: eth0)。ifconfig を使用して、現在のシステムのネットワークインターフェースカードを表示できます。

    • rate(オプション): パケット損失率。デフォルトは 10 (%) です。

    • target-ip(オプション): 影響を受けることが予想されるターゲット IP アドレス。デフォルトは空で、すべて IP アドレスにパケット損失ルールが追加されることを示します。ターゲット IP アドレスが指定されている場合は、その IP アドレスのみが影響を受けます。

    • replace(オプション): ネットワークインターフェースカードに既に TC ルールが設定されている場合、競合が発生するため挿入は失敗します。既存のルールを上書きする場合は、この値を true に設定します。

    • duration(オプション): 秒単位の期間。デフォルトは 300 です。

    • install-tc(オプション): システムに tc ユーティリティがない場合は、このパラメーターを true に設定して自動インストールできます。デフォルトは false です。

      次のコマンド出力は、クラウドアシスタントプラグイン ACS-ECS-NetLoss が正常に実行されたことを示しています。

      image

  3. 障害の挿入が成功したかどうかを確認します。

    ターゲットネットワークに ping を実行して、ネットワークパケット損失の状況を確認します。下の図に示すように、ネットワークパケット損失が発生しており、平均パケット損失は約 44 % です。

    image

障害の回復

  • 方法 1: タイムアウト後に自動回復を待ちます。

  • 方法 2: 次の障害回復コマンドを実行します。

    sudo acs-plugin-manager --exec --plugin ACS-ECS-NetLoss --params recover