Eucalyptus 座談会

(2009年8月27日開催)

アマゾンのEC2とEucalyptus

ともじ「Eucalyptusは一言でいえばアマゾンのクラウドを自分で作れるというものですね?」

しおや「身も蓋もなく言えばそういうものです。これも前回と同じくクラウドについてちょっと勉強しているときに出会ったんですけど...」

ともじ「アマゾンのクラウド互換なんですか? アマゾンのクラウドのソースコードが公開されているわけではないですよね。アマゾンのクラウド互換のものを作った...」

しおや「ということですね。」

しおや「クラウドの最初ってやっぱりグーグルがいちばん有名だと思うんですけど、グーグルのクラウドのサービスというのは(今はAppEngineもあるけれど)、当初話題にのぼってきたときにはまずBigTableっていうデータベースシステムがあって、次にMapReduceっていうAPIがあって、そのAPIを使ってクラウドの計算リソースをもらってくるっていうイメージですね。マイクロソフトも最近、Azureというクラウドサービスを始めると発表しているんですけど、詳しくは読んでないんですけどこれもAzureのなかに独自のAPIのようなもの、フレームワークがあって、それを使ってクラウドの計算能力を引き出すっていうアプローチなんです。
アマゾンは、同じクラウドでもそれとはちょっとおもむきが違っていて、アマゾンの用意する環境の中にどんどんバーチャルマシンが作れる。そのバーチャルマシンはLinuxなりWindowsなりふだん我々が使っているOSがそのまま動くようになっていて、そのマシン同士が何をやるかということについては、アマゾンは直接はこれと言った特別の機能は提供していない...と思ってます。ひょっとしたら違うかもしれません(笑)。もちろんSimpleDB(のようなデータベースサービス)とかストレージサービスとかはありますけど、グーグルのMapReduceに相当するような仕組みは用意してなくて、そういうのが欲しいひとはHadoopですとか自分で適当なライブラリを探してきて入れるようになっている...」

ともじ「EC2とS3はけっこうふだん使ってたりするので(語らせてもらいますと)、ちょっとWindowsサーバーのインスタンスをテスト用に立てたいとかいうときにほんとに5分で作れるんですよね」

かわの「ともじさん、使ってるって言ってたよね」

ともじ「使ってるんですよ」

かわの「つまり自分でローカルにサーバーを立てて使う代わりにEC2を使ってるってことですよね」

ともじ「ええ。お客さんと一時的にサーバー環境をシェアしないといけないときにすごく便利で。たとえばテスト的にWebサービスをたてなきゃいけないことがときどき出てくるんですけど、そういう場合、そんなにセキュアに考えなくてもよいケースって最初のときはけっこう多いので、そういうときはとりあえずEC2でたてちゃうと、お互いのファイアウォールとか何も考えなくて済むし、5分でWindowsサーバーがポコンと立ち上がって、とりあえず二日間だけそのインスタンスがあればいい、みたいな用途のときにはすごく便利ですね。」

かわの「EC2は最近はじめて知ったんですけど、そこにインストールするOSっているのはどこから持ってくるんですか?」

ともじ「何でもいいんですけど、Windowsは最初から用意されてるんですよ。だいたいはOSのイメージっていうのがあらかじめ無数に用意されてます。Ubuntuとかいろいろ...ユーザーが作ったものからアマゾンがオフィシャルに用意しているものまであるんですけど、スモールインスタンスと呼ばれるものでLinuxが1時間10セントでWindowsが1時間12.5セントなんです、たしか。」

かわの「それがライセンス料込みなんですね?」

ともじ「(Windowsについては)込みなんです。」

かわの「なるほど」

ともじ「一ヶ月使うと数千円とかになるんですけど、1日とかだと数百円で済んじゃうんで...」

しおや「安いですよね(笑)」

かわの「安いですね!」

しおや「さっきサラッとおっしゃったようにセキュリティを気にされる方は多くて、ちょうど今日でしたっけアマゾンがプライベートなんとかっていう(新サービスを発表しましたけど)なんだかんだ言ってもモノは向こうに(=サーバーは海外に)あるので心配は心配で、そうするとやっぱり自前の環境を組んで...っていうことをしたくなる。そこで、我々もクラウドサービスをやろうとしたときに、グーグルはMapReduceを使ってる、マイクロソフトのAzureもやっぱりそれなりのフレームワークを持っている、(そんな中で)クラウド研究者がサーバー同士はどんな動きをするのがいいんだろう、ということを考えるときに、個々のノード(=バーチャルマシン)の管理についてはいちいち書きたくない、というかやることは決まってる。バーチャルマシンのイメージを用意しておいて、足したいと思ったら足す、障害が起こっていると思ったら外す、そういう風に管理でやることは決まってるので、その足回りを提供しよう、というのがこのEucalyptusのプロジェクトです。」

かわの「足回り...?...って具体的には...?」

しおや「もちろん物理的なコンピュータはいくつか用意しておかなくてはいけない。そこにEucalyptusをインストールするとさっき説明のあったアマゾンと同じように仮想マシンがどんどん作れると。」

かわの「つまりEucalyptusの提供者は(アマゾンの)EC2みたいなサービスを自分で提供できるということ?」

しおや「そうですね」

かわの「逆に言うと自分がハードウェアを持ってないと意味がないというか...」

しおや「そうなんですけど、ハードウェアが10台あったとして、その10台分のハードウェアの上で100台分の仮想マシンを動かそうと思ったときに、ハードウェア1台ずつに対して、このハードウェアには10個の仮想マシンを作る、あのハードウェアにも10個の仮想マシンを作る、っていうのを手作業で管理してると、もうやってられない...」

