Nedia What's up!

ネディアのエンジニアによるIT技術やサービスの紹介・検証などをお届け!

第1回 クラウド環境構築ソフトウェア 「OpenStack」」 (1/4)

OpenStackとは

OpenStackはオープンソースのクラウド基盤ソフトウェアです。
最近は、同様のクラウド基盤ソフトウェアである CloudStack や Eucalyptus と合わせて、クラウドOSという呼ばれ方をするようになっています。

パブリッククラウドの安全性に懸念を抱いている企業がクラウドを利用する方法の一つとして、企業自らがクラウドを構築するプライベートクラウドがありますが、OpenStackを利用することでパブリッククラウドで定評のあるAmazon EC2と似たような高度に自動化したプライベートクラウドを構築することが出来るようになりました。

今回は、このOpenStackについて概要や環境の構築方法について全4回にわたり紹介します。

—————————————
第1回:OpenStackの概要
・OpenStackの歴史
・OpenStackのコンポーネント
—————————————

—————————————
第2回:Openstackのインストール
・構成の説明
・Openstackのインストール
—————————————

—————————————
第3回:Openstackの使い方
・フレーバーの作成
・セキュリティグループの作成
・公開鍵の登録
・仮想マシンのインスタンス作成と起動
・フローティングIPアドレスの割り当て
・インスタンスへの接続
—————————————

—————————————
第4回:まとめ
・使用感について
・プラグイン(Midonet)の紹介
—————————————

OpenStackの歴史

OpenStackは、2010年にRackspace HostingとNASA(米航空宇宙局)によって始められたIaaSクラウドコンピューティングプロジェクトで、OpenStackのコンポーネントを利用して、独自のInfrastracture as a Service(IaaS)型クラウドサービスを構築できます。

Arista Networks、 AT&T、 AMD、 Brocade Communications Systems、 Canonical、 Cisco、 Dell、 EMC、 Ericsson、 Groupe Bull、 HP、 IBM、 Inktank、 Intel、 NEC、 NetApp、 Nexenta、 Rackspace Hosting、 Red Hat、 SUSE Linux、 VMware、Yahoo!など、
200社以上が参加していることからも、注目度の高さが伺えます。

OpenStackは、2010年10月に公開された「Austin」をはじめとして、以下のようにアルファベット順におよそ半年に1回リリースされています。
そして先日の2014年10月17日に最新版Junoが公開されました。

リリース日 バージョン名
2010年10月 Austin
2011年2月 Bexar
2011年4月 Cactus
2011年9月 Diablo
2012年4月 Essex
2012年9月 Folsom
2013年4月 Grizzly
2013年10月 Havana
2014年4月 Icehouse
2014年10月 Juno

OpenStackのコンポーネント

OpenStackは機能毎にソフトウェアが分かれており、クラウドOSとしての動作は各コンポーネントが相互通信することで実現します。

初めにOpenStackの概念図で各コンポーネント間の関連を確認してください。こちらの図が参考になります。

OpenStackのコンポーネント

引用 : VPSのインフラにOpenStackを採用した「お名前.com VPS」開発者に聞く ― Impress Internet Watch

主要コンポーネントの概要は以下の通りです。

コンピュート:OpenStackの中心となるNova

NovaはKVMなどの仮想化ハイパーバイザによって仮想化されたリソースをプールとして管理します。APIを介して受け取ったリクエストにより、仮想マシンの作成や起動といった処理を実施します。
通常、コンピュートにはLinuxのKVMが用いられます。

オブジェクトストレージ:分散オブジェクトストレージを提供するSwift

独自のAPIを通じてオブジェクトと呼ばれるデータをやりとりします。仮想マシンイメージやデータを保存するのに利用されます。

認証基盤:認証系を司るKeystone

OpenStackを構成する各コンポーネント間での認証や、ダッシュボードにアクセスするユーザの認証などの基盤となります。

イメージ:ゲストOSを管理するGlance

仮想マシンの起動ボリューム(イメージ)と、そのメタデータを管理します。

仮想マシンインスタンスを利用可能にするには、ゲストOSをロードする必要があります。そしてゲストOSはGlanceが管理しています。
ゲストOSはイメージファイルとしてGlanceに登録後、仮想マシン起動時にインスタンスが実行させるホストにコピーされ、読み込み専用として仮想マシンにアタッチされます。
読み込み専用のため、書き込み情報は一時的に保管出来ますが、インスタンス終了時に削除されてしまいます。
通常の仮想マシンと同様に、仮想ディスクファイルにOSやアプリケーション、データなどを保管したい場合には、次に解説するCinderを利用します。

ブロックストレージ:ブロックデバイスを管理するCinder

OSが起動するにはブロック単位での入出力を実施できるブロックストレージデバイスが必要となります。バックエンドのストレージとしてデフォルトではLVM(Logical Volume Manager)を利用しますが、
NFSやiSCSI、ストレージベンダーが提供するデバイスなどを利用できます。
・VMへの永続ストレージを追加するのに利用される
・VMと紐付けてアクセスする

ネットワーキング:Neutron ※旧称Quantum 商標を避けるためにNeutronというコードネームに変更されました。

プラグインによって拡張できる設計となっており、LinuxのブリッジやSDN(Software Defined Network)の一つであるOpenFlowプロトコルをサポートするOpen vSwitchの他、
ネットワーク機器のベンダーなどが提供する様々なネットワーキングソリューションを利用できます。

ダッシュボード:Web管理UIのHorizon

OpenStackの管理者及び利用者はウェブブラウザでダッシュボードにアクセスし、仮想マシンのインスタンスやネットワーク構成などを管理します。
ダッシュボードだけではOpenStackのすべての機能を管理できませんが、一般的な運用で必要とされる機能は網羅されています。

dashboard

ダッシュボードの画面

次回はOpenStackのインストール方法について細かく説明する予定です。それでは!