読者です 読者をやめる 読者になる 読者になる

KATOエンジニヤリング開発日誌

「アウトプット無きエンジニアにインプットもチャンスも無い」の精神で書いています

OpenStack勉強会に参加しました 1

f:id:masayuki_kato:20170226185313p:plain

最近インフラ構築に興味があり、特にプライベートなクラウド環境構築ができるOpenStackについて調べてました。

ただ、AWSとは違って手軽に試すことが難しく、ネット上の記事で情報を集めているだけの状態でしたが、connpassで勉強会を探していたところ、OpenStackを実際にインストールしてGUIで操作するというセミナーを見つけました。

今回は、2月26日にMGTカレッジ新宿校で開催された「OpenStack入門ハンズオンセミナー」に参加してみて学んだ内容をまとめてみました。

mgt-college.connpass.com

OpenStackの概要

午前中はOpenStackの概要と、Windows上のVMwareで起動しているCentOSに実際にOpenStackをインストールする作業を行いました。

OpenStackとは

OpenStackは自社内のインフラにAWSのEC2やS3相当のクラウドインフラを構築することができるオープンソースソフトウェアである。

AWSと同様に、通常はインフラ環境の管理者が行うOS(仮想マシン)や、ネットワークの設定などを開発者側に移管することができるようになった。ただし、一部の操作はインフラ環境管理者相当の権限を持つ「admin」ユーザーでないと行えない。

OpenStackのリリースサイクルは大体半年に1回程度となっており、直近2~3バージョンがメンテナンス対象となっている。つまり、最新のバージョンを入れても2年足らずでメンテナンス対象外となってしまい、脆弱性が発見された場合にセキュリティに不安がでてくる。

最新のバージョンは「Newton」だが、NewtonではcentOSのバージョン7.3にOpenStack環境を構築できないなどの状況らしい(2017年2月26日時点)。

OpenStackを操作するには大きく分けて3つある。

  • REST形式のAPIをコールする
  • REST形式APIをラップしたOpenStackコマンドを使用する
  • ダッシュボード機能をブラウザから操作する

今回のセミナーではブラウザからダッシュボード機能を利用して操作する。

OpenStackの主要コンポーネント

コンポーネント 機能 特徴
Nova コンピュート 仮想マシン管理やハイパーバイザとの接続
Glance イメージ 仮想マシンの起動イメージサービス
Horizon ダッシュボード GUIのダッシュボードサービス
KeyStone 認証 認証サービス
Nuetron ネットワーク L2/L3ネットワークとファイアウォールのネットワークサービス
Cinder プロックストレージ 永続的なブロックストレージサービス

OpenStackの仮想ネットワークモデル

OpenStack上で作成されたユーザーは特定の「プロジェクト」に所属しており、そのプロジェクトでユーザーはAPIやコマンドライン、ダッシュボード操作で下記コンピューティングリソースを利用することができる。

仮想ネットワーク

仮想ルータを用いてプライベートなネットワークを構築することができる。仮想ネットワークの配下には任意の数の仮想スイッチを作成して、仮想マシンインスタンスを接続することができる。

仮想マシンインスタンス

AWSのEC2と同様にOS相当のもの。DHCPでプライベートIPアドレスが割り当てられ、同じプロジェクト内であれば仮想マシンインスタンス間はプライベートIPで通信できる。

また、仮想マシンから外部のネットワーク(インターネット)へはプライベートIPで通信できるが、外部ネットワークから仮想マシンへの通信はフローティングIPというものを事前に用意しておき、それを割り当てることで通信が可能となる。

仮想マシンインスタンスを起動するには下記項目を設定する必要がある。

  • インスタンスタイプ
    • メモリーサイズ、ディスク、コア数などのリソースを定義したもの
  • テンプレートイメージ
    • OSそのもの
  • 接続する仮想ネットワーク
    • 仮想ネットワーク
  • セキュリティグループ
    • 受信・送信プロトコルのフィルタリングを行う
  • キーペア
    • 公開鍵認証を行うための鍵

仮想マシンインスタンスはAWSと同様にスナップショットをとって複製したり、バックアップとして保存することができる。

ブロックボリューム

仮想マシンに接続してデータ領域として利用することができる。

また、他の仮想マシンに再接続したりすることもできる。但し、同時接続はできない。

ブロックボリュームのスナップショットを複製して、新たなブロックボリュームを作成することもできる。

仮想マシンインスタンスを停止したり、削除しても残る保存領域として使える。

まとめ

OpenStackはAWSと仕組みが似ていると思った。同じ、クラウド環境を利用したものなので当たり前と言えば当たり前ではあるが。

次回はセミナーで行ったOpenStackのインストールと、ブラウザを利用したGUI操作を紹介したいと思います。