かわの「ああそうか、1台1台のハードウェアにVMwareをインストールして仮想マシンを置いていく代わりに、グループの10台のハードウェアがクラウドとしてひとかたまりで仮想マシンのプラットフォームとして使えるわけですね」

しおや「ひとつの仮想マシンリソースみたいなものがあって、そこに100台の仮想マシンを作る。もちろんハードウェアの制限はありますけれど、(仮想マシンを)100台欲しければそこに100台作れる。」

かわの「よく会社であるのはマシンを新しい機種にいれかえたときに一世代前のマシンが5台とか10台の規模で余ってきて、売り飛ばしてもいいんだけどたいしたお金にならないからそれらの上にEucalyptusを入れてやれば、合わせると昔のマシンでもけっこう使い出があるという話ですか?」

しおや「(そういうケースもある)かもしれないですけど、それで(マシンの)性能が上がるわけではないです。仮想マシンはやっぱり1台の物理的なハードウェアの上で動くので性能の限界はあるんですけど...」

かわの「分散処理になるわけじゃない?」

しおや「ないんです。」

しおや「たとえば100台のハードウェアがあったとして、そのうちの1台が壊れたからはずしましょうというときに、いまこのハードウェアの上でどの仮想マシンが動いてるんだとかいうことをいちいちチェックしなくても済む...といいたいんですけど、ほんとうにそうなるのかそこまでまだ調べてません、すみません」

みや「ちなみにたとえば、どのぐらいのレベルまで(使えますか)?マシンが10台あれば故障率が上がりますよね?10台あれば10乗分...」

しおや「物理的なマシンが死んだ瞬間にそこで動いていたノードが落ちちゃうのはこれはしょうがないですよね。だけどそのときに管理者として代わりのノードを割り当てるとかいうのはEucalyptusが面倒をみてくれる」

みや「それはマシンを停止することなく割り当てることができる?」

しおや「(通常でも)マシンが落ちちゃったら再起動しますよね、それと同じことを仮想マシンのエリアでやってくれる...」

みや「そのときデータはどこに入っているのかな?」

しおや「アマゾンとかはきちんとした永続化サービスがあるんですけれど、Eucalyptusの場合はまだローカルファイルという扱いでこれといったレイヤは用意されていないんだそうです。」

みや「でもiSCSIとかで外のストレージにつないで共有するとか...」

しおや「そうしてくださいということなんじゃないかなと思います。」

みや「(クラウドに)どんどんマシンを追加していったときに、スペックの差がでるじゃないですか。昔はメモリが2GBだったのが今は64GBだとか、CPUの能力もずいぶん違うとか。そういうときのバランスというのは自動的にとるんですか?」

しおや「どうなんでしょうね...」

みや「割り当てられた1台のマシンのスペックを超えることはできない?」

しおや「できないですね。ひょっとしたら負荷を監視して空いてるノードに割り振るとかやってくれるのかもしれないですけど、多分そこまではしないと思います。そのへんはもう重いタスクをどのノードに割り当てるのかというもっと上のレイヤで研究する話になると思います。実際の例を考えてみると、いま仮想環境上で動いているホストが"すみません、いま負荷があがってきたんで他のホストに移って再起動します"といっていきなり停まったりしたら困っちゃうんで、そういうのはMap-ReduceなりなんなりAPIのレイヤで管理するべきテーマになるんじゃないかなと思います。」

みや「これ、ベースになる技術っていったい何を使ってるんですか」

しおや「ベースはRedHatのKVMという仮想マシンの管理システムを使ってバーチャルマシンを動かしてます。」

しおや「カードの上にホストになるOSが乗っていて、ここにコントローラがいる。このコントローラがゲストであるバーチャルマシンをいっぱい管理する、と。これが1台のハードウェアになっていて、これがもうひとつ上位のコントローラと通信してホストとバランスをとってくる。この単位でひとつのプライベートなネットワークを構成できるようになって、これが別のネットワークと励起して動く。これ全体を統括する一番上に、クラウドコントローラだったか何だったかというものがあって、これが全体を管理する。」

かわの「アマゾンのEC2との違いは、EC2は有料だけどEucalyptusは自分でインストールすれば(タダで)使える...」

しおや「使える。しかも自分のもの、絶対安心なネットワークで。自分ちで。」

かわの「安心ですかね、なんかアマゾンのほうが自前より安心のような気も..(笑)」

ともじ「アマゾンのセキュリティホワイトペーパーみたいなものを読んだことがあるんですけど、何重ものセキュリティゲートがあって、実際にサーバに触るまでには5回ぐらいゲートを通過しなければいけないとか。」

みや「アマゾンのマシン室ってコンテナみたいなやつですよね? 入りようがない」

かわの「コンテナ?」

みや「積んでいくだけなんです。コンテナの中にマシンが並んでいて、積むと電気やネットワークが接続されて。」

ともじ「グーグルやアマゾンのデータセンターって、最近はインテリジェントビルじゃなくて駐車場みたいになってるみたいですね。アメリカの地下の駐車場のイメージで。そのコンテナの脇に水冷の管が通ってたりとか。」

EC2の意味

かわの「アマゾンのEC2が画期的なのは、ベンチャー企業がたちあがったときに、アイディアもあるんだけれど、今のベンチャーはWebのベンチャーなので、サービスが売れたとたんにどっとアクセスが来るとそれに対応できるインフラを作ったり、お客さんを怒らせない程度にターンアラウンドを納めるための管理にかなり人をとられてしまって、でもそういうところは競争力のコアではないので、そんなところで競争しても意味がないと。だからそれはアマゾンを使ってね、という意味があって、それが画期的な点なんだという意味のことをマーク・アンドリーセンが書いているという記事を読んで、なるほどなと思いました。」

