Eucalyptus の機能とコンポーネント
※この記事は、書籍『Eucalyptusではじめるプライベートクラウド構築』の内容を、ThinkIT向けに特別にオンラインで公開しているものです。詳しくは記事末尾の書籍紹介欄をご覧ください。
Eucalyptus はAmazon EC2/S3 API と互換性のあるプライベートクラウド基盤ソフトウェアで、カリフォルニア大学サンタバーバラ校のコンピュータサイエンス学科の研究プロジェクトとして開発されました。その後、2009 年4 月にEucalyptus Systems, Inc. を設立し、開発の継続と管理を行っています。本節ではEucalyptus が提供している機能や、Eucalyptus を構成する基本概念であるコンポーネントとネットワークモードについて説明します。
Amazon EC2/S3 との互換機能
Eucalyptus は当初、Amazon EC2 互換のAPI を提供する実験的なミドルウェアを実現するという目的で開発が進められていました。しかし、Eucalyptus がAmazon EC2 のAPI を実装していく過程で、Eucalyptus は、実用的なプライベートクラウド構築ミドルウェアを実現するという方向にシフトしていきました。この理由として、クラウド市場の流れとしてAmazon EC2 のようなパブリッククラウドだけではなく、プライベートクラウドやハイブリッドクラウドといった新しいクラウドの形態に世間の関心が集まっていったという点と、プライベートクラウドを実現するソフトウェアの中で最も実現性が高いソフトウェアがEucalyptus であったという点が挙げられます。当時Eucalyptus はAmazon EC2 との互換性がほかのソフトウェアよりも高く、そして比較的安定して動作していました。
本節では、Eucalyptus の最も大きな特徴であるAmazonEC2/S3 との互換性について解説しますが、Eucalyptus が何かを理解するためには、まずAmazonEC2/S3 がどのようなものを理解する必要があります。つまり、Eucalyptus がAmazon EC2/S3 と互換性を持つということは、Amazon EC2/S3 の持つ機能セットと同じ機能セットをEucalyptus も持っているということになります。よって、本節で説明する内容はAmazon EC2/S3 とEucalyptus の両方が持つ機能セットについての説明となります。
Amazon EC2/S3 における「クラウド」
前章で説明したように、クラウドとは、これまでのサービスと異なり技術的には既存技術や既存概念の複合で実現される技術であり、ビジネス的にはサービス提供形態の違い、つまり売り切り型のサービス提供ではなくリース型のサービス提供となります。提供するサービスは大きく分けて「SaaS」「PaaS」「IaaS」などがありますが、Amazon/Eucalyptus が提供するクラウドサービスはこの中のIaaS(Infrastructure as a Service)の形態をとっています( 図1 )。
図1:クラウド サービス形態とAmazon Web Services/Eucalyptus(クリックで拡大) |
インフラストラクチャといっても、昨今ではさまざまな資源がIT インフラストラクチャとして提供されています。Amazon Web Services/Eucalyptus が提供するインフラストラクチャには大きく分けて「計算機資源」「ディスク資源」があり、「計算機資源」とはインターネットを介して利用できる仮想マシン、「ディスク資源」とはインターネットを介して利用できる容量無制限のストレージになります。それぞれをEC2(Elastic Compute Cloud)、S3(Simple Storage Service)と呼んでいます。
EC2、S3 の機能を細分化すると、ディスクイメージを指定してインスタンスの起動停止や再起動を行う「インスタンス管理機能」、インスタンスの元となるディスクイメージの管理を行う「イメージ管理機能」、起動したインスタンスに接続できるIP の範囲指定やユーザー指定のファイアウォールを設定する「セキュリティグループ管理機能」、インスタンスにインターネットからアクセスできるIP をダイナミックに指定する「Elastic IP 管理機能」、インスタンスに永続化可能なディスクをダイナミックに取り付け・取り外しを行う「EBS(Elastic Block Store)管理機能」、インスタンスやインターネット上から利用できる容量無制限のストレージをHTTP で操作する「ストレージ管理機能」があります( 図2 )。
図2:Amazon EC2/S3 が提供する主な機能(クリックで拡大) |