OpenStack〜クラウド基盤を構築する注目のOSS〜
OpenStackとは、AWS(Amazon Web Services)やGoogle cloud Platformのようなクラウド基盤を構築するためのオープンソースソフトウェアです。ビジネスなど商用サービスだけでなく、企業におけるプライベートクラウドでもOpenStackが積極的に採用されるようになると注目されています。また、OpenStackは開発コミュニティも活発で、機能の拡張や改善といった部分の将来性にも期待できます。ここでは、オープンソースソフトウェアのクラウド管理プラットフォームであるOpenStackについて紹介します。
クラウド基盤のOpenStackとは
近年、企業などでは、コストの削減や業務効率向上、さらにはリモートワークの普及やDX化(デジタルトランスフォーメーション)の推進が拡大しています。こうした流れから、OSやストレージ、物理的なサーバなどのリソースを、クラウド上で運用・管理する機会が多くなっています。このようにクラウド上のハードウェアやITインフラを統合的に管理するシステムを、クラウド基盤といいます。
OpenStackとは、クラウド基盤を構築するためのオープンソースソフトウェアです。OpenStackは、各種ハイパーバイザ(KVM/Xen/VMware Serverの無償製品版であるESXi/Hyper-Vなど)と組み合わせ、クラウドサービスの環境を構築することができます。AWS(Amazon Web Services)のようなIaaS(Infrastructure as a Service)を提供するソリューションとして注目されています。
OpenStackは、クラウドOS(cloud operating system)とも称されており、仮想マシン、仮想ストレージ、仮想ネットワークの3つの仮想リソースを統合的に管理することができます。元々は、Rackspaceが自社開発で利用していた「Swift」と、NASAが開発していた「Nova」を、オープンソース化したものです。現在は、非営利法人であるOpenStack Foundationによって管理されています。OpenStackのアップデートは約6か月毎と比較的短い頻度で行われ、各リリースにはアルファベット順でコードネームがつけられています。
OpenStackの開発は、クラウドコンピューティングプラットフォームを目指しています。現在では、数多くの利用者や企業がOpenStackの開発コミュニティに参加し、さまざまなコードを寄与することで、継続的な機能拡張・改善が行われています。
また、OpenStackには商用ディストリビューションがあります。RedHat、SuSE、Ubuntuなど主要なディストリビューションでOpenStackのパッケージが標準搭載されており、オープンソースのOpenStackとほぼ同等のソフトウェアを提供しています。
OpenStackのメリット
OpenStackには、次のようなメリットがあります。
プライベートクラウド・パブリッククラウドの構築が可能
OpenStackを使うことで、プライベートクラウド、パブリッククラウドの両方でクラウドサービスを構築することができます。プライベートクラウドでは、企業内や組織内部に仮想環境を構築し、セキュリティ面でも安心なクローズド環境向けとして、クラウドサービスを提供することができます。また、後述するように、プライベートなIoTクラウドプラットフォームとしても利用することが可能です。一方、パブリッククラウドでは、AWSやAzure、Google cloud Platformのように、インターネットを通じて企業や個人など不特定多数のユーザーにクラウドサービスを提供することができます。そのため、ビジネスなど商用サービスでの利用も着実に進んでいます。また、プライベートクラウドとパブリッククラウドを連携させたハイブリッドクラウドの構築も行うことができます。
オープンソースである
OpenStackはオープンソースソフトウェアなので、コストを抑えたクラウド環境でのシステム構築が可能です。また、ソースコードや開発体制がすべて公開されており、誰もがソースコードにアクセスや変更が可能です。そのため、開発コミュニティでは、世界中の多数の企業や利用者によって機能拡張や脆弱性の改善が進められています。
マルチテナント型で自動化に対応
OpenStackは、マルチテナント型のIaaSを提供します。それぞれ独立したテナントの中で、用意された仮想マシン、ストレージ、ネットワークなどを自由に組み合わせることができます。そのため、部署や用途毎にサーバをグループ化し、リソース制限を実施することもできます。また、APIを使用しツール同士を連携することによって、自動化することができます。
IoTプラットフォームとして活用
OpenStackは、SAP社が提唱するIoTプラットフォームとしても利用されるなど、IoTプラットフォームとしても注目されています。前述の通り、OpenStackには、パブリッククラウドだけでなくプライベートクラウドとしても利用できる、マルチテナントに対応しリソース制限ができるといったメリットがあります。そのため、IoTデータが増加した際にも拡張できるよう、データ処理基盤として利用されています。
OpenStackの構成要素
OpenStackは、複数のコンポーネント(機能)で構成されています。それぞれが独立したモジュール構造で、APIで接続されています。コンポーネントが特定の機能を提供しているため、利用目的に応じて必要な機能だけを追加でインストールしたり、複数のサーバに分割したりするなど、機能拡張がしやすい構成となっています。
OpenStackのコンポーネントは、プロジェクトという単位で呼ばれており、それぞれ個々のプロジェクトとして開発が進められています。主要コンポーネントや機能は以下の通りです。
Nova(コンピュート)
仮想マシンの作成や管理、ハイパーバイザとの連携を実行します。Novaは複数のコンポーネントで構成されており、Novaが作成したサーバーをインスタンスと呼びます。
Neutron(ネットワーク)
OpenStackのサービスを接続するネットワークを提供します。
Cinder(ブロックストレージ)
APIを介してアクセスできる永続的なブロックストレージを提供します。
Keystone(認証)
Webブラウザにアクセスする時のユーザ認証や、各コンポーネント間の認証認可を行います。
Glance(イメージ)
OpenStackのストレージ上で、仮想ディスクイメージファイルの保存や編集を行います。
Swift(オブジェクトストレージ)
Swiftは、データ保存や読み出しを行います。仮想マシンイメージやデータ等のファイルを保存・検索することができます。
Horizon(ダッシュボード)
OpenStackのWeb管理コンソールで、GUIのダッシュボードを提供します。
以上のコンポーネントの他にも、様々な役割を持ったコンポーネントが提供されています。どのコンポーネントが利用目的に合っているかを意識して選択することがポイントです。
OpenStackの利用が適した場面
OpenStackは、機能拡張がしやすく、ハードウェアやベンダーを意識せず独自のクラウド環境をカスタマイズする場合に適しています。ただし、設定ファイルやプロセスが多数存在し、内部構造が複雑なため理解や操作も難しく、導入にはかなりの技術が求められます。
反対に、開発用の環境として使うなど、単にクラウド環境を作って何かを実現したい場合は、シンプルで導入がしやすいoVirtが適しています。oVirtも仮想環境を統合的に管理するために設計されたオープンソースソフトウェアで、ホストのメンテナンスや障害に対応できる高い可用性が特徴です。
oVirtについての詳細は以下のリンクから閲覧できます。
デージーネットの取り組み
デージーネットでは、OpenStackを活用したプライベートクラウドやパブリッククラウドのシステム構築を行った実績がございます。デージーネットの様々な仮想化技術から、比較的小規模なコンピュータの仮想化にはKVM、組織内外へのクラウドサービス提供にはOpenStackと、各OSSのメリットとお客様のニーズに合わせた技術を選択し、最適なクラウド環境を提案しシステムを構築します。
また、デージーネットで構築サービスを提供したお客様には、導入後支援サービスとして、Open Smart Assistanceを提供しています。Open Smart Assistanceサービスでは、「作ってから使い終わるまで」をコンセプトに、導入後も継続して運用をサポートしています。これは、ソフトウェア単体のサポートではなく、LinuxなどOSSを使ったシステム全体が安定稼働するためのサポートです。OSSやソフトウェアの利用方法に関するQ&Aの受付や障害対応、ソフトウェアの脆弱性などのセキュリティ情報の提供を行っています。
「情報の一覧」
OpenStackによるプライベートクラウド構築事例
システム検証やソフトウェア開発に使用するためのOpenStackを利用したプライベートクラウドを構築した事例を紹介します。
OpenStack Swiftを活用したオブジェクトストレージ構築事例
お客様は、大量のデータを保存するシステムの検証環境として、オブジェクトストレージの構築、利用を検討していました。そこで、OpenStack Swiftを開発者向けの最小構成でインストールすることを提案しました。
IoTプラットフォームで使われるOSS「IoTデータ解析プラットフォーム」
IoTデータ解析プラットフォームは、収集したIoTデータを加工したり、統計処理するための解析プラットフォームです。この記事では、OpenStack、Hadoop、Apache Sparkについて説明します。
サーバ仮想化とは?仮想基盤で使えるソフトウェアまとめ
仮想化環境を構築すると、物理リソースの削減による社内スペースの確保、リソースの効率的な管理、運用コストの削減などが実現できます。この記事では、仮想化に関連したソフトウェアを、4つのカテゴリでご紹介します。