ともじ「ファイアウォール付きでメモリ1.7GBのスモールインスタンスが$0.10/hour、月額75ドルくらいです(2009.9.28現在)。それがラージになるとメモリ7.5GBで$0.40/hour。」

かわの「プロトタイプを作るときは1台でいいんだけど、万が一ブレイクしてお客さんがどっと来たりするときにバーンと買い足せばいいってことですね?」

ともじ「インスタンスを時間で買えるので、アクセスが多い時間帯だけインスタンスを多く立ち上げるんですよ。」

みや「インスタンスというのは、Webで言えばWebサーバを複数たちあげるということですか?」

ともじ「はい。」

みや「あるアドレスでサービスをたちあげて、ドッとアクセスが来たときに、単一(のスモール)サーバじゃまかないきれなくなったらラージに行って、ラージでまかないきれなくなったら」

ともじ「ラージをいくつも。ロードバランサは1個おいといて。」

みや「ロードバランサはまた別のサービスなんですか」

ともじ「そうですね。」

しおや「IPアドレスは別々に振ってもらえるんですよね。DNSにずらっと並べるとか。」

みや「負荷の配分はユーザが考えなければいけないということですね。誤解を生じそうなのは、クラウドを使えばどこで動くかは全然意識しなくていいとよく言うけど、サーバのスペックは超えられないから、それをどう使うかはユーザが設計する必要がある、と。」

ともじ「アプリケーションであれば、アプリケーションをクラスタ対応にするのはこちら側の責任になりますね。物理的なマシンはEC2が用意してくれる、それに加えてファイアウォールを用意してくれる、という。」

みや「API、APIって聞いてたのでそれをただつつけば向こう側が際限なく利用できるっていうイメージでみんなとらえていると思う。」

ともじ「Javaのコマンドラインからインスタンスをたちあげることができて、自分のカスタマイズしたイメージはS3(=アマゾンのストレージサービス)に置いておけるんですよ。でこのストレージサービスは1ヶ月1GB10円ですから、そこにたとえば自分のUbuntuのイメージとか置いとけば。」

かわの「1か月1GB100円じゃなくて?」

ともじ「10円です(笑)。ぼくもS3にいくつか自分用のインスタンスを置いてあるんですよ、必要なソフトをインストールして。たとえばApacheのconfigファイルをカスタマイズしたのを置いておくんですよ。でコマンドラインからこのインスタンスが欲しいと叩けばそのインスタンスがぽーんと立ち上がって、いらなくなったらたためばいいわけですね。たとえば夜の10時からアクセスが増えるのであれば夜の10時になったら自動的にインスタンスを立ち上げるプログラムを書いておいて夜中の2時になったら収束するので勝手に落としちゃう。ロードバランシングは別にやっておく必要があります。」

みや「ただ10時にたちあがってもアクセスこなかったらしょうがないじゃないですか。その場合はどうするんだろう?従量制だということで負荷とかトラフィックが多くなったら値段を払うというと、なんか際限なくひとつのインスタンスで抱えられてそこに何万台とコンピュータがあっても1台とみなすことができる、そんなイメージでうたわれていると思ったんですけど、それは違うんですか?」

しおや「私もクラウドって最初はそういうイメージかと思ったんです。グーグルのAppEngineで使われているMapReduceなんかはそうなんですよ。このAPIどおりに書いてくれれば、バックエンドでグーグルのコンテナに詰まったマシンが必要であれば1万台でも何万台でも動いて計算をします、ということでユーザに意識させない。その代わりにユーザはMapReduceというフレームワークの中でしかプログラムが書けない。アマゾンはそうじゃなくて、"うちはあくまでもヴァーチャルマシンの実行環境"ということで。」

Eucalyptusのアマゾン互換性

みや「Eucalyptusの管理方法というのはアマゾンに準拠しているわけですか? なんでアマゾン準拠にしているのかな?」

ともじ「想像なんですけれど、アマゾン用の仮想マシンのインスタンス(AMI)とEucalyptusのインスタンス(EMI)で互換性があるのでは?」

しおや「互換性があるんです。現実にアマゾンの仮想マシンはファイルの形で保管されていて、そのフォーマット自体は公開していないんらしいんですけれど、それとほぼ互換のある形で提供しているそうです。」

みや「誰がそれやってるの?」

いぬい「カリフォルニア州立大学サンタ・バーバラ校って書いてありますね。」

みや「サーバをレンタルしますってサービスって日本にも昔からいろいろあるけれど、それをただ安くして、時間貸しというか機動的に提供できるようにしたということに近いのかな。それをこういう非常に洗練された管理をソフトウェアがやってるか人でやっているかの違い...」

ともじ「(EC2の画面を表示しながら)これが利用できるイメージの一覧ですね。CentOSにOracleが乗っているイメージってのもあるんですよ。」

かわの「これ、ぱっとインスタンス作るのに何分くらいかかるんですか?」

ともじ「やってみましょうか。すぐできますよ。」(EC2のインスタンスを作るデモ)

ネットワークの影響

いぬい「これネットワーク(の課金)は別ですよね?」

ともじ「別です。」

いぬい「ネットワークをジャブジャブ使うとけっこうかかるんですよね。計算してみるとNTTのBフレッツのほうがネットワークをジャブジャブ使うと安くなったりしますね。我々みたいなネットワークをジャブジャブ使う人にとっては(EC2は)それほど安くない。ネットワークをジャブジャブ使わないでウェブで使うくらいの場合は安い。」

ともじ「ベンチャーが使うには適しているような気がするんですよ。社内に環境を揃えたくないみたいな」

