2012/03/19

お金を(なるべく)かけずにサーバー運用出来るか試してみた

最初に結論
  • ドメイン周りをスムーズに扱えるPaaSは売れる!
ドメイン popowa.comに付随する過去のサブドメイン遺産をどれだけ安く運営出来るか試してみました。

過去のサブドメイン遺産はほとんどアクセスがない、もしくは自分しか使っていないのでここではスケールが出来るかどうかは重要視しない事にします。

このドメイン(popowa.com)には、
  1. ネームサーバ
  2. メールサーバ
  3. ブログサーバ
  4. レポジトリサーバ
  5. ウェブサーバ
  6. 検証で試したOSSなアプリ(主にWordpressなど)用検証サーバ
がありました。
過去使っていた有償環境としては
  1. 自宅サーバー
  2. さくらVPS
  3. ムームードメイン
  4. Lolipop
  5. AWS
  6. VPSLink
  7. Tektonic
  8. Xrea
  9. RackSpace
とかで運営していました(順不同)。

■ネームサーバー

まずネームサーバーをAWSが提供しているRoute 53に移します。Bindも脆弱性が多いので、これでBindのパッチ当てを気にする必要がなくなります(ノ´▽`)ノ 。
Route 53は有償ですが、気にするに値しないほど安いです。本当に。

★ネームサーバーはRoute 53で決まり!

■メールサーバー

メールは、スパムしか受けないので、Google Appsに移行しました。元々メールサーバーの構成はcatch-allなExim + SpamAssassin + ClamAVでした。
メールをトリガーにする動きが出来なくなったのでそれは別に何か考えたいと思います。

 ★複数アカウントを作るのではなくアカウント+hoge@exampleとかで拡張出来るようにしておくと移行が楽
 

■ブログサーバー

ブログは、WordPressから、 Bloggerに移行しました。
まず前提ですが、WordPressに以下のプラグインを入れてから、WordPressは運用しましょう。
 画像などアップロードされたファイルをS3にあげてくれるPluginです。

もしくはPicasaに画像を最初にアップロードして、そこから参照するものあり
 Flickrは使っていないが同じようなPluginがあると思う。

ブログの引っ越しで困るのは画像ファイルです。画像だけ歯抜けみたいになるので、出来るならばS3とか外部ファイルサーバーに置いておくと吉です。

WPからBloggerの引っ越しは簡単で、WPから吐き出されたXMLをBloggerにインポートすれば完了。
WordPress.comというPaaSサービスもあるのだけれど、独自ドメイン、独自のテーマを使いたい場合は有償なので諦めました。
★画像は外部サーバに置こう

■レポジトリサーバー

 まず過去のレポジトリは、GitHubにあげてしまいます。
 しかし実情として半分ぐらいしかあげられませんでした。
実際に運用しているコードはあげられません。過去のサイト運営で溜まったデータやサーバ別の設定ファイルなどはあげないように出来ますが、面倒なのは変わりありません。
GitHubにもプライベートモードがあるのですが、有償です。
GitHubの一番安いプランでもいんだけどなぁとも、ここで考えを切り替えます(切り替えられない人はレポジトリサーバを立てるか有償GitHubにするかとかでしょうか)

今GitHubにあげられないレポジトリはAWS上に立っているEC2についているEBSにあるので、必要な時だけEC2---EBS経由でみる事にしました。

ここはまだ作業中なので、以下のレポジトリサービスも検討予定

★プライベートレポジトリの扱いは難しい...

■ウェブサーバー

ウェブサーバーと言っても、アクセスの状況や、更新の頻度によって対応が変わってくると思います。
まずwww.popowa.comは静的HTMLにしたので、S3に置きました。
それ以外の動的なウェブサーバーはPaaSであるdotCloudに置いてみる事にしました
無料版は、appは2つまでしかデプロイ出来ません。しかしアプリの下に更にまたアプリ、という事も出来ます。
しかしルートの設定がサブディレクトリにも適応されてしまうようなので、複数の開発言語が違うアプリを一つのアプリとしてデプロイというのは難しそうです。

memokui.popowa.comをdotCloudに置いてみました。
dotcloud create memokui
cd ~/Project/Code/memokui
emacs dotcloud.yml
www:
    type: php
dotcloud push memokui .
#ソースディレクトリのルートディレクトリで行う必要がある
dotcloud restart memokui.www

ハマった点は、typeをstaticにした場合はappを一度削除して再度作り直さないといけない、という点です。
DBも使えるようなのでよさげですが、有償版はそこそこするのでもっと安価なdotCloudがあればいいなぁと思いました。

dotCloudのよい点はサブドメインをCNAMEで指定出来る、という所です。dotCloudでは、
http://memokui-csg3kdce.dotcloud.com

のように独自サブドメインを配布してくれます(これはどこのPaaSでも同じ)
しかしdotCloudでは独自(サブ)ドメインを追加する事が出来るのです。
dotcloud alias add memokui.www memokui.popowa.com
ネームサーバーでの設定
memokui.popowa.com CNAME  memokui-csg3kdce.dotcloud.com
という風にRoute 53に設定しておけば、おk
dotCloudだけかしら、と思ったら、cloudcontrol同じ事を無料で出来るようです!

他のPaaSや安価なレンタルサーバーは、独自サブドメインを使いたい場合は、ドメインのネームサーバーを移行したら可能になるものばかりで、ネームサーバーとウェブサーバーを別のサービスにしたい人には向いていないと思いました。

(´・ω・`)ガッカリ・・・

後はwikiをどこに置くか検討中。。

追記:GitHubでウェブサイト運営が出来るようです!@d6rkaizさんありがとう!
http://pages.github.com/

★無償でエイリアスで独自ドメインが使えるPaaSは嬉しい

■検証用ウェブサーバー

検証用は、色々触るので、さくらVPSと必要な時にAWSな感じで行こうかなぁと思っています。

■突然まとめ

PaaSなサービスとかレンタルサーバーとかの多くは、ネームサーバーも一緒にしたらいいじゃない!というスタンスですが、これはユーザーの自由を奪うものに他ありません。

一番起点になるドメインの扱いをロックされてしまうサービスは今後流行らないのではないでしょうか?
ビジネス的にはAll in oneにしたい所だと思いますが、ベンダーロックがない、というだけでもその商品を選択候補に入れやすくなります。
 
SaaS/PaaS/IaaS環境を提供する上でも、ブロックのように取り外し可能な状態である事が今後大事になってくるのだと思いました!