Pingdomの月間レポートでついに「100%」を達成しました、やたー!つまりどんなに人が殺到しようが、同時に報道部員がログインしまくろうが、まったく落ちなかった、ということですな。ふー、実に長い戦いであった。
20140305_01

問題は、この状態を1ヶ月間である約4週間、つまり28日間維持するためにどれぐらいのコストがAmazon Web Services、略してAWS(クラウドコンピューティング技術を駆使した仮想サーバー、ストレージ、データベースをまとめたもの)によってかかってしまうのか?という点。

まず基本的な情報として、2014年2月1日から2月28日までのアクセス状況をGoogle Analyticsで見た結果がコレ。ページビューが2万2607、平均ページ滞在時間が2分12秒で、全体のほぼ半分がスマホ&タブレット。
20140305_02

また、WordPressのプラグイン「Advanced Blog Metrics」で集計したところ、記事本数は現時点で総合計3377本。
20140305_03

コメントの数は1292本
20140305_04

で、この規模のサイトを支えるためにまず最初に完全破綻したのが「さくらのマネージドサーバ(専有プラン)」で、今は既にページから消え去っている「Atom」プランという月額7800円のもの。7800円も使っているのに落ちまくりで、キャッシュ系のプラグインは使っているものの、記事を投稿するとデータベースであるMySQLの反応が遅く、使い物にならない状態。

そこで、以下の「AMIMOTO」という、最初からWordPress用に最適化されたものを使うことに。

AWS + Nginx + WordPress | 超高速 WordPress AMI 網元
http://ja.megumi-cloud.com/

というのも、実はAWSは一定の範囲内であればサインアップから12ヶ月間は「無料」で利用できるため。このことは以下のページに書いてある。

クラウドサービス 無料利用枠のご案内 | アマゾン ウェブ サービス(AWS 日本語)
http://aws.amazon.com/jp/free/

よくあるご質問 – クラウドサービス 無料利用枠のご案内 | アマゾン ウェブ サービス(AWS 日本語)
http://aws.amazon.com/jp/free/faqs/

で、この無料枠については実はins-magazine.net用のAWSアカウントでは2013年3月から利用しているので、2014年3月、つまり今月で消滅するのだね、HAHAHA!

それはともかくとして、上記の無料利用枠のページを見ても何のことだかよくわからないというケースが多いはずで、カンタンかつ乱暴にまとめると以下のようになる。

・Amazon EC2では「t1.Micro」インスタンスなら無料で使える
・Amazon EBSでは「30GB(200万I/O+スナップショットストレージ1GB)」まで使える

ところがins-magazine.netではAMIMOTO+「t1.Micro」でもやはりタイムアウト続出、報道部員10数名が一斉にログインすると重くて操作できないという事態に。というか、2名とかでもうあっぷあっぷ状態。

そこでとりあえず少しずつインスタンスのサイズを大きくしていった結果、「m1.large」でなおかつ「EBS最適化」を「オン」にすると安定して1ヶ月間、一度も落ちずに稼働させることができた、というわけ。

で、実際にAWSで1ヶ月間(28日間)でどれぐらいかかったのかというコストの内訳は以下の通り。

◆その1:AWS Marketplace「AMIMOTO」:53.76ドル
https://www.digitalcube.jp/information/2663/によると、t1.Microインスタンスの場合はインスタンス料金のみで提供されるが、ins-magazine.netはMicroより上のサイズなので課金されることに……。

◆その2:AWS Data Transfer:2.06ドル
サーバへのアップロード:1.737GB(AWSへデータをアップロードするのは無料)
サーバからの無料利用枠のダウンロード:15GB+0.925GB(後半の0.925は「regional data transfer under the monthly global free tier」というもの)
はみ出した分:10.046GB

つまり、ins-magazine.netは25.971GBも転送している、というわけ。2014年2月はまだ無料枠があったのでよかったものの、なければ確実にここはもっと高くなっているはず。

また、転送料金を抑えるためにWordPressの公式CDN「Photon」を使うことで、ins-magazine.netからではなく別のサーバから画像などを配信させるという手も打ったのがかなり有効だったが、それでも上記のように転送料がかかっており、もし「Photon」がなかったら実際にはどれぐらいの転送量になっていたのか、ガクブルもの。

◆その3:Amazon Elastic Compute Cloud:253.70ドル
俗に言うところのAmazonのクラウド、「Amazon EC2」と呼ばれているものがコレ。
このうち、EBSについては以下のようになった。

11,352,322 IOs:0.96ドル
スナップショット7.414 GB:0.74ドル

なので、EBSは無料枠である「2,000,000 IOs」などを使えたため、かなり安く抑えることに成功。

で、以下が1ヶ月の合計金額。

合計:53.76+2.06+253.70=309.52ドル(約3万1500円)

3万1500円……だと……?バカな!年間だと37万8000円に達する!これがどれぐらい高いかというと、以下の試算でわかる。

まずさくらの専用サーバ「エクスプレスシリーズ」を見てみる。

エクスプレスシリーズ | 専用サーバー(ホスティング)はさくらインターネット
http://server.sakura.ad.jp/dedicated/express.html

で、3つあるうちで一番最上位の「Xeon 6 Core × 2CPU」というのを見てみると、以下のような計算になる。

初期費用12万9800円+(月額1万2800円×12ヶ月)=30万3400円

