「クラウドワークス」はクラウドソーシングを活用した急成長しているお仕事マッチングサイト です。サービス開始から約1年で、仕事の依頼総額15億 円、登録者数35,000名(2013年5月現在)とへと大きく規模を拡大しています。アマゾン ウェブ サービス(AWS)への移転前はVPSサービスを利用していましたが、以下の2つの点が大きな課題でした。
- インフラ面の制約から充分な可用性を確保することができていなかったこと
- サーバーのセットアップや構成管理が煩雑であること
また、「クラウドワークス」はサービス開始以来、平均すると年率800%というスピードで成長していることに加え、「ワールドビジネスサテ ライト」(テレビ東京)や「日経新聞」を始めとする頻繁な媒体露出によるアクセス急増もあり、拡張性の高いインフラへの移行が急務でした。
最も重視したのは、いかに手軽に高可用性を確保できるか、という点です。Elastic Load Balancing、Amazon RDS、Amazon ElastiCacheなどAWSのサービス群を活用することで、従来であれば専用の人員や数週間の準備期間を要するような構成を、サービス開発の片手間 にわずか数日間で構築できるインフラであることが移行の決め手になりました。
今回の環境では、OSはLinux、ミドルウェアはNginx, Apacheほか、フレームワークはRuby on Rails を利用しています。サービス選定は、2013年1~2月に行いましたが、他社専用サーバーとAWSが移転先の候補としてあがりました。AWS を採用する理由となったのは、手軽に高可用性を確保できる点、多くの管理作業をウェブ管理画面から行うことができる点、また、リザーブドインスタンスを活 用することでコストも予想よりはかなり押さえられそうであった点でした。
AWS への移転および本番リリースに至るまでの実装プロセスは、以下のような流れでした。
1. ネットワーク構築(1-2日)
サーバー群間の通信をセキュアにする必要があったため、Amazon VPCを利用しました。Amazon VPCの利用は始めての試みでしたが、ウェブ上にすでに様々な情報源があり、短時間で希望の構成を実現しています。
2. インスタンス構築・アプリケーション改修(1週間)
リポジトリにはRuby1.9など必要なパッケージがすべて含まれており、また、Amazon マシンイメージ(AMI)を利用したことにより、非常に迅速にインスタンス構築を行うことができました。結果的にスケジュールに余裕ができたため、インフ ラ移行のタイミングでできれば実施したいと考えていたいくつかのアプリケーション改修(セッションデータのストレージ変更、Amazon S3の権限管理の精緻化など)を実施することができました。
3. 負荷テスト(2-3日)
負荷テストを行い、パフォーマンスが移転前よりも向上していることを確認しました。
4. 移転準備
インスタンス構築、アプリケーション改修が予想よりも短期間で完了することができたため、移転実施の際の手順を可能な限り自動化するなど充分な準備も行い ました。また、移転テスト → 切り戻し → 移転プログラム修正 → 再テスト というサイクルを短時間で回すことができたため、非常に効率的に移転準備ができました。
5. 移転実施(2時間)
移転準備が充分に行えたため、移転当日はトラブルもなく短時間で移転を完了させることができました。容量の大きい画像データおよびメッセージへの添付ファ イルデータをもともとAmazon S3に保存していましたので、このことも短時間での移転完了に寄与しました。
限られた開発リソースの中で、移転以外のサービス運営や機能改修も行いながら、VPSからのクラウド移行を短期間で実施できたのは、AWSの豊富な機能群と高機能な管理インターフェースがあってこそ実現できたと感じています。
「株式会社クラウドワークス様 システム構成図」
まず初期投資が必要ないというのが大きなメリットの一つでした。今回のケースではオンプレミス(専用サーバー)と比べ、50万円程削減することがで きました。さらに、画像ファイルおよびログファイルの保存場所としてAmazon S3およびAmazon Gracierを利用することで、ディスク容量を管理する必要がなくなった点や、Multi-AZ対応のAmazon RDSを導入したことにより、MySQLの管理コストをほぼゼロにできた点等、運用工数削減に関する効果も大きいと感じています。また、セキュリティ面も 重要な要素でしたが、Amazon VPCの存在や各サービスの権限管理をAWS Identity and Access Management(IAM)で細かく管理できることで、安全・安心な運用を実現できています。
可用性についても満足しています。現在、簡易的ですがzabbixで可用性を記録していますが、移転から1ケ月(2013年4月時点)という短い期間ながら100%を保っており、レイテンシーは移転前と比べ50%程度改善しました。
AWSには非常に多様な機能群があり、また日々機能拡張が行われています。より効率的に、優れたインフラを構築するためには、それらを十分にリサーチすることが重要であると思います。
- 株式会社クラウドワークス 取締役CTO 野村 真一 様