概要

概要

OpenStack プロジェクトは、あらゆる種類のクラウド環境をサポートする、オープンソースのクラウドコンピューティングプラットフォームです。シンプルな実装、大規模なスケーラビリティ、豊富な機能を目指しています。世界中のクラウドコンピューティング技術者がプロジェクトに貢献しています。

OpenStack は、補完関係にある様々なサービスの組み合わせで Infrastructure-as-a-Service (IaaS) ソリューションを提供します。各サービスは application programming interface (API) を提供しており、簡単に連携できるようになっています。

このガイドでは、以下の主要な OpenStack サービスのデプロイメントを、実用的なサンプルアーキテクチャーを使って、順を追って説明します。内容は、Linux の経験は十分にあるが、OpenStack は初めてというユーザーを対象にして書かれています。

OpenStack サービス

サービス

プロジェクト名

説明

Dashboard Horizon

インスタンスの起動、IP アドレスの割り当て、アクセス制御の設定など、裏で動作する OpenStack サービスを操作するための、ウェブベースのセルフサービスポータルを提供します。

Compute Nova

OpenStack 環境でコンピュートインスタンスのライフサイクルを管理します。要求に応じて仮想マシンの作成、スケジューリング、破棄などに責任を持ちます。

Networking Neutron

OpenStack Compute などの他の OpenStack サービスに対して、Network-Connectivity-as-a-Service をできるようにします。ユーザーがネットワークやそれらへの接続を定義するための API を提供します。数多くの人気のあるネットワークベンダーやネットワーク技術に対応した、プラグイン可能なアーキテクチャーが採用されています。

   

ストレージ

Object Storage Swift

RESTful、HTTP ベースの API 経由で任意の非構造データオブジェクトを保存および取得します。データ複製による高い耐障害性とスケールアウトアーキテクチャーを持ちます。その実装は、マウント可能なディレクトリを持つファイルサーバーとは違っています。オブジェクトやファイルは複数のドライブに書き込まれ、データがサーバクラスター間で複製されていることが保証されます。

Block Storage Cinder

永続的なブロックストレージを、実行中のインスタンスに対して提供します。プラグイン可能なドライバーアーキテクチャーにより、ブロックストレージデバイスの作成と管理が容易になります。

   

共有サービス

Identity service Keystone

他の OpenStack サービスに対して認証および認可サービスを提供します。すべての OpenStack サービスに対してエンドポイントのカタログを提供します。

Image service Glance

仮想マシンディスクイメージを保存および取得します。OpenStack Compute がインスタンスの配備中に使用します。

Telemetry Ceilometer

課金、ベンチマーク、スケーラビリティ、統計などの目的で、OpenStack クラウドの監視と計測を行います。

   

上位レイヤーサービス

Orchestration Heat

ネイティブの HOT テンプレート形式または AWS CloudFormation テンプレート形式を使用して、複数の複合クラウドアプリケーションを統合します。OpenStack ネイティブの REST API および CloudFormation 互換のクエリー API を提供しています。


こららの OpenStack サービスの基本的なインストール、設定、運用、トラブルシューティングができるようになったら、本番のアーキテクチャーを使ったデプロイメントに向けて以下のような点を検討するとよいでしょう。

  • パフォーマンス要件と冗長性要件を満たすよう、必要なコアサービスとオプションサービスを判断して実装します。

  • ファイアウォール、暗号化、サービスポリシーなどの方法を使用して、セキュリティーを向上させます。

  • 本番環境の配備および管理を自動化するために、Ansible、Chef、Puppet、Salt などのデプロイツールを導入してください。

サンプルアーキテクチャー

サンプルアーキテクチャーでは、仮想マシン すなわちインスタンスを起動するために、少なくとも 2 つのノード (ホスト) を必要とします。Block Storage や Object Storage などのオプションサービスを使う場合には、追加のノードが必要です。

