同じ VPC 内にある Amazon Elastic Compute Cloud (Amazon EC2) Linux インスタンス間のネットワーク帯域幅を測定する必要があります。その方法を教えてください。

次の例は、同じ VPC 内にある EC2 インスタンス間にのみ該当します。Amazon EC2 ネットワークパフォーマンスに影響を与える可能性がある要因を以下にいくつか示します。

  • EC2 インスタンス間の物理的な近さ。 同じアベイラビリティーゾーン内にあるインスタンス相互は地理的に最も近接しています。同じリージョンの異なるアベイラビリティーゾーン、同じ大陸の異なるリージョン、異なる大陸の異なるリージョンの順にインスタンス相互間の距離は遠くなります。
  • EC2 インスタンスの最大送信単位 (MTU)。 EC2 インスタンスのデフォルトのインターフェイス設定では、インスタンスサイズが Jumbo Frames (9001 MTU) に一覧表示されているサイズのいずれかである場合、ジャンボフレームを使用します。
  • EC2 インスタンスのサイズ。 通常、同じインスタンスタイプ内では、サイズが大きいインスタンスほどネットワークパフォーマンスが高くなります。
  • Linux での EC2 拡張ネットワーキングのサポート (T2 および M3 インスタンスタイプを除く)。
  • プレイスメントグループを使用した EC2 ハイパフォーマンスコンピューティング (HPC) のサポート。 HPC は、完全な 2 分割帯域幅と低レイテンシーを特徴とし、インスタンスタイプに応じて最大 25 ギガビットのネットワーク速度をサポートします。各インスタンスタイプのネットワークパフォーマンスを確認するには、「インスタンスタイプのマトリックス」を参照してください。詳細については、「プレイスメントグループでのインスタンスの起動」を参照してください。

以上の要因のため、クラウド環境間のネットワークパフォーマンスは大きく異なる場合があります。ベストプラクティスとして、アプリケーションのパフォーマンスを向上させるために、使用環境のネットワークパフォーマンスを定期的に評価および測定することをお勧めします。ネットワークパフォーマンスをテストすることで、ニーズに最適な EC2 インスタンスのタイプ、サイズ、および設定を決定するための重要な洞察を得られる場合があります。

ベンチマークテストを開始する前に、Linux EC2 インスタンスを起動して設定する

  1. ネットワークパフォーマンステストを実行する 2 つの Linux インスタンスを起動します。
  2. 両方のインスタンスが Linux の拡張ネットワーキングをサポートし、同じ VPC 内に存在していることを確認します。
  3. (オプション) 異なるプレイスメントグループに存在するか、ジャンボフレームをサポートしていないインスタンス間でネットワークテストを実施する場合は、「EC2 インスタンスの最大ネットワーク送信単位 (MTU)」のステップに従ってインスタンスの MTU を確認して設定します。
  4. 各インスタンスに接続し、インスタンスにアクセスできることを確認します。

Amazon Linux などのディストリビューションによっては、iperf3 が EPEL リポジトリの一部になっています。EPEL リポジトリを有効にするには、「CentOS、RHEL、または Amazon Linux が実行されている Amazon EC2 インスタンスに対して EPEL リポジトリを有効にする方法を教えてください」を参照してください。

Linux インスタンスに接続し、以下のコマンドを実行して iperf3 をインストールします。

RHEL 6 Linux ホストに iperf3 をインストールするには、以下のようなコマンドを実行します。

# yum -y install  https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm  && yum -y install iperf3

RHEL 7 Linux ホストに iperf3 をインストールするには、以下のようなコマンドを実行します。

# yum -y install  https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm  && yum -y install iperf3

Debian/Ubuntu ホストに iperf3 をインストールするには、以下のようなコマンドを実行します。

# apt-get install -y iperf3

CentOS6/7 ホストに iperf3 をインストールするには、以下のようなコマンドを実行します。

# yum -y install epel-release && yum -y install iperf3

TCP パフォーマンスのテストで iperf3 が通信に使用するのはデフォルトポート 5201 です。ただし、使用するポートは -p スイッチを使用して設定できます。iperf3 の使用ポートで通信を許可するようにセキュリティグループが設定されていることを確認します。

