OSSクラウドの設計
2.1 プライベート・クラウドの企画から運用までの流れ
前回はOSSを使ったプライベート・クラウドのメリットを説明しました。今回はプライベート・クラウドの企画から運用までの実際を説明していきます。
プライベート・クラウドといっても、特有の設計方法があるわけではありません。クラウドの基盤設計にあたっては、以下のように通常のシステム設計の手続きを踏んで行う必要があります。
- (1)要件定義
- (2)設計
- (3)構築試験
- (4)運用・評価
世の中には非常に多くのシステム設計方法論やそのためのフレームワークがあり、それらを比較して述べることは本記事で取り扱う範囲をはるかに超えてしまいます。そこで、本記事では経験的に得られているクラウド設計の注意点について(1)要件定義と(2)設計に注目して説明します。
2.2 要件定義
プライベート・クラウドを構築し、その上に新規にシステムを作る場合もありますし、既存のシステムを収容する場合も考えられます。
いずれの場合にも、収容する予定のシステム(以下、収容システム)の要件やシステム数から、クラウド基盤として求められる要件を決めていきます。
(1)機能要件
クラウド基盤OSSの基本機能としては、仮想マシン管理、仮想マシン・イメージ管理、仮想ネットワーク管理、ストレージ管理、ユーザー管理などの機能が提供されています。クラウドの運用監視やデータ・バックアップなどの付加機能は、他のOSSを組み合わせる必要があります。
収容システムとの機能分担について考慮しておくことが重要です。例えば、データのバックアップ機能や、アプリケーションの運用管理機能をどのレベルで実現するかなどについては注意が必要です。データのバックアップ機能をクラウド基盤側でまとめて提供する場合にはシステム全体の運用効率化が期待されますが、他方、既存システムを収容する場合では、システム固有のバックアップ方式やリストア手段を提供することが難しくなります。アプリケーション特有のバッチ処理などの運用機能については、収容システム側で用意する必要があります。
(2)非機能要件
非機能要件に関して検討しておくことは、機能要件以上に重要です。
以下、プライベート・クラウドで非機能要件について注意すべき点の例をあげます。
- ・性能要件
-
性能の決定は、収容するシステム自体の必要性能や、その利用パターンから決めるべきです。実際には、複数の収容システムを扱う必要があり、性能予測をすることは非常に困難な上、さらに仮想化層によるオーバーヘッドなどがあるため、厳密には実機による性能検証が必要になります。実装にあたって、性能要件は厳密な値と見なすより、むしろ目安として活用すべきです。
また、利用する仮想サーバー台数を増やすことで性能向上が可能な場合には、いわゆるスケール・アウト処理が可能です。スモール・スタートで順次物理リソースを増強するような柔軟な構築方法も考慮しておくことで対応が可能です。
- ・セキュリティ要件
-
収容するシステムの利用範囲に応じて、守るべきセキュリティ要件を決定します。イントラネットを対象とした利用なのか、インターネットに公開するサービスも提供するのかによってレベルが異なります。また、個人情報などを扱う場合には、データの運用管理体制を含め、収容システムおよびクラウド基盤両方に対するセキュリティ・ポリシーの策定も必要になります。
クラウド特有の課題として、異なるセキュリティ・レベルのシステムが同一の物理マシン上で動作することが考えられます。運用系のシステムを共有するような場合には、厳しいほうの運用ポリシーにあわせて運用をすることが求められます。
- ・信頼性
-
信頼性をどの程度で考えるかによって、クラウド基盤の設計も異なります。高信頼が要求されるシステムでは、クラウド基盤を構成する物理サーバー、ネットワーク装置、ストレージ装置などを含めてSPOF(単一障害点)のない多重化設計を行う必要があります。
一方で、収容システムはクラウド基盤の仮想マシン上で動作するように設計するため、クラウド上の仮想の代替サーバーで動作されることが容易です。クラウド基盤上のサーバー・プールに余裕を持たせることで、物理サーバー故障時の代替処理を行う設計にすることでコストの削減が可能になります。
- ・運用性
-
運用コストを下げるためには、あらかじめ運用の仕組みを考えておくことが重要です。プライベート・クラウドの運用には次の2つのレベルがあります。
【1. 収容システムの運用】
収容システムの要件として運用時に顧客サポートが必要な場合、そのための体制を整備し、人員を配置しておくことが必要になります。また、収容システム固有の処理がある場合には、個別に運用手順を作成しておくことが必要です。
クラウド基盤に実装するタイミングで、収容システム同士の運用手順をあわせておくことで、収容システムの運用を統合化することが可能になります。これによって、トータルの運用コスト削減を実現できます。
【2. クラウド基盤の運用】
クラウド基盤自体の運用についても考慮しておく必要があります。収容システムの運用責任とクラウド基盤の運用責任が異なる場合には、問い合わせ窓口の設置が必要になります。
複数の収容システムの運用統合に加えて、クラウド基盤との運用統合まで検討を行うと、さらに運用の効率化が可能となると考えられます(図1)。
図1: プライベート・クラウドの運用統合化(クリックで拡大) |
また、一般に運用業務は以下の2種類に大別されます。
- 【定型業務】:定期ジョブ、バックアップ、顧客問い合わせ対応など
- 【非定型業務】:故障対応、セキュリティ・パッチなど
定型業務は省力化および自動化の仕組みをジョブ化してシステムに組み込むことで、運用コストを減らすことが可能になると考えます。