かわの「アプリケーションによってネットワークに負荷のかかりやすいアプリケーションとサーバのリソースに負荷にかかるものがある...」

いぬい「そう。サーバ自体は日本国内でもけっこう安いんですよ。ネットワークはやっぱり高い。あとこれの僕らにとっての最大の問題点は遠いんですよね。物理的に遠いから到達時間が遅いんですよ。これ海外にあるので到達時間が遅いんですよね。僕が思うには、日本国内にこういうサービスがあると流行ると思うんでインフォサイエンスでやりませんか、みたいな(笑)。」

みや「僕が思うにはさっき言ったように設備をどーんと並べて何十万台とかコンピュータを並べて、それを1台とみなしてやるからこそ彼らは安い値段でできるって僕は思ってたけど、これだと何だかサーバ1台からでも始められます、みたいな感じがするんだけど...」

いぬい「そうですね、ユーザはサーバ1台からですね」

みや「いや、提供する側も"クラウドサービスはじめました"とかいって実はサーバ1台しかない、みたいな。」

いぬい「ただ、コスト的にはおそらくサーバ1台あってネットワークがあってユーザが少なかったらペイしないと思う。けっこうフル×フルに使えるぐらいのユーザを集められて、おそらく一番コストパフォーマンス高いなと僕が思ったのは、Bフレッツのフレッツ光ネクストだと実効帯域500Mくらい出ると言われているんで、その500Mの下にマシンを何台かぶらさげて、その500Mがそこそこ使われるくらいのレベルでサービスを提供するとけっこう儲かるなというふうには思ったんですけど。」

みや「そうすると、APIとかっていうのは?」

しおや「ここにくるんですよ。たぶん、宮さんのクラウドのイメージってここになってて(図を指す)、これは凄くたくさんクラウドのほうにマシンがあるんだけどモノとしては1台のコンピュータにみえて、ものすごい計算力を持っているよ、という(イメージ)。MapReduce、フリーの実装ならHadoopが、ここを処理する。でも本当にハードウェアをいっぱい動かすだと管理が大変なんで、実際にはバーチャルマシンがいっぱい並んでます、ということですね。そのバーチャルマシンがいっぱいならんでいるのを、Eucalyptusという管理するレイヤがあって、その下で本物の物理的なマシンがある。これが壊れたとしてもこれの代わりをここに作りましょう、で済む。ソフトウェアだけなんで。エンジニアがここにいて、スイッチオフとかやらなくていいわけですね。」

みや「そのEucalyptusのコンソールというのは、アマゾンのコンソールに準拠している?」

しおや「コマンドラインはほぼ同じ使い勝手だと聞いています。」

セキュリティの問題

みや「あともうひとつ。VMを提供するということはUnixで言えばroot権限をもらえるということ?そうするとセキュリティホールとかそういうのが発生したときにはどうするの?」

しおや「それはユーザ責任で。」

みや「ユーザ責任といっても、そこを踏み台にされてぐちゃぐちゃに世の中なってったらどうするのか、という...」

ともじ「実際にアマゾンのバーチャルマシンを使ったスパムって一時期あったらしいんですよ。ただ、スパムの発信元ってすぐ特定できちゃうじゃないですか。アマゾンの側としてはきっとそういう悪意のある利用をしたときには仮想マシンを特定してその利用を停止するという権限はもしかしたらあるんだろうなと思うのと、アマゾンのEC2からのメールは自動的にジャンク扱いするフィルタもあるらしいです。」

みや「DOS攻撃とかなんでもござれになると思うんです、パッチの対応とかいわゆる我々のような運用屋さんがやっていることって必要になってきちゃうと思うんですね。結局すべて解決しますみたいなことは...」

ともじ「EC2についてはそれはないですね。」

しおや「たとえばパッチあてるにしても物理的にひとつひとつやるんじゃなくてバーチャルマシンなんであとは管理ツールの仕事になるわけです。」

いぬい「勝手にパッチあてられても困りますよね(笑)」

ともじ「Eucalyptusもそうだと思うんですけど、アマゾンの場合、仮想マシンを用意するというのはアプリケーションのひとつにすぎないって感じですよね。他にストレージを提供するS3があって。S3のほうはそれこそストレージのクラウドを持つことになる。」

しおや「これはCPUレベルの話でしかないんで、CPUの他にストレージがないとデータの保存ができませんよね、ということになってS3がある。でもストレージとCPUだけではシンプルすぎるんで間にやっぱりDBがいるんじゃないとということになってSimpleDBとかBigtableとか...」

ともじ「たぶんSimpleDBとかS3っていうのは宮さんが考えているクラウドとイメージが近いんじゃないですかね。」

しおや「(SimleDBやS3は)一つにしかみえない。ホストがあってハードディスクがぶらさがってるんですけれど、それはまったくみえない。一つにみえる(という意味では宮さんのイメージと同じ)。」

みや「これを使えば安くなって全部解決するんだという希望をもつ人もでてくるんだけど、やはり技術者は必要な気がする。」

ともじ「いわゆるroot adminというかサーバーのadminは絶対いりますので。」

みや「そのかわりそこで動かすアプリケーションは自由に作れる。そのかわり、作り方が悪かったらセキュリティホールも作っちゃう。」

しおや「十台あっても(分散方法の設計がまずくて)1台分の計算力しか発揮してないということもありうる。エコポイントのシステムは3週間くらいで作ったらしいんですけど、初日のアクセスはすごく多いが三年くらいしか使わないということで、初日のアクセスに会わせてハードウェアを用意するということではありえないペースでできたっていう...」