このサンプルアーキテクチャーは、以下の点が最小限の本番アーキテクチャーと異なります。

  • Networking エージェントは、専用のネットワークノードではなく、コントローラーノードで動作します。

  • プライベートネットワークのオーバーレイ (トンネル) 通信は、専用ネットワークではなく管理ネットワークを通過します。

本番環境のアーキテクチャーの詳細は、Architecture Design GuideOperations GuideNetworking Guide を参照してください。

Hardware requirements

ハードウェア要件

コントローラー

コントローラーノードでは、Identity サービス、Image サービス、Compute の管理コンポーネント、Networking の管理コンポーネント、さまざまな Networking エージェント、ダッシュボードが実行されます。SQL データベース、メッセージキューNTP のようなサポートサービスも含まれます。

オプションとして、コントローラーノードは、Block Storage、Object Storage、Orchestration、Telemetry サービスの一部も実行します。

コントローラーノードは、少なくとも 2 つのネットワークインターフェースが必要です。

Compute

コンピュートノードでは、インスタンスの操作を行う Compute の ハイパーバイザー 部分を実行します。デフォルトでは、Compute は KVM ハイパーバイザーを使用します。コンピュートノードでは、 Networking サービスのエージェントも実行されます。このエージェントは、インスタンスを仮想ネットワークに接続し、セキュリティーグループ としてインスタンスに対するファイアウォールサービスを提供します。

複数のコンピュートノードを配備できます。各ノードは少なくとも 2 つのネットワークインターフェースを持つ必要があります。

Block Storage

オプションの Block Storage ノードは、Block Storage が仮想マシンインスタンスのために配備するディスクを持ちます。

簡単のため、コンピュートノードとこのノード間のサービストラフィックは管理ネットワークを使います。本番環境では、性能とセキュリティーを向上させるため別のストレージネットワークを用意すべきでしょう。

複数のブロックストレージノードを配備できます。各ノードは少なくとも 1 つのネットワークインターフェースを持つ必要があります。

Object Storage

オプションの Object Storage ノードは、Object Storage がアカウント、コンテナー、オブジェクトを保存するディスクを持ちます。

簡単のため、コンピュートノードとこのノード間のサービストラフィックは管理ネットワークを使います。本番環境では、性能とセキュリティーを向上させるため別のストレージネットワークを用意すべきでしょう。

このサービスは 2 つのノードを必要とします。各ノードは、少なくとも 1 つのネットワークインターフェースを必要とします。複数のオブジェクトストレージノードを配備できます。

ネットワーク

以下の仮想ネットワークの選択肢のいずれかを選択します。

ネットワークオプション 1: プロバイダーネットワーク

プロバイダーネットワーク構成では、可能な限り最も簡単な方法で OpenStack Networking サービスをデプロイします。主として、レイヤー 2 (ブリッジング/スイッチング) サービスと VLAN によるネットワーク分離が利用できます。本質的には、仮想ネットワークは物理ネットワークにレイヤー 2 でブリッジングされ、レイヤー 3 (ルーティング) サービスは物理ネットワークインフラのものが利用されます。また、 DHCP サービスにより IP アドレス情報がインスタンスに提供されます。

注釈

この構成では、セルフサービスネットワーク、 レイヤー 3 (ルーティング) サービス、 LBaaSFWaaS などの高度なネットワークサービス はサポートされません。これらの機能を使いたい場合は、セルフサービスネットワーク構成を検討してください。

Networking Option 1: Provider networks - Service layout

ネットワークオプション 2: セルフサービスネットワーク

セルフサービスネットワーク構成は、プロバイダーネットワーク構成にレイヤー 3 (ルーティング) サービスを加えたもので、 VXLAN などのネットワーク分離手法を用いて セルフサービス ネットワークを実現します。 本質的には、この構成では、仮想ネットワークのトラフィックは NAT を利用して物理ネットワークにルーティングされます。また、 LBaaS や FWaaS などの高度なネットワークサービスが動作するための基盤となります。

Networking Option 2: Self-service networks - Service layout
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.