OpenStack プロジェクトは、あらゆる種類のクラウド環境をサポートする、オープンソースのクラウドコンピューティングプラットフォームです。シンプルな実装、大規模なスケーラビリティ、豊富な機能を目指しています。世界中のクラウドコンピューティング技術者がプロジェクトに貢献しています。
OpenStack は、補完関係にある様々なサービスの組み合わせで Infrastructure-as-a-Service (IaaS) ソリューションを提供します。各サービスは Application Programming Interface (API) を提供しており、簡単に連携できるようになっています。
このガイドでは、主要な OpenStack サービスのデプロイメントを、実用的なサンプルアーキテクチャーを使って、順を追って説明します。内容は、Linux の経験は十分にあるが、OpenStack は初めてというユーザーを対象にして書かれています。
こららの OpenStack サービスの基本的なインストール、設定、運用、トラブルシューティングができるようになったら、本番のアーキテクチャーを使ったデプロイメントに向けて以下のような点を検討するとよいでしょう。
パフォーマンス要件と冗長性要件を満たすよう、必要なコアサービスとオプションサービスを判断して実装します。
ファイアウォール、暗号化、サービスポリシーなどの方法を使用して、セキュリティーを向上させます。
本番環境の配備および管理を自動化するために、Ansible、Chef、Puppet、Salt などのデプロイツールを導入してください。
サンプルアーキテクチャーでは、仮想マシン すなわちインスタンスを起動するために、少なくとも 2 つのノード (ホスト) を必要とします。Block Storage や Object Storage などのオプションサービスを使う場合には、追加のノードが必要です。
このサンプルアーキテクチャーは、以下の点が最小限の本番アーキテクチャーと異なります。
Networking エージェントは、専用のネットワークノードではなく、コントローラーノードで動作します。
セルフサービスネットワークのオーバーレイ (トンネル) 通信は、専用ネットワークではなく管理ネットワークを通過します。
本番環境のアーキテクチャーの詳細は、Architecture Design Guide、OpenStack 運用ガイド、OpenStack ネットワークガイド を参照してください。
コントローラーノードでは、Identity サービス、Image サービス、Compute の管理コンポーネント、Networking の管理コンポーネント、さまざまな Networking エージェント、ダッシュボードが実行されます。SQL データベース、メッセージキュー、NTP のようなサポートサービスも含まれます。
オプションとして、コントローラーノードは、Block Storage、Object Storage、Orchestration、Telemetry サービスの一部も実行します。
コントローラーノードは、少なくとも 2 つのネットワークインターフェースが必要です。
コンピュートノードでは、インスタンスの操作を行う Compute の ハイパーバイザー 部分を実行します。デフォルトでは、Compute は KVM ハイパーバイザーを使用します。コンピュートノードでは、 Networking サービスのエージェントも実行されます。このエージェントは、インスタンスを仮想ネットワークに接続し、セキュリティーグループ としてインスタンスに対するファイアウォールサービスを提供します。
複数のコンピュートノードを配備できます。各ノードは少なくとも 2 つのネットワークインターフェースを持つ必要があります。
オプションの Block Storage ノードは、Block Storage サービスや Shared File System サービスがインスタンス用に用意するディスクを保持します。
簡単のため、コンピュートノードとこのノード間のサービストラフィックは管理ネットワークを使います。本番環境では、性能とセキュリティーを向上させるため別のストレージネットワークを用意すべきでしょう。
複数のブロックストレージノードを配備できます。各ノードは少なくとも 1 つのネットワークインターフェースを持つ必要があります。
オプションの Object Storage ノードは、Object Storage がアカウント、コンテナー、オブジェクトを保存するディスクを持ちます。
簡単のため、コンピュートノードとこのノード間のサービストラフィックは管理ネットワークを使います。本番環境では、性能とセキュリティーを向上させるため別のストレージネットワークを用意すべきでしょう。
このサービスは 2 つのノードを必要とします。各ノードは、少なくとも 1 つのネットワークインターフェースを必要とします。複数のオブジェクトストレージノードを配備できます。
以下の仮想ネットワークの選択肢のいずれかを選択します。
プロバイダーネットワーク構成では、可能な限り最も簡単な方法で OpenStack Networking サービスをデプロイします。主として、レイヤー 2 (ブリッジング/スイッチング) サービスと VLAN によるネットワーク分離が利用できます。本質的には、仮想ネットワークは物理ネットワークにレイヤー 2 でブリッジングされ、レイヤー 3 (ルーティング) サービスは物理ネットワークインフラのものが利用されます。また、 DHCP サービスにより IP アドレス情報がインスタンスに提供されます。
注釈
この構成では、セルフサービス (プライベート) ネットワーク、 レイヤー 3 (ルーティング) サービス、 LBaaS や FWaaS などの高度なネットワークサービス はサポートされません。これらの機能を使いたい場合は、セルフサービスネットワーク構成を検討してください。
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.