(57)【要約】【課題】適切なリソースサイズの仮想システムを構築する。【解決手段】構築装置において、１又は複数の情報処理装置を含むシステムの動作を実現する仮想システムが提供するサービス内容に関する情報の入力を受け付ける入力手段と、  前記入力手段に入力された前記情報に基づいて、前記仮想システムの論理構成を決定する決定手段とを有する。【選択図】図１
2015022501.tif 000002
【特許請求の範囲】
【請求項１】
１又は複数の情報処理装置を含むシステムの動作を実現する仮想システムが提供するサービス内容に関する情報の入力を受け付ける入力手段と、
前記入力手段に入力された前記情報に基づいて、前記仮想システムの論理構成を決定する決定手段とを有することを特徴とする構築装置。
【請求項２】
前記決定手段は、
前記サービス内容として入力された前記仮想システムで提供するサービスパターンと、該サービスパターンに対応する構成要素とに基づいて、前記論理構成を決定することを特徴とする請求項１に記載の構築装置。
【請求項３】
前記構成要素を用いて前記仮想システムのシステムリソースをサイジングする算出手段を有することを特徴とする請求項２に記載の構築装置。
【請求項４】
前記決定手段により決定した前記仮想システムの論理構成に対するセキュリティチェック又は負荷チェックを行うチェック手段を有することを特徴とする請求項１乃至３の何れか１項に記載の構築装置。
【請求項５】
構築装置が、
１又は複数の情報処理装置を含むシステムの動作を実現する仮想システムが提供するサービス内容に関する情報の入力を受け付け、
受け付けた前記情報に基づいて、前記仮想システムの論理構成を決定する、ことを特徴とする構築方法。
【請求項６】
１又は複数の情報処理装置を含むシステムの動作を実現する仮想システムが提供するサービス内容に関する情報の入力を受け付け、
受け付けた前記情報に基づいて、前記仮想システムの論理構成を決定する、処理をコンピュータに実行させるための構築プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、構築装置、構築方法、及び構築プログラムに関する。
【背景技術】
【０００２】
例えば、あるコンピュータの動作をエミュレートする仮想マシン（以下、「ＶＭ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）」という）を用いた仮想システムが知られている。仮想システムのインフラ基盤としては、ネットワーク構成、サーバ冗長構成、サーバ負荷分散構成、ファイアウォール等の構成要素が存在する。このような仮想化インフラ基盤の構築において、仮想サーバ台数等のリソースサイズ等は、物理サーバで構築した過去の実績等を参考に一般的な推奨値に基づいて構築される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−９５８７１号公報
【特許文献２】特開２０１１−６００３５号公報
【特許文献３】特開２００９−１０４６４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した各構成要素の必要台数等は、利用ユーザ数やアクセス頻度等のサービス利用状況で変わるため、負荷テストによるチューニング等で決定することになるが、その作業は仮想システムを構築する作業の中でも非常に手間が掛かる作業である。
【０００５】
また、仮想システムの物理サーバリソースであるＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、メモリ、システムバス等の性能は、日進月歩で向上している。そのため、以前の実サーバリソースでチューニングして作成したサーバリソースの参考値が、新しい物理サーバの追加やリプレース等で陳腐化する場合があり、チューニングの結果を永続的に適用することができない。
【０００６】
１つの側面では、本発明は、適切なリソースサイズの仮想システムを容易に構築することを目的とする。
【課題を解決するための手段】
【０００７】
一態様における構築装置は、１又は複数の情報処理装置を含むシステムの動作を実現する仮想システムが提供するサービス内容に関する情報の入力を受け付ける入力手段と、
前記入力手段に入力された前記情報に基づいて、前記仮想システムの論理構成を決定する決定手段とを有する。
【発明の効果】
【０００８】
適切なリソースサイズの仮想システムを構築することができる。
【図面の簡単な説明】
【０００９】
【図１】構築システムの構成例を示す図である。
【図２】構築装置の機能構成例を示す図である。
【図３】構築装置のハードウェア構成例を示す図である。
【図４】構成要素種別データの一例を示す図である。
【図５】構成要素オブジェクトテーブルの一例を示す図である。
【図６】アプリケーションリソースサイズデータの一例を示す図である。
【図７】構成要素メンバテーブルの一例を示す図である。
【図８】ネットワークアドレスプールの一例を示す図である。
【図９】ロードバランサ初期ルールのデータ例を示す図である。
【図１０】ファイアウォール初期ルールの一例を示す図である。
【図１１】サイジング閾値テーブルの一例を示す図である。
【図１２】管理コンソールにおける処理の一例を示すフローチャートである。
【図１３】構成算出処理の一例を示すフローチャートである。
【図１４】第２の構成要素サイジング処理の一例を示すフローチャートである。
【図１５】第３の構成要素サイジング処理の一例を示すフローチャートである。
【図１６】構成テスト処理の一例を示すフローチャートである。
【図１７】構成完了処理の一例を示すフローチャートである。
【図１８】サイジングＤＢの具体例を示す図である。
【図１９】サイジングＤＢの更新処理の一例を示すフローチャートである。
【図２０】再構成処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照しながら実施例について詳細に説明する。
【００１１】
＜構築システムの構成例＞
図１は、構築システムの構成例を示す図である。図１に示す構築システムは、例えば１又は複数のＶＭ等を有する仮想化サーバシステム（仮想システム）を構築するシステムの一構成例を示している。図１に示す構築システム１０は、仮想化サーバシステム１１と、利用者端末１２とを有し、仮想化サーバシステム１１と、利用者端末１２とは、例えばインターネットやＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等の通信ネットワーク１３等によりデータの送受信が可能な状態で接続されている。
【００１２】
仮想化サーバシステム１１は、例えば利用者端末１２から、本実施形態における仮想化サーバシステムの構築に関する入力（リクエスト）を受け付ける。リクエストとは、例えば仮想化サーバシステム１１が提供するサービスの内容や構成要素等に関する情報等であるが、これに限定されるものではない。
【００１３】
また、仮想化サーバシステム１１は、受け付けたシステム構築に関するリクエストに基づいて、システムの論理構成を決定し、適切なリソースサイズの各構成要素（例えば、仮想サーバ、ネットワーク、データベース等のストレージ等）を自動的に構築する。
【００１４】
例えば、仮想化サーバシステム１１は、利用者端末１２からのリクエストに含まれるシステムサービス利用ユーザ数やアクセス頻度等から仮想インフラ基盤の構成要素の必要台数を現時点のハードウェア資源における仮想リソース性能から算出する。また、仮想化サーバシステム１１は、算出された内容からシステムの論理構成を決定することができるが、これに限定されるものではない。
【００１５】
仮想化サーバシステム１１は、例えば１又は複数の物理マシンやネットワーク、ストレージ等であるが、これに限定されるものではない。例えば、仮想化サーバシステム１１は、管理コンソールや１又は複数の業務サーバ等から構成される。
【００１６】
利用者端末１２は、仮想システム等を構築するシステム管理者や、構築するサービスを利用するテナントユーザ等が使用する端末である。利用者端末１２は、上述したリクエスト等を仮想化サーバシステム１１に送信する。利用者端末１２は、例えばＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）やサーバ、タブレット端末等の情報端末であるが、これに限定されるものではない。
【００１７】
仮想化サーバシステム１１は、仮想化ファイアウォール２１と、管理コンソール２２と、構築装置２３と、サイジングデータベース（以下、データベースを単に「ＤＢ」という）２４と、仮想化レイヤー２５と、１又は複数のフロントエンドサーバ２６と、１又は複数のバックエンドサーバ２７と、仮想化ロードバランサ２８と、負荷テスト装置２９とを有する。
【００１８】
仮想化ファイアウォール２１は、通信ネットワーク１３上における発信元と宛先に対応するＩＰアドレスやポート番号等を用いてトラフィックの通過可否の制御を行う。仮想化ファイアウォール２１は、例えば専用のソフトウェア等を利用して、上述した制御を行うことができる。
【００１９】
管理コンソール２２は、仮想化サーバシステム１１の管理端末として、仮想化サーバを構築する利用者（例えば、仮想化サーバ管理者、テナントユーザ等）が使用する利用者端末１２からの設計要件等のリクエストを受け付ける。
【００２０】
管理コンソール２２は、構築したい仮想化サーバシステムのサービスパターン毎にひな形のパターンを有する。管理コンソール２２は、構築したいサービスパターン（例えば、「Ｗｅｂシステム」、「バッチシステム」、「メールシステム」等）を利用者端末１２の画面に表示させ、利用者に選択させることができる。
【００２１】
例えば、サービスパターンが「Ｗｅｂシステム」の場合には、Ｗｅｂ３層システムのひな型構成を表示し、「バッチシステム」の場合には、バッチシステム（アプリケーション層）のひな型構成を表示し、「メールシステム」の場合には、メールシステム（ＤＭＺ（ＤｅＭｉｌｉｔａｒｉｚｅｄ  Ｚｏｎｅ）＋イントラネット）のひな型構成を表示する。なお、サービスパターンは、これに限定されるものではない。
【００２２】
また、上述した設計要件の入力画面は、サービスパターン毎に、例えば仮想化ファイアウォール２１、フロントエンドサーバ２６、バックエンドサーバ２７、仮想化ロードバランサ２８等のサーバシステムの構成要素毎のサービス要件、利用アプリケーションの選択ができる。管理コンソール２２は、例えばＰＣやサーバ等であるが、これに限定されるものではない。
【００２３】
構築装置２３は、１又は複数の情報処理装置（例えば、サーバ等）を含むシステムの動作を実現（エミュレート）する仮想システムを構築する。なお、構築装置２３における具体的な機能等については後述する。
【００２４】
サイジングＤＢ２４は、例えばＶＭでの利用アプリケーション毎、仮想化ロードバランサ２８、仮想化ファイアウォール２１等の構成要素毎に構成され、それぞれの仮想化装置のマシンリソースをサイジングするための閾値データを有する。
【００２５】
なお、閾値データは、そのＶＭを使用して収集した過去の負荷情報ログから、使用アプリケーション、サービス構成、仮想サーバ台数等に基づいて、それぞれの規模による構成要素のマッピングパターンを１又は複数作成することができる。閾値データは、それぞれのマッピングパターンでのＣＰＵ使用率、メモリ使用率の相関関係の回帰分析から、マッピングパターンを例えば低・中・高等の段階的な負荷状態に分類して作成した閾値マップであるが、これに限定されるものではない。
【００２６】
なお、図１に示す管理コンソール２２、構築装置２３、サイジングＤＢ２４は、管理ＶＬＡＮ（Ｖｉｒｔｕａｌ  ＬＡＮ）として管理されてもよい。
【００２７】
仮想化レイヤー２５は、物理マシン上のハードウェアをエミュレートさせて、ＶＭを作動させる。物理マシン上のハードウェアとは、例えば物理的なサーバ（物理マシン）３１やネットワーク３２、ストレージ（記憶手段）３３等の各構成要素であるが、これに限定されるものではない。仮想化レイヤー２５は、例えば専用のソフトウェア等を利用して、上述した制御を行うことができる。
【００２８】
フロントエンドサーバ２６は、１又は複数のＶＭ（図１の例では、ＶＭ２６−１〜２６−３）を有する。フロントエンドサーバ２６は、例えば仮想化サーバシステム１１においてクライアントが直接アクセスサーバであり、クライアントへの直接のアクセスサービスや表示フォーマットの変更等の処理を行う。
【００２９】
バックエンドサーバ２７は、１又は複数のＶＭ（図１の例では、ＶＭ２７−１，２７−２）を有する。バックエンドサーバ２７は、クライアントが直接アクセスしないサーバであり、例えばデータベース検索等の処理を行う。
【００３０】
ＶＭは、仮想化レイヤーソフトウェアで物理マシンのマシンリソース（例えば、ＣＰＵやメモリ、ハードディスク等）から割り当てられて生成される。ＶＭ上では、物理マシンと同じ感覚で各種アプリケーションの動作を実現することができる。なお、フロントエンドサーバ２６及バックエンドサーバ２７は、例えばそれぞれフロントエンドＶＬＡＮ、バックエンドＶＬＡＮとして構成されていてもよい。
【００３１】
仮想化ロードバランサ２８は、例えばパケット分散機能を有し、フロントエンドサーバ２６及バックエンドサーバ２７の各ＶＭへのトラフィックを分散させる。仮想化ロードバランサ２８は、例えば専用のソフトウェア等を利用して、上述した制御を行うことができる。
【００３２】
負荷テスト装置２９は、構築装置２３から仮想化レイヤー２５経由で生成され、構築装置２３と同様の機能を有する。負荷テスト装置２９は、構築装置２３により構築された仮想化サーバシステムを用いた実際のサービスを公開する前に、予め設定された負荷テスト等を行い、構築者が意図した動作等を行うか否かをテストする。なお、負荷テスト装置２９は、例えばテスト用ネットワークＶＬＡＮとして構成されていてもよい。
【００３３】
上述した構築装置２３により構築される仮想化サーバシステム１１において、例えば仮想化ファイアウォール２１や仮想化ロードバランサ２８、負荷テスト装置２９等の構成は、必要に応じてシステム内に設けてもよい。
【００３４】
＜構築装置２３の機能構成例＞
次に、構築装置２３の機能構成例について図を用いて説明する。図２は、構築装置の機能構成例を示す図である。図２において、構築装置２３は、入力手段４１と、出力手段４２と、決定手段４３と、算出手段４４と、割当手段４５と、ルール生成手段４６と、チェック手段４７と、負荷情報取得手段４８と、記憶手段４９とを有する。
【００３５】
入力手段４１は、管理コンソール２２からの入力情報を受け付ける。出力手段４２は、入力手段４１により受け付けた入力情報に対応した処理の実行結果を出力する。なお、出力手段４２は、出力結果を管理コンソール２２に出力してもよく、記憶手段４９に出力してもよく、両方に出力してもよい。
【００３６】
決定手段４３は、管理コンソール２２からの入力情報から得られる所定のサービスパターンに対応させて、仮想化サーバシステム１１の論理構成（例えば、ネットワーク構成、装置構成、機能構成、各構成要素等）を決定する。例えば、決定手段４３は、仮想化サーバシステム１１で提供するサービスと、該サービスのパターンを選択することで、仮想インフラ基盤上で必要なネットワーク構成等を構築する。なお、決定手段４３は、入力情報から得られるサービスパターンに対応して予め設定された構成要素や利用アプリケーション等を表示し、表示した内容に基づいて利用者に選択させることで、各種構成を決定してもよい。
【００３７】
算出手段４４は、管理コンソール２２からの入力情報（例えば、構成要素等）を用いて仮想化サーバシステム１１のシステムリソースをサイジングする。例えば、算出手段４４は、仮想化サーバシステム１１における仮想サーバ上のアプリケーションと、アクセス頻度と、アクセスデータの平均サイズとを用いて、仮想マシン数のサイジングＤＢ２４から、サーバの構成要素毎の仮想マシン数や仮想マシンサイズとを算出する。
【００３８】
割当手段４５は、決定手段４３により決定したネットワーク構成に、算出手段４４により算出された数の仮想マシンを割り当てる。また、割当手段４５は、仮想システムのネットワーク構成毎に割り当てた仮想マシン数から、必要なネットワークサイズを算出し、算出したネットワークサイズに対するネットワークアドレスの割り当てや、仮想マシンへのＩＰアドレスの割り当て等を行う。
【００３９】
ルール生成手段４６は、算出手段４４により算出された仮想マシン数と、管理コンソール２２からの入力情報に含まれるアクセス頻度とから、仮想化ファイアウォール２１及び仮想化ロードバランサ２８に関するサイジングＤＢ２４を参照する。また、ルール生成手段４６は、仮想化ファイアウォール２１と仮想化ロードバランサ２８に必要な仮想マシンサイズの算出を行う。
【００４０】
また、ルール生成手段４６は、負荷分散ルールと、ファイアウォールルールとを生成する。例えば、ルール生成手段４６は、算出した仮想マシンサイズ等の設計情報を、仮想化レイヤー２５の入力インタフェースに合わせてパラメータ化する。更に、ルール生成手段４６は、仮想化レイヤー２５に、仮想システムのネットワーク構成、ＶＭ、仮想化ファイアウォール２１、仮想化ロードバランサ２８等に対する設定指示を出力する。
【００４１】
チェック手段４７は、上述した設定指示等に基づき、決定手段４３等により決定した仮想化サーバシステム１１の論理構成に対するセキュリティチェック又は負荷チェックを行う。例えば、チェック手段４７は、例えば仮想化レイヤー２５により構築されたＶＭをサービス公開する前に、ＶＭへの疎通確認やポートスキャン等によるセキュリティチェックを行う。例えば、チェック手段４７は、構築される仮想化サーバシステム１１の負荷テストによる負荷チェック等を行う。
【００４２】
チェック手段４７は、チェック結果として異常等がなかった場合に、構築したＶＭによるサービスを公開する。また、チェック手段４７は、チェック結果として異常があった場合に、ＶＭの再構成を行う。
【００４３】
負荷情報取得手段４８は、各ＶＭの負荷情報（例えば、メモリ使用率、ＣＰＵ使用率等）を定期的に収集して、負荷情報ログとして管理する。
【００４４】
また、負荷情報取得手段４８は、負荷情報ログから現在の仮想システムの性能情報を算出し、算出した結果に基づいてサイジングＤＢ２４を更新する。
【００４５】
記憶手段４９は、上述した構築装置２３により構築された仮想化サーバシステムのサービス稼働中の負荷情報のログ等を記憶するが、記憶する情報については、これに限定されるものではない。例えば、記憶手段４９は、例えば構成要素の種別を管理する構成要素種別データや構成要素オブジェクト、アプリケーションリソース、構成要素メンバ、ネットワークアドレス、初期ルール、サイジング閾値等の各種情報を記憶する。なお、具体的な各情報の具体的な内容については後述する。
【００４６】
＜ハードウェア構成例＞
次に、上述した構築装置２３のハードウェア構成例について説明する。図３は、構築装置のハードウェア構成例を示す図である。図３に示すハードウェア構成は、入力装置５１と、出力装置５２と、ドライブ装置５３と、補助記憶装置５４と、主記憶装置５５と、ＣＰＵ５６と、ネットワーク接続装置５７とを有し、これらはシステムバスＢで相互に接続されている。
【００４７】
入力装置５１は、構築装置２３を使用するユーザ等が操作するキーボード及びマウス等のポインティングデバイスや、マイクロフォン等の音声入力デバイスを有する。入力装置５１は、ユーザ等からのプログラムの実行指示、各種操作情報、ソフトウェア等を起動するための情報等の入力を受け付ける。
【００４８】
出力装置５２は、本実施形態における処理を行うためのコンピュータ本体を操作するのに必要な各種ウィンドウやデータ等を表示するディスプレイを有し、ＣＰＵ５６が有する制御プログラムによりプログラムの実行経過や結果等を表示する。
【００４９】
ここで、本実施形態においてコンピュータ本体にインストールされる実行プログラムは、例えば、Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ（ＵＳＢ）メモリやＣＤ−ＲＯＭ、ＤＶＤ等の可搬型の記録媒体５８等により提供される。
【００５０】
プログラムを記録した記録媒体５８は、ドライブ装置５３にセット可能であり、ＣＰＵ５６からの制御信号に基づき、記録媒体５８に含まれる実行プログラムが、記録媒体５８からドライブ装置５３を介して補助記憶装置５４にインストールされる。
【００５１】
補助記憶装置５４は、例えばＨａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ（ＨＤＤ）やＳｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ（ＳＳＤ）等のストレージ手段等である。補助記憶装置５４は、ＣＰＵ５６からの制御信号に基づき、本実施形態における実行プログラムや、コンピュータに設けられた制御プログラム等を記憶し、必要に応じて入出力を行う。補助記憶装置５４は、ＣＰＵ５６からの制御信号等に基づいて、記憶された各情報から必要な情報を読み出したり、書き込むことができる。
【００５２】
主記憶装置５５は、ＣＰＵ５６により補助記憶装置５４から読み出された実行プログラム等を格納する。主記憶装置５５は、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＲＯＭ）やＲａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＲＡＭ）等である。補助記憶装置５４及び主記憶装置５５は、例えば上述した記憶手段４９に対応している。
【００５３】
ＣＰＵ５６は、Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ（ＯＳ）等の制御プログラム、及び主記憶装置５５に格納されている実行プログラムに基づいて、各種演算や各ハードウェア構成部とのデータの入出力等、コンピュータ全体の処理を制御して各処理を実現する。プログラムの実行中に必要な各種情報等は、補助記憶装置５４から取得することができ、また実行結果等を格納することもできる。
【００５４】
具体的には、ＣＰＵ５６は、例えば入力装置５１から得られるプログラムの実行指示等に基づき、補助記憶装置５４にインストールされたプログラムを実行させることにより、主記憶装置５５上でプログラムに対応する処理を行う。
【００５５】
例えば、ＣＰＵ５６は、構築プログラムを実行させることで、上述した入力手段４１における入力の受け付け、出力手段４２における処理結果の出力、決定手段４３におけるネットワーク構成の決定、算出手段４４におけるＶＭの数やサイズの算出等の処理を行う。また、ＣＰＵ５６は、割当手段４５におけるＶＭの割り当て、ルール生成手段４６におけるルール生成、チェック手段４７におけるセキュリティチェック、負荷情報取得手段４８における各ＶＭの負荷情報の取得等の処理を行う。なお、ＣＰＵ５６における処理内容は、これに限定されるものではない。ＣＰＵ５６により実行された内容は、必要に応じて補助記憶装置５４等に記憶される。
【００５６】
ネットワーク接続装置５７は、通信ネットワーク１３を介して利用者端末１２との通信を行う。ネットワーク接続装置５７は、ＣＰＵ５６からの制御信号に基づき、通信ネットワーク１３等と接続することにより、実行プログラムやソフトウェア、設定情報等を、通信ネットワークに接続されている外部装置等から取得する。また、ネットワーク接続装置５７は、プログラムを実行することで得られた実行結果又は本実施形態における実行プログラム自体を外部装置等に提供することができる。
【００５７】
上述したようなハードウェア構成により、本実施形態における仮想化サーバシステム構築処理を実行することができる。また、上述した各機能を実行させることができる実行プログラム（構築プログラム）をコンピュータにインストールすることにより、汎用のＰＣ等のコンピュータで本実施形態における仮想化サーバシステム構築処理を容易に実現することができる。
【００５８】
なお、図３におけるハードウェア構成例は、例えば、利用者端末１２や管理コンソール２２がＰＣ等であった場合に同様に適用することができる。
【００５９】
＜各種データ例について＞
次に、本実施形態で使用される各種データ例について、図を用いて説明する。なお、以下に示す各種データは、例えば上述した記憶手段４９に記憶されるが、これに限定されるものではなく、他の記憶手段に記憶されていてもよい。
【００６０】
＜構成要素種別データの一例＞
図４は、構成要素種別データの一例を示す図である。図４に示す構成要素種別データは、構成要素の種別を管理するものである。図４の例に示す構成要素種別データの項目は、「項目名」、「種別」等であるが、これに限定されるものではない。図４の例では、項目名として「ファイアウォール」、「ロードバランサ」、「フロントエンドサーバ」、「バックエンドサーバ」等があり、それぞれに異なる種別（図４の例では、１〜４）が設定されているが、項目や種別については、これに限定されるものではない。
【００６１】
利用者は、利用者端末１２から構築する仮想化サーバシステム１１が提供するサービスパターンを設定した後、図４に示す構成要素種別データからそのサービスに必要な構成要素を選択する。
【００６２】
＜構成要素オブジェクトテーブルの一例＞
図５は、構成要素オブジェクトテーブルの一例を示す図である。図５の例に示す構成要素オブジェクトテーブルの項目は、例えば「テナントＩＤ」、「３層モデル属性」、「利用アプリケーション」、「アクセス頻度」、「データサイズ」、「ネットワーク属性」、「カレントＣＰＵサイズ」、「カレントメモリサイズ」、「ネットワークアドレス」、「構成要素メンバテーブルインデックス」等があるが、これに限定されるものではない。
【００６３】
テナントＩＤは、例えば仮想化サーバシステム１１に示すような仮想化インフラ基盤を複数の利用者（マルチテナント）で運用を想定した場合のテナントの識別子である。３層モデル属性は、例えば構築する仮想化サーバシステム１１は、Ｗｅｂ３層モデルである場合にプレゼンテーション層、アプリケーション層、データベース層のうち、どのモデルに属するかを示す。
【００６４】
利用アプリケーションは、例えば仮想化サーバシステム１１で利用するアプリケーションの種別を示す。アプリケーション種別としては、例えばＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ（ＨＴＴＰ）１，ＨＴＴＰ２，Ｓｉｍｐｌｅ  Ｍａｉｌ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ（ＳＭＴＰ）１，ＳＭＴＰ２，ＦＷ（ファイアウォール）１，ＦＷ２，ＬＢ（ロードバランサ）１，ＬＢ２等であるが、これに限定されるものではない。なお、上述の数字（例えば、ＨＴＴＰ１，ＨＴＴＰ２の１，２）は、それぞれ同一の機能を有する異なるアプリケーションであることを示す。
【００６５】
アクセス頻度は、例えば仮想化サーバシステム１１への単位時間あたりのアクセス数である。データサイズは、仮想化サーバシステム１１へのアクセスあたりの平均データサイズである。ネットワーク属性は、仮想化サーバシステム１１を接続するネットワークのＶＬＡＮ番号である。カレントＣＰＵサイズは、構築する仮想化サーバシステム１１のＣＰＵサイズである。カレントメモリサイズは、構築する仮想化サーバシステム１１のメモリサイズである。ネットワークアドレスは、仮想化サーバシステム１１を接続するネットワークアドレスである。構成要素メンバテーブルインデックスは、分散サーバ（構成要素メンバ）の構成要素メンバテーブルへのリンクアドレスである。
【００６６】
図５に示す構成要素オブジェクトテーブルは、利用者が、構築する仮想化サーバシステム１１が提供するサービスパターンに対応する構成要素に対して設定した各種オブジェクトを管理するテーブルである。
【００６７】
なお、図５に示す構成要素オブジェクトテーブルは、例えば仮想化ファイアウォール２１、フロントエンドサーバ２６、バックエンドサーバ２７、仮想化ロードバランサ２８等のそれぞれに対応する構成要素オブジェクトテーブルを有していてもよい。
【００６８】
＜アプリケーションリソースサイズデータの一例＞
図６は、アプリケーションリソースサイズデータの一例を示す図である。図６の例に示すアプリケーションリソースサイズデータの項目は、例えば「アプリケーション名」、「３層モデル属性」、「最小ＣＰＵサイズ」、「最小メモリサイズ」等があるが、これに限定されるものではない。
【００６９】
アプリケーション名は、例えばテーブルに格納するリソースデータのアプリケーション名である。３層モデル属性は、例えばアプリケーションがＷｅｂ３層モデルで動作する場所を示す。具体的には、上述したようにプレゼンテーション層、アプリケーション層、データベース層のうち、何れかの層が格納される。最小ＣＰＵサイズは、例えばアプリケーション（例えば、ＨＴＴＰ１等）の動作に必要な最小ＣＰＵサイズである。ＣＰＵサイズは、予め設定された処理性能を有するＣＰＵの数等であるが、これに限定されるものではない。最小メモリサイズは、例えばアプリケーションの動作に必要な最小メモリサイズ値である。
【００７０】
図６に示すアプリケーションリソーステーブルは、例えば構成要素のサイジング処理等で用いられるが、これに限定されるものではない。
【００７１】
＜構成要素メンバテーブルの一例＞
図７は、構成要素メンバテーブルの一例を示す図である。図７の例に示す構成要素メンバテーブルの項目は、「メンバ数」、「ＩＰアドレス」、「グループＩＤ」、「代表フラグ」等であるが、これに限定されるものではない。図７に示す「ＩＰアドレス」、「グループＩＤ」、「代表フラグ」は、１つの組で管理される。
【００７２】
メンバ数は、例えば構成要素メンバ数である。「ＩＰアドレス（１）、グループＩＤ、代表フラグ」には、例えば構成要素メンバ（１）のＩＰアドレス、複数のメンバ数で構成される場合の分散グループＩＤ、代表ＩＰか否かの識別フラグが格納される。図７の例では、「１９２．１６８．１００．１」、「１」、「１」が格納される。以下、各メンバ（２）、（３）等に対しても同様に値が設定される。
【００７３】
図７に示す構成要素メンバテーブルは、例えば構築する仮想化サーバシステム１１にネットワークアドレスを割り当てる処理において用いられるが、これに限定されるものではない。
【００７４】
＜ネットワークアドレスプールの一例＞
図８は、ネットワークアドレスプールの一例を示す図である。図８の例に示すネットワークアドレスプールの項目は、例えば「３層モデル属性」、「ネットワークアドレス」、「ネットマスク」、「使用可能最大アドレスサイズ」、「使用中ネットワーク数」、「使用中（１）ネットワークアドレス」、「使用中（１）ネットマスク」、「使用中（２）ネットワークアドレス」、「使用中（２）ネットマスク」等であるが、これに限定されるものではない。
【００７５】
３層モデル属性は、例えばアドレスプールがＷｅｂ３層モデル（プレゼンテーション層、アプリケーション層、データベース層）のどのネットワークに属するかを示すデータである。ネットワークアドレスは、例えばアドレスプールのネットワークアドレスを示すデータである。ネットマスクは、アドレスプールのサイズを決定するためのマスクである。
【００７６】
使用可能最大アドレスサイズは、例えばアドレスプール内の使用可能な最大アドレスサイズである。使用中ネットワーク数は、例えばアドレスプール内で使用中のネットワーク数である。
【００７７】
使用中（１）ネットワークアドレスは、例えば使用中の１つ目のネットワークアドレスであり、使用中（１）ネットマスクは、例えば使用中の１つ目のネットマスクである。また同様に、使用中（２）ネットワークアドレスは、使用中の２つ目のネットワークアドレスであり、使用中（２）ネットマスクは、使用中の２つ目のネットマスクである。図８に示すネットワークアドレスプールは、継続して使用中（３）以降のネットワードアドレスやネットマスクを設定することができる。
【００７８】
図８に示すネットワークアドレスプールは、例えば構築する仮想化サーバシステム１１にネットワークアドレスを割り当てる処理において用いられるが、これに限定されるものではない。
【００７９】
＜ロードバランサ初期ルールのデータ例＞
図９は、ロードバランサ初期ルールのデータ例を示す図である。図９の例に示すロードバランサ初期ルールの項目は、例えば「代表ＩＰ」、「分散ルール」、「分散プロトコル」、「分散メンバＩＰ（１）」、「分散メンバＩＰ（２）」等であるが、これに限定されるものではない。
【００８０】
代表ＩＰは、負荷を分散する分散サーバの代表ＩＰアドレスである。分散ルールは、例えばラウンドロビン等の負荷分散を行うための手法等である。分散プロトコルは、分散対象のプロトコルのポート番号である。
【００８１】
分散メンバＩＰ（１）は、分散メンバ（１）のＩＰアドレスである。分散メンバＩＰ（２）は、分散メンバ（２）のＩＰアドレスである。分散メンバＩＰ（３）以降についても、同様に対応する値で設定される。
【００８２】
図９に示すロードバランサ初期ルールは、例えば構築する仮想化サーバシステム１１において、負荷テスト装置２９から仮想化ロードバランサへテスト用のルールを割り当てる処理で生成されるが、これに限定されるものではない。
【００８３】
＜ファイアウォール初期ルールの一例＞
図１０は、ファイアウォール初期ルールの一例を示す図である。図１０の例に示すファイアウォール初期ルールの項目は、例えば「ルール番号」、「送信元」、「宛先」、「宛先ポート」、「ルール」等があるが、これに限定されるものではない。
【００８４】
図１０の例では、ルール番号毎に、送信元と、宛先、宛先ポートと、ファイアウォールのルール（例えば、データを通過するか又は遮断するか等）が設定される。
【００８５】
図１０に示すファイアウォール初期ルールは、例えば仮想化サーバシステム１１において、仮想化ファイアウォール２１にルールを割り当てる処理で生成されるが、これに限定されるものではない。例えば、本実施形態において、仮想化ファイアウォール２１を通過する通信は、図１０の例に示すルール番号の小さい順に評価される。
【００８６】
＜サイジング閾値テーブルの一例＞
図１１は、サイジング閾値テーブルの一例を示す図である。図１１の例に示すサイジング閾値テーブルの項目は、例えば「アプリケーション名」、「ＣＰＵ使用率高域閾値」、「ＣＰＵ使用率低域閾値」、「ＣＰＵ使用率回帰式」、「メモリ使用率高域閾値」、「メモリ使用率低域閾値」、「メモリ使用率回帰式」、「稼働中オブジェクトインデックス」等であるが、これに限定されるものではない。
【００８７】
アプリケーション名は、例えばサイジング閾値を設定するアプリケーション名である。ＣＰＵ使用率高域閾値は、例えば高負荷域のＣＰＵ使用率の閾値（上限値）等である。ＣＰＵ使用率低域閾値は、例えば低負荷域のＣＰＵ使用率の閾値（下限値）等である。ＣＰＵ使用率回帰式は、例えばＣＰＵサイズとアクセス量で想定ＣＰＵ使用率が求められる回帰式等である。
【００８８】
メモリ使用率高域閾値は、例えば高負荷域のメモリ使用率の閾値（上限値）等である。メモリ使用率低域閾値は、低負荷域のメモリ使用率の閾値（下限値）等である。メモリ使用率回帰式は、アクセス量で想定メモリ使用率が求められる回帰式等である。稼働中オブジェクトインデックスは、負荷情報を収集する稼働中の構成要素オブジェクトテーブルのリンク情報等である。
【００８９】
図１１の例に示すサイジング閾値テーブルは、例えば仮想化サーバシステム１１におけるＶＭを構築する場合に、サイジングＤＢ２４から算出したシステムリソース等のパラメータを履歴として格納しておくテーブルである。サイジングＤＢ２４の具体例については、後述する。
【００９０】
＜管理コンソール２２における処理の一例＞
次に、上述した管理コンソール２２における処理の一例についてフローチャートを用いて説明する。図１２は、管理コンソールにおける処理の一例を示すフローチャートである。なお、図１２の例は、本実施形態における仮想システム構築処理の一例を含む。
【００９１】
図１２の例において、管理コンソール２２は、システム管理者やテナントユーザ等の各利用者が使用する利用者端末１２からのログイン処理を行う（Ｓ０１）。Ｓ０１のログイン処理では、例えば利用者端末１２からアクセスがあった場合に、ログイン画面等を表示してユーザＩＤやパスワード等の利用者情報を入力させる。また、ログイン画面等から入力された利用者情報を用いて、仮想化サーバシステム１１が利用可能な利用者データと照合を行い、一致する情報が存在した場合に、その後の処理を許可する。なお、管理コンソール２２は、入力された利用者情報が利用者データに含まれていない場合には、その旨を利用者端末１２に通知すると共に、利用者情報を再度入力させるか、アクセスを拒否する。以下の説明では、アクセスが許可された場合について説明する。
【００９２】
管理コンソール２２は、利用者端末１２の画面上に仮想化サーバシステム１１が提供する予め設定されたサービスパターンを表示する（Ｓ０２）。なお、サービスパターンとは、例えば上述したように「Ｗｅｂシステム」、「バッチシステム」、「メールシステム」等の各システムのひな型構成等であるが、これに限定されるものではない。これらの情報は、構築装置２３の記憶手段４９等に記憶されている。
【００９３】
また、管理コンソール２２は、画面に表示されたサービスパターンから利用者により選択されたサービスパターンを受け付け（Ｓ０３）、受け付けたサービスパターンに対応して予め設定された構成要素を抽出し、画面上に選択可能な構成要素を表示する（Ｓ０４）。なお、上述の構成要素は、例えば構築装置２３が上述した図４に示すような構成要素種別データ等の項目名等を管理コンソール２２等の画面に表示させるが、これに限定されるものではない。
【００９４】
次に、管理コンソール２２は、利用者からの構成要素の選択を受け付け（Ｓ０５）、利用者端末１２の画面上に、選択可能な構成要素毎の利用アプリケーションを表示する（Ｓ０６）。
【００９５】
次に、管理コンソール２２は、利用者からの構成要素毎の利用アプリケーションの選択を受け付け（Ｓ０７）、利用アプリケーション毎の想定アクセス頻度とデータサイズとを表示する（Ｓ０８）。想定アクセス頻度とデータサイズは、例えば、上述した図５に示すような構成要素オブジェクトテーブル等から取得できるが、これに限定されるものではない。
【００９６】
次に、管理コンソール２２は、利用者により選択された想定アクセス頻度とデータサイズとを受け付け（Ｓ０９）、入力パラメータの確認のため、全ての入力パラメータと構成要素イメージとを表示する（Ｓ１０）。管理コンソール２２は、利用者からの確認結果がＯＫであるか否かを判断し（Ｓ１１）、ＯＫでない場合（Ｓ１１において、ＮＯ）、Ｓ０２の処理に戻る。また、管理コンソール２２は、利用者からの確認結果がＯＫである場合（Ｓ１１において、ＹＥＳ）、構築装置２３の算出手段４４等における構成算出処理を行う（Ｓ１２）。なお、上述したＳ０２〜Ｓ１１の処理は、例えば管理コンソール２２を介して構築装置２３の決定手段４３により実行される。
【００９７】
次に、管理コンソール２２は、Ｓ１２に示す構成算出処理により得られる出力構成を画面に表示し（Ｓ１３）、利用者により選択された入力パラメータの確認結果を受け付ける（Ｓ１４）。また、管理コンソール２２は、構成結果がＯＫであったか否かを判断し（Ｓ１５）、構成結果がＯＫでない場合（Ｓ１５において、ＮＯ）、Ｓ０２の処理に戻る。また、管理コンソール２２は、構成結果がＯＫである場合（Ｓ１５において、ＹＥＳ）、構築装置２３のチェック手段４７等における構築テスト処理を行う（Ｓ１６）。
【００９８】
次に、管理コンソール２２は、構築装置２３からのテスト結果を画面に表示し（Ｓ１７）、テスト結果がＯＫであるか否かを判断する（Ｓ１８）。管理コンソール２２は、テスト結果がＯＫである場合（Ｓ１８において、ＹＥＳ）、構築装置２３における構成完了処理を行う（Ｓ１９）。また、テスト結果がＯＫでない場合（Ｓ１８において、ＮＯ）、構築装置２３のチェック手段４７における再構成処理を行い（Ｓ２０）、Ｓ１６の処理に戻る。
【００９９】
＜構成算出処理の一例＞
次に、上述したＳ１２に対応する構成算出処理の一例についてフローチャートを用いて説明する。図１３は、構成算出処理の一例を示すフローチャートである。図１３の例において、構築装置２３は、ネットワーク構成処理を行う（Ｓ３１）。Ｓ３１の処理では、構築装置２３は、例えば記憶手段４９等に記憶される構成要素毎のオブジェクト情報（構成要素オブジェクトテーブル）に、選択されたサービスパターンと利用アプリケーションとアクセス頻度とを属性として設定する。また、構築装置２３は、サービスパターンの属性から構成要素オブジェクトテーブルにネットワーク属性（例えば、３層モデル属性等）を設定する。
【０１００】
次に、構築装置２３の算出は、第１の構成要素サイジング処理として、例えば最小リソースの算出を行う（Ｓ３２）。Ｓ３２の処理では、構成要素オブジェクトテーブルの３層モデル属性と利用アプリケーションとに基づいて、上述した図６に示すリソースサイズデータが設定されたアプリケーションリソーステーブルを参照し、アプリケーション動作に必要な最小リソース量を取得する。最小リソース量とは、例えば最小のＣＰＵサイズやメモリサイズ等であるが、これに限定されるものではない。また、構築装置２３は、取得した最小リソース量を、例えば構成要素オブジェクトテーブルのカレントＣＰＵとカレントメモリサイズ等に設定する。
【０１０１】
次に、構築装置２３は、第２の構成要素サイジング処理として、例えばＣＰＵリソース算出を行う（Ｓ３３）。また、構築装置２３は、第３の構成要素サイジング処理としてメモリリソース算出を行う（Ｓ３４）。Ｓ３３、Ｓ３４の処理の詳細については、後述する。
【０１０２】
次に、構築装置２３の割当手段４５は、ネットワークアドレスの割り当て処理を行う（Ｓ３５）。Ｓ３５の処理では、例えば分割した各構成素オブジェクトのネットワーク属性毎に、予め設定された構成要素メンバ情報（例えば、図７に示す構成要素メンバテーブル）からメンバ数を取得する。また、Ｓ３５の処理では、取得したオブジェクト数からオブジェクトが収まるサイズのネットワークアドレスを、例えば上述した図８に示すネットワークワークアドレスプール（ＩＰアドレスプール）を参照して割り当てる。
【０１０３】
次に、構築装置２３の割当手段４５は、ルール割り当て処理を行う（Ｓ３６）。Ｓ３６の処理では、例えば、各構成要素オブジェクトから、構成要素のＩＰを収集し、負荷テスト装置２９から仮想化ロードバランサ２８へのテスト用アクセスルールを生成する。また、Ｓ３６の処理では、仮想化ファイアウォール２１に対するルールも生成し、それぞれ生成したルール（ロードバランサ初期ルール、ファイアウォール初期ルール）を記憶する。
【０１０４】
＜Ｓ３３：第２の構成要素サイジング処理の一例＞
次に、上述したＳ３３における第２の構成要素サイジング処理の一例について説明する。図１４は、第２の構成要素サイジング処理の一例を示すフローチャートである。図１４の例において、構築装置２３は、上述した図５に示す構成要素オブジェクトテーブルのカレントＣＰＵサイズ、アクセス頻度、データサイズからサイジング閾値テーブルの想定ＣＰＵ使用率を検索する（Ｓ４１）。次に、構築装置２３は、想定ＣＰＵ使用率が適切か否かを判断し（Ｓ４２）、適切でない場合（Ｓ４２において、ＮＯ）、想定ＣＰＵ使用率が、予め設定された閾値等よりも高いか否かを判断する（Ｓ４３）。
【０１０５】
構築装置２３は、想定ＣＰＵ使用率が閾値よりも高くない場合（Ｓ４３において、ＮＯ）、構成要素オブジェクトテーブルのカレントのＣＰＵ個数を１つ減らし（−１）（Ｓ４４）、Ｓ４１の処理に戻る。また、構築装置２３は、想定ＣＰＵ使用率が高い場合（Ｓ４３において、ＹＥＳ）、構成要素オブジェクトテーブルのカレントのＣＰＵ個数を１つ増加（＋１）する（Ｓ４５）。
【０１０６】
次に、構築装置２３は、ＣＰＵリソース数がカレントＣＰＵ数より小さいか否かを判断し（Ｓ４６）、ＣＰＵリソース数よりもカレントＣＰＵ数が小さい場合（Ｓ４６において、ＹＥＳ）、例えば"システムリソース不足のためスケールアウトが必要"等のメッセージを出力し（Ｓ４７）、利用者等に通知する。例えば、Ｓ４７の処理では、仮想化サーバシステム１１は、複数の物理サーバの物理リソース(例えば、ＣＰＵやメモリ等)で構成されている想定で、物理リソースを使い切り仮想サーバの構築に必要なＣＰＵやメモリリソースが不足した場合は、新たに物理サーバの増設(スケールアウト)が必要であるため、その旨の警告メッセージを出力する。なお、出力されるメッセージは、上述した内容に限定されるものではない。
【０１０７】
また、構築装置２３は、ＣＰＵリソース数よりもカレントＣＰＵ数が小さくない場合（Ｓ４６において、ＮＯ）、Ｓ４１の処理に戻る。構築装置２３は、Ｓ４２の処理において、想定ＣＰＵ使用率が適切である場合（Ｓ４２において、ＹＥＳ）、処理を終了する。
【０１０８】
＜Ｓ３４：第３の構成要素サイジング処理の一例＞
次に、上述したＳ３４における第３の構成要素サイジング処理の一例について説明する。図１５は、第３の構成要素サイジング処理の一例を示すフローチャートである。図１５の例において、構築装置２３は、上述した図５に示す構成要素オブジェクトテーブルのカレントメモリサイズ、アクセス頻度、データサイズ等から、上述した図１１に示すサイジング閾値テーブルの想定メモリサイズを検索する（Ｓ５１）。
【０１０９】
次に、構築装置２３は、想定メモリサイズが適切か否かを判断し（Ｓ５２）、想定メモリサイズが適切でない場合（Ｓ５２において、ＮＯ）、想定メモリサイズが予め設定された閾値等と比較して大きいか否かが判断する（Ｓ５３）。構築装置２３は、想定メモリサイズが閾値より大きい場合（Ｓ５３において、ＹＥＳ）、構成要素オブジェクトテーブルのカレントメモリサイズから所定値（例えば、２５６Ｍ）を減らし（−２５６）し、Ｓ５１の処理に戻る。
【０１１０】
また、構築装置２３は、想定メモリサイズが閾値よりも大きくない場合（Ｓ５３において、ＮＯ）、構成要素オブジェクトテーブルのカレントメモリサイズに所定値（例えば、２５６Ｍ）を加算（＋２５６）する（Ｓ５５）。
【０１１１】
次に、構築装置２３は、メモリリソースサイズがカレントメモリサイズよりも小さいか否かを判断し（Ｓ５６）、メモリリソースサイズがカレントメモリサイズよりも小さい場合（Ｓ５６において、ＹＥＳ）、例えば"システムリソース不足のためスケールアウトが必要"等のメッセージを出力し（Ｓ５７）、処理を終了する。なお、Ｓ５７の処理は、上述したＳ４７の処理と同様に、新たに物理サーバの増設(スケールアウト)が必要である旨の警告メッセージが出力されればよく、上述したメッセージ内容に限定されるものではない。
【０１１２】
また、構築装置２３は、メモリリソースサイズがカレントメモリサイズよりも小さくない場合（Ｓ５６において、ＮＯ）、Ｓ５１の処理に戻る。構築装置２３は、想定メモリサイズが適切である場合（Ｓ５２において、ＹＥＳ）、処理を終了する。
【０１１３】
＜構成テスト処理のフローチャート例＞
次に、上述したＳ１６に示す構成テスト処理の一例についてフローチャートを用いて説明する。図１６は、構成テスト処理の一例を示すフローチャートである。図１６の例において、構築装置２３は、インスタンス生成を行う（Ｓ６１）。Ｓ６１の処理は、例えば仮想化ファイアウォール２１に対する構成要素オブジェクトテーブルのデータから、仮想化レイヤー２５に構成要素のインスタンス生成要求を行う。また、Ｓ６１の処理では、仮想化ロードバランサ２８の構成要素オブジェクトテーブルのデータから、仮想化レイヤー２５に構成要素のインスタンス生成要求を行う。更に、Ｓ６１の処理は、フロントエンドサーバ２６、バックエンドサーバ２７の構成要素オブジェクトテーブルのデータから、仮想化レイヤー２５に構成要素のインスタンス生成要求等を行うが、これに限定されるものではない。
【０１１４】
次に、構築装置２３は、セキュリティテスト処理を行う（Ｓ６２）。Ｓ６２の処理では、例えば、仮想化ファイアウォール２１のＷｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（ＷＡＮ）側に、負荷テスト装置２９、テスト用ネットワークＶＬＡＮ等を生成するため、仮想化レイヤー２５にインスタンス生成要求を行う。また、Ｓ６２の処理では、例えば負荷テスト装置２９を仮想化ファイアウォール２１に接続し、仮想化ファイアウォール２１に負荷テスト装置ＩＰ及びプレゼンテーション層ネットワークを通過するルール等を追加する。また、Ｓ６２の処理では、例えば負荷テスト装置２９から構成要素のＩＰに対してセキュリティホール等を探すためにポートスキャンを実施する。
【０１１５】
次に、構築装置２３は、負荷テスト処理を行う（Ｓ６３）。Ｓ６３の処理では、例えば負荷テスト装置２９から仮想化ロードバランサ２８の分散サーバの仮想ＩＰ宛てに、管理コンソール２２に入力のあった想定アクセス頻度やデータサイズ等を用いて、負荷テストを実施する。また、Ｓ６３の処理では、仮想化レイヤー２５又はＶＭのＯＳに対して、負荷情報を問い合せて収集をする。
【０１１６】
次に、構築装置２３は、インスタンス停止処理を行う（Ｓ６４）。Ｓ６４の処理は、例えば、仮想化レイヤー２５に構成要素のインスタンス停止要求を行い、仮想化ファイアウォール２１に、負荷テスト装置２９とプレゼン層ネットワークを通過するルールを削除する。また、Ｓ６４の処理では、仮想化レイヤー２５に負荷テスト装置２９のインスタンス削除要求を行う。これにより、負荷テスト装置２９は、負荷チェック等が必要なときに仮想化サーバシステム１１に接続されることになる。
【０１１７】
次に、構築装置２３は、テスト結果出力処理を行う（Ｓ６５）。Ｓ６５の処理では、例えばインスタンス生成情報、セキュリティテストのポートスキャン情報、負荷テスト時の負荷情報、構成テスト結果等を負荷情報ログに保存する。なお、Ｓ６５の処理では、テスト結果を管理コンソール２２の画面に表示させる等の処理を行うことができる。なお、本実施形態における構成テスト処理では、上述したＳ６２及びＳ６３の処理を両方行わなくてもよく、何れかの処理を行うだけでもよい。
【０１１８】
＜構成完了処理の一例＞
次に、上述したＳ１９に示す構成完了処理の一例について、フローチャートを用いて説明する。図１７は、構成完了処理の一例を示すフローチャートである。図１７の例において、構築装置２３は、インスタンス開始処理を行う（Ｓ７１）。Ｓ７１の処理では、例えば仮想化レイヤー２５に対し、仮想化ファイアウォール２１のインスタンス開始要求、仮想化ロードバランサ２８のインスタンス開始要求、仮想化のフロントエンドサーバ２６やバックエンドサーバ２７のインスタンス開始要求を行う。
【０１１９】
次に、構築装置２３は、サイジングＤＢ登録処理を行う（Ｓ７２）。Ｓ７２の処理は、例えば、構成要素オブジェクトテーブルを稼働中としてサイジング閾値テーブルに登録するサイジングＤＢ登録処理を行う（Ｓ７２）。
【０１２０】
＜サイジングＤＢ２４の具体例＞
次に、上述したサイジングＤＢ２４の具体例について説明する。図１８は、サイジングＤＢの具体例を示す図である。図１８（Ａ）はＣＰＵ算出用のサイジングＤＢ例を示し、図１８（Ｂ）はメモリ算出用のサイジングＤＢ例を示し、図１８（Ｃ）はＣＰＵ数毎のサイジングＤＢ例を示し、図１８（Ｄ）はメモリ量毎のサイジングＤＢ例を示し、図１８（Ｅ）はＣＰＵ数が１の場合のサイジングＤＢ例を示している。
【０１２１】
サイジングＤＢ２４は、例えば図１８（Ａ）、（Ｂ）に示すように、Ｘ軸とＹ軸の変数データによる２次元データベースで、Ｘ軸のアクセス量に対するＹ軸のＣＰＵ使用率が、Ｈｉｇｈ／Ｍｉｄｄｌｅ／Ｌｏｗの何れかに識別できる閾値情報が含まれている。
【０１２２】
また、サイジングＤＢ２４は、例えば図１８（Ｃ）、（Ｄ）に示すように、ＣＰＵ数、メモリ量毎のＤＢテーブルを有することができる。図１８（Ｃ）、（Ｄ）に示すように、ＣＰＵ数、メモリ量により、使用率とアクセス量との相関がリニアにつながらないため、ＤＢ間でアクセス量の値をオーバラップさせる。
【０１２３】
また、サイジングＤＢ２４は、構築した仮想化サーバシステム１１のＶＭ等から定期的に収集された負荷情報ログの負荷情報（ＣＰＵ使用率、メモリ使用率）に基づいて更新することができる。
【０１２４】
本実施形態では、構築装置２３の算出手段４４等において、負荷情報ログから各仮想マシンの単位時間当たりの平均アクセス量と平均ＣＰＵ使用率を算出する。また、構築装置２３は、算出した平均アクセス量が評価ポイント近傍の平均ＣＰＵ使用率データをサンプル抽出し、過去の負荷情報値と新しい負荷情報値とを併せて回帰分析を行い、図１８（Ｅ）に示すように、回帰式を求めてサイジングＤＢ２４を更新する。なお、図１８（Ｅ）に示す評価ポイントは、例えばサンプル抽出するポイントを分散させる目的で設定する。
【０１２５】
サイジングＤＢ２４は、負荷情報を陳腐化させないように、負荷情報値には有効期限を設けて、有効期限内の負荷情報値から回帰分析を行い、サイジングＤＢ２４を更新する。
【０１２６】
＜サイジングＤＢの更新処理の一例＞
次に、サイジングＤＢ２４の更新処理の一例について、フローチャートを用いて説明する。図１９は、サイジングＤＢの更新処理の一例を示すフローチャートである。図１９の例において、構築装置２３の負荷情報取得手段４８は、負荷情報の収集処理を行う（Ｓ８１）。Ｓ８１の処理は、例えば、サイジング閾値テーブルに登録した稼働中オブジェクト情報（インデックス）から仮想化レイヤー２５又はＶＭのＯＳに負荷情報を問い合わせて単位時間毎の平均負荷情報等を収集する。
【０１２７】
次に、構築装置２３は、負荷情報の分析処理を行う（Ｓ８２）。Ｓ８２の処理は、収集した負荷情報の時間毎のアクセス頻度とＣＰＵ使用率とで回帰分析を行い、構成要素へのアクセス頻度とＣＰＵ使用率とから予測負荷値を求める回帰式を算出する。
【０１２８】
次に、構築装置２３は、サイジングＤＢの更新処理を行う（Ｓ８３）。Ｓ８３の処理は、算出した予測負荷値の回帰式、構成要素オブジェクトデータ、使用アプリ情報等を、上述した図１１に示すサイジング閾値テーブル等に登録する。
【０１２９】
＜再構成処理の一例＞
次に、上述したＳ２０に示す再構成処理の一例について、フローチャートを用いて説明する。図２０は、再構成処理の一例を示すフローチャートである。図２０の例において、構築装置２３は、現在の設定パラメータ一覧を管理コンソール２２の画面に表示し（Ｓ９１）、利用者が利用者端末１２等から画面に表示されたパラメータのうち所定のパラメータを変更すると、変更されたパラメータを受け付ける（Ｓ９２）。
【０１３０】
次に、構築装置２３は、変更後の設定パラメータ一覧を画面に表示し（Ｓ９３）、変更後のパラメータの利用者からの確認結果を受け付ける（Ｓ９４）。次に、構築装置２３は、確認結果がＯＫか否かを判断し（Ｓ９５）、確認結果がＯＫでない場合（Ｓ９５において、ＮＯ）、Ｓ９１の処理に戻り、ＯＫである場合（Ｓ９５において、ＹＥＳ）、処理を終了する。
【０１３１】
上述したように本実施形態によれば、適切なリソースサイズの仮想システムを構築することができる。例えば、本実施形態では、サービス利用ユーザ数やアクセス頻度から、仮想インフラ基盤の構成要素の必要台数を実ハードウェアの仮想リソース性能から算出し、適切なリソースサイズの仮想サーバを自動的に構築することができる。
【０１３２】
以上、各実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、上記変形例以外にも種々の変形及び変更が可能である。
【０１３３】
なお、以上の実施例に関し、更に以下の付記を開示する。
（付記１）
１又は複数の情報処理装置を含むシステムの動作を実現する仮想システムが提供するサービス内容に関する情報の入力を受け付ける入力手段と、
前記入力手段に入力された前記情報に基づいて、前記仮想システムの論理構成を決定する決定手段とを有することを特徴とする構築装置。
（付記２）
前記決定手段は、
前記サービス内容として入力された前記仮想システムで提供するサービスパターンと、該サービスパターンに対応する構成要素とに基づいて、前記論理構成を決定することを特徴とする付記１に記載の構築装置。
（付記３）
前記構成要素を用いて前記仮想システムのシステムリソースをサイジングする算出手段（４４）を有することを特徴とする付記２に記載の構築装置。
（付記４）
前記決定手段により決定した前記仮想システムの論理構成に対するセキュリティチェック又は負荷チェックを行うチェック手段を有することを特徴とする付記１乃至３の何れか１項に記載の構築装置。
（付記５）
前記仮想システムが提供するサービスに関する負荷情報を取得する負荷情報取得手段を有し、
前記チェック手段は、前記負荷情報取得手段により得られる前記負荷情報を用いて、前記仮想システムが提供するサービスに対応するリソースサイズをチェックすることを特徴とする付記４に記載の構築装置。
（付記６）
構築装置が、
１又は複数の情報処理装置を含むシステムの動作を実現する仮想システムが提供するサービス内容に関する情報の入力を受け付け、
受け付けた前記情報に基づいて、前記仮想システムの論理構成を決定する、ことを特徴とする構築方法。
（付記７）
１又は複数の情報処理装置を含むシステムの動作を実現する仮想システムが提供するサービス内容に関する情報の入力を受け付け、
受け付けた前記情報に基づいて、前記仮想システムの論理構成を決定する、処理をコンピュータに実行させるための構築プログラム。
【符号の説明】
【０１３４】
１０  構築システム
１１  仮想化サーバシステム（仮想システム）
１２  利用者端末
１３  通信ネットワーク
２１  仮想化ファイアウォール
２２  管理コンソール
２３  構築装置
２４  サイジングＤＢ
２５  仮想化レイヤー
２６  フロントエンドサーバ
２７  バックエンドサーバ
２８  仮想化ロードバランサ
２９  負荷テスト装置
３１  サーバ
３２  ネットワーク
３３  ストレージ
４１  入力手段
４２  出力手段
４３  決定手段
４４  算出手段
４５  割当手段
４６  ルール生成手段
４７  チェック手段
４８  負荷情報取得手段
４９  記憶手段
５１  入力装置
５２  出力装置
５３  ドライブ装置
５４  補助記憶装置
５５  主記憶装置
５６  ＣＰＵ
５７  ネットワーク接続装置
５８  記録媒体
【図１】
2015022501.tif 000003
【図２】
2015022501.tif 000004
【図３】
2015022501.tif 000005
【図４】
2015022501.tif 000006
【図５】
2015022501.tif 000007
【図６】
2015022501.tif 000008
【図７】
2015022501.tif 000009
【図８】
2015022501.tif 000010
【図９】
2015022501.tif 000011
【図１０】
2015022501.tif 000012
【図１１】
2015022501.tif 000013
【図１２】
2015022501.tif 000014
【図１３】
2015022501.tif 000015
【図１４】
2015022501.tif 000016
【図１５】
2015022501.tif 000017
【図１６】
2015022501.tif 000018
【図１７】
2015022501.tif 000019
【図１８】
2015022501.tif 000020
【図１９】
2015022501.tif 000021
【図２０】
2015022501.tif 000022