OpenStackを構成する主要コンポーネント
最近OpenStackを勉強しています。まずは足がかりとして、OpenStackの全容を把握するために、製品を構成する主要コンポーネントについて整理してみました。
OpenStack内部構造について
OpenStackは製品としての名称であり、そのような名前のソフトウェアが1つだけサーバの中で動いているわけではありません。各コンポーネントが連携してIaaS環境(仮想マシン、仮想ネットワーク、仮想ディスク…etc)を提供します。
コンポーネントの構成図
OpenStackを構成するコンポーネントの構成図は以下の通りです。
コンポーネントの役割
主要コンポーネントの役割は以下のとおりです。この他にもいくつものコンポーネントが存在しますが、以下に挙げているコンポーネントがあれば、基本的なIaaS環境の構築が可能です。
コンポーネント名 | 役割 |
---|---|
Horizon | 各コンポーネントを操作するためのWebUI(ダッシュボード)機能を提供する。 |
Keystone | 各コンポーネントに対する認証機能とアクセス制御を提供する。 |
Nova | ハイパーバイザを介して、仮想マシンの管理(作成や起動など)を行う。ハイパーバイザは、KVMやVMwareなど、OpenStackがサポートしている範囲で任意の製品を使用可能。 |
Neutron | 仮想ネットワークを提供する。L2/L3ネットワークを作成し、仮想NICとして仮想マシンにアタッチできる。 |
Cinder | 仮想ディスクを提供する。ブロックストレージとして仮想ディスクを作成し、仮想マシンにアタッチできる。 |
Glance | 仮想マシンのOSイメージやスナップショットの管理機能を提供する。OSイメージを使用して仮想マシンを起動したり、スナップショットの取得やリストアが行える。 |
Swift | オブジェクトストレージ機能を提供する。Cinderで作成した仮想ディスクのバックアップや、GlanceのOSイメージ、スナップショットファイルの保存が行える。 |