OpenStackの概要
OpenStack(オープンスタック)とは、オープンソースのクラウド基盤ソフトウェアです。
OpenStackは、KVM、Xen、VMware ESXi、Hyper-Vといった仮想化ソフト(ハイパーバイザー)と組み合わせ、パブリック/プライベートクラウドのIaaS環境構築において、仮想マシン(VM)、ストレージ、およびネットワークリソースなどを統合的に管理します。
また、ユーザーが仮想マシンの作成時にOpenStackを利用することで、ロードバランサー、ファイアウォール、DHCP、ソースNAT、スタティックNAT、負荷分散、VPNなどのネットワーク機能を組み合わせ、ニーズに合った最適なネットワーク構成を選択するネットワーク管理機能も提供しています。
OpenStackは、2010年に米国の大手ホスティング会社 Rackspace社と、米国航空宇宙局(NASA)によってユビキタスなオープンソースクラウドコンピューティングプラットフォームを作るプロジェクトとしてリリースされました。
その後、2012年9月にはすべての開発やライセンスの管理が非営利団体「OpenStack Foundation」に移管されました。
「OpenStack Foundation」では、特定ベンダーの技術に依存しない業界標準仕様の採用、大規模システムにも対応するスケーラビリティーと豊富な機能の提供、簡単な実装の実現によって、さまざまなクラウドソリューションを提供することを目的としています。
OpenStackは、世界で最も活発なオープンソースプロジェクトのひとつであり、2022年3月現在、100を超えるパブリッククラウドデータセンターと数千のプライベートクラウドで、2500万を超えるコンピューティングコアの規模で利用されており、25回目のリリースである Yoga は、125を超える組織と44か国からの680人を超えるコントリビューターにより、わずか25週間でリリースされています。
OpenStackは、6ヶ月ごとのリリースサイクルが予定されており、開発サイクル中は、一般投票で選ばれたコードネームを使用して識別しています。
このコードネームは、アルファベット順に並べられています。
・OpenStackの歴代のコードネーム
OpenStackの標準開発言語はPython、標準外部APIはShell と Pythonを利用した独自のAPI、REST API(HTTPベース)とAmazon EC2/S3互換APIとなっています。
OpenStackのライセンス
OpenStackのライセンスは、Apache License Version 2.0です。
Apache Licenseのコードが使用されていることの明記を条件に、ソースコードの自由な改変、頒布と公開が認められています。
OpenStackの動作環境
OpenStackは、以下のディストリビューションのパッケージが提供されています。
Open SUSE / SUSE Linux Enterprise Server
Red Hat Enterprise Linux / CentOS
Ubuntu
OpenStackの機能
OpenStackは、サービスに分割されており必要に応じてプラグアンドプレイできます。
(https://www.openstack.org/software/より)
OpenStackの主要コンポーネント
カテゴリ | コンポーネント名 | 導入バージョン | 機能 |
---|---|---|---|
コンピュート | NOVA | Austin | 仮想サーバをプロビジョニングするコンピュートサービスを提供します。 |
ZUN | Pike | コンテナの起動および管理するためのサービスであるOpenStack APIを提供します。 | |
ハードウェアライフサイクル | IRONIC | Kilo | ベアメタルをプロビジョニングするサービスを提供します。 |
CYBORG | Rocky | アクセラレータ(GPU、FPGA、ASICベースのデバイスなど)向け汎用管理フレームワークを提供します。 | |
ストレージ | SWIFT | Austin | 耐久性、可用性、同時実行性に優れた分散オブジェクト/ブロブストアです。 |
CINDER | Folsom | ブロックストレージサービスです。ストレージの場所やデバイスを意識せずに利用できるAPIを提供します。 | |
MANILA | Liberty | 共有または分散ファイルシステムへのアクセスを最適化するファイルシステムサービスです。 | |
ネットワーキング | NEUTRON | Folsom | 仮想コンピューティング環境でのサービスとしてのネットワーキング(NaaS)の提供を目的としたSDNネットワーキングプロジェクトです。 |
OCTAVIA | Liberty | OpenStackと連携するように設計された、クラウドに最適化されたオペレータースケールの負荷分散ソリューションです。 | |
DESIGNATE | Liberty | OpenStackにサービスとしてのDNSを提供します。 | |
シェーアードサービス | KEYSTONE | Essex | APIクライアント認証、サービスディスカバリ、および分散マルチテナント認証に対応する Identity API を提供するOpenStackサービスです。 |
PLACEMENT | Stein | クラウドリソースのインベントリと使用状況を追跡するためのHTTP APIを提供するOpenStackサービスです。 | |
GLANCE | Bexar | 仮想マシンイメージの検出、登録、取得を行うことができるイメージサービスです。 | |
BARBICAN | Liberty | パスワード、暗号化キー、X.509証明書、生のバイナリデータなどの秘密データを格納するセキュアなストレージ、プロビジョニング、管理を提供します。 | |
オーケストレーション | HEAT | Havana | テキストファイルの形式のテンプレートを使用し、クラウドアプリケーションのインフラストラクチャリソースを調整します。 |
SENLIN | Mitaka | OpenStackクラウド用のクラスタリングサービスです。 | |
MISTRAL | Liberty | ワークフローサービスです。一連のタスクはYAMLベースの言語で記述し、状態管理、実行順序、並列処理、同期、高可用性の処理を行います。 | |
ZAQAR | Liberty | Webおよびモバイル開発者向けのマルチテナントクラウドメッセージングサービスです。RESTful APIを使用してメッセージを送信できます。 | |
BLAZAR | Queens | OpenStack のリソース予約サービスです。 | |
ADHO | Liberty | Ceilometer によって収集されたサンプルやイベントデータのルールのアクションをトリガーできるようにすることを目標としたプロジェクトです。 | |
ワークロードプロビジョニング | MAGNUM | Mitaka | Docker Swarm、Kubernetes、Apache Mesos などのコンテナーオーケストレーションエンジンを、OpenStackのファーストクラスリソースとして利用できるようにします。 |
SAHARA | Juno | データ処理フレームワーク(Hadoop、Spark、Stormなど)を簡単にプロビジョニングできるようにすることを目的としています。 | |
TROVE | Icehouse | サービスとしてのデータベースプロビジョニングのリレーショナルおよび、非リレーショナルデータベースエンジンです。 | |
アプリケーションライフサイクル | MASAKARI | Rocky | OpenStackクラウドに障害が発生したインスタンスを自動的に回復するインスタンス高可用性サービスを提供します。 |
MURANO | Kilo | さまざまなクラウド対応アプリケーションのカタログを公開します。 | |
SOLUM | Mitaka | ソースからイメージへのプロセスを自動化、アプリ中心のデプロイを簡素化することで、クラウドサービスのアプリケーション開発プロセスを容易にします。 | |
FREEZER | Mitaka | サービスプラットフォームとしての分散バックアップ、レストア、およびディザスタリカバリです。 | |
API プロキシ | EC2API | Rocky | OpenStack NOVA に EC2互換のAPIを提供します。 |
Web フロントエンド | HORIZON | Essex | 拡張可能なWebベースの OpenStack ダッシュボードです。 |
SKYLINE | Yoga | UIとUEによって最適化された 次世代のOpenStackダッシュボードです。Yogaの時点ではプレビュー版です。 |
Novaの各コンポーネントは以下のように連携します。
(https://docs.openstack.org/nova/latest/admin/architecture.htmlより)
DB:データストレージ用のデータベースです。
API:oslo.messagingキューまたはHTTPを介して他のコンポーネントと通信するコンポーネントです。
Scheduler:各インスタンスを取得するホストを決定します。
Compute:ハイパーバイザーおよび仮想マシンとの通信を管理します。
Conductor:調整が必要なリクエストの処理などを行います。
Placement: リソースプロバイダーのインベントリと使用状況を追跡します。
OpenStackのオペレーションツール
カテゴリ | コンポーネント名 | 導入バージョン | 機能 |
---|---|---|---|
モニタリングサービス | CEILOMETER | Havana | OpenStackサービスによって生成されたデータを収集、正規化、変換します。 |
PANKO | Newton | メタデータのインデックスの作成、イベントストレージサービスを提供し、ユーザがリソースの状態情報を取得できるようにします。 | |
MONASCA | Mitaka | マルチテナント、拡張性、パフォーマンス、耐障害性に対応するサービスとしてのモニタリングソリューションです。 | |
リソースオプティマイゼーション | WATCHER | Newton | OpenStackベースのクラウドに柔軟でスケーラブルなリソース最適化サービスを提供します。 |
VITRAGE | Newton | 根本原因分析のためのサービスです。 | |
ビリング / ビジネスロジック | ADJUTANT | Ussuri | OpenStackと外部システム全体のアカウント管理のための拡張可能なAPIを提供します。 |
CLOUDKITTY | Mitaka | メトリックベースの評価を行うように設計されたサービスとしての評価プロジェクトです。 | |
テスティング/ ベンチマーク | RALLY | Pike | ベンチマークおよびパフォーマンス分析ツールです。 |
TEMPEST | Diablo | OpenStackクラスターのためのライブ実行総合テストスイートです。 | |
PATROLE | Pike | ロールベースのアクセス制御を確認するためのセキュリティ検証ツールです。 |
OpenStackの主な特徴
主な特徴は以下のとおりです。
大規模プロジェクト | 世界で最も活発なオープンソースプロジェクトのひとつであり、2022年3月現在、100を超えるパブリッククラウドデータセンターと数千のプライベートクラウドで、2500万を超えるコンピューティングコアの規模で利用されています。 |
---|---|
業界標準仕様を採用 | WSGIなど、特定ベンダーの技術に依存しないオープンな業界標準仕様を採用 |
スケーラブル | 分散アーキテクチャーの採用など、大規模システムにも対応する高いスケーラビリティーを実現 |
豊富な機能 | IaaS環境構築において、仮想マシン(VM)、ストレージ、およびネットワークリソース、ネットワーク構成などを統合的に管理する機能を有する |
REST APIの採用 | REST APIによる、仮想デバイス、トラフィックの集中管理 |
コスト効果 | OpenStackはライセンス費用がかからないため、商用製品に比べて大幅に導入コストを削減 |
OpenStackと同様の機能を提供する商用製品
商用ソフトウェア製品では、Amazon Web Services(AWS)、Citrix CloudPlatform, powered by Apache CloudStack(Citrix CloudPlatform)、AT&T Cloud Architect、IBM SmartCloud Enterprise、Eucalyptus(商用版)が、 オープンソース製品ではCloudStack、Eucalyptus、OpenNebulaが、OpenStackと同様の機能を提供しています。
OpenStackの始め方
How To Get Started With OpenStack
OpenStackのサポート
NRIではお客様のご要望に応じて様々な支援ができるサービスをご用意しました。
詳細は下記ページをご確認ください。