ともじ「SalesForceの場合はアプリケーションそのものができてしまっているので、クラウド+アプリケーションというか、ひとつの大きなアプリケーションですよね。SalesForceをうちの会社で使ってるんですけど、いわゆるCRMができちゃってるんですよね。あとはフィールドを足したりとかすれば使えてしまうので。」

みや「ああ、その画面をカスタマイズして。似たようなことをサイボウズとかがやってますよね」

ともじ「ああ、そうかもしれないですね。」

みや「そういうレベルで実現したということですね。いわゆる昔もTheCardとか」

かわの「SalesForceが提供している関数とテンプレートを使っていれば簡単なんだけどそこからはずれるとけっこう」

ともじ「CRMという枠の中ではかなり柔軟にできるんですよ、いろんなことが。CRMというアプリケーションの範囲であればAccessくらいの柔軟性を持ってるんですよ。」

かわの「ちょっとさっきの話にもどりたいんですけど、Eucalyptusはその絵で言えばまんなかの階層にありますよね。だからEucalyptusは別にMapReduceを使わないアプリケーションもその上で動かせるという理解でいいんですよね?」

しおや「EucalyptusはあくまでもOSレベルのバーチャルマシンを提供するだけなんで、その上で何を動かすかというのは...」

かわの「CouchDBをこの上で動かせばmap-reduceを使えるけど、そうじゃないアプリケーションも動かせると。」

しおや「贅沢な仕組みを作っておいて1台だけテストマシンを動かすというもったいない使い方もできる(笑)」

クラウドのメリットとは?

みや「ちょっと根本的な話になっちゃうけど、クラウドがこれからのコンピューティング環境を変えていくっていうのは、あれ見てるとね、その管理工数はVMの管理工数を下げることができるかもしれないけど、そのかかるコストって、ほんとにねハードを準備する側にとってなにかすごい大きなメリットがあるとはちょっと見えなくて。効率的にそういうものができますよ、というのは分かるんだけど、それがどういう...Eucalyptusを使ってなかったシステムとの違いがどうコストにあわられてくるのかなというのが...」

しおや「そこでひとつの境界線ができていて、たしかにレンタルサーバーも1台電話して1台だしてくださいっていうと1台増えるわけですけどそのセットアップっていうとモノを用意しないといけないわけですから。」

いぬい「ある瞬間に増やせるからじゃないですか。足りないときに増やせるわけですよね。最大10MBだったのが100MBにいったり。うちもそうですけど5Mしか使ってないときもあるけどピークのときは100Mの帯域を使うんですけど、それも従量課金で。100Mの帯域を占有しなくても、誰も使ってないときには料金をとられない、なおかつそれがリーズナブルな価格で提供されているというところが安いですよね。」

みや「それは価格設定の話ですね。それ以外のところがどういう...」

いぬい「価格設定の話だけだと思いますよ。何台確保しても十分安いのであればあんまりこれは意味がなくて、使う量に応じて課金されるというのが一番のポイントだと僕は思います。」

ともじ「あとは、うちの会社みたいなところだと資産計上しなくて済むとか。」

いぬい「会計的なところでね。」

みや「ユーザーからするとそれがコンピューティング環境をがらっと変える何かこう画期的なことなのかどうか、ちょっとピンとこなくて」

かわの「ベンチャーが立ち上げやすくなるっていうのは?」

しおや「トータルでみると変わらないんですけど、結局このサーバーを買って5年間ちゃんと資産管理してっていうことを意識しなくて済むってのは大きいっていうことですよね。」

みや「提供している側は管理しなくちゃならないよね。それは今のレンタルサーバーと同じ話だし。」

ともじ「アマゾンとレンタルサーバーの違いは、アマゾンだとOSから何から自由に選べる、アマゾンは物理的なハードだけを用意してくれて、そこに好きなイメージを用意してくれている、それが僕にとってはメリットですね。」

みや「それは技術者としてはよくわかるんですが、たしかに。ただ利用者からみて...それがたくさんあって安い?」

かわの「利用者って?」

みや「そのシステムを運営する会社。」

ともじ「ユーザー企業にとってはユーザー部門が楽になるというよりはIT部門が楽になるっていう感じなんですかね。IT部門の仕事がなくなるわけではない。だけどIT部門がやらないといけない仕事の一部は、アマゾンないしEucalyptusを管理する会社がやってくれる。」

かわの「ハード管理とか資産管理とかはしなくてよくなるかもしれない。」

みや「自前でやってるとそれは言えると思うんですけど。」

ともじ「インフォサイエンスのお客様がインフォサイエンスからアマゾンに乗り換えるメリットって何だろう、ということですか?」

みや「そうそう、それがあるし、あといわゆるレンタルサーバーでもバーチャルホストみたいな、root権限わたしますっていうサービスたくさんあるんで、それと比較したときに...」

いぬい「たくさんありますけど契約するのは大変じゃないですか? 初期費用とられるのと、あと月単位の増減とか難しい...うちはテストサイトをけっこう持ってるんですけど、それはあえてアメリカに借りたんですね。それは安かったからですけど、だいぶ前に借りたんですけど。半年契約で半年分は前払いで。ぼくそれ辞めたらよかったなと今は思ってるんですけどもう契約してるからしょうがない。それが、あるときは増やしてあるときは減らしてテストとかそういうときにダイナミックに増減できてその課金がリーズナブルっていうのはすごく僕としては魅力を感じますね。」

アマゾンEC2を選ぶ理由

みや「そうすると価格がひとつで、なぜそんな低価格で出せるのかっていう根拠が、いままでとはコスト構造がどう違うのか、そんなに変わんないじゃないのっていう疑問が...」

