公開日2021.12.08
最終更新日2022.10.05
こんにちは!
どうやら社内でOpenStackの導入をしようとしているらしく、ここ最近調査をしていました。
私自身初めて聞いたので概要をわかりやすく紹介します。
IT初心者で、インフラエンジニアを目指している方ならぜひ知っておいて欲しい内容です。そもそも「OpenStackとは」というところから、利用する上でのメリットデメリット、OpenStackの各種機能の紹介。Amazon Web Services(以下AWS)の機能との比較についてまとめております。
OpenStack(オープンスタック)とは
OpenStackは、クラウドコンピューティングを構築するソフトウェアです。
サーバー・ストレージ・ネットワークといった、従来ハードウェアとして提供されていた機能をクラウドサービスとしてユーザーに提供し、アプリやシステム開発を行うことができます。
AWSのようなクラウドコンピューティングを想像してもらえればイメージしやすいかと思います。
AWSと違うところはオープンソースソフトウェアであること。機能面は類似するものがほとんどなので、環境さえ準備できれば、インフラエンジニアに必要なクラウドについての知識やスキルを実践で覚えることが可能です!
OpenStackのメリットとデメリット
メリット
OpenStackはオープンソースソフトウェア(OSS)なので、無償で提供されているためコスト削減が可能となります。
クラウド環境を構築する際には必要な機能部分だけの実用化も可能となります。
学習面においても、無償で利用できるのでクラウドコンピューティングを構築するソフトウェアを学ぶことにも使えます。
デメリット
サポートがあまり充実していないため、トラブル発生時などは仕組みを理解するある程度の経験をもつ技術者や知識が必要となります。
サポートが充実していない点が障害があった際に少し不安ですが。サポート充実の商用パッケージもIBM社、RedHat社から提供されているようです。
- RedHat社:Red Hat OpenStack Platform
- IBM社:IBM Cloud
OpenStackのコンポーネント
OpenStackは製品としての名称であり、その内部では各コンポーネントと呼ばれる機能が連携してIaaS環境(仮想マシン、仮想ネットワーク、仮想ディスクなど)を提供しています。
コンポーネントの構成図は以下となります。
- Compute(Nova)
- Networking(Neutron)
- Image Service(Glance)
- Identity(Keystone)
- Object Storage(Swift)
- Dashboard(Horizon)
- Block Storage(Cinder)
Compute(Nova)
Compute(Nova)は仮想マシンを生成してサービス提供を実施する機能です。
物理的な機器でいえば、コンピューターやサーバーに相当します。
仮想OSのコントロールするKVMやXenServerなどから制御されます。
Networking(Neutron)
Networking(Neutron)は、仮想ネットワークと物理ネットワークを管理する機能です。
物理的な機器でいえば、ルーターやスイッチなどのネットワーク機器に相当します。
コンポーネント名は元々Quantumでした。
Image Service(Glance)
Image Service(Glance)は仮想マシンのVMディスクイメージを管理する機能です。
物理的な機器でいえば、あらかじめ使用者が使用する環境や設定が用いられたOSとなります。
Identity(Keystone)
Identity(Keystone)はユーザー認証を管理する機能です。
OpenStackで構築した環境で作業をするユーザーは、Keystoneによって一元管理されます。Openstackのセキュリティ面を担う部分です。
Object Storage(Swift)
Object Storage(Swift)はサーバーのストレージ機器を管理する機能です。
クラウド上サーバーのデータ保存領域(ストレージ)を管理し、拡張も可能となります。
物理的な機器でいえば、ストレージサーバーと同じ役割を果たします。
Dashboard(Horizon)
Dashboard(Horizon)はWeb環境を提供するためのインターフェース機能です。
Webによりでコントロールが可能な機能で、運用保守や管理作業を実施します。
OpenStackとユーザーを繋ぐ唯一のインターフェースです。
Block Storage(Cinder)
Block Storage(Cinder)は仮想・物理のインスタンスに対して、ブロックストレージ機能を提供します。
この機能により作成される領域を「ボリューム」と呼びます。
仮想マシンで稼働しているOSからブロックデバイスとして認識され、OSからフォーマットやマウントを行ってファイルシステムとして利用できます。
OpenStackとAWSの比較
OpenStackのコンポーネントと対応するAWSのサービスを以下にまとめてみました。
AWSの知識がある方はこちらの方が理解が早いかと思います。
OpenStackコンポーネント名 | AWSサービス名 |
Compute(Nova) | EC2 |
Networking(Neutron) | VPC |
Image Service(Glance) | AMI |
Identity(Keystone) | IAM |
Object Storage(Swift) | S3 |
Dashboard(Horizon) | マネジメントコンソール |
Block Storage(Cinder) | EBS |
まとめ
物理的なインフラを用意すること無く無料でサーバー、ストレージ、データベース、その他のアプリケーションが利用できるなんて素晴らしいですね。
コロナ禍によるテレワークの増加などでクラウドコンピューティングの利用が以前よりもさらに増えてきているようなのでインフラ構築を検討の際にOpenStackを選択するのもさらに増えそうですね。