OpenStackとは?詳しく解説します
OpenStackの概要
OpenStackとはクラウドサービスであるIaaS(Infrastructure as a Service)環境を構築するためのオープンソースソフトウェア群となります。 OpenStackは 2010年に、Rackspace Hosting社とNASAの共同プロジェクトとして開始され、10年以上の歴史をもつプロジェクトとなります。 OpenStackはOpenStack Foundationによって管理されており、AT&T、AMD、Cisco、デル、エリクソン、HPE、IBM、インテル、NEC、レッドハット、VMware、Yahoo!などの世界を代表する大手企業が多数参画しているプロジェクトとしても知られております。 OpenStackのプロジェクトが開始された時期はクラウドサービスについての認知度が高まり、業界関係者や一般人から大きな注目を浴びていた時期とも重なり、ここから歴史がスタートしました。 当時のクラウドサービスは大きな注目を集める一方でセキュリティーや品質や機能などについてはまだまだ改善の余地が多いことも事実であり、そのような時代背景を受けてOpenStackはオープンソースプロダクトとして登場した仮想化基盤ソフトウェアとして登場し成長してきました。 OpenStackはコミュニティーのエンジニアおよび多数の企業のサポートを受けて急激な拡大を実現しました。 OpenStackは、さまざまなコード名のコンポーネントを持つモジュラーアーキテクチャを採用していることで知られておりますが、 2010年の初版においては「Nova」「Swift」とサービスのコアとなり、中心となるモジュールのみの発表となりました。 その後Neutron、Cinder、Keystone、Horizonなど多数のモジュールが追加され現在に至ります。 2020年のUssuri(リリース名)においてはadjutant, aodh, barbican, blazar, ceilometer, cinder, cloudkitty, congress, cyborg, designate, ec2-api, freezer, glance, heat, horizon, ironic, karbor, keystone, magnum, manila, masakari, mistral, monasca-api, monasca-events-api, murano, neutron, nova, octavia, panko, placement, qinling, sahara, searchlight, senlin, solum, storlets, swift, tacker, tricircle, trove, vitrage, watcher, zaqar, zunの44のコーポネントによって構成されております。 以上が簡単ではありますがOpenStackに関する説明とさせていただきます。 仮想化やクラウドに関する知識は今や企業の担当者として必須の知識であることは間違いありません。 特にインフラエンジニアであればOpenStackに関する知識はしっかりと抑えておきたいところですので是非学習してみてはいかがでしょうか。 それではさらに詳しくOpenStackについて解説させていただきますので、参考にしてみてください。
OpenStackの特徴について
OpenStackの特徴についてポイントを絞り紹介させていただきますので、参考にしていただけましたら 幸いです。
IaaS型
OpenStackの特徴の一点目がIaaS型であるということとなります。 クラウドサービスは大きくIaaS、SaaS(Software as a Service)、PaaS(Platform as a Service)に分類されることで知られております。 それぞれに違いはユーザーとクラウドベンダーがどの部分を管理するかという点となり、それにより ユーザーの自由度あるいは提供されるサービスが異なりますので、担当者はしっかりと理解しておく必要があります。 IaaSは「データ」「アプリケーション」「ランチタイム」「ミドルウェア」「OS」をユーザーが管理し「仮想化」「物理サーバー」「ストレージ」「ネットワーク」はクラウドベンダーが管理する形となります。 SaaSはアプリケーションとインフラのすべての部分をクラウドベンダーが担当します。 PaaSは「データ」「アプリケーション」をユーザーが管理し、それ以外のインフラに関する部分である「ランチタイム」「ミドルウェア」「OS」「仮想化」「物理サーバー」「ストレージ」「ネットワーク」は クラウドベンダーが管理する形となります。 OpenStackはIaaS型の特徴であるサービスを組み合わせて自由なクラウド環境を構築することができるという点がメリットでもあります。 また、OpenStackにおいては一つのテナントに対して複数のユーザが利用することも可能となります。
APIツール連携
OpenStackの特徴の二点目がAPI連携ということになります。 OpenStackプロジェクトにより自由に拡張可能なAPIを開発することで、 従来の互換性の課題を解決しました。 APIツール連携により自動化を可能にするなど柔軟な構成を実現することが可能となります。
ベンダーロックイン
OpenStackの特徴の三点目がベンダーロックイン回避となります。 繰り返しの説明となりますがOpenStackはオープンソースソフトウェア(OSS)であるため、特定の環境に依存しません。 将来においても特定のベンダーのサービスやテクノロジーに依存するリスクがないことで、ベンダーロックインを回避することができます。 これは自社で大規模なインフラを構築している企業や多くのサービスを展開している企業にとっては大きな利点であると言えるでしょう。 ビジネス上においても柔軟に環境を変更できることで多くのメリットを享受することができます。
OpenStackのコーポネントについて
OpenStackのコーポネントについて説明させていただきます。 本文でも説明させていただいたように、OpenStackはコーポネントによって構成され、制御されております。 それぞれの名前と機能について紹介させていただきますので、参考にしてみてください。
Nova
OpenStackのコーポネントの一点目がNovaとなります。 NovaはOpenStackの主要機能であり、仮想サーバーをプロビジョニングする方法を提供します。 Novaは複数のサーバープロセスで構成され、それぞれが異なる機能を実行します。 ユーザー向けのインターフェースはRESTAPIですが、内部的にはNovaコンポーネントはRPCメッセージパッシングメカニズムを介して通信することも特徴となります。
Neutron
OpenStackのコーポネントの二点目がNeutronとなります。 Neutronはネットワーク機能を提供するコンポーネントであり、 OpenStack サービスのインターフェース間の接続性を提供します。
Cinder
OpenStackのコーポネントの三点目がCinderとなります。仮想マシン用の永続的な Block Storage ボリュームを管理するコーポネントとなります。
Swift
OpenStackのコーポネントの四点目がSwiftとなります。 オブジェクトストレージの役割を持つコンポーネントであり、可用性が高く分散されかつ整合性を担保します。 Swiftのコーポネントを使用することで、大量のデータを効率的、安全、かつ安価に保存できます。
Horizon
OpenStackのコーポネントの五点目がHorizonとなります。 Horizonはコンポーネントを操作するためのダッシュボードを提供するコンポーネントであり、 Nova、Swift、KeystoneなどのOpenStackサービスにWebベースのユーザーインターフェイスを提供します。
OPCEL認定試験について
OpenStackに関する資格としてOPCEL認定試験について説明させていただきます。
OPCEL認定試験はOpenStackの技術者認定試験であり、認定名はOPCEL認定資格(OpenStack Professional Certification by LPI-Japan)正式呼称はOPCEL認定プロフェッショナル(OPCEL Certified Professional)となります。
OPCEL認定試験はLPI-Japanが認定する資格でありOpenStack環境において、
エンドユーザが必要とするインスタンス、アプリケーションおよびサービスの各種設定・
OpenStackのコアサービスの構築およびOpenStack環境の運用管理を行うことができるスキルレベルを証明する資格です。
OpenStackの市場はこれからさらに成長する可能性が高いため、インフラエンジニアが取得することで
転職やキャリアアップに有利になるでしょう。
また、OPCEL認定試験においてはクラウドサービスに関する知識も必要とされますので、
仮想化やクラウドといったインフラエンジニアにとって必要な知識を総合的に学習することができます。
OPCEL認定試験を合格することで、「認証管理」「ダッシュボードのカスタマイズ」「ユーザ、プロジェクト(テナント)、その他のシステムリソースの管理」「新規イメージの登録とカスタマイズ」「ネットワークの構築」「新規VMイメージの作成および使用」「各種ストレージの設定・追加のブロックおよびオブジェクトストレージの事前準備」といった業務を行うことが証明できます。
もう少し詳しく説明させていただきますとOPCEL認定試験では想定受験者(MQC(Minimally Qualified Candidate)をOpenStackオペレータとOpenStackアドミニストレータに分類されます。
OpenStackオペレータは構築済のOpenStack環境において、インスタンス、アプリケーションおよびサービスの各種設定をすることができる技術力を有します。
また、エンドユーザが使用する全てのOpenStackのサービスと一般的な OpenStack のツールについての知識を有し、新規イメージの登録とカスタマイズや追加のブロックおよびオブジェクトストレージの事前準備ができる技術力を有します。
OpenStackアドミニストレータはOpenStack環境の運用管理を行う能力、およびOpenStackのコアサービスを構築する技術力を有しており、認証管理、ユーザ、プロジェクト(テナント)、その他のシステムリソースの管理
ネットワークの構築、新規VMイメージの作成および使用、各種ストレージの設定、ダッシュボードのカスタマイズを実行をできる技術力を有します。
試験問題数は60問でおよそ6割以上の正解率で合格となります。
OPCEL認定試験を受験する対象者としてはプライベートクラウドの構築・運用を行うSI事業者、
データセンター事業者、クラウドサービスを展開する事業者、自社サービスのインフラの開発・運用担当者、社内SEの育成担当者、社内IT基盤のクラウドへの移行を検討しているエンジニア、クラウドインフラエンジニアとしてキャリアアップを目指す方となりインフラエンジニアであれば幅広いエンジニアの方にとって役に立つ取得であることは間違いありません。
OPCEL認定試験を取得するメリットについても説明させていただきます。
OPCEL認定試験はOpenStackに関する知識やスキルの証明を行うことができる試験となりますが、
具体的にはOpenStackの機能や制限を理解し、要求に応じた適切なOpenStack基盤を構築できる能力や
主要な各種ディストリビューションにおいて、認証サービス、イメージサービス、コンピュートサービス、
ネットワーキングサービスが機能する汎用的なOpenStackの環境を構築することができる能力や
必要に応じてFWaaSやLBaaSなどの追加機能を設定できる能力といった構築面の実務の能力の証明を行うことが可能となります。
また、運用管理面で証明できる能力についての証明も行うことが可能です。
OpenStackの機能を活用して、利用用途に応じたインスタンスとネットワークの作成や管理を行える能力や
ダッシュボードを通してインスタンスやストレージなど必要なクラウドサービスを配備し、
リソースの割り当ての増減や、利用状況・課金状況などを把握することができる能力や
各種工程を自動化して、俊敏性、可用性、柔軟性の高いシステムを運用・管理できる能力や
稼動状態を把握し、障害の切り分けに必要な情報を取得できる能力などがそれに該当します。
OPCEL認定試験の出題範囲について詳しく紹介させていただきます。
「OpenStack のアーキテクチャとデプロイメント」と「管理・共有サービス」と「インフラサービス」
に分類され、それぞれについて必要な知識範囲が異なります。
また、OpenStackについて重要なコーポネントに関する知識も深く問われるため専門的な知識について
学習しておく必要があります。
「OpenStack のアーキテクチャとデプロイメント」で問われる内容は以下となります。
「OpenStack のアーキテクチャとデプロイメント」で問われる内容の一点目が
クラウドコンピューティングの概念となります。
クラウドコンピューティングとは?という基礎的な内容とサービス(IaaS, PaaS, SaaS)の分類や
環境による分類(パブリック、プライベート、ハイブリッドクラウド)の違いを理解できているかという
知識が問われます。IaaSのサービスや拡張性、アプリケーションとの組み合わせや非機能要件などの
専門的な知識も問われます。
「OpenStack のアーキテクチャとデプロイメント」で問われる内容の二点目がOpenStackのアーキテクチャと設計となります。
OpenStackのコアコーポネント(Keystone, Nova, Glance, Neutron, Horizon, Cinder)の役割と基礎知識が問われます。
また、コアコーポネント(Keystone, Nova, Glance, Neutron, Horizon, Cinder)の機能、統合についても問われます。
各コンポーネント(Heat, Ceilometer, Swift, Ironic, Designate, Manila, Barbican, Magnum, aodh, Cyborg, Kolla)の機能についての知識も問われます。
「OpenStack のアーキテクチャとデプロイメント」で問われる内容の三点目がOpenStack のインストレーションとデプロイメントとなります。OpenStackの構築に必要な手順およびツールの理解とコマンドの理解が問われます。
「管理・共有サービス」で問われる内容は以下となります。
「管理・共有サービス」で問われる内容の一点目がアイデンティティサービス、認証と認可(Keystone)となります。
ドメイン、プロジェクト(テナント)、ユーザ、ロール、トークン、パーミッション、証明書および認証に
関する知識が問われます。
「管理・共有サービス」で問われる内容の二点目がダッシュボード(Horizon)とRESTful APIとなります。
HorizonとOpenStack RESTful APIについての理解が問われます。
「管理・共有サービス」で問われる内容の三点目がオーケストレーション (Heat)となります。
HeatやHOTテンプレートを使用して基本的なOpenStackのアプリケーションを作成する知識が問われます。
「管理・共有サービス」で問われる内容の四点目がイメージサービス (Glance)となります。
「インフラサービス」で問われる内容は以下となります。
「インフラサービス」で問われる内容の一点がネットワーキングサービス (Neutron)となります。
OpenStackのネットワーキングアーキテクチャとNeutronに関する知識が問われます。
「インフラサービス」で問われる内容の二点がコンピュートサービス (Nova)となります。
Novaコンピュートインスタンスのライフサイクルに関する知識などが問われます。
「インフラサービス」で問われる内容の三点目がブロックストレージ (Cinder)となります。
OpenStackのストレージに関する知識が問われます。
「インフラサービス」で問われる内容の四点目がオブジェクトストレージ (Swift)となります。
swiftのオブジェクトストレージ、オブジェクトネーミング、オブジェクトオペレーション、オブジェクトアクセスやプロジェクト管理に関する知識が問われます。
OPCEL認定試験に合格するための学習についても説明させていただきます。 LPI-Japanが推奨する書籍は何冊かあり、その一つが「OpenStack構築運用トレーニングテキスト - OPCEL認定試験 V.2.0対応 -」となります。「OpenStack構築運用トレーニングテキスト - OPCEL認定試験 V.2.0対応 -」では 出題傾向に沿った内容と、図を多用した分かりやすい解説により体系的にOpenStackを理解・学習することができます。 Ver.2.0では近年のクラウドサービスなどの技術についての出題もありますので、それらを反映した最新のテキストとなっております。 また、「OPCEL認定試験 対策教科書(入門者向け)」も推奨されております。 「OPCEL認定試験 対策教科書(入門者向け)」OPCEL認定試験受験者の学習指針となる教材であり、 OpenStackを使ったクラウド環境構築におけるポイントについて実践面から学習することが可能です。 上記の書籍以外にもOpenStackに関するWebサイトを参考にしながら学習を行うことで効率的に試験対策を進めることができるでしょう。 以上がOPCEL認定試験についての説明とさせていただきます。
まとめ
いかがでしたでしょうか? OpenStackについて説明させていただきましたので、参考にしていただけましたら幸いです。