読者です 読者をやめる 読者になる 読者になる

EC2の第一印象

EC2

最近自宅サーバーでちょっとしたアプリケーションを動かしていたのだが、引越しのため回線が止まってしまってアクセスできなくなってしまい、寂しい思いをしていた。

自宅サーバーというよりも、id:dandaso「ITベンチャー勝ち組セット」を間借りさせてもらったサーバーで、「引越し」っていうのがdandaso宅の引越しなのか、会社オフィスの引越しなのか・・・、まったく雲をつかむ様に分からない。まあこれはこれで「クラウド・ソリューション」である。

来週にはそのクラウドも復活するらしいが、それまでの数日間、EC2を使ってみることにした。

これまで全然触ったことがなかった理由は、

  • 何からスタートすればいいのかよく分からない。
  • よくある「通信遅延」の話。
  • そんなに安くないのでは?

ということ。

最初の点についてはやっぱり始めは戸惑ったが、必須の作業は、Amazon Web Services(AWS)のページにアクセスしてAWSのアカウントを作成し、EC2にサインアップし、完了したらAWS Management Consoleからインスタンスを立ち上げるだけということが分かった。(記憶で書いているのでサインアップ・フローはちょっと違うかもしれない。)

僕の場合は、最小構成(Small)のインスタンスで、"QuickStart"にあるFedora8を動かしている。インスタンスを起動してから1分弱でSSHでアクセスできるようになるので、EC2サインアップの過程でダウンロードした鍵*1を使ってログインし、あとは普通のサーバーと同じように使える。公開鍵認証なのは分かっていたとして、rootでログインするというのが最初分からず、ここが一番はまった。

"EC2"で検索して上位に出てくるスタートガイドにあるような、Javaをインストールして、Amazon EC2 API Toolsと証明書をダウンロードして、CLIでホゲホゲするのが面倒だなと思っていたら、今はほとんどのことがAWS Management Consoleを使ってブラウザ上でできるようだ。今回のようにちょっと試してみたいというだけならば、これで十分。

普通はパッケージをカスタマイズして、イメージを作って・・・みたいなことをやるらしいが、まあ、数日で止めるし、消えたら消えたでいいかなぁと。

そんな感じで、EC2上で、例によってDjangoでケータイサイトっぽいものを作って遊んでいるのだが、通信遅延というは全く体感できない。これは今までの先入見を払拭する新鮮な驚きだった。

確かにSSHはもったりしている感じはあるかもしれないけど、それはe-mobileで接続しているかもしれないし、それよりも某アルファオープンソースコミッターが言うように「コードを書いている時間よりも考えている時間の方が長い」のだから全然OK。というよりも、EC2のサーバー上でコードなんて書かず、環境が整った後はCapistranoのコマンドを叩くだけなので全然OK。

値段に関しては、僕のケースでは数日間動かすだけで、なんとも議論できないところだけど、例えば、gumiを例にとると、今のgumiの規模のアクセスをまかなうとすると、Largeのインスタンスが2-4必要*2なので、EC2の月間600ドルから1200ドル+Elastic IPの費用+S3のストレージ費用という計算になる。ランニングコストでは、自社でIDCと契約した場合とそんなに変わらないかもしれない。が、サービスの成長、あるいは逆に成長の鈍化に合わせてインスタンス数を柔軟に変えられ、ハードウェア面での心配をしなくていいのは大変なメリット。

gumiは昨年の年末頃に急激にアクセス数が増えて、新規にIDCと契約して、回線を引いて等のインフラ拡張を行っている際に非常に窮屈な思いをした経験があるので、その時にEC2を検討しなかったことが悔やまれる。今判断するならば、きっとその時点で全面的にEC2に移行しただろう。

とにかく、もし仮に「俺、EC2のインスタンスがアジアに置けるようになったら、会社辞めて起業するんだ・・・」のような人がいたとするならば、そんな前提条件を担保にして躊躇する理由はなく、今すぐEC2を使ってサービスを立ち上げられるということが分かった。もし、そういう人がいればね。

*1:自分の鍵もアップロードできる?

*2:性能評価していないのでスペックから判断するざっくりとした予測