OSSのクラウド基盤「Eucalyptus」を使う(1)--全体構成を理解する

箕浦真(VA Linux Systems Japan)
2009-06-10 11:31:02
  • このエントリーをはてなブックマークに追加
最新特集【一覧】

1. Eucalyptusの構成

 Eucalyptusは、EC2とインターフェース互換をうたっていますが、それ以上のものではありません。EC2の内部は公開されている訳ではありませんし、全く異なっている可能性もあります。

 また、EC2の特徴がEucalyptusによるクラウドの特徴と一致する訳でもありません例えば、Amazonではミラーリングをしているために信頼性が高いとされているS3やEBS(Elastic Block Store)は、Eucalyptusでは単なるローカルファイルですし、Amazonのような従量課金のための仕組みもありません。

 Eucalyptusの構成については、同プロジェクトのウェブサイトで公開されている論文(*4)(リンク先はPDFファイル)のFigure 1が分かりやすいので、図1として一部改変の上引用します (*5)。

【図1】Eucalyptusの全体構成(構想) 【図1】Eucalyptusの全体構成(構想)(クリックで拡大表示します)

 図1を見ると、Eucalyptusは3つの階層からなっていることが分かります。

 1番下の階層が「ノード(図中のNode)」で、これは実際にインスタンスを動作させる(物理的な)マシンです。一般的な用語との混同を避けるため、以下「computing node」を直訳して「計算ノード」と呼ぶことにします。

 ハイパーバイザとしてXenまたはKVMが動作しており、ホストOS(Xenの場合はDomain 0)上で、Eucalyptusの一要素であるノードコントローラ(NC)が動いています。NCは、上位からの指示でインスタンス(仮想マシン、図中のInstance)を制御します。

 真ん中の階層が「クラスタ(図中のCluster)」で、これは1つ以上のノードとクラスタコントローラ(CC)からなります。CCは、上位からの指示で、インスタンス間、およびインスタンスとクラウドの外部の間のネットワークの制御や、計算ノードのスケジューリング(インスタンスをどの計算ノードで実行するかの選択)などを行います。

 クラスタ内通信のPrivate networkは、それぞれが単一セグメントであることが前提です。

 最上位が「クラウド(図中のCloud)」で、これは1つ以上のクラスタとクラウドコントローラ(CLC)からなります。CLCは、EC2互換のインターフェイスを備えており、EC2向けの各種ツールを用いてユーザーから指示された内容に基づいて各種の制御を行います。また、Amazonのストレージサービスで、EC2と組み合わせて利用されることの多いS3と互換性のある、「Walrus」というストレージサービスもCLCに同居しています。

(*4) The Eucalyptus Open-source Cloud-computing System, Daniel Nurmi, Rich Wolski, Chris Grzegorczyk, Graziano Obertelli, Sunil Soman, Lamia Youseff, Dmitrii Zagorodnov, in Proceedings of Cloud Computing and Its Applications [online], Chicago, Illinois (October 2008)

(*5) 論文中の用語と実装に使われている用語はなぜか異なり、たとえば論文中では「manager」という言葉が使われている概念について、実装では「controller」という言葉が当てられています。図1では実装に合わせて改変しました。

2. 本連載での構成

  • 新着記事
  • 特集
  • ブログ