技術ブログ - 毎日が成長!

‘EC2’ タグのついている投稿

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

2012年1月27日 by miyazawa

みなさん、こんにちは
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 スターターパックを提供しておりますので、興味がある方はぜひご覧いただければと思います。

     

    Windows AMIコピーの資料を公開しました。

    このエントリーをはてなブックマークに追加
    2012年1月19日 by yanase

    こんにちは、AWSチームの柳瀬です。

    先日cloudpackさんが主催された勉強会cloudpack Night#1に参加しました。
    私はCloudwokrsでリリース予定となっているWindows AMIコピーの動作を解説させて頂いたので、当日の資料を公開させて頂きます。

    20120113cloudpack night1
    View more presentations from Serverworks

    次回の開催は未定のようですが、楽しみにしております!

     

    FMS on AWSを動かしてみる。

    このエントリーをはてなブックマークに追加
    2011年11月21日 by t.chiba

    on

    はじめまして、開発担当の千葉です。

    Adobe社がモバイル向け「FlashPlayer」の開発中止を発表した矢先ですが
    空気を読まずにFlashネタを投稿させて頂きます。
    (モバイル版Flashについては、カスリもしないので悪しからず)

    今回は、EC2上にビデオ・オン・デマンド環境を構築してみたいと思います。
    「メディアサーバ」には「Flash Media Server(以下、FMS)」を利用します。

    これまで、『Flash Media Serverは非常に高価』と言われてきました。
    その為、LGPLライセンスで提供されてる「FMS」のクローンである
    「red5」が採用されるシーンを多く見聞きしてきました。

    「red5」を提案する際のイメージは、こんな具合かな?


    でも、実際は「red5」ではサーバサイドとクライアントサイドで開発言語が違っていたり
    RTMPEに未対応だったりと、すこしカユいところがありました。

    そんな中、2011年04月に東京リージョンでも「FMS」がプリインストールされた
    AMIが利用可能となりました。「Adobe Flash Media Server on Amazon Web Services

    これにより、イニシャルコストはサブスクライブ代金の500円のみで
    『インストールの手間なし』+『従量課金』で「FMS」を利用することが可能となりました。
    これからは「FMS」が採用されるシーンが”ぐ”っと増えていくのではないかなと思います。

    それでは、さっそく環境を構築して動作検証したいと思います。

    1. サブスクライブ

    以下のページにて「Subscribe now>」をクリックして
    クレジットカード情報を入力してサブスクライブしてください。


    2. インスタンスの起動

    インスタンスは、投稿時の最新版である、AMI ID「ami-bcd366bd」を選択しました。
    Instance Typeは、動作検証が目的なので最小構成である「large」とします。
    (large以下は選択できません)

    3. Security Groupの設定

    以下の接続を許可します、詳細はリンクを参照してください。
    「FMS」が使用するポートについて

    tcp

    • 22
    • 80
    • 443
    • 1111
    • 1935
    • 8134

    udp

    • 1935
    • 19350-65535

    4, sshでの接続

    まずは、sshでログインします。

    $ ssh -i ~/.ssh/example.pem root@ec2-xxx-xxx-xxx-xxx.ap-northeast-1.compute.amazonaws.com
    Last login: Wed mm dd hh:mi:ss yyyy from xxx.xxx.xxx.xxx
           ___     _       _
          /   |   | |     | |
         / /| | __| | ___ | |__   ___
        / /_| |/ _  |/ _ \|  _ \ / _ \
       / ___  | (_| | (_) | |_) |  __/
      /_/   |_|\__,_|\___/|____/ \___|
      Revolutionize Interactive Media Experiences
    
      Adobe Systems Incorporated
      Adobe Flash Media Server on Amazon Web Services
      Version: 4,0,3,8001             AMI Version: r1
    
      Product Information: http://www.adobe.com/go/fmsaws
      Support Forums: http://forums.adobe.com/community/flash/flash_media_server
      Paid Product Support: http://www.adobe.com/support/flashmediaserver/
    
    [root@ip-xxx-xxx-xxx-xxx ~]#

    5. 時刻の設定

    [root@ip-xxx-xxx-xxx-xxx ~]# cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

    6. 動画コンテンツ等の設置ディレクトリ変更

    このままでも利用できるのですが、動画ファイル・ログファイル等はEBSに設置し
    可用性を高めたいと思います。

    6-1. fmsの停止

    [root@ip-xxx-xxx-xxx-xxx ~]# /etc/init.d/fms stop

    6-2. EBS Volumeの作成

    以下の手順で、EBS Volumeを作成します。
    [AWS Management Console] -> [EC2] -> [ELASTIC BLOCK STORE:Volumes] -> [Create Volume]

    6-3. EBS VolumeのAttach

    作成したEBS VolumeをFMSサーバの「/dev/sdf」に設置します。

    6-4. EBS Volumeのファイルシステム作成、マウント

    [root@ip-xxx-xxx-xxx-xxx ~]# mkfs -t ext3 /dev/sdf
    [root@ip-xxx-xxx-xxx-xxx ~]# mkdir /mnt/ebs
    [root@ip-xxx-xxx-xxx-xxx ~]# mount /dev/sdf /mnt/ebs

    6-5. applicationsディレクトリの移動

    [root@ip-xxx-xxx-xxx-xxx ~]# mv /mnt/applications /mnt/ebs/applications

    【設定ファイルの修正】/opt/adobe/fms/conf/fms.ini

    LIVE_DIR = /mnt/applications/live
    VOD_DIR = /mnt/applications/vod/media
    VHOST.APPSDIR = /mnt/applications
    ↓
    LIVE_DIR = /mnt/ebs/applications/live
    VOD_DIR = /mnt/ebs/applications/vod/media
    VHOST.APPSDIR = /mnt/ebs/applications

    【設定ファイルの修正】/opt/adobe/fms/Apache2.2/conf/httpd.conf

    HttpStreamingLiveEventPath "/mnt/applications"
    HttpStreamingContentPath "/mnt/applications"
    ↓
    HttpStreamingLiveEventPath "/mnt/ebs/applications"
    HttpStreamingContentPath "/mnt/ebs/applications"

    6-6. webrootディレクトリの移動

    [root@ip-xxx-xxx-xxx-xxx ~]# mv /mnt/webroot /mnt/ebs/webroot

    【設定ファイルの修正】/opt/adobe/fms/conf/fms.ini

    VOD_COMMON_DIR = /mnt/webroot/vod
    ↓
    VOD_COMMON_DIR = /mnt/ebs/webroot/vod

    【設定ファイルの修正】/opt/adobe/fms/Apache2.2/conf/httpd.conf

    DocumentRoot "/mnt/webroot"
    <Directory "/mnt/webroot">
    HttpStreamingContentPath "/mnt/webroot/vod"
    ↓
    DocumentRoot "/mnt/ebs/webroot"
    <Directory "/mnt/ebs/webroot">
    HttpStreamingContentPath "/mnt/ebs/webroot/vod"

    6-7. logsディレクトリの移動

    [root@ip-xxx-xxx-xxx-xxx ~]# mv /mnt/logs /mnt/ebs/logs

    【設定ファイルの修正】/opt/adobe/fms/conf/fms.ini

    LOGGER.LOGDIR = /mnt/logs
    ↓
    LOGGER.LOGDIR = /mnt/ebs/logs

    6-8. FMSの起動

    [root@ip-xxx-xxx-xxx-xxx ~]# /etc/init.d/fms start

    7. サンプルページへの接続

    ブラウザからFMSサーバの「Public DNS」に記載されているアドレスへアクセスしてみましょう。
    ページ中心部で動画が自動再生されれば、まずは環境構築完了です。

    この様に、「手順6. コンテンツをEBSに(ry」が不要であれば
    10分とかからずに、EC2上にビデオ・オン・デマンド環境を構築が可能です。

    携帯電話やスマートフォンの普及で、動画の撮影がとても身近になったので
    配信環境がもっと簡単に持てるようになればオモシロいだろうな。。。と思う秋の夜長なのでした。