今回は、OpenStackで構築するIaaS環境とはどのようなものか、全体を俯瞰してみよう。

 OpenStackによるIaaS環境で中核となるのは、「Nova」「Glance」「Swift」「Keystone」「Horizon」という五つのコアプロジェクト(=コンポーネント)である。図1に、各コンポーネントと、クラウド管理者/テナント管理者/エンドユーザーの関係を示した。それぞれの概要を以下に紹介しよう。

図1●OpenStackの構成要素と構築したIaaSの全体像
[画像のクリックで拡大表示]
(1)Nova:仮想化基盤管理

 NovaはAmazon Web Services(AWS)のAmazon EC2およびEBS(Elastic Block Storage)に相当する機能を提供する。ハイパーバイザにより提供される仮想化されたコンピューティングリソース(仮想マシン、仮想ボリューム、仮想ネットワーク)をリソースプールとして管理するIaaSのサービス基盤の中核部分である。KVM、 XenServer、OpenVZ、VMware vSphere、LXCなど、多様なハイパーバイザをサポートする。

 Amazon EC2互換APIおよびOpenStack APIの2種類のREST APIを備えており、前者は互換APIツール(euca2oolsなど)や互換クライアントライブラリ(Python boto、Ruby RightAWSなど)からオペレーションが可能である。また、後述するHorizonプロジェクトで開発が進められるWebベースのGUIも利用可能である。実装言語はPythonである(Glance、Swiftなど、他のプロジェクトも共通)。

 Novaの内部実装としてはさらに、以下の五つのサブコンポーネントに分かれる。

  • API Server
    REST APIのリクエスト処理
  • Scheduler
    リソース配置のスケジューリング
  • Compute Worker
    仮想マシンの制御
  • Network Controller
    仮想ネットワークの制御
  • Volume Worker
    仮想ボリュームの制御

 これらのコンポーネントが、メッセージキュー(RabbitMQ)およびDBMSを介して、協調・連携して動作する。

 このようなアーキテクチャーにより、仮想化基盤の構成の柔軟性やスケーラビリティーを確保している。

(2) Glance:イメージ管理サービス

 仮想マシンイメージとそれに関連するメタデータを管理し、Novaとマシンイメージの実体が保管されているオブジェクトストレージサービスとの間で、仮想マシンイメージのアップロード、ダウンロードの際のデリバリー制御の機能を提供する。Glanceは以下のオブジェクトストレージサービスを管理できる。

  • Swift(後述)
  • Amazon S3
  • ローカルファイルシステム(Glance単独でも簡易的なS3機能を提供可能)

この先は会員の登録が必要です。今なら有料会員(月額プラン)は12月末まで無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら