モバツイッターがEC2に移転したその後の話を聞いてきた(Amazon EC2 ナイトセミナ 第2回)

恵比寿ガーデンプレイス


恵比寿で開催されたJJUG主催のナイトセミナー「アマゾンEC2 ナイトセミナ 第2回」に参加してきました。

目的は、モバツイッターの中の人である、えふしんさんによる、モバツイをEC2へ移行した話が聞きたかったのと、ついでにご挨拶したかったので早々と仕事を切り上げて行ってきました。

参考: F's Garage @fshin2000 :そろそろモバツイがEC2に移転した話でも書くとするか。


現在のサービスの状況やシステム構成、自宅サーバ運用の限界点など、裏側の話が特に興味深かった!面白かったです。

せっかくメモをとったので、ここに残しておきます。

究極のスモールスタート 自宅サーバからEC2へ

講演者

  • 藤川真一(えふしん)さん
    • (株)paperboy&co. ECコミュニティ事業部
      • ペパボはGMOインターネットグループ、レンタルサーバ(lolipop)、ブログ(JUGEM)などが有名
    • カラメル(http://calamel.jp)のプロデューサ
    • http://www.milkstand.net/fsgarage/

カラメルの体制

  • カラメルチーム
    • プロデューサ、プログラマ、ディレクタ、デザイナー
  • サーバチーム
    • サーバ構築、管理、監視

えふしんさんのこれまで

  • 〜2000年
    • 半導体系生産装置のエンジニア
  • 2000年10月
    • web制作ベンチャーに転職
  • 2006年1月〜
    • 現在のペパボへ
  • ネット歴20年

元々使っていた自宅サーバ

  • 2006年7月より運用
  • Fedora Core 5
  • Poweredge SC430
  • Bフレッツマンション(上り1Mbps程度w)
  • メールサーバ、ブログ等を動かしていた

自宅サーバ運用の目的

  • 自宅サーバの限界を見極めたかった
  • 自分でインフラ運用したかった
  • 尊敬する増井俊之さん「必要なものは自分で作る」

モバツイッターの生い立ち

  • 2007年4月開始、自宅で運用
  • PHP5+MySQL
    • (eoフレームワーク)

モバツイの特徴

  • 携帯に最適化された画面を表示
  • 写真や位置情報を送る
    • はてなフォトライフ、携帯百景と連携
  • URLが書かれたページを携帯向けに表示

モバツイの現状

  • ユニークアカウント数: 15万人
  • 24時間以内に、約4万人程度がアクセス
  • twitterのAPI利用頻度が多いので、日本向けのtwitterポータルページに、のせてもらっている
  • 約160万PV/日

自宅サーバでのトラブル履歴

  • RAIDのHDDが壊れて徹夜でメンテ
  • サーバ増かでブレーカーが落ちる
  • 雷でサーバが落ちる
  • ハブが壊れて、仕事を抜け出して家に帰る
  • 部屋が暑い、エアコンが効かない、エアコンも24時間稼働
  • Webサーバの過負荷対策として、ハイパワーCPU買ったら部屋が暑くなった
    • モバツイは、WebサーバがAPIリクエストしにいくので、Webサーバから重くなる
  • ルーター過負荷で、家からustが見られなくなる
    • 元々、メルコの1万円くらいの製品を使っていたのだが、YAMAHAのRT1000にしたが・・・
  • (自宅サーバは、最初は1台、最後はクアッドコアCPUを含む2台体制だったとのこと)

自宅サーバの限界点

  • AMDクアッドコア一台では、モバツイ換算で月間600万PVが限界
    • 最終的なボトルネックはルーターか帯域
  • モバツイはin/outが同時に発生する
    • ただし、画像はほとんどない

EC2に移転したきっかけ

  • セレボ社のエンジニアの方が設計した直流電源自作サーバ(電気をあまり食わないらしい)とEC2を迷っていた
  • EC2の問題点はランニングコストを払いきれるかといった不安
    • モバツイの寄付を募った分で、数ヶ月の評価は可能になった
  • 最終的にはルーター過負荷による緊急対応
    • (モバツイの機嫌がわるいと、えふしんさんの機嫌がわるいww)

何故EC2か

  • 初期導入コスト不要
  • 決断してすぐ導入できる
    • 選択の余地がなかった
  • レイテンシについては、そもそもtwitter APIが海外なので関係ない
    • 自宅サーバ: 携帯 => 埼玉 => twitter(US西海岸)
    • EC2: 携帯 => EC2(US東海岸) => twitter(US西海岸)

EC2へ移転

モバツイのシステム構成 on EC2

  • ロードバランサ(Elastic Load Balancing)
  • Webサーバ9台、全て冗長構成
    • 手作業で30分で追加可能
  • DBサーバ1台
    • +固定IPオプション
    • 同時接続数がはねあがってきているので、2台目がそろそろ必要かも
  • インスタンスは全てMediumインスタンス
    • Xeon 2.3GHz, 1.7GBmem, 350GBdisk
  • PHPセッション共有用にNFSで共有エリアを設ける
  • 画像はほとんどない
  • バックアップDB
    • EC2のSmallインスタンスでレプリケーション(いつでも使える状態に)
  • ログ検索用に、家のMySQLにレプリケーション
    • 全文検索DBをEC2に置く(Largeインスタンス)のはコスト高
  • メール投稿、DNSは家の環境で動作

EC2インスタンスの選択について

  • 単体のインスタンスのCPU性能は低い
  • I/O負荷の高いWebサーバ用途にSmallインスタンスでは動かなかった
    • 月間200万PVくらいのサイトから試してみたい、とのこと

サーバの追加方法

  • Webサーバ用のAMIからサーバ追加
  • 最新のソースをステージングサーバよりrsyncで同期
  • 以前のAMI作成後にアップデートした処理を流す
  • 動作確認後、ロードバランサの下にぶらさげる

かかっている費用

  • 2009年7月
    • インスタンス: $977
    • 帯域: $225
    • ロードバランサ: $23
    • S3: $1.2
    • 合計: $1226
  • 2009年8月
    • インスタンス: $1200
    • 帯域: $340
    • ロードバランサ: $24
    • S3: $1.2
    • 合計: $1606
  • 参考情報として、、、
    • モバツイは携帯のHTMLメイン
    • ただし、携帯はまともにキャッシュしてくれないので、常に転送が発生

EC2運用の今後の問題点、課題

  • 朝起きたら、ロードバランサのIPが変わっていたことも
    • EC2へのDNSは、原則CNAMEで割り当てる
      • なので、movatwitter.jp から www.movatwitter.jp へ
  • Amazon Cloud Watch or Wakameで効率的なインスタンス運用でのコストダウン
  • サーバ追加スクリプトの自動化で管理コストの削減
  • EBSに共有ソースコード置き場
  • Reserved Instanceの活用
  • (寄付だけでは、EC2では維持できません)

EC2の生かし方

  • メリット、サービス性
    • 1h単位でリソースを使えられるし、止められる
    • 集客できるポータル + サブサイトに最適
      • e-learning、IR、スポーツ中継、広告キャンペーン
  • モバツイよりセミッターの方が、EC2に向いていそう
  • コマンドラインツールでコントロールできるのは協力
    • GUIもあるけど
  • iPhoneによるサーバ管理
    • Touch Term 公開鍵認証に対応しているSSHクライアント

クラウド時代のエンジニア像

クラウドに本当にビジネスメリットがあるなら、、、

  • 誰でも簡単にサーバが増やせる
    • OSのライブラリ化
  • 再起動管理がほとんど必要ない
  • サーバ構成の選択の余地が減る
  • HDD故障などの運用業務が減る
  • 監視系はあまりかわらない

アーキテクト+アプリケーションエンジニアで回る

変われない予測

  • アプリケーションエンジニアがサーバに関する勉強を放棄している会社(自分の仕事じゃない)
  • 事業の経緯上、サーバエンジニアの力の大きい会社

クラウドもまた小規模ベンチャーから

まとめ

  • サーバのハード的な問題から解放されて精神的安定をもたらしてくれたEC2に感謝
  • 1h単位で増やせる、減らせる
    • ここを生かしたビジネスモデルを考えれば最適!
  • APエンジニアはインフラ(AMI)を自分で構築できるようになるべき
  • サーバエンジニアはシステムアーキテクトを目指すなどキャリアパスを考えるべき

おまけ

  • PVが伸びるとadsenseが伸びる!状態になっているので、キャッシュフローはある
    • モバツイは、adsenseに依存している

追記

えふしんさんのサイトで、当日の資料が公開されています!

AWSから見るクラウドコンピューティング

えふしんさんの話の次は、横田さんの話。
こちらは、さほど細かくメモっていません。いや、面白くなかったんじゃなくて、個人的に知っている話が多かっただけです。(^^;

講演者

  • 横田真俊さん
    • あすなろブログ
    • オルタナティブブログ
    • スラッシュドット(編集者)
      • 最近、GIGAZINEのパクリですか?と聞かれたww
    • 日本人著者として、はじめてクラウドコンピューティングの解説書を書いた!
    • 東通インテレクト
      • ウルトラマンのファンクラブもされているらしい

クラウドコンピューティングとは何か?

有名ベンダーの参入

  • 1999: salesforce開業
  • 2004: Gmail開始
  • 2006: Amazon S3, EC2開始
  • 2008/1: force.com開始
  • 2008/4: Google App Engine開始

日本のクラウドコンピューティング

クラウドコンピューティングの分類

クラウドが注目される理由

  • 巨大ベンダーのリソース切り売りが可能になった
  • スケールアップからスケールアウトへ
  • スケーラビリティのあるサーバが必要になった

AWSはどれくらい使われているか?

  • 2007年にAWSが本家(グローバルサイト)のトラフィックを抜いた
  • YCombinatorの支援しているスタートアップ企業67社のうち、13社はAmazon、14社はSoftlayer、12社はSlicehostを利用している
  • メールのホスト先よしては、67社中42社がGoogleを利用

AWSとは?

AWSを構成するサービス

AWSの特徴

  • 従量課金制度、そこそこ高いSLA、仮想サーバ以外のメニューが充実している

Amazon EC2

3日で3500台のサーバを増加したAnimoto

  • Facebookアプリをリリースしたタイミングで大人気になった

AWS Management Console

Amazon S3

192TB分のデータを預けるサイトSmugMug

  • 今はもっと容量が上がっているかも

Amazon SimpleDB

  • Erlangで記述された分散データベース、KVS

Amazon SQS

  • 大量のメッセージ(キュー)を複数のサーバなどに割り振る時などに利用する
  • Amazonサイトに実例が載っている

Amazon CloudFront

  • なぜか、ここだけサイトが日本語化されている!

Amazon Elastic MapReduce

  • NY Timesで1100万枚の過去記事の画像をPDF化。Hadoopを使って100台のサーバ、24時間で処理

Amazon Virtual Private Cloud

日本のクラウド

  • AT-Link「パワーフレックス」
  • IDCフロンティア「NOWA」
  • ビットアイル「Cloud ISIE」
  • サーバワークス「Cloudworks」

日本のクラウドの特徴

  • 支払い制度: 定額制
  • 支払い方法: 請求書など
  • 機能: 仮想サーバ中心
  • サーバ用意: 3日程度
  • サーバ性能追加: スケールアップ
  • 監視・運用: 24x365運用(ここがウリ、EC2だとユーザまかせなので)
  • 遅延: 少ない(レイテンシの話)

おまけ

  • EC2とAzureについて
    • EC2だとLinux、既存のLinuxシステムは移行できる、周辺ツールも揃ってきている
  • Azureは日本にもヘルプデスクもありそうだ、と
  • Google Trendだと、今はEC2が勝っている
  • ちなみに、Microsoftの砂金さんがいらっしゃって、Azureについてコメントしていらした
    • Azureのチームは、それほどWindows Loveではないらしい

関連リンク




まとめ

クラウドAMAZON EC2/S3のすべて (ITpro BOOKs)

クラウドAMAZON EC2/S3のすべて (ITpro BOOKs)