
最近クラウドという言葉がニュースに頻出するようになってきました。クラウドとは、大量のコンピュータリソースを雲(クラウド)のように捉え、インターネットを通じてクラウドの提供するサービスを使用する利用形態のことを指します。コンピュータリソースには、ハードウェアからソフトウェアまで様々あり、クラウドとして利用する場合、どのレベルのものをターゲットにすれば良いか検討する必要があります。そこで、現在クラウドは大きく以下のように分類されて利用さています。
- SaaS(Software as a Service)
-
ソフトウェアサービスを必要な分だけクラウドから利用する。
例)Salesforce, Google Apps
- PaaS(Platform as a Service)
-
ソフトウェアの開発・運用プラットフォームをサービスとして利用する。
例)Google App Engine, Windows Azure
- IaaS(Infrastructure as a Service)
-
サーバー、ロードバランサー等の基盤を利用する。
例)Amazon Web Service, Eucalyptus
それぞれ利用者に合った形で、提供形態が分かれています。 Eucalyptusはこの中でIaaSに分類されていますが、IaaSで最も有名なのがAmazon EC2(Elastic Compute Cloud)です。以前はサーバー環境を用意しようとすると、自分でサーバーを用意してネットワークの環境を整備したり、導入にも専門知識が必要でした。しかしEC2ではユーザーはWebから必要な時、必要な分だけのサーバーリソースを確保できるため、システム基盤を容易に構築することができます。
EucalyptusはオープンソースでAmazon EC2と同じクラウド環境を実現します。サーバーリソースのプロビジョニングを自動化し、さらにEC2インターフェイス互換性を保持しているため、EucalyptusとEC2とのハイブリッド構成も取ることができます。
EucalyptusはXEN/KVMを用いて、一台の物理サーバー上に複数のVM(Virtual Machine)を立ち上げることでクラウド環境を実現しています。EucalyptusはOSイメージ、起動・終了、起動するサーバーリソースの確認などを行っているため、以下のような複数のコンポーネントから構成されています。
- Cloud Controller(CLC)
-
ユーザーからのリクエストを受け付け、管理GUIからの操作を行える。
- Cluster Controller(CC)
-
NCのリソース状況監視、クラスター配下のネットワーク管理を行う。
- Node Controller(NC)
-
物理サーバー上のVMを管理する。
- Walrus
-
Amazon S3(Simple Storage Service)と互換のストレージ。起動されるVMのEMI(Elastic Machine Image)が保存される。
- Storage Controller(SC)
-
永続ストレージをインスタンスに提供する。Amazon EBS(Elastic Block Service)に相当する。
実際にEucalyptusが管理するVMが作成されるのはNC上になります。NCは物理的なサーバーの上で動作し、自身が保持するリソースをCCに報告します。CCは仮想CPU、メモリディスクの空き状況、IPアドレスを管理して、例えばCLCからのサーバーリソース確保要求に対して、リソースの空き状況とインスタンスの作成方法に従って仮想OS作成の指示をNCに行います。
Eucalyptusは複数のNodeControllerを管理して動作しますが、VMをどのNCに作成させるかは、GREEDY(順繰り)、ROUNDROBIN(ラウンドロビン)、POWERSAVE(VMが動作していないNCには作成しない)、といった設定が可能になっています。また、VMはNC上で動作するため、NC上で動作するHypervisorはXEN/KVMのどちらかを、Eucalyptusの設定で行う必要があります。
EucalyptusはAmazon EC2と同じようなクラウド環境を提供するため、VMの扱いについても注意が必要になります。 通常、XEN/KVMなどのVMはシャットダウンさせても、VMのイメージファイルが残っていれば、VM再起動によって同じ状態に戻すことができます。
EucalyptusのVMはシャットダウンさせてしまうとイメージファイルを全て消してしまうため、同じ状態でVMを稼動させることが出来ません。つまり、EucalyptusのVMは稼動してから停止させるまでの間、クラウド上に存在するもので、停止させると消えて無くなります。このイメージファイルの削除はNCがCCからのVM停止要求を受けて、VM停止後に消しこみ処理を行っています。
但し、EBS(Elastic Block Service)と同じく、VMに不発揮性の仮想ディスクをマウントすることで、VMが停止しても当該ディスクに書き込んでいる内容については失われないようになっています。これはWalrus上に作られるイメージファイルをATAoE(ATA over Ethernet)経由で仮想OSがマウントすることで実現されています。
このようにEucalyptusではAmazon EC2とほぼ同程度の機能を保持しているため、複数の仮想サーバーを一つのシステムの中で統一的に管理することでクラウド環境を提供することを容易にしています。
後編では、GMOとくとくショップにおけるEucalyptusの構築や運用管理などについて説明します。
- 【第2回】「GMOとくとくショップ」オープンにあたって - GMOとくとくショップと最新テクノロジー -
- 【第7回】「GMOとくとくショップ」に組み込まれたテクノロジー(前編)- Hadoopをどのように利用しているか? -
- 【第7回】「GMOとくとくショップ」に組み込まれたテクノロジー(後編)- Hadoopを使った構築方法やチューニングポイント、運用管理 -
- 【第10回】「GMOとくとくショップ」ではどのようにMySQLクラスターを利用しているか?(前編)- MySQLクラスターの仕組みについて -
- 【第10回】「GMOとくとくショップ」ではどのようにMySQLクラスターを利用しているか?(後編)- MySQLクラスター構築方法と運用管理 -
- 【第13回】「GMOとくとくショップ」で利用しているEucalyptusとは?(後編)- Eucalyptusの構築や運用管理について -
- 【第16回】「GMOとくとくショップ」のHadoop集計-Hiveの利用方法-(前編)- Hiveをどのように利用しているか? -
- 【第16回】「GMOとくとくショップ」のHadoop集計-Hiveの利用方法-(後編)- 実際に使用しているHiveQLについて -
- 【第19回】「GMOとくとくショップ」で利用しているアプリケーションフレームワークについて- Webアプリケーションフレームワークとは? -
*本文中に記載されている会社名および商品名・サービス名は、各社の商標 または登録商標です。


