つまり、Amazonだと37万8000円かかるが、さくらだとさらに上のレベルのサーバがもっと安く30万3400円で入手可能。しかも2年目からはさくらの方は初期費用がかからないので、15万3600円まで低下する……

で、スペック比較を「Amazon→さくら専用」というようにして並べるとこうなる。

CPU:m1.large(Intel Xeon CPU E5507 @ 2.27GHz相当)→Intel Xeon 6 Core E5-2430 @ 2.20GHz
これだと何倍高速かがわからないのでcpubenchmark.netのスコアを使用してみる。

・Intel Xeon CPU E5507 @ 2.27GHz:スコア3218
・Intel Xeon 6 Core E5-2430 @ 2.20GHz:スコア13613

大体、さくらの方がAmazonより約4倍高速。この時点でもはや比べるまでもないな……というか、逆にかなりオーバースペックになる。つまり、適切なスペックにしてやればもっと安く運用可能なはず。

まず、現状のAmazonのm1.largeというのは以下のようなスペック。
http://aws.amazon.com/jp/ec2/instance-types/

vCPU:2(仮想コア数)
ECU:4(1ECUがXeon1.2GHz相当の計算力)
メモリ:7.5GB
EBS:可(これのおかげでins-magazine.netは高速になって落ちなくなった)
ネットワークパフォーマンス:中
保存領域:10GB

そこで、さらに今度は「さくらのクラウド」を見てざっくりと同じようなスペックになるように計算してみる
http://cloud.sakura.ad.jp/payment/simulation.php

仮想4コア+メモリ8GBが1台:月額1万1445円
ディスク20GB追加:月額420円
合計:1万1865円/月
1年間:14万2380円

Amazonだと37万8000円だったものが、さくらだと14万2380円、しかも転送料金は無料なのでもっとレスポンスは高速化する、はず。

結論:今月中にAmazonからさくらの専用サーバorクラウドへお引っ越し

・懸念点1:nginxでなくApacheに戻るので、もしかするともっと上のCPUが必要かも。ただ、CPUリソース自体は現状でもかなり余っているのでおそらく問題にならない。
・懸念点2:ディスクI/Oが結局問題だったので、専用サーバでもクラウドでも解決できない可能性アリ。その場合は専用サーバのディスクを高速なものへプラン移動。

「懸念点2」は解決するために「NEC E120d-M Xeon 6Core 2.20GHz SSD×2 RAID1」にすれば解決。
初期費用11万9800円+月額1万800円=13万600円。年間一括なら23万8600円で済むので、いずれにせよAmazonの37万8000円よりは安くできる。

・その他の方法:WPEngineを使う

Managed WordPress Hosting Pricing | WordPress Hosting by @WPEngine
http://wpengine.com/plans/

60日間は無料で使え、データセンターが日本にもある。

お引っ越し方法は以下に書いてある。
http://wpengine.com/support/migration-process/

プランは3つあり、現実的なのは以下の2つ。

・Personal:29ドル
1サイト、2万5000ユーザー、10GB

・Professional:99ドル
10サイト、10万ユーザー、20GB、CDN

いずれも転送量制限がないのが特徴で、来るユーザーが少ない現状であれば、Personalが一番お得かつ手軽に運用できる。

とまぁ、このようにして報道部のサーバを運用する場合、とてもではないが千里高校から割り当てられている年間予算だけではまったく収まらず、結果、ほかの高校で報道部のような活動をしているところがほとんどない理由がコレでわかった。部費を徴収するにしても、1万円/月だと10人で割っても1ヶ月で1000円、年間で部員ひとりあたり1万2000円も部費にかかるということに。人数が多くなればなるほど1ヶ月の部費は安くなるものの、これはちょっと……。

あとは上記のようなWordPress専用で自由度が割と低いところに移行するという方法。これなら29ドル、約2900円なので、10人いれば290円/月まで抑えることができるが、2900円×12ヶ月=3万4800円なので、年間で見るとやはり部活動としてはかなり高い方に属する。

しかも、これはサーバ代だけであって、あとここに毎月のNTTドコモのモバイルルーター代、ノートPC代などを加えていくと、報道部というのは維持するのにとんでもない金額が必要&初期投資がかなりかかる部活動であり、ほかの高校でここまでのレベルの部活動が存在しないことが理解できるね、うんうん。

最終結論:改めて見てみると、千里高校報道部は高校としてはありとあらゆる意味でレベルを突破しすぎ

で、こういうとんでもない活動規模と実態を誇っている報道部を支えるために、4年前からちまちまと計画して作り続けていた「報道部同窓会」がついにそのベールを脱いで浮上し、ここから先はもっとアグレッシブに支えていけるようになっていくよ!いやー、なんというか、高校野球で甲子園に出て行くために10年間ぐらい積み上げるケースがあるとは聞くけれども、それに相当するようなことをしているような気がする。

というわけで次回はもっと具体的に、どのような感じでいろいろなものをできるだけコストをかけずに組み合わせているのかを解説予定。あるいは、次のサーバに移動してお引っ越しした時のレポートになるかも。さもなくば、さっき書いた「報道部同窓会で支えていく仕組み」の解説か?いずれにしても、予定は未定。そしてこの記事を書き終わったら、卒業した3年生たちのアカウントをけしけしして、報道部同窓会へ登録する作業が待っているわけです、HAHAHAHAHA!

こちらの記事もどうぞ