OpenStackって何?どんな技術?

OpenStackって何?どんな技術?

近年、企業におけるクラウド活用が広く浸透し、中でもオープンソースで自社内にクラウドインフラを構築できるOpenStackが注目されています。
事実、日本においては大規模インフラを抱えるインターネットサービス事業者を中心にOpenStack採用事例が少しずつ増えてきていたり、OpenStack Foundation主催のイベント「OpenStack Summit Tokyo2015」が日本で開催されたりと、OpenStackへの注目度は益々増しています。

本コラムでは、OpenStackの成り立ちから、OpenStackで出来ること、実際の操作方法までをお伝えします。

OpenStackとは、リソース管理自動化技術が積み上げた賜物

AWSをはじめとするパブリッククラウドは、どんな技術で出来上がっているのか、自分で作るとしたらどういう風に設計するだろうか......インフラエンジニアであれば一度は考え、想像したことがあるかもしれません。

近年、サーバ、ネットワーク、ストレージの仮想化技術が進み、それぞれを個別に設定することで、大きなリソースプールを複数のユーザーでシェアして且つ相互に影響なく利用することができるようになりました。これを最大限に利用し、自動化したのがパブリッククラウドです。

自社のシステム環境でも、既に仮想化への取り組みが行われていれば、それらを個別に自動化して提供するといったことには対応できていることと思います。しかし、個別に自動化されたプログラムを統合して、しかもユーザーが自分で操作できるようなAPIやUIを実装し、さらにセキュリティを担保するための認証機能をつけることは、個々の組織で開発するには工数がかかりすぎます。そこで、それらをオープンソースで開発し、実現したのがOpenStackです。

OpenStackで何が出来るか

OpenStackを使うことによって、インフラを準備する作業を自動化することができ、従来インフラ担当者が実施していた作業をユーザー側に移管することが出来るようになります。

20151203161507-8a516558f2e0b162089c2c1a410c3dd89835c638.png

図 1 OpenStackを使えばインフラ構築の操作をユーザー側に移管できる

実行手順の比較

個別にインフラを提供する場合の作業とOpenStackの持つ機能を使って作業をする場合とを比較すると以下のようになります。

実行手順の比較個別にインフラを提供する場合OpenStackの持つ機能を使ってインフラを提供する場合
手順作業者作業内容作業者作業内容
(1)
仮想サーバの作成
インフラ
担当者
・ユーザーが使用したいVMのスペックやOSの情報をヒアリング
・ハイパーバイザ上にVMを作成
ユーザーが実施 ダッシュボードで入力した情報に基づいてVMを自動で生成
(2)
プライベートIPアドレスの割り当て
・IPアドレス管理台帳などから利用可能なIPを決定
・VMへIPアドレスを設定
(自動) 管理されたIPアドレス帯からVMのIPアドレスを自動的に設定
(3)
サーバのアクセス制御
・ユーザーからアクセス許可ポリシーをヒアリング
・FW機器に指定IPアドレスのアクセス制御設定を実施
ユーザーが実施 個別に設定されたアクセス制限ルールをVMに自動割り当て
(4)
サーバの初期化処理
・ミドルウェアインストール等の初期化処理要望を受付
・VMへの初期化処理を実施
初期化処理用のスクリプトを設定し、自動処理
(5)
グローバルIPの設定
・管理されている外部IPアドレスからIPアドレスを取得
・FW機器などでのNAT設定を実施
外部用のIPアドレスも管理されたIPアドレス帯から自動で取得、要望に応じてVMへの割り当てを実施

上記のように、定型化された作業をユーザー自身がOpenStackの画面を操作することで、代替、完結することができるようになります。これらの作業は個別には単純な作業ですが、近年の開発においてはサーバをたくさん用意することが多いため、これらの処理を専門の担当者が人手を介して行うとなると、かなりの工数が必要です。ユーザー自身が操作できることで、ユーザーはインフラ担当者を介することなく迅速にインフラを準備することができるようになり、結果的にインフラエンジニアの負荷も抑えることができます。

OpenStackの操作方法

上記に記載した通り、OpenStackを使用するとユーザー自身がネットワーク、仮想サーバ、ディスク領域を作成し、ネットワークに接続する操作を実施することができます。ここではダッシュボードのWeb画面を使って、<実行手順の比較>で紹介したインスタンスの起動を実行する方法を紹介します。なお、この操作はAPIやCLIを使って自動化することもできます。

手順 1 - 仮想サーバの作成

