iperfを利用して東京〜USリージョン間のEC2ネットワークスループットを計測してみた
米国リージョンは、政府用を除くと、下記の4つがあります。(2018年8月現在)
- us-east-1: 米国東部(バージニア北部)
- us-east-2: 米国東部 (オハイオ)
- us-west-1: 米国西部 (北カリフォルニア)
- us-west-2: 米国西部 (オレゴン)
東京リージョンEC2から各リージョンEC2へ、どの程度のネットワークスループットがあるのか?
気になったので計測してみました。
計測にはオープンソースのiperf(アイパーフ)を利用し、EC2はAmazon Linux2
を選択しました。
EC2
各リージョンにEC2インスタンスを作成します。
- AMIの選択
- Amazon Linux2
- インスタンスタイプの選択
- t2.micro
- インスタンスの設定
- ネットワーク: デフォルトVPC
- サブネット: 優先順位なし(AZのデフォルトサブネット)
- セキュリティグループの設定
- インバウンド1行目(サーバー側の場合)
- タイプ: カスタムTCPルール
- ポート範囲: 5001
- ソース: 任意の場所
- インバウンド2行目
- タイプ: SSH
- ポート範囲: 22
- ソース: 任意の場所
- インバウンド1行目(サーバー側の場合)
iperf
インストール
Amazon Linux2にEPELリポジトリを追加してからインストールします。
sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm sudo yum install -y iperf
サーバー側(米国リージョン)
オプション-s
を付けてリッスン状態にします。
デフォルトではTCP 5001番を利用します。
$ iperf -s ------------------------------------------------------------ Server listening on TCP port 5001 TCP window size: xx.x KByte (default) ------------------------------------------------------------
クライアント側(東京リージョン)
サーバー側をリッスン状態にした後に、クライアント側からコマンドを叩きます。
オプションは-c
で、サーバー側のIPアドレスを指定します。
$ iperf -c xxx.xxxx.xxx.xxx(サーバー側のIPアドレス)
接続出来ない場合は、サーバー側のTCP 5001番(デフォルト)が利用出来るか、セキュリティグループ、ネットワークACLを見直してください。
計測結果
参考にシンガポールも計測しました。
それぞれ10回計測し、上位2値と下位2値を取り除いた値の平均値を取っています。
計測値は時間帯やAZ、経路など、状況によって変わるため、参考程度に見てください。
リージョン | AZ | Mbits/sec |
---|---|---|
バージニア北部 | us-east-1b | 68.82 |
オハイオ | us-east-2b | 73.42 |
北カルフォルニア | us-west-1b | 108.66 |
オレゴン | us-west-2b | 111.8 |
シンガポール | ap-southeast-1b | 160.5 |