4

【わかりやすい】インフラ系を目指すなら知っておきたい!OpenStackとは?【AWSとの比較】

こんにちは!
どうやら社内でOpenStackの導入をしようとしているらしく、ここ最近調査をしていました。
私自身初めて聞いたので概要をわかりやすく紹介します。

IT初心者で、インフラエンジニアを目指している方ならぜひ知っておいて欲しい内容です。そもそも「OpenStackとは」というところから、利用する上でのメリットデメリット、OpenStackの各種機能の紹介。Amazon Web Services(以下AWS)の機能との比較についてまとめております。

OpenStack(オープンスタック)とは

openstackの公式ホームページのトップページのスクリーンショット

OpenStackは、クラウドコンピューティングを構築するソフトウェアです。
サーバー・ストレージ・ネットワークといった、従来ハードウェアとして提供されていた機能をクラウドサービスとしてユーザーに提供し、アプリやシステム開発を行うことができます。
AWSのようなクラウドコンピューティングを想像してもらえればイメージしやすいかと思います。

AWSと違うところはオープンソースソフトウェアであること。機能面は類似するものがほとんどなので、環境さえ準備できれば、インフラエンジニアに必要なクラウドについての知識やスキルを実践で覚えることが可能です!

OpenStackのメリットとデメリット

メリット

OpenStackはオープンソースソフトウェア(OSS)なので、無償で提供されているためコスト削減が可能となります。
クラウド環境を構築する際には必要な機能部分だけの実用化も可能となります。
学習面においても、無償で利用できるのでクラウドコンピューティングを構築するソフトウェアを学ぶことにも使えます。

デメリット

サポートがあまり充実していないため、トラブル発生時などは仕組みを理解するある程度の経験をもつ技術者や知識が必要となります。
サポートが充実していない点が障害があった際に少し不安ですが。サポート充実の商用パッケージもIBM社、RedHat社から提供されているようです。


OpenStackのコンポーネント

OpenStackは製品としての名称であり、その内部では各コンポーネントと呼ばれる機能が連携してIaaS環境(仮想マシン、仮想ネットワーク、仮想ディスクなど)を提供しています。
コンポーネントの構成図は以下となります。

openstackの各種コンポーネントについて、物理構成図を含めてわかりやすく解説した画像
  • 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を選択するのもさらに増えそうですね。

作者情報

フロントエンドってなんかオシャレだなと感じてきたバックエンドエンジニア。
日サロじゃないよ、地黒だよ。
酒は飲んでも飲まれるな。