かわの「アマゾンに関していうと、自分たちがクリスマスの商戦を処理するためにものすごいリソースが必要で、でもクリスマス以外は遊んでしまうのでなんかいい方法ないかって考えてリソースを売ろうって考えたのがEC2なのかな、って思ったんだけど。」

いぬい「そりゃやっぱりスケールメリットじゃないですかね。僕が思うにこれ、グローバルIPアドレスいりますね。日本でグローバルIPとるのってけっこう高いじゃないですか。10個仮想マシンがあるとしたら最低10個分のグローバルIPがいるわけですよね。Bフレッツ契約してますけどBフレッツのIP8からIP16にするとまたこれがお金がどんとかかるわけですよ、8、16の単位しかないし。それがグローバルIP一個欲しいなというときに契約して明日から要らないやと思ったらすぐ解約できるという柔軟性というのはすごくいいと思いますけどね。」

ともじ「(自分のアプリケーション開発に)最初はRailsのホスティングサービスがあってそれを使ってたんですよ。そこはRailsのバージョンとか入ってるRubyのバージョンとかあとgemを自由に入れられないとか、いわゆるその仮想のところのある種のroot権限はあるんだけれどマシン全体のrootがあるわけじゃなくてそんな好き勝手なことはできない。1ヶ月2,000円ぐらいでしたけど。あとは遅いんですよ。それをEC2に切り替えたらほんとに好き勝手なことができるので。」

いぬい「これハードディスクとかにデータが入っていればマシンが故障したときに次のやつをすぐにたちあげたりとかできるんですか?」

ともじ「できます。僕なんかがよくやるパターンに、MySQL使ってるんですけど、仮想環境の外にEBSっていう永続化ストレージが別にあるんですよ。そこをマウントするんですね。そこは何ていうんですかね、RAIDクラウドって感じだと思うんですけど、だから仮想環境がコケてもDBは死なないんですよ。」

いぬい「そのDBって言ってるのはいわゆるハードディスクですか?」

しおや「アマゾンの場合はNASみたいなもんですかね。」

いぬい「それはおもしろいですね。」

ともじ「MySQLLのデータベースが入っているストレージブロックのスナップショットを自動的にとってくれる機能もあるんですよ。だいたい今、20分間隔でとってるんですけど、それをそれを今度はS3に入れとくんですよ。」

かわの「トラブルでデータが消えてもまたそこからスタートできるんだ。なるほど。」

いぬい「レンタルサーバーうちで借りてるんですけど、サーバー借りてるんで落ちたらしばらく時間かかりますよね。落ちたら(復旧に)1時間か2時間かかるんですよね。うちのプランだとサーバーが落ちてるということは向こうから教えてくれなくて、こっちが検出するソフトをずっと動かしているんですけど、落ちたって分かると向こうに連絡すると"今からハードウェアを取り替えます"って言われてやっぱり1時間か2時間かかるんですよね。それが普通かどうか知らないですけどそうするとその1時間、2時間が耐えられないことがあって、そこをすぐ次のマシンに切り替えられるというのであればすごくいいですね。」

ともじ「ぼくのRailsのアプリケーションだとここに普通に動いていて、MySQLのアプリケーションは別のストレージクラウドのほうに入っていて、ここのDBのバックアップはS3のほうにあるんです。」

いぬい「それはデータは保証してもらえるんですか、そのストレージ?」

ともじ「保証はないです。」

しおや「それはやらないほうがよい、信用しないほうがよいってガイドラインに書いてあるんですよね、たしか(笑)」

ともじ「僕の技術力だと自前でやるより安心できるので。ここのスナップショットをS3にとって、S3自体もアメリカのストレージとヨーロッパのストレージがあるんですよ。」

いぬい「要はそれはRAIDになってるんですか?」

ともじ「なってるんでしょうね。」

いぬい「たとえばですけどレンタルサーバーだったらRAIDの契約をすればもちろんRAIDになりますけどRAIDの契約をしなければRAIDじゃないのでデータがなくなってもごめんなさい、と。自分の責任になっちゃいますから。そこらへんは保証されててそこは違いますよね、通常のレンタルサーバーとは。それとさっき言った負荷分散、そういうことをやってくれるっていうのも違いますね。」

ともじ「ここにまた別にロードバランシングのサービスがあるんですよ、有料で。あと固定のIPアドレス。インスタンスが立ち上げると標準では別のIPアドレスがアサインされちゃうんですが、自分で固定のIPアドレスを持っておくこともできるんですよ。」

いぬい「え、IPアドレスは固定で持っておけるんですか? でVMだけを代えられるわけですか? それはすばらしいですね。なるほど便利だ(笑)」

ともじ「あと、USゾーンとヨーロッパゾーンがあるんですよ。S3バックアップとるときにUSゾーンとヨーロッパゾーンに置いとけるんですよ。両方コケることはないだろう、と。核戦争でもない限り。」

みや「それは自分でやる必要があるわけですね?」

しおや「分散するのはアマゾンが勝手に分散してくれるんですよね?」

ともじ「どっちに置くかはユーザが選ばないといけないんですよ。料金も違います。ヨーロッパゾーンのほうが若干高いです。」

いぬい「でもあれですね、聞けば聞くほどすごいですね。日本でそういうサービス始まったら...」

クラウドの時代へ?

いぬい「ぼくDropbox使ってるんですけどそれはむちゃむちゃ便利ですよ。」

ともじ「DropboxのバックエンドはS3なんですよ。」

かわの「Dropboxは1月50GBで1000円じゃないですか。その半分はアマゾンに持っていってるわけだ。」

ともじ「最近のDropbox的サービスってほとんどS3使ってるはずなんですよ。」

いぬい「これ本格的に日本に入ってきたらかなりの業者が困りますよね。」

