クラウドコンピューティングが当たり前となった今、インフラの柔軟な構築と運用が求められています。その中でも注目されているのが「OpenStack(オープンスタック)」というオープンソースのクラウド基盤ソフトウェアです。Amazon Web ServicesやMicrosoft Azureのような商用クラウドとは異なり、自社のサーバーでクラウド環境を構築できる柔軟性と自由度が魅力です。この記事では、OpenStackとは何か、どのようなことができるのかを初心者にもわかりやすく解説していきます。
OpenStackは、IaaS(Infrastructure as a Service)を実現するためのオープンソースソフトウェア群です。もともとはNASAとRackspace社が共同開発したプロジェクトで、現在ではOpenInfra Foundationのもと、世界中の企業や開発者によってメンテナンス・発展が続けられています。
IaaSとは、サーバー、ネットワーク、ストレージなどのITインフラを仮想化し、必要なときに必要な分だけ利用できる形態のクラウドサービスです。OpenStackはそれを自前で構築するための「ツールキット」ともいえる存在です。
商用クラウドに依存せず、自社のデータセンターやプライベートクラウド環境に合わせて、柔軟にカスタマイズできるのが大きな魅力です。
OpenStackは非常に多機能で、その構成要素(コンポーネント)も豊富です。以下に代表的な「できること」を紹介します。
OpenStackの中心的な機能のひとつが、仮想マシン(VM)の作成・起動・停止などの管理です。これは「Nova」というコンポーネントが担います。例えば、ユーザーがWebブラウザから数クリックで仮想サーバーを立ち上げることが可能です。
複数の仮想マシンをつなぐ仮想ネットワークを構築できます。例えば、パブリックIPやプライベートIPの割り当て、ファイアウォール、ルーター、ロードバランサーの設定など、ネットワーク周りの制御を柔軟に行えます。
Amazon S3のようなオブジェクトストレージを提供するのが「Swift」です。大量の非構造化データ(画像、動画、ログなど)を効率的に保存し、必要に応じてアクセスできます。
仮想マシンに接続するブロックストレージを提供します。ハードディスクのように認識されるため、OSのインストール先やデータ保存用として使えます。
Horizonは、OpenStackの管理をブラウザから直感的に操作できるダッシュボードを提供します。コードを書かなくてもリソース管理が可能なため、初心者にも扱いやすいのが特徴です。
ユーザーの認証や権限管理を行うのが「Keystone」です。マルチテナント環境で利用者ごとにアクセス権限を制御することができます。
OpenStackを使うことで得られるメリットは多くあります。
オープンソースであるため、ライセンス費用が不要です。また、商用クラウドとは違い、利用量に応じた従量課金がないため、予算管理もしやすくなります。
必要なコンポーネントだけを組み合わせて使えるモジュール構成となっており、自社のニーズに合った最適なクラウド環境を構築できます。
OpenStackを使えば、クラウドベンダーに依存せずにシステムを構築・運用できます。将来的な移行も比較的スムーズです。
世界中の開発者がプロジェクトに参加しており、セキュリティや新機能も継続的にアップデートされているのも安心材料です。
OpenStackの導入・運用には一定の知識が必要です。具体的には以下のようなスキルが求められます。
小規模環境では簡易的な構成で動かすことも可能ですが、本格運用を考えるならチームでの運用体制が理想です。
OpenStackは、自由度の高いクラウドインフラを自前で構築・運用できる強力なプラットフォームです。仮想マシン、ネットワーク、ストレージ、認証、GUIなど、インフラに必要なすべての機能が揃っており、カスタマイズ性にも優れています。
導入には一定のスキルと体制が必要ですが、その分、大きなコントロール性とコスト削減効果が得られます。商用クラウド一辺倒ではなく、「自社でインフラを持つ」という選択肢の一つとして、今後ますます注目される存在と言えるでしょう。