Lightsail – Virginia/Tokyo リージョンの地理的な違いを考察してみた
はじめに
昨日(5/31)に AWS ブログで発表があったとおり、Amazon Lightsail が 東京リージョンにやってきました。
弊社のブログ記事では恒例、検証記事が早々にリリースされております。
そこで、一歩踏み込んで Virginia/Tokyo リージョンの地理的な違いによる ネットワーク性能差について、さらっと確認してみました。
検証環境について
以下、検証時の機材や環境に関する情報です。
- Macbook Pro 2015(macOS Sierra 10.12.5)
- Buffalo LUA4-U3-AGT (USB 3.0 有線LANアダプター)
- CAT.5E Lan ケーブル
- Aterm WR9300N (有線LAN:1000BASE-T)
- eo光ネット【ホームタイプ】100Mコース
今回は、TCP でのネットワーク性能差を確認するために iperf3 を利用します。iperf3 については、以下を参照ください。
Amazon Lightsail を用意する
Virginia と Tokyo リージョン の Lightsail インスタンスを用意します。 まずは、下記のページへアクセスしてください。
AWS アカウントでのログイン後、Create instance からインスタンスの作成を始めます。
次に、Instance location から Change Region and zone を選択します。
日の丸のアイコン Tokyo ap-northeast-1 を選択することで Tokyo リージョン の Lightsail インスタンスが利用できます。
次に、お好みの instance image を選択します。(ここでは、筆者の趣味により OS Only - Ubuntu 16.04 LTS を選択しました)
後は、プランを選択し Create をクリックするだけで起動します。(ここでは、$5 プランを選択しました)
インスタンス作成後は、こんな感じです。
同じように、Virginia リージョン の Lightsail インスタンスを用意します。
デフォルト設定で、インバウンド側の TCP/22(SSH)および TCP/80(HTTP)が開放されております。
ブラウザから、インスタンスのコンソールへ接続するためハンバーガーメニューの Connect をクリックします。
ブラウザ上に、コンソール画面が表示されます。
これで、Lightsail インスタンスの準備は完了です。
iperf3 のインストール
macOS 環境でのインストール手順は、以下のとおりです。
$ brew install iperf3
次に、Lightsail インスタンス側で iperf3 をインストールします。 (Virginia/Tokyo リージョンそれぞれの Lightsail インスタンスで実行しました)
ubuntu@ip-172-26-9-172:~$ sudo apt-get install -y iperf3 Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: libiperf0 The following NEW packages will be installed: iperf3 libiperf0 0 upgraded, 2 newly installed, 0 to remove and 33 not upgraded. Need to get 58.5 kB of archives. After this operation, 238 kB of additional disk space will be used. Get:1 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial/universe amd64 libiperf0 amd64 3.0.11-1 [50.4 kB] Get:2 http://ap-northeast-1.ec2.archive.ubuntu.com/ubuntu xenial/universe amd64 iperf3 amd64 3.0.11-1 [8,090 B] Fetched 58.5 kB in 1s (57.8 kB/s) Selecting previously unselected package libiperf0:amd64. (Reading database ... 76561 files and directories currently installed.) Preparing to unpack .../libiperf0_3.0.11-1_amd64.deb ... Unpacking libiperf0:amd64 (3.0.11-1) ... Selecting previously unselected package iperf3. Preparing to unpack .../iperf3_3.0.11-1_amd64.deb ... Unpacking iperf3 (3.0.11-1) ... Processing triggers for man-db (2.7.5-1) ... Setting up libiperf0:amd64 (3.0.11-1) ... Setting up iperf3 (3.0.11-1) ... Processing triggers for libc-bin (2.23-0ubuntu7) ...
以下のとおり、iperf3 server 側では TCP/80 で待ち受けておきます。
ubuntu@ip-172-26-9-172:~$ sudo iperf3 -p 80 -s ----------------------------------------------------------- Server listening on 80 -----------------------------------------------------------
それでは、準備が整ったので検証しましょう。
検証
事前の準備として、各環境変数へ Lightsail インスタンスの パブリックIP を入れておきました。
$ export Virginia_Instance_Ip='Virginia Lightsail Instance のパブリックIP' $ export Tokyo_Instance_Ip='Tokyo Lightsail Instance のパブリックIP'
本検証では、TCP/80 を利用してテストを実施します。 実行時のコマンドラインは、以下のとおりです。
$ iperf3 -c <iperf3 Server IP> -p 80 -O 1
まずは、Tokyo リージョンで動作している Lightsail インスタンス への TCP ネットワーク性能を測定してみます。
~ $ iperf3 -c $Tokyo_Instance_Ip -p 80 -O 1 Connecting to host ***.***.***.***, port 80 [ 4] local 127.0.0.1 port 57762 connected to 52.69.50.187 port 80 [ ID] Interval Transfer Bandwidth [ 4] 0.00-1.00 sec 3.20 MBytes 26.8 Mbits/sec (omitted) [ 4] 0.00-1.00 sec 2.74 MBytes 23.0 Mbits/sec [ 4] 1.00-2.00 sec 2.49 MBytes 20.8 Mbits/sec [ 4] 2.00-3.00 sec 2.74 MBytes 23.0 Mbits/sec [ 4] 3.00-4.00 sec 2.99 MBytes 25.2 Mbits/sec [ 4] 4.00-5.00 sec 3.24 MBytes 27.2 Mbits/sec [ 4] 5.00-6.00 sec 4.49 MBytes 37.5 Mbits/sec [ 4] 6.00-7.00 sec 6.23 MBytes 52.3 Mbits/sec [ 4] 7.00-8.00 sec 8.72 MBytes 73.2 Mbits/sec [ 4] 8.00-9.00 sec 9.97 MBytes 83.6 Mbits/sec [ 4] 9.00-10.00 sec 9.72 MBytes 81.9 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bandwidth [ 4] 0.00-10.00 sec 53.3 MBytes 44.8 Mbits/sec sender [ 4] 0.00-10.00 sec 53.2 MBytes 44.7 Mbits/sec receiver iperf Done. ~ $
帯域幅(Bandwidth)を確認する限り、おおよそ 5.5MB/sec 程度の転送レートですね。
次に Virginia リージョンで動作している Lightsail インスタンスへの TCP ネットワーク性能を測定してみます。
~ $ iperf3 -c $Virginia_Instance_Ip -p 80 -O 1 Connecting to host ***.***.***.***, port 80 [ 4] local 127.0.0.1 port 57754 connected to 54.175.234.5 port 80 [ ID] Interval Transfer Bandwidth [ 4] 0.00-1.00 sec 934 KBytes 7.64 Mbits/sec (omitted) [ 4] 0.00-1.00 sec 287 KBytes 2.35 Mbits/sec [ 4] 1.00-2.00 sec 255 KBytes 2.10 Mbits/sec [ 4] 2.00-3.01 sec 255 KBytes 2.08 Mbits/sec [ 4] 3.01-4.00 sec 255 KBytes 2.10 Mbits/sec [ 4] 4.00-5.00 sec 0.00 Bytes 0.00 bits/sec [ 4] 5.00-6.00 sec 255 KBytes 2.09 Mbits/sec [ 4] 6.00-7.00 sec 255 KBytes 2.09 Mbits/sec [ 4] 7.00-8.00 sec 255 KBytes 2.09 Mbits/sec [ 4] 8.00-9.00 sec 255 KBytes 2.09 Mbits/sec [ 4] 9.00-10.00 sec 255 KBytes 2.09 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bandwidth [ 4] 0.00-10.00 sec 2.27 MBytes 1.91 Mbits/sec sender [ 4] 0.00-10.00 sec 2.14 MBytes 1.79 Mbits/sec receiver iperf Done. ~ $
帯域幅(Bandwidth)を確認する限り、おおよそ 0.2〜3 MB/sec 程度の転送レートでした。
純粋に比較すると、20~30倍程度 Tokyo リージョンの方が 地理的に近いことから、秒間の転送レートが高いですね。
最後に
今回の検証結果は、私の環境で採取した際のデータに基いた考察であり 環境や条件が異なる場合に同様のデータが採取できる事を保証するものではありませんので、 予めご了承願います。
しかしながら、日本からみて地理的に遠く離れた Virginia リージョンのインスタンスを利用するよりも 東京リージョンのインスタンスを利用した方が、ネットワークの遅延は当然少なくなります。
Amazon Lightsail のユースケースだと、ブログサービスの運用などが 多いものと考えておりますが、そのサービスの対象者が日本に住むユーザーが多いのであれば、 東京リージョンで Lightsail インスタンスを利用することによる恩恵は大きいのではないかと感じました。
まとめ
当然ですが、サービスのターゲットユーザに合わせて適切なリージョンを選択する必要があると思います。 Amazon Lightsail を利用する際に、使用可能なリージョンが拡充されることは利用者にとって、 喜ばしいメリットだと思います。
本記事を読まれた読者の方が、Amazon Lightsail に対して少しでも 興味や関心を抱かれたのであれば幸いです。 これを期に、Amazon Lightsail を利用してみてはいかがでしょうか。
ではでは