ともじ「単純なレンタルサーバーやってるところは厳しくなるか、ないしは自社のサーバではなくてアマゾンのインフラを使った代理店みたいなレンタルサーバー業者がでてきてるので...」

かわの「インフラを管理するところはアマゾンさんを使ってその上での競争になるのでクリエイティブかも。」

いぬい「その上にお金払うほどのサービスがないじゃないですか。今の日本のサービスはないですよね。DropboxはDropboxで付加価値がありますよね、それはよく分かるんですけど、レンタルサーバー業者というのはこれでみんなつぶれていくんですね。付加価値がないところが割と多いじゃないですか(笑)。ソリューションを提供しているところはいいですけれどそうでないレンタルサーバーは危ないわけですね。」

ともじ「すくなくとも僕は乗り換えましたね。」

いぬい「やっぱり距離ですよね。いまアマゾンは遠いので遅いので。」

ともじ「最初距離の心配してたんですよ、でも日本にあるレンタルサーバーよりもEC2のほうがはるかに早くなっちゃって(笑)。結局ベースになってる処理パワーが違うので、ネットワークのレイテンシがあっても、その処理パワーというか1ドルあたりのCPUパワーっていうんですかね、その払うお金の。それがEC2のほうが。」

かわの「さっき乾さんが言った通り、ネットワークの帯域をたくさん使うものかマシンパワーを使うものかバランスもあるでしょうね。」

ともじ「ジャパンに本当にできてくれたら便利かなと。」

しおや「やっぱりぱっとできてさっきデモ(VMインスタンスの作成)したような勢いでできるというのはずいぶん印象が違ってくる。」

いぬい「それは全然違うんじゃないですかね。」

ともじ「SQLServer付きのWindowsサーバーを5分といわず2分まっていれば起動できて、IISも入ってるからすぐにWebアプリを展開なんてこともすぐにできる。」

いぬい「それは、何かを置いておくところはS3というところなんですよね。それをCPUに割り当てるのがウェブサービスでやるところですね?」

ともじ「そうですね。自分なりのイメージを作ったらそれをS3に冷凍して保存しておく、みたいな。それを何回でも解凍して使えるっていうイメージですかね。」

かわの「じゃ今アプリケーション書く人っていうのは、ここに行ってバーチャルマシンをたちあげることがサーバーセットアップなんだ。」

ともじ「最近のWeb2.0的なサービスってあるじゃないですか。僕の知ってるのはRailsの世界なんですけど、Railsで組んだ商用アプリケーションの多くがレンタルサーバーとか自前サーバーとかRailsの専用レンタルサーバーからだいたいアマゾンに移行してるらしいんですよ。」

いぬい「クラウドの時代は来ますね(笑)。」

誰のためのクラウドか

ともじ「ただ、ユーザーにとってのメリットというよりも、IT部門とかエンジニアが楽をするための仕組みかなって気はしますね。」

かわの「悪く言えば楽をするってことだけど、良く言えばそういう競争にならないところというかお守りみたいなところはアマゾンに任せておけばいいんだから、もっとクリエイティブなところで勝負できるってことでしょ?」

ともじ「物理的なサーバーだけ持っているというのだと苦しいのかしれないのですけど、さっき宮さんがおっしゃったようにパッチあてたりとかログを監視したりとかはアマゾンがやってくれるわけではないので。バーチャルマシンの中で繰り広げられることは全部自己責任ですから。」

かわの「昔、かさいさんに15年くらい前にうちの最初のサーバーをたちあげてもらったことありましたよね、あれが2分でできると言ってますが...」

かさい「かさいくんも要らない、と(笑)」

ともじ「ちょっとマシンが欲しいと思ったらWindowsでも何でもたちあげることができて、とりあえず巨大なファイルを保存したいと思ったらS3、データベースを堅牢な場所に置きたいと思ったらEBSがあって。」

いぬい「速度は問題にならないですか?」

ともじ「ぼくは気にならないですね。もっと早くなればいいなとは思いますけど、日本のレンタルサーバー使うよりも安い契約のときはレイテンシーがあってもアメリカのEC2のほうが早かったです。」

いぬい「じゃあうちはさっそく使いますよ(笑)。今週の月曜日にIPアドレスが足りんとかなんとかで全体会議でそれで1時間くらい使いましたからね(笑)。」

ともじ「Yahoo.comとかにアクセスして遅いなと思ったらダメだと思うんですけどYahoo.comが十分早いなと思ったらたぶんOKだと思います。」

いぬい「そんなに重要な速度がいるサイトじゃないんですけど、うちも回線を5回戦くらい契約しているのと自前で持ってるのとあとデータセンターに置いてあるんですよね、それでもIPアドレスが何十個しかないのでいっぱいサーバがあるので足りない足りないって言ってるんですよね。でも、これがあれば安くできるんですよね。」

しおや「あんまりこれが便利だから、これが原因でIPv6に行けなくなるんじゃないかという話がでているくらいで」

ともじ「CRMが欲しい、顧客管理したいと思ったらSalesforce.comで、セキュリティかけようと思ったら自社のIPアドレスからしか操作できないようにできるし、たとえばソースコードの管理をしたいと思ったらたとえばgithubみたいなところを使えばgitのサーバーがそのまま使えちゃうわけですよね。昔は自宅にLinuxサーバーを置いていろんなことをやってたんですけど、最近はもう自前でサーバーを用意することがなくなりましたね...」

データの永続化について

