Amazon VPCで新旧ルータ対決! YAMAHA編

記事タイトルとURLをコピーする
みなさん、こんにちは
AWSチームの宮澤です。
今回、社内にYAMAHAの新型ルータRTX810がついに導入されましたので、以前利用していたRTX1500と比較検証を行いたいと思います。
今回の検証はAmazon VPCとのVPN速度測定を行い、その比較をしたいと思います。

1.目的

では、改めて目的です。
先ほども書きましたが、社内にYAMAHAの新しいルータRTX810が登場しました。そこで、交換前の機種であるRTX1500との機能を比較したいと思います。
YAMAHAの情報によると、Gigabitに対応、さらにVPNのスループットが最大200Mbpsに強化されているとのことでした。
そのため、今回はVPNの速度の比較として、VPCインスタンスとのスループットを比較し、どの程度差が現れるのかを確かめたいと思います。

2.使用機材

  • NTT東日本フレッツ光回線
  • YAMAHA RTX810
  • YAMAHA RTX1500
  • VPC上にAmazonLinuxインスタンス
  • 社内のUbuntuマシン

3.環境設定

  1. VPCを準備する
  2. 今回の比較検証では以下の図のような構成でVPCを構築します。
    以下の構成は最もオーソドックスな構成で、会社(データセンター)とAWSをIPSecVPNで接続するという構成です。
  3. YAMAHAルータの設定
  4. YAMAHAルータの設定はYAMAHAの公式ページのAmazon VPC 設定例を参考にして設定を行います。
    VPC(IPSec)を設定する場合は、Pingに以下のオプションを用いてMTU、MSSのサイズを調査し、設定を行います。
    オプション名説明
    -fIPフラグメントを禁止する
    -lパケットのデータサイズを指定する(デフォルトは32byte)
    -n指定した秒数ごとに結果を表示する
    以下の実行結果では1333バイトのデータは送れないが、1332バイトのデータが送れるということがわかりました。
    ちなみに、MTUとMSSは以下のような関係となっています。
    MTU=Pingで分かったbyte数+IPヘッダ(20byte)+ICMPヘッダ(8byte)
    MSS=MTU-TCP/IPヘッダ(40byte)
    
    そのため、今回のMSSは"1320"となるので、VPCのTunelの設定は"ip tunnel tcp mss limit 1320"と設定します。
    以下に今回使用したルータの設定内容を記述します。
    YAMAHAルータの設定内容
    #PPPoEの設定
    ip route default gateway pp 1
    ip lan1 address 192.168.44.254/24
    pp select 1
     pp always-on on
     pppoe use lan2
     pppoe auto connect on
     pp auth accept pap chap
     pp auth myname xxxxx@yyy.zz.jp ********
     ppp lcp mru on 1454
     ppp ipcp ipaddress on
     ppp ipcp msext on
     ppp ccp type none
     ip pp nat descriptor 1
    pp enable 1
    
    #1つ目のIPSecのトンネル設定
    tunnel select 1
     ipsec tunnel 201
      ipsec sa policy 201 1 esp aes-cbc sha-hmac
      ipsec ike duration ipsec-sa 1 3600
      ipsec ike encryption 1 aes-cbc
      ipsec ike group 1 modp1024
      ipsec ike hash 1 sha
      ipsec ike keepalive use 1 on dpd 10 3
      ipsec ike local address 1 192.168.44.254
      ipsec ike pfs 1 on
      ipsec ike pre-shared-key 1 text **********
      ipsec ike remote address 1 27.0.1.16
      ipsec tunnel outer df-bit clear
      ip tunnel address 169.254.252.18/30
      ip tunnel remote address 169.254.252.17
      ip tunnel tcp mss limit 1320
    tunnel enable 1
    
    #2つ目のIPSecトンネルの設定
    tunnel select 2
     ipsec tunnel 202
      ipsec sa policy 202 2 esp aes-cbc sha-hmac
      ipsec ike duration ipsec-sa 2 3600
      ipsec ike encryption 2 aes-cbc
      ipsec ike group 2 modp1024
      ipsec ike hash 2 sha
      ipsec ike keepalive use 2 on dpd 10 3
      ipsec ike local address 2 192.168.44.254
      ipsec ike pfs 2 on
      ipsec ike pre-shared-key 2 text **********
      ipsec ike remote address 2 27.0.1.144
      ipsec tunnel outer df-bit clear
      ip tunnel address 169.254.252.22/30
      ip tunnel remote address 169.254.252.21
      ip tunnel tcp mss limit 1320
    tunnel enable 2
    
    #NATの設定
    nat descriptor type 1 masquerade
    nat descriptor masquerade static 1 1 192.168.44.254 esp
    nat descriptor masquerade static 1 2 192.168.44.254 udp 500
    
    #BGPの設定
    bgp use on
    bgp autonomous-system 65000
    bgp neighbor 1 10124 169.254.252.17 hold-time=30 local-address=169.254.252.18
    bgp neighbor 2 10124 169.254.252.21 hold-time=30 local-address=169.254.252.22
    bgp import filter 1 equal 0.0.0.0/0
    bgp import 10124 static filter 1
    
    #汎用的な設定
    ipsec use on
    ipsec auto refresh on
    tftp host any
    dhcp service server
    dhcp scope 1 192.168.44.2-192.168.44.20/24
    dns server pp 1
    dns private address spoof on
    httpd service on
    httpd host any
    
  5. iperfのインストール
  6. 今回は"iperf"を利用して測定を行います。iperfはネットワークのスループットを測定するためのツールです。ネットワークを利用してマシンのメモリ間のデータ転送を行うため、ディスクのボトルネックを考えずにスループットを測定できます。
    <Linuxの場合>
    ubuntuでは以下のコマンドで簡単にインストールできます。
    root@ubuntu:~# apt-get install iperf
    AmazonLinuxでは以下のようにインストールを行います。
    # wget ftp://ftp.univie.ac.at/systems/linux/dag/redhat/el5/en/i386/dag/RPMS/iperf-2.0.4-1.el5.rf.i386.rpm
    # rpm -ivh iperf-2.0.4-1.el5.rf.i386.rpm
    <Windowsの場合>
    windowsでiperfを利用する場合はセントラルフロリダ大学のページから"iperf.exe"をダウンロードを行い、
    コマンドプロンプトのホームディレクトリ配置することで利用できます。
  7. iperfの使い方
  8. iperfコマンドの使い方はサーバーモードとクライアントモードの二つがあります。
    iperfコマンドの後に各オプションをつけることで使い分けることができます。
    例えば、クライアントモードの場合は-cオプションの後に宛先IPアドレスを入力するという使い方です。
    オプション名説明
    -cクライアントモードで起動する
    -sサーバーモードで起動する
    -i指定した秒数ごとに結果を表示する
    -uUDPモードで動作させる
    -p使用するポート番号を指定する
    -wウィンドウサイズを指定する
    -t指定した秒数だけ送受信する
    ※-tはクライアントモードのみ、指定しない場合は10秒
    <使用例1>
    オプション無しで実行する
    <使用例2>
    一秒ごとに送受信結果を表示するオプションを付けて実行する

4.スループット測定結果

先ほどの使用例2のように1秒ごとに結果を表示する方法で計測を行い、グラフ化します。また、今回の計測は"ローカルマシン⇒VPCインスタンス"、"VPCインスタンス⇒ローカルマシン"のように上り下りともに測定を行います。

  • ローカルマシン⇒VPCインスタンス(上り)
  • VPCインスタンス⇒ローカルマシン(下り)
  • 何度か計測を行った結果、上りに関しては平均速度に大きな差はありませんでしたが、RTX810では安定した速度が出ていました。
    一方、下りの速度は平均値で約50Mbit/secという大きな差がが現れました。やはり、RTX810ではVPNのスループット速度が強化されているということもあって、かなり高い値で安定していることがわかりました。

    5.まとめ

    検証を行った結果、RTX810は速度が速く、安定してVPCと通信を行うことができるということがわかりました。
    そのため、社内システムの運用をVPCで行うことも、不便なく利用できると思います。
    また、Amazon VPCは、どんどん新機能が追加され、RDSも利用可能になりました。導入を検討している方は是非、導入していただきたいです。
    なお、当社ではAmazon VPC スターターパックを提供しておりますので、興味がある方はぜひご覧いただければと思います。