GMOインターネット株式会社
ホーム > GMO最新ネット業界レポート一覧 > GMO最新ネット業界レポート

企業情報

GMO最新ネット業界レポート

第13回 テクノロジー編(前編)
GMOインターネット株式会社 次世代システム研究室 室長 堀内敏明。2009年11月24日、新しいショッピングガイドサイト「GMOとくとくショップ」をオープン。既存の大手インターネット会社のショッピングガイドサイトと異なり、最新テクノロジーを多数盛り込んでいるのが特徴。今回は、「GMOとくとくショップ」のクラウド環境を構築する上で利用しているEucalyptus(ユーカリプタス)について説明する。
1.Eucalyptusとは?

図1 IaaSのイメージ

最近クラウドという言葉がニュースに頻出するようになってきました。クラウドとは、大量のコンピュータリソースを雲(クラウド)のように捉え、インターネットを通じてクラウドの提供するサービスを使用する利用形態のことを指します。コンピュータリソースには、ハードウェアからソフトウェアまで様々あり、クラウドとして利用する場合、どのレベルのものをターゲットにすれば良いか検討する必要があります。そこで、現在クラウドは大きく以下のように分類されて利用さています。

  • 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とのハイブリッド構成も取ることができます。

2.Eucalyptusの仕組み

図2 Eucalyptusの構成

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の設定で行う必要があります。

3.Eucalyptusの管理するVM

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の構築や運用管理などについて説明します。


2010.4.21


*本文中に記載されている会社名および商品名・サービス名は、各社の商標 または登録商標です。

 

Copyright © 2013 GMO Internet, Inc. All Rights Reserved.