ともじ「ちなみにEC2もEucalyptusもたぶん同じだと思うんでけど、仮想マシンでイメージをたちあげたのがシャットダウンしますよね、するとデータは消えるんですよ。永続化は自動化されてないんですね。シャットダウンしたらVMに入っていた情報は全部消えてしまうので。そこでEBSがあるんですよ。S3はFTPみたいなもんなんですよ。たとえばMySQLのデータベースを置いといてリアルタイムにアップデートできるという場所ではなくてファイルを置くだけ。ここはDBのストレージファイルをマウントできる場所。」

いぬい「1GB10円ですか?」

ともじ「ここ(EBS)はもう少し高いです。」

かわの「そこはバーチャルじゃないってことなんですね?」

ともじ「EC2と同じ仕組みではないと思うんですよね、きっと。」

しおや「ユーザーから見るとぽんと一つのディスクにしか見えない、実態はきっとノードがいっぱいあってRAIDがいくつも組んであって、ってことなんでしょうけど。」

ともじ「全体としてみるとよくできてるな、と。かつ、SimpleDB、この間のCouchDBみたいなものは用意されていて。」

ともじ「僕なんかにするとおもちゃ。これまでは物理的にハードを持ってないとLinuxいれたりとかできなかったじゃないですか。それがとりあえず1時間10円とかそういう単位で自由に使えるサーバーおもちゃが手に入る(笑)」

しおや「そういう意味では、こうやってバーチャルマシンをいっぱい使って遊べますということがおもちゃなのであって、それを提供したい人はどのくらいいるの?っていう...」

ともじ「Eucalyptusがおもちゃである砂場(サンドボックス)を用意してくれるわけですね。」

Eucalyptusの使われ方

いぬい「Eucalyptusはどういうふうに利用するんでしょうね?企業内じゃないですよね。」

ともじ「このEucalyptusは企業化されていて、ビジネスじゃないですか、ここはこのEucalyptusを売って、ないしはコンサルティングをしてビジネスをするんでしょうけど、どこに売るんでしょうね?」

しおや「日本の大企業あたりだと日本のデータセンターに自分たちのクラウドのプラットフォームを持っておきたいというニーズがあるんじゃないですかね。」

かわの「なるほど、アマゾンに依存しているのがいやだという場合ですね?」

しおや「あくまでも自分たちは自分たち用アマゾンを作るっていう。やっぱりクラウドとくると次はセキュリティという話になると思うんで、そのへんを自分で作りたいという人はいるんじゃないかなと思うんですけどどうでしょうね。そこまで手間をかけるんだったらもっとユーザよりで工夫するってほうに割り切っちゃうかもしんないし。」

いぬい「でも、グローバルIPを割り当てられるとか、中のデータをハードディスクに持っておけるとかいうのは、フォールトトレランス性を確保する意味でもけっこう使えそうな気がしますけどね。企業内でマシン壊れるじゃないですか、ある一定量で。10台あったらそれなりの故障率とか。そういうときにそれを気にせずにこれに切り替えればいいわけですね。」

みや「やるとしたらEucalyptusを使って、今Xenのサーバーが4,5台あるんですね、そこに加味していくっていうのはあると思うんですね、ハード的に。セキュリティの面とかどうなんでしょうね。」

ともじ「なんとなくイメージとしては、本質的にはXenとかと変わらない気がするんですよね、レイヤはちょっと増えていくのかと思うんですけど。」

みや「管理しやすくなるのはメリットとしてわかるんですけど。」

しおや「発達していくと、VMwareなんかESXとか管理システムは進歩しているのでそことだんだん区別はつかなくなっていくんだろうなという感じはします。」

みや「ただやっぱり、今苦労しているのはOSのイメージをどうやってバックアップするか、稼働している最中の更新されているデータをどういうふうに自動的にバックアップしてどこまで復元できるようにするかとか、そういうところは別に工夫しているんですよね、こちらはこちらで。」

しおや「あとは、アマゾンみたいに特化すれば、信頼度の高いNASみたいなどこからでも見える大きいディスクをひとつ用意しておいてね、と。データの安全性についてはそこで面倒みてくださいというようなスタンスですよね。」

みや「うちがちょっと苦労しているのはVMの中でどんどんデータが作られているしシステムの開発もされている、そこでやってるんですね、ずっと。すると彼らは、朝方3時にバックアップがとられるようなしくみになっていて、別のiSCSIのストレージに一週間分5世代くらいをとっていてそこまでは戻れる、そういう感じで工夫してやっているのが何台かあるんですよ。それをこれを使えば今までVMware使ってXen使って今度これっていう、そうするとハードをぱっぱっと追加していけば、たとえば今までCPUがCore 2 QuadだったのがCore i7ですか、そういうふうに追加していけばいいっていう感じなのね、これは。」

しおや「ストレージの問題がきっちりするとそうなりますね。」

みや「ストレージは全部iSCSIをマウントしてやって。」

しおや「ストレージとしては、イメージ的にはでっかいストレージがあって、バーチャルマシンはぜんぶここに入ってきますよと。ストレージあるいはDBなどですね。バーチャルマシン側としてはいつ自分が死ぬかわらかないからそのことは承知でストレージの読み書きをするよ、と。書いてる途中でバタンと死んで書きかけのことがあったら困るという場合はそれはアプリケーションのレイヤでなんとかしないといけない。ここのバックアップについてはこれとは全然別の世界なのでここの中だけで考えてくださいというそういう線引きになると思うんです。」

いぬい「そのストレージというのは、なにかファイルシステムをマウントしているようなイメージですか?」

しおや「アマゾンの場合はそうですね。普通でもそういうイメージで作る事になりますね。もちろん、たとえばこれをファイルシステムとしては一切見せないでSQLでしか見せないデータベースです、みたいなかたちでブロックしちゃって、というようなサービスも考えられるとは思いますけど。」

(以上、インフォサイエンスにて)