前回の記事では、非技術的な視点から OpenStack プロジェクトを紹介しました。今回からは、より技術的な視点で OpenStack を紹介していきます。まず本記事では、OpenStack を構成するコンポーネントの概要を説明し、続く数記事で各コンポーネントについて詳しく解説していく予定です。
OpenStack コア機能

OpenStack は非常に多くのサービスで構成されており、各サービスは一つのコンポーネントによって提供されます。さらに、そのコンポーネント内は複数のマイクロサービス(microservice)に分割されています。
その中には OpenStack 公式によって「コア機能」と定義されているサービスがあり、上の図では太字で示されています。ここでは、コア機能のコンポーネント名、提供されるサービス、およびそれに対応する AWS サービスを列挙します。
- Nova:コンピューティングサービス (Compute Service) / AWS EC2
- Neutron:ネットワークサービス (Networking) / AWS VPC
- Keystone:アイデンティティサービス (Identity Service) / AWS IAM
- Cinder:ブロックストレージサービス (Block Storage) / AWS EBS
- Glance:イメージサービス (Image Service) / AWS AMI
- Ironic:ベアメタルプロビジョニングサービス (Baremetal Provisioning Service) / AWS EC2 Baremetal
- Horizon:ダッシュボード (Dashboard) / AWS ダッシュボード
- Heat:オーケストレーションサービス (Orchestration) / AWS CloudFormation
- Swift:オブジェクトストレージサービス (Object Storage) / AWS S3
以上が公式に列挙されているコア機能です。
筆者の経験では、ほとんどの OpenStack デプロイ環境にこれらのサービスが含まれていますが、Swift は比較的珍しい部類に入ります。
これらの異なるコンポーネントを組み合わせることで、強力なプライベートクラウドサービスが構築され、自社環境でパブリッククラウドが提供する機能の大部分を実現できるようになります。
その他の主要なサービス
また、筆者の経験上、以下のような一部の非コア機能も OpenStack のデプロイにおいて比較的よく見かけます。
- Designate:DNS サービス / AWS Route 53
- Octavia:ロードバランサーサービス (Load Balancer Service) / AWS ELB
- Manila:共有ファイルシステムサービス (Shared File System) / AWS EFS
これらのサービスを利用する必要がある場合、これらのプロジェクトの安定性も十分に実証されています。
まとめ
本記事では OpenStack の主要なプロジェクトを紹介しました。次回の記事からは、各プロジェクトについてより深く掘り下げていきます。まずは、最も中核的であり、最も歴史のあるサービスである Nova から始めていきます。
著作権表示:このブログのすべての記事は、特記のない限りCC BY-NC-SA 4.0ライセンスの下で提供されています。

