技術関連の覚書

案件でやったり自宅で試したことの覚書

OpenStack

OpenStackとは、IaaS(Infrastructure as a Service)を構成するためのクラウド管理ソフトウェアで、仮想マシン管理のためのアプリケーションの集合体のことで、複数のアプリケーションから成り立っています。

構成するものとしては、コンピューティングリソース(仮想マシンを動かす仕組み)、ネットワークリソース(仮想ルータや仮想マシン間をつなぐネットワーク構成)、ストレージリソース(仮想的なHDDやリムーバブルディスクなど)でマルチテナント型クラウド(それぞれのユーザが同じ仮想ホストの中で別々のネットワークを構成すること)を提供します。

これはもともと、米Rackspaceが自社開発で利用していた「Swift」(S3相当の機能を提供)と、NASAが開発していた「Nova」(EC2相当の機能を提供)をオープンソース化したもので、2010年にOpenStackの開発を支える公式の非営利団体である「OpenStack Foundation」が設立された。これらに対して、多くの利用者や企業がさまざまなコードを寄与することにより、継続的な機能拡張・改善が行われている。

OpenStackを構成するコンポーネント

プロジェクト名 機能 特徴
Nova コンピュート 仮想マシン管理やハイパーバイザとの接続を提供
Swift オブジェクトストレージ オブジェクトストレージサービスを提供
Glance イメージ 仮想マシンの起動イメージサービスを提供
Horizon ダッシュボード GUIのダッシュボードを提供
KeyStone 認証 認証サービスを提供
Neutron ネットワーク L2/L3ネットワークと、ファイアウォールのネットワークサービスを提供
Cinder ブロックストレージ 永続的なブロックストレージサービスを提供
Heat 自動化 スクリプトによる仮想マシンの作成からアプリのインストール等を自動化
Ceilometer メータリング 各サーバからシステム情報を定期的に収集して保存
Trove データベース データベースに関わるサービスを提供
Sahara ビッグデータ ビッグデータに関わるサービスを提供 (Hadoop、Spark)

これらのコマンドで実行した値はhttpプロトコルjson形式でサーバに送られる