CloudStackは、オープンソースベースのIaaSクラウド構築・運用ソフトウェア。使いやすく、機能が充実していることなどから、大規模なデータセンター事業者や組織での導入が相次いでいる。本連載では、このソフトウェアをプライベートクラウド構築に活用する方法を紹介する
前回紹介したとおり、 CloudStackは、Cloud.comが提供している IaaS (Infrastructure as a Service:サービスとしてのインフラストラクチャ)型クラウド環境構築用の基盤ソフトウェアです。2011年8月現在の最新バージョンは 2.2.9 で、3.0も今秋にリリースされる予定です。
CloudStackには、用途別に複数のエディションが用意されています。
現在は、オープンソースであり無料で利用可能なCommunity Editionと、エンタープライズ向けで有料ですが商用サポートがついているEnterprise Edition (Commercial Editionとも呼ばれる)の2種類が提供されています。
2.2以前のバージョンでは Service Provider Editionも存在していましたが、現在、サービス事業者向けの機能については、CloudPortalと呼ばれる、CloudStack環境でのユーザー向けのサービスポータルを提供する追加製品として位置づけられています。
CloudStackには、ユーザーが複雑な手順を実行しなくてもクラウド環境を簡単に利用・管理できるよう、操作性に優れた Webインターフェイスが標準で付いています。
ユーザーは、CloudStackが提供するWebインターフェイスから、仮想サーバ(以下、仮想サーバ)の作成や起動、停止などを行うことができます。
また、Amazon EC2と互換性のあるAPIも提供しており、CloudBridgeという追加モジュールをインストールすることにより、Amazon EC2と同様のコマンド・ツールでCloudStack環境を操作することが可能になります。
また、APIを利用することで、CloudStack環境を操作するアプリケーションを独自に開発することもできます。
Cloud.com(旧 VMOps)はIaaSのクラウドコンピューティング基盤を専門とする新興企業で、2008年8月に設立されました。カリフォルニア州クパチーノにオフィスを構えており、インドにも開発拠点があります。
Sun MicrosystemsのJava Virtual Machine開発チーム、SEVEN Networksのエンジニアリング担当VPを勤めた Sheng Liang 氏や、同じく元Sun Microsystemsのマーケティング担当シニアバイスプレジデントの Peder Ulander氏、Yahoo!のエンジニアリング担当シニアディレクターだったKevin Kluge氏などのファウンダーにより設立されました。
Cloud.comは、2011年7月12日にCitrix Systemsにより買収されました。
Citrix SystemsとCloud.comはオープンソースに対する同様のビジョンを有していることもあり、Cloud.comの経営陣も残り、CloudStackの開発も今後続けていく予定です。
Citrix Systemsとしても、今後 CloudStackを XenServerと並ぶ重要なクラウドプラットフォーム製品として位置付け、展開していく予定です。OpenStackプロジェクトに対する貢献も引き続き行っていく予定とのことです。
CloudStackの環境構築についての説明に先立ち、CloudStackの物理的な構成や、仮想サーバ・仮想ネットワークなどの論理的な構成と、用語の説明を行います。
最初に物理的な構成とコンポーネントについて説明します。CloudStackの主要なコンポーネントは図1のように接続されます。この図ではスイッチやルータなどの機器は含まず、コンポーネント間の接続関係のみを示しています。
CloudStackを構成するコンポーネントは以下のとおりです。
上記はあくまでコンポーネント単位での分類であり、実際には全てのサーバに対して物理サーバが必要というわけではありません。小規模の構成では、Management Server、Database Server、Usage Serverの3つは同一の物理サーバにインストールを行い、Primary StorageとSecondary Storageも1台のストレージ用物理サーバ上で運用することもあります。
それぞれのコンポーネントについて、以下に説明します。
Management Server
Management ServerはCloudStackのフロントエンドで、ユーザー用と管理用のウェブインターフェイスやAPIを提供します。ユーザーは Management Serverを介して仮想サーバの操作を行います。Management Serverは、CloudStack環境の構成の管理や、仮想サーバのプロビジョニング等も行い、スナップショット、テンプレート、ISOイメージの管理や、それらの作成・削除、コピーの指示も行います。Management Serverは複数立ち上げることができ、冗長化も可能です。
Database Server
Database Serverは、Computing NodeやStorage Serverの状態、仮想サーバの情報などをデータベースに管理しています。データベースには MySQLを利用しており、Management Serverのバックエンドとして動作しています。そのため、小規模構成ではDatabase ServerはManagement Serverと同一物理サーバにインストールすることが主流となっています。
Computing Node
Computing NodeはCloudStack環境において、コンピューティングリソースを提供します。各Computing Nodeは、後述するZone、Pod、Clusterといったグループ内に配置します。 コンピューティングリソースとは、仮想サーバ(仮想サーバ)を稼働させるために割り当てるCPUやメモリなどのことを指します。ユーザーが仮想サーバを要求した際に、Computing Node上で仮想サーバが起動され、割り当てられます。CloudStack環境で作成した仮想サーバは、Computing Nodeで起動しますが、どのComputing Node上で起動するかはManagement Serverによって決定されます。ユーザーは作成した仮想サーバがどのComputing Nodeで起動しているかを意識する必要はありません。ただし、OSのライセンス問題などを考慮し、特定の物理サーバに指定のOSを優先的に起動させるなどの指定は可能です。また、冗長化することにより、特定のホストが落ちても別のホストでサービスを提供することができます。
Primary Storage
Primary Storageは、仮想サーバが使用する仮想ディスクを保存するためのストレージ領域をComputing Nodeに対して提供します。Primary Storage のストレージ提供方法には、iSCSIまたはNFSが利用できます。Primary Storageは、Computing Nodeからマウントされ、CloudStack環境で動作する仮想サーバで利用されます。
Secondary Storage
Secondary Storageは、仮想サーバ作成時に利用するテンプレートイメージやISOイメージ、または仮想サーバのスナップショットを保存するためのストレージ領域を提供します。Secondary Storageのストレージ提供方法には、NFS が利用できます。Secondary Storageは、Secondary Storage VMによってマウントされ、ユーザーからの要求に応じてテンプレートイメージのコピーやISOイメージのマウント、スナップショットの保存が行われます。
Usage Server(※Enterprise Editionでのオプションコンポーネント)
Usage Serverはリソースの使用量を計測し提供するためのコンポーネントで、Enterprise Editionでのみ提供されます。Usage Serverに対してAPI経由リソース使用量取得のコマンドを実行することにより各種アカウントごとのリソース使用量を取得することができます。 Usage Serverはリソース使用量に応じて課金を行うサービスプロバイダなどで利用されます。Usage Serverは、標準的には Management Serverと同一の物理サーバにインストールして利用します。
Copyright © ITmedia, Inc. All Rights Reserved.