俺の報告

RoomClipを運営するエンジニアの日報(多分)です。

CDNをさくらクラウドで構築する - N氏の日報 #2

今日は僕の隣に鎮座DopeしているN氏の日報です。
RoomClipにさくらでCDNを構築した敏腕エンジニアのN氏です。
全三回程度で、ウチにCDNが導入される様子をご覧頂きます。

では、はじまりはじまり。

- 「男のCDN烈伝」第1話 搾取され続ける人生 -

どうもこんにちわ。
最近ヒゲが伸びてきた俺氏の右隣にひっそりと座っているオッサンです。
俺氏とは色々あって同じpemファイルを使う関係になりました。

今回はCDNを作ってみたので、そのお話。


コンテンツデリバリネットワーク(Contents Delivery Network, CDN)とは、Webコンテンツをインターネット経由で配信するために最適化されたネットワークのことである。コンテンツ配信網とも。
http://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%B3%E3%83%86%E3%83%B3%E3%83%84%E3%83%87%E3%83%AA%E3%83%90%E3%83%AA%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF


RoomClipのインフラにはAWSを利用しておりまして、画像データはS3に保存する事にしています。
ですがこのS3、転送量ベースで課金されるため、 サービスの成長に比例して画像数やPVが増えてコストがシャレにならなくなってきます。

例えば、1日1万円かかるとして、 一年間、画像を表示するだけで365万円かかります。 その辺の若手プログラマーの年収より高いかもしれません。
やはり、S3に数百万というコストをかけるのは、貧乏性の人間にとっては割りに合わない話です。

そんな悔しい毎日から脱却したいと考えていた我々は、このCDNというものを作る事にしました。

RoomClipでは、画像データが主なコンテンツにあたりますので、 画像データを置いて、
その画像に対するHTTPアクセスを捌くサーバーを含めた一連のシステムが弊社で言うところのCDNとなります。
まず、S3の代わりに使うサービスを探します。
ネックになっているのは前述の転送量になりますので、S3みたいに、転送量ベースで課金されるサービスは使う事ができません。

色々と調べた結果、以下のメリットがあるさくらのクラウド(http://cloud.sakura.ad.jp/)でした。

  • ロードバランサーがある
  • サーバーをコピーできる
  • VPCが構成できる
  • ディスクが拡張できる
  • 転送量課金ではなく、時間での課金
  • 転送量課金ではなく、時間での課金
  • 転送量課金ではなく、時間での課金
  • 転送量課金ではなく、時間での課金
  • 転送量課金ではなく、時間での課金

それだけに止まらず、サービス的にも神対応だったんです。
我々も初めてだったので、試しにインスタンス一台作って起動してみたり、ディスク付けてみたり、ロードバランサーVPCをいじったりと、 色々と実現性についての試し打ちをする必要があったんですが、時間で課金されるのでなかなか思い切った事ができませんでした。

そんな時、さくらのクラウドさんが、初期テストについて色々と神レベルの配慮をしてくれたのです。
目に涙を浮かべながらコントロールパネルをいじくり倒しました。
これでS3の転送量を駆逐できそうです。 次回は具体的な実装方法について説明していこうと思います。


さて、次回がいつになるかはまだわかりませんが、 N氏のCDN構築をお楽しみに。