ユーザーはOpenStackのダッシュボードにログインした後、インスタンス一覧画面から「インスタンスの起動」ボタンを押下し、インスタンス作成画面にパラメータを指定してVirtual Machineを起動します。インスタンス作成画面では、利用するOSイメージやスペックを指定し、様々なインスタンスを起動することが出来ます。

20151203161637-a31a99668d5d4e7d7885392851528551f3d59e9e.jpg

図 2 OpenStack インスタンス一覧画面

20151203161802-4f83dc5cafdb5234a9ca35d37822907baf5bf258.jpg

図 3 OpenStack インスタンス作成画面1



手順 2 - プライベートIPアドレスの割り当て

インスタンスが接続する先のネットワークは予めOpenStack上からユーザーが作成して準備しておきます。インスタンス起動時はそのネットワークセグメントからIPアドレスが自動で割り当てられます。

20151203161854-43cdaf8cb2085ad000f6969ed168050240ca9ac5.jpg

図 4 OpenStack インスタンス作成(ネットワーク選択)



手順 3 - サーバのアクセス制御

インスタンス毎のアクセス制御はセキュリティグループと呼ばれるフィルタリングルールを用いて行います。一つのルールを複数のインスタンスに設定することができます。

20151203161929-dc2582e3208524cf2ad28e52ae62965ba9318baf.jpg

図 5 OpenStack インスタンス作成(セキュリティ設定)



手順 4 - サーバーの初期化処理

ユーザーが初期化処理用のスクリプトを入力すれば、パッケージのアップデートや基本ミドルウェアのインストールなどの初期化処理が自動で実行されます。

20151203162017-006a93734142793505e73b167716d24c358a92be.jpg

図6 OpenStack インスタンス作成(初期化処理)



手順 5 - グローバルIPの設定

外部ネットワークから取得するIPアドレスをFloating IPと呼びます。画面からIPアドレスを取得、それを内部のインスタンスに割り当てて使用しています。

20151203162049-09237dbf1fb6da0bd21e91eafd5dd47e40434dad.jpg

図7 Floating IP 割り当て画面

その他のOpenStackの操作方法

<OpenStackの操作方法>で紹介した操作手順は、すでに存在する環境に1台の仮想サーバを作成する操作です。さらに新しいユーザーのために個別の環境を用意する場合は下記のような作業が発生しますが、OpenStackなら、これらもダッシュボードやAPIから操作することで、ユーザーが自ら作成することが可能です。※これらはほんの一例です。

- ネットワークセグメントの設定
- サーバーイメージの用意
- 仮想サーバへのディスク領域追加

このように、OpenStackを使ってクラウド化された環境であれば、インフラエンジニアの作業工数を減らし、ユーザーが欲しい時に欲しいだけのリソースを利用することができるようになります。パブリッククラウドであれば既に当たり前のことですが、オンプレミスの環境をクラウド化し、インフラエンジニアの負荷を下げたいと考えたとき、OpenStackの導入を検討するのも一案です。

著者プロフィール

20151203162124-f0d43ee30d5d10f7e29bdce92d894ab3c4f7856a.jpg熊谷 育朗(くまがい いくお)
株式会社ビットアイル ビットアイル総合研究所
派遣プログラマ、業務パッケージソフトベンダー、大手SIer勤務を経て、2012年ビットアイルに入社。OpenStackをはじめとするシステム基盤関連技術の調査、検証、教育が主な業務。

ビットアイル総合研究所ブログ

※掲載内容は、2015年12月現在のものです。

この記事を読んだ方にオススメのコラム

ハイブリッドクラウドとは?
パブリッククラウドやプライベートクラウド、オンプレミスなど自社に適した利用形態やサービス提供事業者を選択し組み合わせ、それぞれの"いいとこ取り"をする「ハイブリッドクラウド」を事例を交えならが紐解きます。

コラム 一覧
ITインフラに関する、トレンド情報やお客様が抱えている課題などを、ビットアイル・エクイニクス独自の視点で解説する、各種コラムを掲載中です。

ビットアイルが提供するOpenStackサービス

OpenStackトレーニングプログラム
ITエンジニア向けにビットアイルのデータセンター内のサーバ環境を活用したOpenStackの実践的なトレーニングプログラムを提供します。 まずは勉強してから実践したい、という方にお勧めです。

ホステッドプライベートクラウド OpenStackパッケージ
高品質なプライベートクラウドパッケージと共に、当社OpenStackサポートを提供することで、自立運用スキルの習得をご支援します。