1 つのインスタンスは、デフォルトポートでリッスンするサーバーとして設定します (別のリスナーポートを指定する場合は -p スイッチを使用します)。

$ sudo iperf3 -s [-p <port number>]

別のインスタンスはクライアントとして設定し、必要なパラメータを指定してサーバーに対してテストを実行します。たとえば、次のコマンドでは 10 個の並列接続を使用するサーバーインスタンスを指定し、これに対して TCP テストを開始します。

$ sudo iperf3 -c 192.0.2.0 -P 10 -i 1 -t 60 -V [-p <port number>]

これらの iperf3 パラメータを指定すると、出力には、間隔 (60 秒)、データ転送量、利用帯域幅がスレッド別に表示されます。以下に示す iperf3 出力は、同じプレイスメントグループに共存し、HPC をサポートする 2 つ c4.8xlarge EC2 Linux インスタンスのテスト結果です。ここでは見やすくするために -t パラメータを -t 60 から -t 2 に変更し、-P 10 を -P 2 に変更しています。すべての接続で利用された帯域幅の合計は 9.6 ギガビット/秒でした。

Output:
$ iperf3 -c 192.0.2.0 -t 2 -i 1 -P 2 -R
Connecting to host 192.0.2.0, port 5201
Reverse mode, remote host 192.0.2.0 is sending
[  4] local 198.51.100.0 port 47122 connected to 192.0.2.0 port 5201
[  6] local 198.51.100.0 port 47124 connected to 192.0.2.0 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec   572 MBytes  4.80 Gbits/sec
[  6]   0.00-1.00   sec   572 MBytes  4.80 Gbits/sec
[SUM]   0.00-1.00   sec  1.12 GBytes  9.60 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[  4]   1.00-2.00   sec   573 MBytes  4.80 Gbits/sec
[  6]   1.00-2.00   sec   573 MBytes  4.80 Gbits/sec
[SUM]   1.00-2.00   sec  1.12 GBytes  9.61 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-2.00   sec  1.12 GBytes  4.82 Gbits/sec    0             sender
[  4]   0.00-2.00   sec  1.12 GBytes  4.81 Gbits/sec                  receiver
[  6]   0.00-2.00   sec  1.12 GBytes  4.81 Gbits/sec    0             sender
[  6]   0.00-2.00   sec  1.12 GBytes  4.81 Gbits/sec                  receiver
[SUM]   0.00-2.00   sec  2.24 GBytes  9.63 Gbits/sec    0             sender
[SUM]   0.00-2.00   sec  2.24 GBytes  9.63 Gbits/sec                  receiver

iperf Done.

UDP パフォーマンスのテストで iperf3 が通信に使用するのはデフォルトポート 5201 です。ただし、使用するポートは -p スイッチを使用して設定できます。iperf3 の使用ポートで通信を許可するようにセキュリティグループが設定されていることを確認します。

注意: 別の帯域幅を指定しない限り、UDP のデフォルトは 1 メガビット/秒です。

まず、1 つのインスタンスをデフォルトポートでリッスンするサーバーとして設定します (別のリスナーポートを指定する場合は -p スイッチを使用します)。

$ sudo iperf3 -s [-p <port number>]

次に、別のインスタンスをクライアントとして設定し、必要なパラメータを指定してサーバーに対してテストを実行します。たとえば、次のコマンドでは、使用ポートで 100 メガビット/秒の帯域幅を目標とするサーバーインスタンスを指定し、このインスタンスに対して UDP テストを開始します。

$ sudo iperf3 -c 10.0.2.176 [-p <port number>] -u -b 100m

出力には、間隔 (時間)、データ転送量、達成帯域幅、ジッター (データグラムの定期的な到着時間のずれ)、UDP データグラムの損失/合計が示されます。

[ ID] Interval        Transfer     Bandwidth       Jitter    Lost/Total Datagrams
[  3]  0.0-10.0 sec   120 MBytes   101 Mbits/sec  ; 0.005 ms  0/85470 (0%)
[  3]  0.0-10.0 sec   1 datagrams received out-of-order
[  3] Sent 15113 datagrams

このページは役に立ちましたか? はい | いいえ

AWS サポート ナレッジ センターに戻る

サポートが必要ですか? AWS サポートセンターをご覧ください。

公開日: 2015-08-06

更新日: 2018-08-20