(57)【要約】【課題】動作検証装置のセキュリティを確保しながら仮想装置の試験を行う仮想装置の動作検証装置，仮想装置の動作検証システム及びプログラムを提供する。【解決手段】仮想装置の動作状態を確認する仮想装置の動作検証装置であって，検証対象の仮想装置の動作状態を確認するための通信を行う動作確認装置に，仮想装置の構成情報を送信する構成情報送信部と，動作確認装置に，構成情報を基づいて仮想装置の動作状態を確認する通信を動作確認装置との接続の切断中に行わせる指示を行い，この指示を行った後に，動作確認装置との接続を切断する動作確認指示部と，動作確認装置と仮想装置との接続の切断中に，動作確認装置との接続を再開し，仮想装置の動作状態の確認結果を受信する確認結果収集部と，を有する。【選択図】図６
2015158773.tif 000002
【特許請求の範囲】
【請求項１】
仮想装置の動作状態を確認する仮想装置の動作検証装置であって，
検証対象の仮想装置の動作状態を確認するための通信を行う動作確認装置に，前記仮想装置の構成情報を送信する構成情報送信部と，
前記動作確認装置に，前記構成情報を基づいて前記動作状態を確認する通信を前記動作確認装置との接続の切断中に行わせる指示を行い，該指示を行った後に，前記動作確認装置との接続を切断する動作確認指示部と，
前記動作確認装置と前記仮想装置との接続の切断中に，動作確認装置との接続を再開し，前記動作状態の確認結果を受信する確認結果収集部と，を有する仮想装置の動作検証装置。
【請求項２】
請求項１において，
前記動作確認装置と前記仮想装置との接続を，前記動作確認装置と検証対象の仮想装置が存在する仮想ネットワークとを接続することにより行わせる仮想装置の動作検証装置。
【請求項３】
請求項２において，
前記動作確認指示部は，複数の前記動作確認装置を，互いに通信ができない複数の仮想ネットワーク毎にそれぞれ接続させ，前記動作状態を確認するための通信を，それぞれの動作確認装置が接続された仮想ネットワーク上の仮想装置に行うように指示を行う仮想装置の動作検証装置。
【請求項４】
請求項２において，
前記動作確認指示部は，前記動作確認装置を，互いに通信ができない複数の仮想ネットワークに順に接続させ，前記動作状態を確認するための通信を，前記動作確認装置が接続された仮想ネットワーク上の仮想装置に行うように指示を行う仮想装置の動作検証装置。
【請求項５】
請求項１において，さらに，
前記動作確認装置に前記動作状態を確認する通信が完了する第１の時間と，前記動作確認装置との接続を再開する第２の時間とを管理するスケジュール管理部を有し，
前記動作確認指示部は，前記動作状態を確認する通信を行わせる指示を，前記第１の時間に基づいて行い，
前記確認結果収集部は，前記動作確認装置との接続の再開を，前記第２の時間に基づいて行い，
前記スケジュール管理部は，前記第２の時間を前記第１の時間よりも後になるように設定する仮想装置の動作検証装置。
【請求項６】
請求項５において，
前記スケジュール管理部は，前記動作確認装置と前記仮想装置との接続を切断させる第３の時間を管理し，
前記動作確認指示部は，前記動作確認装置と前記仮想装置との接続を切断させる指示を，前記第３の時間に基づいて行い，
前記スケジュール管理部は，前記第３の時間を，前記第１の時間よりも後であって前記第２の時間よりも前になるように設定する仮想装置の動作検証装置。  
【請求項７】
請求項１において，
前記動作確認装置との通信を，第１の仮想スイッチ装置を経由して行い，
前記動作確認装置との接続の切断を，前記動作確認装置と前記第１の仮想スイッチ装置との接続を切断することにより行う仮想装置の動作検証装置。
【請求項８】
請求項７において，
前記動作確認指示部は，前記動作確認装置と前記検証対象の仮想装置との接続を，前記検証対象の仮想装置と接続している第２の仮想スイッチ装置と前記動作検証装置とを接続することにより行う指示を行う仮想装置の動作検証装置。
【請求項９】
仮想装置の動作状態を確認する仮想装置の動作検証装置と，
検証対象の仮想装置の動作状態を確認するための通信を行う動作確認装置とを有し，
前記動作検証装置は，前記動作確認装置に前記仮想装置の構成情報を送信する構成情報送信部と，
前記動作確認装置に前記動作状態の確認を指示し，該指示を行った後に，前記動作確認装置との接続を切断する動作確認指示部とを有し，
前記動作確認装置は，前記動作検証装置と前記動作確認装置との接続の切断中に，前記検証対象の仮想装置と接続して前記構成情報を基づいて前記動作状態を確認するための通信を行い，前記動作状態の確認を行った後に，前記検証対象の仮想装置との接続を切断する動作確認実行部を有し，
前記動作検証装置は，さらに，前記動作確認装置と前記仮想装置との間の接続の切断中に，動作確認装置との接続を再開し，前記動作状態の確認結果を受信する確認結果収集部と，を有する仮想装置の動作検証システム。
【請求項１０】
仮想装置の動作状態を確認する仮想装置の動作検証処理をコンピュータに実行させるプログラムであって，
検証対象の仮想装置の動作状態を確認するための通信を行う動作確認装置に，前記仮想装置の構成情報を送信する構成情報送信工程と，
前記動作確認装置に，前記構成情報を基づいて前記動作状態を確認する通信を前記動作確認装置との接続の切断中に行う指示を行い，該指示を行った後に，前記動作確認装置との接続を切断する動作確認指示工程と，
前記動作確認装置と前記仮想装置との間の接続の切断中に，動作確認装置との接続を再開し，前記動作状態の確認結果を受信する確認結果受信工程と，を有するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，仮想装置の動作検証装置，仮想装置の動作検証システム及びプログラムに関する。
【背景技術】
【０００２】
クラウドサービスは，データセンタ内の複数のサーバなどのハードウエア群を，クラウド利用者とのサービス契約に基づいて仮想化し，その仮想マシン等のインフラをネットワーク経由のサービスとしてクラウド利用者に提供する。このようなクラウドサービスでは，仮想化ソフトウエア（ハイパバイザ）が物理マシンを複数の仮想マシンに割当てて，各仮想マシンにインストールされたアプリケーションプログラムによるサービスの提供を可能にする。
【０００３】
クラウド利用者が仮想化ソフトウエアにより仮想マシン（または，仮想装置とも呼ぶ）を作成した際に，仮想化ソフトウエアは，ホスト名やＩＰアドレス等を自動的に設定する。これによって，仮想化ソフトウエアは，クラウド利用者に仮想マシンの作成後すぐに仮想マシンを利用可能にする機能を提供する。
【０００４】
ここで，この仮想マシンは，見かけ上正常に作成されたように見える場合であっても，ＯＳが正常に起動していない等の理由によって，クラウド利用者が仮想マシンを利用することができない場合がある。そのため，例えばシステム管理者は，仮想マシンが作成された際に，仮想マシン内のＯＳの起動等に関する試験を行う（例えば，特許文献１，２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−１９２０９８号公報
【特許文献２】特開平８−３０５５９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
仮想マシンの試験を行うシステム管理者は，例えば，仮想マシンにＯＳの起動等を確認するためのエージェントを予めインストールし，このエージェントを利用することにより仮想マシンの試験を行う。しかし，エージェントは，試験対象の仮想マシン上で動作する必要がある。そのため，システム管理者は，仮想マシンの数だけエージェントを用意し，各仮想マシンにインストールを行う必要がある。さらに，システム管理者は，エージェントが対応できないＯＳが用いられている仮想マシンについては，上記の試験を行うことができない。
【０００７】
また，システム管理者は，例えば，仮想マシンの管理を行う管理サーバ（または，動作検証装置とも呼ぶ）から仮想マシンにＰｉｎｇ等による通信を行い，仮想マシンのＯＳの起動等を確認することにより仮想マシンの試験を行う。しかしながら，クラウド利用者が使用する仮想マシンと管理サーバとの直接的な通信を認めてしまうと，悪意のあるクラウド利用者が管理サーバに対して不正アクセスを行う等のリスクが考えられるため，セキュリティ上のリスクが高くなる。
【０００８】
そこで，一つの実施の形態の目的は，動作検証装置のセキュリティを確保しながら仮想装置の試験を行う仮想装置の動作検証装置，仮想装置の動作検証システム及びプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
実施の形態の一つの側面によれば，仮想装置の動作状態を確認する仮想装置の動作検証装置であって，
検証対象の仮想装置の動作状態を確認するための通信を行う動作確認装置に，前記仮想装置の構成情報を送信する構成情報送信部と，
前記動作確認装置に，前記構成情報を基づいて前記動作状態の確認を前記動作確認装置との接続の切断中に行う指示を行い，該指示を行った後に，前記動作確認装置との接続を切断する動作確認指示部と，
前記動作確認装置と前記仮想装置との間の接続の切断中に，動作確認装置との接続を再開し，前記動作状態の確認結果を受信する確認結果収集部と，を有する。
【発明の効果】
【００１０】
動作検証装置のセキュリティを確保しながら仮想装置の試験を行うことができる。
【図面の簡単な説明】
【００１１】
【図１】本実施の形態におけるクラウドシステムの全体構成を示す図である。
【図２】管理サーバとＶＭホストとのハードウエア構成を示す図である。
【図３】図２で示した管理サーバの機能ブロック図である。
【図４】図２で示したＶＭホストの機能ブロック図である。
【図５】一般的な仮想マシンの動作検証処理を説明する図である。
【図６】仮想マシンの動作検証処理の概略を示すシーケンスチャート図である。
【図７】仮想マシンの動作検証処理の概略を説明する図である。
【図８】仮想マシンの動作検証処理の概略を説明する図である。
【図９】ネットワーク情報テーブル及びシステムネットワーク情報テーブルの一例を示す図である。
【図１０】仮想マシン情報テーブルの一例を示す図である。
【図１１】構成情報の一例を示す図である。
【図１２】監視サーバが有する情報を説明する図である。
【図１３】仮想マシンの動作検証処理の詳細を示すフローチャート図である。
【図１４】仮想マシンの動作検証処理の詳細を示すフローチャート図である。
【図１５】仮想マシンの動作検証処理の詳細を示すフローチャート図である。
【図１６】監視サーバの接続先を切り替える際を説明する図である。
【図１７】監視サーバの接続先を切り替える際を説明する図である。
【図１８】監視サーバの接続先を切り替える際を説明する図である。
【図１９】第２の実施の形態における仮想マシン動作検証処理を示すフローチャート図である。
【図２０】第２の実施の形態における仮想マシン動作検証処理を示すフローチャート図である。
【図２１】第２の実施の形態における仮想マシン動作検証処理を示すフローチャート図である。
【図２２】第２の実施の形態における仮想マシンの動作検証処理を説明する図である。
【図２３】第２の実施の形態における仮想マシンの動作検証処理を説明する図である。
【発明を実施するための形態】
【００１２】
［クラウドシステムの構成］
図１は，本実施の形態におけるクラウドシステムの全体構成を示す図である。データセンタ６内に，管理サーバ１と，ＶＭホスト２と，クラウドサービスポータルサイト５とが設けられている。そして，データセンタ６には，インターネットやイントラネット等のネットワークを介して，クラウド利用者端末７が接続可能になっている。
【００１３】
ＶＭホスト２は，図１の例においては複数の物理マシンから構成されており，各物理マシンはＣＰＵとメモリ（ＤＲＡＭ）とハードディスク（ＨＤＤ）等の大容量メモリとネットワークとを有する。ＶＭホスト２のリソースは，複数の仮想マシン（仮想装置）ＶＭに割当てられる。管理サーバ１やクラウドサービスポータルサイト５は，例えば，これらの仮想マシンＶＭによって構築されてもよい。また，詳細については後述するが，仮想マシンＶＭの一部は，検証対象の仮想マシンＶＭの動作状態を確認するための通信を行う監視サーバ（または，動作確認装置とも呼ぶ）として機能する。
【００１４】
クラウドシステムによりクラウド利用者に提供されるクラウドサービスは，コンピュータシステムを構築し稼働させるための基盤，即ち，仮想マシンやネットワーク等のインフラストラクチャそのものを，ネットワーク経由で提供するサービスである。
【００１５】
クラウド利用者は，クラウド利用者端末７からクラウドサービスポータルサイト５にアクセスして，仮想マシンに必要な仕様，例えばＣＰＵのクロック周波数，メモリの容量（ＧＢ），ハードディスクの容量（ＭＢ／ｓｅｃ，ＩＯＰＳ），及びネットワークの帯域幅（Ｇｂｐｓ）を選択し，それらについてクラウド利用契約を締結する。また，クラウド利用者端末７は，クラウドサービスポータルサイト５にアクセスして，仮想マシンの稼働状況を監視したり，仮想マシンの動作を操作したりする。
【００１６】
管理サーバ１は，仮想化ソフトウエア（ハイパバイザ）４と連携して，ＶＭホスト２の物理マシンなどを管理し，仮想マシンＶＭにハードウエアを割当てて仮想マシンＶＭを構築して管理する。
【００１７】
仮想化ソフトウエア４は，管理サーバ１からの指示に応じて，ＶＭホスト２の物理マシンのＣＰＵ，メモリ，ハードディスク，ネットワークを割当てて仮想マシンを動作させる基盤ソフトウエアである。仮想化ソフトウエア４は，例えば，ＶＭホスト２内のサーバ上で動作する。
【００１８】
仮想マシンＶＭは，上記のハードウエアが割当てられることに加えて，ＯＳ，ミドルウエア，アプリケーション，データベースなどを有するイメージファイルをそのハードディスク内に有し，例えば，起動時にイメージファイルをハードディスクからメモリに書き込み，所望のサービスに対応する動作を行う。
【００１９】
図２は，管理サーバとＶＭホストとのハードウエア構成を示す図である。管理サーバ１は，プロセッサであるＣＰＵ（プロセッサ）１０１と，メモリ１０２と，ファームウエア１０３と，外部インターフェース（Ｉ／Ｏユニット）１０４と，記憶媒体１０５を有する。各部は，バス１０６を介して互いに接続される。記憶媒体１０５は，仮想マシンの動作検証処理を行うためのプログラム１１０を記憶する。ＣＰＵ１０１は，プログラム１１０の実行時に，プログラム１１０を記憶媒体１０５からメモリ１０２にロードし，プログラム１１０と協働して仮想マシンの動作検証処理を行う。
【００２０】
ＶＭホスト２は，プロセッサであるＣＰＵ（プロセッサ）２０１と，メモリ２０２と，ファームウエア２０３と，外部インターフェース（Ｉ／Ｏユニット）２０４と，記憶媒体２０５を有する。各部は，バス２０６を介して互いに接続される。記憶媒体２０５は，仮想マシンの動作検証処理を行うためのプログラム２１０を記憶する。ＣＰＵ２０１は，プログラム２１０の実行時に，プログラム２１０を記憶媒体２０５からメモリ２０２にロードし，プログラム２１０と協働して仮想マシンの動作検証処理を行う。仮想マシンの動作検証処理については後述する。
【００２１】
図３は，図２で示した管理サーバの機能ブロック図である。図３に示すように，ＣＰＵ１０１は，プログラム１１０と協働することにより，例えば，仮想マシン作成部１１１と，仮想マシン記憶部１１２と，監視サーバ起動部１１３と，構成情報作成部１１４と，構成情報送信部１１５と，動作確認指示部１１６と，スケジュール管理部１１７と，確認結果収集部１１８として動作する。
【００２２】
仮想マシン作成部１１１は，仮想化ソフトウエア４と連携して，クラウド利用者に提供される仮想マシンを構築する。また，仮想マシン作成部１１１は，検証対象の仮想マシンの動作状態を確認するための通信を行う監視サーバ（仮想マシン）を構築する。この動作状態の確認は，例えば，ＰＩＮＧ等による仮想マシンの起動確認等が該当する。仮想マシン記憶部１１２は，動作状態を確認する必要がある仮想マシンの情報を記憶する。この仮想マシンの情報は，例えば，各仮想マシンが存在するネットワーク（仮想ネットワーク）のネットワークＩＤや各仮想マシンのサーバＩＤである。監視サーバ起動部１１３は，仮想マシンの動作状態を確認する際に監視サーバの起動を行う。構成情報作成部１１４は，仮想マシン記憶部１１２に記憶された仮想マシンの情報に基づいて，監視サーバが仮想マシンの動作確認を行うために必要な構成情報を作成する。構成情報送信部１１５は，構成情報作成部１１４によって作成された構成情報を監視サーバに送信する。
【００２３】
また，動作確認指示部１１６は，監視サーバに，構成情報を基づいて検証対象の仮想マシンの動作状態を確認する通信を行う指示を行う。さらに，動作確認指示部１１６は，検証対象の仮想マシンの動作状態を確認する通信を，管理サーバ１と監視サーバとの接続の切断中に行うように指示を行う。そして，動作確認指示部１１６は，監視サーバに上記指示を行った後に，管理サーバ１と監視サーバとの接続を切断する。スケジュール管理部１１７は，各処理を実行する時間を管理する。スケジュール管理部１１７は，具体的には，監視サーバに仮想マシンの動作状態を確認する通信を行わせる時間（第１の時間とも呼ぶ）と，管理サーバ１と監視サーバとの接続を再開する時間（第２の時間とも呼ぶ）とを管理する。確認結果収集部１１８は，監視サーバと仮想マシンとの接続の切断中に，管理サーバ１と監視サーバとの接続を再開し，検証対象の仮想マシンにおける動作状態の確認結果を受信する。
【００２４】
図４は，図２で示したＶＭホストの機能ブロック図である。図４に示すように，ＣＰＵ２０１は，プログラム２１０と協働することにより，例えば，構成情報受信部２１１と，動作確認実行部２１３と，確認結果作成部２１４と，確認結果送信部２１５として機能する。
【００２５】
構成情報受信部２１１は，管理サーバ１から送信された構成情報を受信する。スケジュール管理部２１２は，各処理を実行する時間を管理する。スケジュール管理部２１２は，具体的には，管理サーバ１から受信した第１の時間に基づいて，動作確認実行部２１３が，仮想マシンに動作状態を確認する通信を行うように時間を管理する。動作確認実行部２１３は，管理サーバ１と監視サーバとの接続の切断中に，検証対象の仮想マシンと接続して構成情報に基づいて仮想マシンの動作状態を確認するための通信を行う。そして，動作確認実行部２１３は，検証対象の仮想マシンにおける動作状態の確認を行った後に，検証対象の仮想マシンとの接続を切断する。
【００２６】
また，確認結果作成部２１４は，動作確認実行部２１３が行った仮想マシンの動作状態の結果に基づいて，管理サーバ１に送信するための確認結果を作成する。そして，確認結果送信部２１５は，確認結果作成部２１４が作成した確認結果を管理サーバ１に送信する。
【００２７】
［一般的な仮想マシンの動作検証処理］
次に，管理サーバ１による仮想マシンの動作検証処理について説明する。図５は，一般的な仮想マシンの動作検証処理を説明する図である。図５において，ＶＭホスト２は，クラウド利用者に提供されるクラウドサービスを提供するための仮想マシン１１を複数構築している。図５の点線部分は，ＶＭホスト２による仮想領域（クラウド環境）を表している。
【００２８】
図５に示すように，管理サーバ１による仮想マシンの動作検証処理を行うために，例えば，仮想マシンにＯＳの起動等を確認するためのエージェントを予めインストールする。そして，このエージェントを利用することにより仮想マシンの試験を行う場合がある。しかし，エージェントが対応できないＯＳが用いられている仮想マシンについては，上記試験を行うことができない。また，システム管理者は，仮想マシンの数だけエージェントを用意し，各仮想マシンにインストールを行う必要がある。
【００２９】
また，図５に示すように，管理サーバ１による仮想マシンの動作検証処理を行うために，管理サーバ１と仮想マシン１１とを直接接続して，仮想マシンのＯＳの起動等を確認することにより仮想マシンの試験を行う場合がある。しかし，クラウド利用者が使用する仮想マシンと管理サーバとの直接的な通信を認めてしまうと，例えば，悪意のあるクラウド利用者が，クラウド利用者端末７を介して管理サーバに対して不正アクセスを行う等のリスクが考えられる。そのため，セキュリティ上のリスクが高くなり好ましくない。
【００３０】
そこで，本実施の形態では，管理サーバ１と監視サーバとの接続の切断中に，監視サーバによって仮想マシン１１の動作状態を確認することにより，管理サーバ１のセキュリティを確保した状態で仮想マシン１１の動作状態を確認する。
【００３１】
［第１の実施の形態］
最初に第１の実施の形態について説明する。図６は，仮想マシンの動作検証処理の概略を示すシーケンスチャート図である。また，図７及び図８は，仮想マシンの動作検証処理の概略を説明する図である。図７及び図８を参照しながら，図６の仮想マシンの動作検証処理についての概略を説明する。
【００３２】
［図６のＳ１］
初めに，管理サーバ１は，監視サーバ１２に仮想マシン１１の構成情報を送信する（Ｓ１）。図７に示すように，管理サーバ１は，管理ＬＡＮ３に接続している。そして，管理ＬＡＮ３は，各仮想マシン１１が接続するＬＡＮ（ネットワーク）とは接続されていない。また，図７に示す例では，監視サーバ１２は管理ＬＡＮ３に接続している。そのため，図７の状態において，管理サーバ１は監視サーバ１２とは通信可能であるが，仮想マシン１１とは通信できない状態である。なお，仮想マシン１１が接続する各ネットワーク（仮想ネットワークとも呼ぶ。図７の例においては，ＮＥＴ０００１とＮＥＴ０００３）は互いに通信できないものとする。以下，管理サーバ１が監視サーバ１２に送信する構成情報について説明する。
【００３３】
［構成情報］
図９は，ネットワーク情報テーブル及びシステムネットワーク情報テーブルの一例を示す図である。また，図１０は，仮想マシン情報テーブルの一例を示す図である。管理サーバ１は，監視サーバ１２に仮想マシン１１の動作状態の確認をさせるための情報として，ネットワーク情報テーブル，システムネットワーク情報テーブル及び仮想マシン情報テーブルを有する。初めに，管理サーバ１が有する各テーブルの説明を行う。
【００３４】
ネットワーク情報テーブルは，例えば，管理サーバ１が管理しているネットワーク（管理サーバ１が管理している仮想マシン１１が存在するネットワーク）の情報を管理するテーブルである。図９の例では，管理サーバ１は，ネットワークＩＤがＮＥＴ０００１からＮＥＴ０００４までの４つのネットワーク（以下，単にＮＥＴ０００１からＮＥＴ０００４と呼ぶ）を管理している。また，ネットワーク情報テーブルは，監視サーバ１２が各ネットワークに接続されたときに用いる監視サーバ用ＩＰアドレス（動作確認装置用ＩＰアドレスとも呼ぶ）を有している。これにより，監視サーバ１２が各ネットワークに接続するときに，監視サーバ用のＩＰが枯渇してしまっているといった状況を防ぐことができる。
【００３５】
システムネットワーク情報テーブルは，例えば，管理サーバ１が管理しているシステムの情報を管理するテーブルである。図９の例では，管理サーバ１は，システムＩＤがＳＹＳＴＥＭ０００１，ＳＹＳＴＥＭ０００２の２つのシステム（以下，単にＳＹＳＴＥＭ０００１，ＳＹＳＴＥＭ０００２と呼ぶ）を管理している。また，図９の例では，ＳＹＳＴＥＭ０００１は，ＮＥＴ０００１及びＮＥＴ０００３上の仮想マシン１１を使用しており，ＳＹＳＴＥＭ０００２は，ＮＥＴ０００２及びＮＥＴ０００４上の仮想マシン１１を使用している。なお，図９におけるシステムは，仮想マシン１１により構成される仮想システムであり，例えば，クラウド利用者に提供されるクラウドシステムのことをいう。
【００３６】
仮想マシン情報テーブルは，例えば，管理サーバが管理している仮想マシンの情報を管理するテーブルである。図１０の例では，管理サーバ１は，サーバＩＤがＳＲＶ０００１からＳＲＶ０００６までの６つの仮想マシン１１（以下，単にＳＲＶ０００１からＳＲＶ０００６と呼ぶ）を管理している。また，図１０の例では，各仮想マシン１１のサーバＩＤには，仮想マシン１１が位置するネットワークのネットワークＩＤと，仮想マシン１１が使用されているシステムのシステムＩＤとが関連付けられて記憶されている。さらに，サーバＩＤには，監視サーバ１２が各仮想マシン１１の動作状態を確認する際に，通信を行う接続先のＩＰアドレス（監視用ＩＰ）が関連付けられて記憶されている。
【００３７】
図１１は，構成情報の一例を示す図である。図１１の例では，管理サーバ１は，図１０で説明した仮想マシン情報テーブル内のサーバＩＤ，ネットワークＩＤ及び監視用ＩＰに基づいて構成情報を作成する（Ｓ１）。監視サーバ１２は，管理サーバ１から受信した構成情報に基づいて仮想マシン１１の動作状態の確認を行う。図１１の例は，管理サーバ１は，ＳＲＶ０００１からＳＲＶ０００４まで（図９におけるＳＹＳＴＥＭ０００１が使用する仮想マシン１１）の動作状態の確認を監視サーバ１２（１台の監視サーバ）に行わせる場合の構成情報の例である。なお，管理サーバ１は，構成情報の確認結果の欄については，ブランクの状態で監視サーバ１２に送信する。また，管理サーバ１は，例えば，ネットワーク情報テーブルに含まれる監視サーバ用のＩＰを含む形で構成情報を作成してもよい。
【００３８】
［図６のＳ２，Ｓ３］
図６に戻り，管理サーバ１は，監視サーバ１２に動作状態の確認を指示する（Ｓ２）。具体的に，管理サーバ１は，Ｓ１において送信した構成情報の内容に基づいて仮想マシン１１の動作状態の確認を行うように，監視サーバ１２に指示を行う。その後，管理サーバ１は，監視サーバ１２との接続と切断する（Ｓ３）。図７の例においては，監視サーバ１２は，管理サーバ１が接続している管理ＬＡＮ３との接続を切断する。これにより，図８に示すように，監視サーバ１２と仮想マシン１１とを接続した場合においても，管理サーバ１と仮想マシン１１とが接続されることがない。そのため，悪意のあるクラウド利用者が，クラウド利用者端末７を介して管理サーバに対して不正アクセスを行うことを防ぐことができる。
【００３９】
［図６のＳ４］
次に，監視サーバ１２は，管理サーバ１から受信した仮想マシン１１の構成情報に基づいて，検証対象の仮想マシンと接続して動作状態を確認するための通信を行う（Ｓ４）。図７及び図８の例は，管理サーバ１は，図９及び図１０に示すＳＹＳＴＥＭ０００１が使用している仮想マシン１１の動作状態の確認を，監視サーバ１２によって行う場合の例である。すなわち，監視サーバ１２は，ＮＥＴ０００１及びＮＥＴ０００３上に位置する仮想マシン１１について動作状態の確認を行う。図８及び図１０に示すように，ＮＥＴ０００１には，３台の仮想マシン１１（ＳＲＶ０００１からＳＲＶ０００３）が接続しており，ＮＥＴ０００３には，１台の仮想マシン１１（ＳＲＶ０００４）が接続している。
【００４０】
監視サーバ１２は，管理サーバ１との接続を切断した後（Ｓ３），図８に示すように，ＮＥＴ０００３と接続を行う。そして，ＮＥＴ０００３上の仮想マシン１１（１台）の動作状態の確認を行う。次に，監視サーバ１２は，ＮＥＴ０００３との接続を切断し，ＮＥＴ０００１との接続を行う。そして，ＮＥＴ０００１上の仮想マシン１１（３台）の動作状態の確認を行う。
【００４１】
図１２は，監視サーバが有する情報を説明する図である。図１２に示すように，監視サーバ１２は，監視サーバ１２が動作状態の確認を行うネットワークの順番の情報を記憶した処理順序テーブルを有する。図１２の例では，ＮＥＴ０００３の処理順序が「０」で，ＮＥＴ０００１の処理順序が「１」である。そのため，監視サーバ１２は，図８に示すように，初めにＮＥＴ０００３上の仮想マシン１１について動作状態の確認を行い，次にＮＥＴ０００１上の仮想マシン１１について動作状態の確認を行う。また，図１２の例では，監視サーバ１２が，各ネットワークと接続するときに用いる監視サーバ用ＩＰの情報を有している。監視サーバ１２は，この監視サーバ用ＩＰを用いて各ネットワークと接続を行う。また，処理順序テーブルは，本実施の形態においては管理サーバ１によって作成されるものであり，監視サーバ１２は，管理サーバ１から処理順序テーブルを受信する。そのため，管理サーバ１は，監視サーバ１２が有している処理順序テーブルと同じものを有している。なお，処理順序テーブルにおける監視サーバ用ＩＰは，図９で示すネットワーク情報テーブルに記憶されている監視サーバ用ＩＰと同じものである。
【００４２】
また，監視サーバ１２は，図１２に示すように，仮想マシン１１の動作状態の確認結果を，Ｓ１において管理サーバ１から受信した構成情報の確認結果の欄に入力する。図１２に示す構成情報は，ＮＥＴ０００３のＳＲＶ０００４及びＮＥＴ０００１のＳＲＶ０００１の動作状態は正常であることが確認できている状態（図１２の「ＯＫ」）であるが，ＮＥＴ０００１のＳＲＶ０００２の動作状態は正常であることが確認できていない状態（図１２の「ＮＧ」）を示している。また，図１２に示す構成情報は，ＮＥＴ０００３のＳＲＶ０００３については動作状態の確認が完了していない状態（図１２の「−」）を示している。
【００４３】
［図６のＳ５，Ｓ６，Ｓ７，Ｓ８］
図６に戻り，監視サーバ１２が，検証対象の全ての仮想マシン１１から動作状態の確認結果を受信した後（Ｓ５），監視サーバ１２が検証対象の全ての仮想マシン１１との接続を切断する（Ｓ６）。そして，管理サーバ１と監視サーバ１２との接続を再開し（Ｓ７），管理サーバ１が監視サーバ１２から動作状態の確認結果（図１２に示す構成情報の確認結果の欄に動作状態の確認結果を入力したもの）を受信する（Ｓ８）。
【００４４】
このように，本実施の形態によれば，管理サーバ１は，初めに，監視サーバ１２に仮想マシン１１の動作状態を確認するための構成情報を送信する。その後，管理サーバ１は，監視サーバ１２に，送信した構成情報に基づいて，管理サーバ１と監視サーバ１２との接続の切断中に仮想マシン１１の動作状態の確認を行う指示を行う。そして，管理サーバ１は，その指示を行った後に管理サーバ１と監視サーバ１２との接続の切断を行う。さらに，監視サーバ１２による仮想マシン１１の動作状態の確認が完了し，監視サーバ１２と仮想マシン１１との接続の切断を行った後，管理サーバ１と監視サーバ１２との接続を再開する。そして，管理サーバ１は，監視サーバ１２から仮想マシン１１の動作状態の確認結果を受信する。これにより，管理サーバ１と仮想マシン１１とが直接通信可能である状態になることなく，管理サーバ１は仮想マシン１１の動作状態の確認結果を受信することが可能になる。そのため，管理サーバ１のセキュリティを確保した状態で仮想マシンの動作状態の確認を行うことが可能になる。また，各仮想マシン１１に動作状態の確認を行うためのエージェントをインストールすることなく，仮想マシンの動作状態の確認を行うことが可能になる。
【００４５】
[第１の実施の形態の詳細]
次に，第１の実施の形態の詳細について説明する。図１３から図１５は，仮想マシンの動作検証処理の詳細を示すフローチャート図である。また，図１６から図１８は，監視サーバの接続先を切り替える際を説明する図である。図１６から図１８を参照しながら，図１３から図１５の仮想マシンにおける動作検証処理の詳細を説明する。
【００４６】
［管理サーバと監視サーバとが接続中の処理］
図１３は，管理サーバ１と監視サーバ１２との接続を切断するまでの処理を説明する図である。管理サーバ１の仮想マシン作成部１１１は，クラウド利用者に仮想システムを構築するためのクラウド環境を提供する前に，監視サーバ１２を作成する（Ｓ１１）。そして，管理サーバ１の監視サーバ起動部１１３が，監視サーバ１２の起動を行う（Ｓ１２，Ｓ２２）。図１３の例においては，クラウド環境を提供するために必要な仮想マシンの作成やその他の設定等は，予め完了しているものとする。
【００４７】
次に，管理サーバ１の構成情報作成部１１４は，クラウド利用者により仮想システムが構築されたことを検知した際に（Ｓ１３のＹＥＳ），図１１において説明した構成情報を作成する（Ｓ１４）。そして，管理サーバ１の構成情報送信部１１５は，構成情報作成部１１４が作成した構成情報を監視サーバ１２に送信する（Ｓ１４，Ｓ２４）。構成情報については，図１１において説明したため，ここでは詳細な説明を省略する。なお，構成情報作成部１１４は，仮想システムの作成時に（Ｓ１１），予め構成情報を作成しておくものであってもよい。そして，管理サーバ１から監視サーバ１２に構成情報が送信された後（Ｓ１４，Ｓ２４），管理サーバ１の動作確認指示部１１６は，監視サーバ１２に仮想マシン１１の動作状態の確認を指示する（Ｓ１５，Ｓ２５）。
【００４８】
次に，管理サーバ１のスケジュール管理部１１７は，図１３の例では，管理サーバ１内に設けられたタイマーをスタートする（Ｓ２６）。そして，スケジュール管理部１１７は，監視サーバ１２内に設けられたタイマーをスタートさせるように監視サーバ１２のスケジュール管理部２１２に指示する。ここで，スケジュール管理部１１７は，監視サーバ１２のタイマーが，管理サーバ１のタイマーと同時にスタートするように監視サーバ１２に指示をする。これにより，管理サーバ１の処理と監視サーバ１２の処理とを同じ時間軸に従って実行させることが可能になる。そのため，後述するように，管理サーバ１と監視サーバ１２との接続が切断している時間帯であっても，管理サーバ１の処理と監視サーバ１２の処理とを同期を取りながら実行することが可能になる。なお，スケジュール管理部１１７によるタイマーのスタート及びスタートの指示は，例えば，Ｓ１３からＳ１５までの処理を行う間のいずれかに実行するものであってもよい。そして，動作確認指示部１１６は，Ｓ１１からＳ１６までの処理の完了後に，管理サーバ１と監視サーバ１２との接続を切断する。以下，管理サーバ１と監視サーバ１２との接続が切断される場合の具体例について説明する。
【００４９】
図１６は，管理サーバ１と監視サーバ１２とが接続している場合の図である。すなわち，図１３の図におけるＳ１３からＳ１６の場合の図である。図１６の例において，管理サーバ１は，物理スイッチ２６を介してＶＭホスト２３とは物理的に接続している。また，ＶＭホスト２３は，物理スイッチ２７を介してＶＭホスト２４と物理的に接続しており，物理スイッチ２８を介してＶＭホスト２５と物理的に接続している。
【００５０】
そして，図１６の例においては，ＶＭホスト２４は，仮想スイッチ２４２を有しており，仮想スイッチ２４２を介して物理スイッチ２７と接続している。また，ＶＭホスト２５は，仮想スイッチ２５２を有しており，仮想スイッチ２５２を介して物理スイッチ２８と接続している。さらに，ＶＭホスト２３は，監視サーバ１２と仮想マシン２３１とを有しており，監視サーバ１２は，仮想スイッチ２３５（第１の仮想スイッチ装置とも呼ぶ）を介して物理スイッチ２６を接続している。また，ＶＭホスト２３は，仮想マシン２３１と接続する仮想スイッチ２３２と，物理スイッチ２８と接続する仮想スイッチ２３３（第２の仮想スイッチ装置とも呼ぶ）と，物理スイッチ２７と接続する仮想スイッチ２３４とを有している。さらに，上記の構成によって，図１６に示すように，１つのシステム（ＳＹＳＴＥＭ００１１）を構成しているものとする。また，ＳＹＳＴＥＭ００１１は，図１６に示すように，３つの仮想ネットワーク（仮想マシン２４１を含むＮＥＴ００１１，仮想マシン２５１を含むＮＥＴ００１２，仮想マシン２３１を含むＮＥＴ００１３）が存在するものとする。すなわち，図８の例も，１つのシステム（ＳＹＳＴＥＭ０００１）が，３つの仮想マシンを含む仮想ネットワーク（ＮＥＴ０００１）と，１つの仮想マシンと監視サーバ１２とを含む仮想ネットワーク（ＮＥＴ０００３）とを含み，それらの仮想マシン及び監視サーバ１２を提供するＶＭホスト（物理マシン）２が，物理スイッチを介して管理サーバ１と接続されている構成を有していることが理解できる。
【００５１】
図１６に示すように，管理サーバ１と監視サーバ１２とは，仮想スイッチ２３５と物理スイッチ２６とを介して接続している。そして，監視サーバ１２は，仮想マシン２４１，仮想マシン２５１及び仮想マシン２３１とは接続していない。すなわち，管理サーバ１と各仮想マシンとは通信を行うことができない状態である。そのため，管理サーバ１から監視サーバ１２に構成情報の送信等（Ｓ１３からＳ１６）を実施する際に，管理サーバ１と各仮想マシンとの間に通信が可能になることはない。なお，ＶＭホスト２３内に，監視サーバ１２と仮想スイッチ２３５とを含む仮想ネットワークが存在していた場合，管理サーバ１は，物理スイッチ２６を介してこの仮想ネットワークと接続することにより，管理サーバと監視サーバ１２との間の通信を可能にするものであってもよい。
【００５２】
図１７は，管理サーバ１と監視サーバ１２との接続を切断した場合の図である。すなわち，図１３の図におけるＳ１７の場合の図である。管理サーバ１は，管理サーバ１と監視サーバ１２との接続を切断する場合，図１６に示す監視サーバ１２の仮想ＮＩＣ-Ａを削除し，仮想スイッチ２３５の接続先に関する情報を変更することによって行う。これにより，図１７の状態においては，監視サーバ１２は，管理サーバ１とも各仮想マシンとも接続していない状態になる。そのため，図１７の状態においては，管理サーバ１は，監視サーバ１２との通信ができない状態である。なお，管理サーバ１と監視サーバ１２との接続を切断する際に，監視サーバ１２の処理（例えば，ＯＳの設定の変更）が必要である場合には，監視サーバ１２は，管理サーバ１による処理と同期を取って処理を行うものであってもよい。
【００５３】
［管理サーバと監視サーバとの接続が切断中の処理］
図１４は，管理サーバ１と監視サーバ１２との接続が切断中の処理を説明する図である。初めに管理サーバ１の処理について説明する。
【００５４】
管理サーバの動作確認指示部１１６は，管理サーバ１内の設けられたカウンタをリセット（ｉ＝０に設定）する（Ｓ３１）。次に，動作確認指示部１１６は，処理順序テーブルの処理順序の項目に従い，処理順序がｉ番目のネットワークが存在するか否かに確認する（Ｓ３２）。そして，処理順序がｉ番目のネットワークが存在した場合（Ｓ３２のＹＥＳ），動作確認指示部１１６が，監視サーバ１２とｉ番目のネットワークとを接続させるように各ＶＭホストに対して指示する（Ｓ３３）。以下，監視サーバ１２とｉ番目のネットワークとの接続の詳細について説明する。
【００５５】
図１８は，監視サーバ１２と仮想マシン２５１とを接続した場合の図である。図１８においては，処理順序がｉ番目であるネットワークが仮想マシン２５１を含むネットワーク（ＮＥＴ００１２）であるとする。図１８において，監視サーバ１２と各ネットワークとの切り替えを行うことができるＶＭホストは，仮想スイッチ２３２，２３３，２３４，２３５を有するＶＭホスト２３である。そのため，管理サーバ１は，ＶＭホスト２３に，監視サーバ１２と処理順序がｉ番目であるネットワークとの接続を行うための指示を行う（Ｓ３３）。具体的に，図１８に示すように，管理サーバ１は，監視サーバ１２と仮想スイッチ２３３とを接続するように指示を行う。そして，監視サーバ１２は，管理サーバ１からの指示に従い，仮想ＮＩＣ-Ｂを作成し，さらに仮想スイッチ２３３内の設定を変更することにより，監視サーバ１２と仮想スイッチ２３３との接続を行う。なお，図１７において管理サーバ１と監視サーバ１２との接続は切断されているが，管理サーバ１とＶＭホスト２３との接続は切断されていない。そのため，動作確認指示部１１６が，ＶＭホスト２３に対して，監視サーバ１２とｉ番目のネットワークとを接続させるように指示することができる。なお，動作確認指示部１１６から指示を受けたＶＭホスト２３は，ＶＭホスト２３内の仮想化ソフトウエア（図示しない）に監視サーバ１２とｉ番目のネットワークとの接続を指示する。そして，ＶＭホスト２３から指示を受けた仮想化ソフトウエア（図示しない）が，上記のように監視サーバ１２とｉ番目のネットワークとの接続を行う。
【００５６】
図１４に戻り，管理サーバ１は，監視サーバ１２によるｉ番目のネットワーク上の仮想マシンにおける動作状態の確認が完了する時間になるまで待機する（Ｓ３４）。具体的に，管理サーバ１のスケジュール管理部１１７が，監視サーバ１２がｉ番目のネットワーク上の仮想マシンにおける動作状態の確認が完了するために必要な十分な時間（以下，管理サーバ待機時間とも呼ぶ）を予め定める。そして，管理サーバ１が，管理サーバ待機時間を経過するまで管理サーバ１の処理を待機させることにより，管理サーバ１及び監視サーバ１２の以降の処理について同期を取ることが可能になる。図１８の例においては，管理サーバ１は，監視サーバ１２による仮想マシン２５１の動作状態の確認を完了させるまで待機する。
【００５７】
次に，動作確認指示部１１６は，ＶＭホスト２３に，監視サーバ１２とｉ番目のネットワークとの接続を切断するように指示する（Ｓ３５）。図１８の例においては，監視サーバ１２と仮想スイッチ２３３との接続を切断するために，監視サーバ１２の仮想ＮＩＣ-Ｂを削除し，仮想スイッチ２３３の接続先に関する情報を変更することによって行う。
【００５８】
ここで，スケジュール管理部１１７は，確認結果収集部１１８によって管理サーバ１と監視サーバ１２との接続を再開させる時間を，監視サーバ１２が仮想マシンの動作状態を確認する通信が完了する時間よりも後に設定する。これにより，管理サーバ１と監視サーバ１２との接続が再開したにもかかわらず，確認結果を受信することができない状態が発生することを防止することができる。さらに，スケジュール管理部１１７は，動作確認指示部１１６によって監視サーバ１２と仮想マシンとの接続を切断させる時間（第３の時間とも呼ぶ）を，管理サーバ１と監視サーバ１２との接続が再開する時間よりも前になるように設定する。また，スケジュール管理部１１７は，第３の時間が，監視サーバ１２が仮想マシンの動作状態を確認する通信が完了する時間よりも後になるように設定する。これにより，監視サーバ１２と仮想マシンとが接続しているときに，管理サーバ１と監視サーバ１２とを接続してしまうことを防止することができる。また，監視サーバ１２が仮想マシンの動作状態の確認を完了する前に，監視サーバ１２と仮想マシンとの接続を切断してしまうことを防止することができる。
【００５９】
そして，動作確認指示部１１６は，管理サーバ１内のカウンタをアップ（ｉ＝ｉ＋１）する（Ｓ３６）。管理サーバ１は，Ｓ３２からＳ３６までの処理を，監視サーバ１２が検証を行う予定のネットワークの数だけ繰り返す（Ｓ３２のＮＯ）。図１８の例においては，監視サーバ１２は，３つのネットワーク（ＮＥＴ００１１，ＮＥＴ００１２，ＮＥＴ００１３）上について動作状態の確認を行うため，Ｓ３２からＳ３６の処理を３回繰り返すことになる。
【００６０】
次に，図１４の監視サーバ１２の処理について説明する。監視サーバ１２の動作確認実行部２１３は，管理サーバ１のＳ３１と同様に，監視サーバ１２内に設けられたカウンタをリセット（ｉ＝０に設定）する（Ｓ４１）。次に，動作確認実行部２１３は，管理サーバ１のＳ３２と同様に，処理順序テーブルの処理順序の項目に従い，処理順序がｉ番目のネットワークが存在するか否かに確認する（Ｓ４２）。そして，処理順序がｉ番目のネットワークが存在した場合（Ｓ４２のＹＥＳ），動作確認実行部２１３が，ｉ番目のネットワーク上の仮想マシンにおける動作状態の確認を行う（Ｓ４３）。動作確認実行部２１３は，Ｓ３３において監視サーバ１２とｉ番目のネットワークとを接続した後に，Ｓ４３を実行する必要がある。そのため，スケジュール管理部１１７は，管理サーバ１が監視サーバ１２とｉ番目のネットワークとを接続させる指示を行うために十分な時間を経過した後に，動作確認実行部２１３にＳ４３を実行させるように管理する。そして，動作確認実行部２１３によるｉ番目のネットワーク上における全ての仮想マシンの動作確認が完了したときに（Ｓ４４のＹＥＳ），確認結果作成部２１４が，仮想マシンの動作状態の確認結果を作成する（Ｓ４５）。具体的には，図１２に示すように，管理サーバ１から予め受信した構成情報の確認結果の欄に，仮想マシンの動作確認の確認結果を入力することによって作成する。確認結果作成部２１４による構成情報の作成後，動作確認実行部２１３は，監視サーバ１２内のカウンタをアップ（ｉ＝ｉ＋１）する（Ｓ４６）。監視サーバ１２は，管理サーバ１のＳ３２からＳ３６の処理と同様に，Ｓ４２からＳ４６までの処理を，監視サーバ１２が検証を行う予定のネットワークの数だけ繰り返す（Ｓ４２のＮＯ）。
【００６１】
［管理サーバと監視サーバとが再接続した後の処理］
図１５は，管理サーバ１と監視サーバ１２とが再接続した後の処理を説明する図である。管理サーバ１の確認結果収集部１１８は，監視サーバ１２が検証を行う予定の全ネットワークについて検証を行った後に，管理サーバ１と監視サーバ１２との接続を再開する（Ｓ５１，Ｓ６１）。管理サーバ１と監視サーバ１２との接続が完了した後，監視サーバ１２の確認結果送信部２１５は，監視サーバ１２が検証を行った仮想マシンの動作状態の確認結果を送信する（Ｓ６２）。そして，管理サーバ１の確認結果収集部１１８は，監視サーバ１２から送信された確認結果を受信する（Ｓ５２）。
【００６２】
次に，確認結果収集部１１８が，受信した確認結果の内容を確認し，監視サーバ１２が検証した仮想マシンの中に異常がある仮想マシンが存在した場合（Ｓ５３のＹＥＳ），確認結果収集部１１８は，例えば，仮想システムの運用管理者に異常を通知する（Ｓ５４）。一方，異常がある仮想マシンが存在しなかった場合（Ｓ５３のＮＯ），確認結果収集部１１８は，例えば，クラウド利用者に仮想マシンの動作状態の確認が問題なく完了したことを通知する（Ｓ５５）。そして，管理サーバ１は，Ｓ５４またはＳ５５の終了後，例えば，次の仮想システムが作成されるまで待機する（Ｓ１３）。また，監視サーバ１２も同様に，Ｓ６２の終了後，例えば，次の仮想システムに関する構成情報を受信するまで待機する（Ｓ２４）。
【００６３】
［第２の実施の形態］
次に，第２の実施の形態について説明する。図１９から図２１は，第２の実施の形態における仮想マシン動作検証処理を示すフローチャート図である。また，図２２，２３は，第２の実施の形態における仮想マシンの動作検証処理を説明する図である。図２３，図２３を参照しながら，図１９から図２１の第２の実施の形態における仮想マシン動作検証処理を説明する。第１の実施の形態では，監視サーバは１つのみ設けられており，管理サーバ１は，この監視サーバを各ネットワークに順に接続することによって，各ネットワーク上の仮想マシンにおける動作状態の確認を行っていた。これに対し，第２の実施の形態では，管理サーバ１は，検証対象の仮想マシンが存在するネットワーク数だけ監視サーバを作成する。
【００６４】
［管理サーバと監視サーバとが接続中の処理］
図１９は，管理サーバ１と監視サーバ１２との接続を切断するまでの処理を説明する図である。管理サーバ１の仮想マシン作成部１１１は，クラウド利用者に仮想システムを構築するためのクラウド環境を提供する前に，各監視サーバ１２を作成する（Ｓ１１１）。そして，管理サーバ１の監視サーバ起動部１１３が，各監視サーバ１２の起動を行う（Ｓ１１２，Ｓ１２２）。
【００６５】
次に，管理サーバ１がクラウド利用者により仮想システムが構築されたことを検知した際に（Ｓ１１３のＹＥＳ），管理サーバ１の構成情報作成部１１４は，仮想マシンの構成情報を作成する（Ｓ１１４）。そして，管理サーバ１の構成情報送信部１１５は，構成情報作成部１１４が作成した構成情報を各監視サーバ１２に送信する（Ｓ１１４，Ｓ１２４）。そして，管理サーバ１の動作確認指示部１１６は，監視サーバ１２に仮想マシン１１の動作状態の確認を指示する（Ｓ１１５，Ｓ１２５）。第２の実施の形態においては，監視サーバ１２は複数存在する。そのため，構成情報作成部１１４は，それぞれの監視サーバ１２が動作状態の確認を行う仮想マシンの情報を有する構成情報を，監視サーバ１２毎に複数作成する必要がある。
【００６６】
次に，管理サーバ１のスケジュール管理部１１７は，管理サーバ１内に設けられたタイマーをスタートする（Ｓ１１６）。さらに，スケジュール管理部１１７は，監視サーバ１２に，監視サーバ１２内に設けられたタイマーをスタートさせるように，各監視サーバ１２内のスケジュール管理部２１２に指示を行う（Ｓ１２６）。そして，動作確認指示部１１６は，Ｓ１１からＳ１６までの処理の完了後に，管理サーバ１と監視サーバ１２との接続を切断する（Ｓ１１７，Ｓ１２７）。図１９における管理サーバと監視サーバとが接続中の処理は，管理サーバ１が複数の監視サーバ１２に処理を行う点で図１３における処理と異なるが，それぞれの処理の内容は図１３における処理と同じである。そのため，ここでは各処理の詳細な説明については省略する。
【００６７】
［管理サーバと監視サーバとの接続が切断中の処理］
図２０は，管理サーバ１と監視サーバ１２との接続が切断中の処理を説明する図である。初めに管理サーバ１の処理について説明する。
【００６８】
管理サーバ１の動作確認指示部１１６は，ＶＭホストに，監視サーバ１２と監視サーバ１２が動作状態の確認を行うネットワークとをそれぞれ接続するように指示する（Ｓ１３１）。監視サーバ１２と監視サーバ１２が動作状態の確認を行うネットワークとの接続は，具体的には図１８で説明したように，監視サーバ１２の新たな仮想ＮＩＣを作成し，この仮想ＮＩＣにより動作状態の確認を行うネットワークと接続した仮想スイッチと接続することによって行う。次に，管理サーバ１は，各監視サーバ１２がそれぞれのネットワーク上の仮想マシンにおける動作状態の確認を完了する時間になるまで待機する（Ｓ１３２）。そして，動作確認指示部１１６が，ＶＭホストに各監視サーバ１２と動作状態の確認を行うネットワークとの接続をそれぞれ切断するように指示する（Ｓ１３３）。
【００６９】
次に，図２０の監視サーバ１２の処理について説明する。監視サーバ１２の動作確認実行部２１３は，接続されたネットワーク上の仮想マシンにおける動作状態の確認を行う（Ｓ１４１）。動作確認実行部２１３は，Ｓ１３１において監視サーバ１２と監視サーバ１２が動作状態の確認を行うネットワークとを接続した後に，Ｓ４３を実行する必要がある。そのため，スケジュール管理部１１７は，管理サーバ１が監視サーバ１２とネットワークとを接続させる指示を行うために十分な時間を経過した後に，動作確認実行部２１３にＳ１４１を実行させるように管理する。そして，動作確認実行部２１３によるネットワーク上における全ての仮想マシンの動作確認が完了したときに（Ｓ１４２のＹＥＳ），確認結果作成部２１４が，仮想マシンの動作状態の確認結果を作成する（Ｓ１４３）。以下に，管理サーバ１と監視サーバ１２との接続の切断及び監視サーバ１２と仮想マシンとの接続の具体例について説明する。
【００７０】
図２２に示す例では，図７の場合と同様に，管理サーバ１は，管理ＬＡＮ３に接続している。そして，管理ＬＡＮ３は，各仮想マシン１１が接続するネットワークとは接続されていない。また，図２２に示す例では，管理サーバ１は，監視サーバ１２ａと監視サーバ１２ｂとを作成しており，監視サーバ１２ａと監視サーバ１２ｂは管理ＬＡＮ３に接続している。すなわち，管理サーバ１は，検証対象の仮想マシン１１が存在するネットワークの数だけ監視サーバを作成している。そのため，図７の場合と同様に，監視サーバ１２とは通信可能であるが，仮想マシン１１とは通信できない状態である。また，図２３は，監視サーバ１２ａ及び監視サーバ１２ｂをそれぞれ動作状態の確認を行うネットワークに接続した場合の図である。図２３に示す例においては，監視サーバ１２ａと監視サーバ１２ｂとが，それぞれＮＥＴ０００３とＮＥＴ０００１とに接続して，仮想マシン１１の動作状態の確認を行う。
【００７１】
［管理サーバと監視サーバとが再接続した後の処理］
図２１は，管理サーバ１と監視サーバ１２とが再接続した後の処理を説明する図である。管理サーバ１の確認結果収集部１１８は，各監視サーバ１２が検証を行う予定のネットワークについて検証を行った後に，管理サーバ１と監視サーバ１２との接続を再開する（Ｓ１５１，Ｓ１６１）。管理サーバ１と監視サーバ１２との接続が完了した後，監視サーバ１２の確認結果送信部２１５は，監視サーバ１２が検証を行った仮想マシンの動作状態の確認結果を送信する（Ｓ１６２）。そして，管理サーバ１の確認結果収集部１１８は，監視サーバ１２から送信された確認結果を受信する（Ｓ１５２）。
【００７２】
次に，確認結果収集部１１８が，全ての監視サーバ１２から確認結果を受信した後（Ｓ１５３のＹＥＳ），受信した確認結果の内容を確認する。そして，監視サーバ１２が検証した仮想マシンの中に異常がある仮想マシンが存在した場合（Ｓ１５４のＹＥＳ），確認結果収集部１１８は，仮想システムの運用管理者に異常を通知する（Ｓ１５５）。一方，異常がある仮想マシンが存在しなかった場合（Ｓ１５４のＮＯ），確認結果収集部１１８は，クラウド利用者に仮想マシンの動作状態の確認が問題なく完了したことを通知する（Ｓ１５６）。そして，管理サーバ１は，Ｓ１５５またはＳ１５６の終了後，例えば，次の仮想システムが作成されるまで待機する（Ｓ１１３）。また，各監視サーバ１２も同様に，Ｓ１６２の終了後，例えば，次の仮想システムに関する構成情報を受信するまで待機する（Ｓ１２４）。
【００７３】
第２の実施の形態によれば，管理サーバ１は，検証対象の仮想マシンが存在するネットワーク数だけ監視サーバ１２を構築する。これにより，管理サーバ１は，監視サーバ１２を順に切り替える必要がなくなる。また，各ネットワーク上の仮想マシンにおける動作状態の確認を並行して行うことが可能になる。そのため，管理サーバ１よる仮想マシンの動作状態の確認に要する時間を短縮させることが可能になる。
【００７４】
以上の実施の形態をまとめると，以下の付記のとおりである。
【００７５】
（付記１）
仮想装置の動作状態を確認する仮想装置の動作検証装置であって，
検証対象の仮想装置の動作状態を確認するための通信を行う動作確認装置に，前記仮想装置の構成情報を送信する構成情報送信部と，
前記動作確認装置に，前記構成情報を基づいて前記動作状態を確認する通信を前記動作確認装置との接続の切断中に行わせる指示を行い，該指示を行った後に，前記動作確認装置との接続を切断する動作確認指示部と，
前記動作確認装置と前記仮想装置との接続の切断中に，動作確認装置との接続を再開し，前記動作状態の確認結果を受信する確認結果収集部と，を有する仮想装置の動作検証装置。
【００７６】
（付記２）
付記１において，
前記動作確認装置と前記仮想装置との接続を，前記動作確認装置と検証対象の仮想装置が存在する仮想ネットワークとを接続することにより行わせる仮想装置の動作検証装置。
【００７７】
（付記３）
付記２において，
前記動作確認指示部は，複数の前記動作確認装置を，互いに通信ができない複数の仮想ネットワーク毎にそれぞれ接続させ，前記動作状態を確認するための通信を，それぞれの動作確認装置が接続された仮想ネットワーク上の仮想装置に行うように指示を行う仮想装置の動作検証装置。
【００７８】
（付記４）
付記２において，
前記動作確認指示部は，前記動作確認装置を，互いに通信ができない複数の仮想ネットワークに順に接続させ，前記動作状態を確認するための通信を，前記動作確認装置が接続された仮想ネットワーク上の仮想装置に行うように指示を行う仮想装置の動作検証装置。
【００７９】
（付記５）
付記２乃至４において，
前記仮想ネットワークは，前記動作確認装置と接続するための動作確認装置用ＩＰアドレスを割り振る仮想装置の動作検証装置。
【００８０】
（付記６）
付記１において，さらに，
前記動作確認装置に前記動作状態を確認する通信が完了する第１の時間と，前記動作確認装置との接続を再開する第２の時間とを管理するスケジュール管理部を有し，
前記動作確認指示部は，前記動作状態を確認する通信を行わせる指示を，前記第１の時間に基づいて行い，
前記確認結果収集部は，前記動作確認装置との接続の再開を，前記第２の時間に基づいて行い，
前記スケジュール管理部は，前記第２の時間を前記第１の時間よりも後になるように設定する仮想装置の動作検証装置。
【００８１】
（付記７）
付記６において，
前記スケジュール管理部は，前記動作確認装置と前記仮想装置との接続を切断させる第３の時間を管理し，
前記動作確認指示部は，前記動作確認装置と前記仮想装置との接続を切断させる指示を，前記第３の時間に基づいて行い，
前記スケジュール管理部は，前記第３の時間を，前記第１の時間よりも後であって前記第２の時間よりも前になるように設定する仮想装置の動作検証装置。
【００８２】
（付記８）
付記１において，
前記動作確認装置との通信を，第１の仮想スイッチ装置を経由して行い，
前記動作確認装置との接続の切断を，前記動作確認装置と前記第１の仮想スイッチ装置との接続を切断することにより行う仮想装置の動作検証装置。
【００８３】
（付記９）
付記８において，
前記動作確認指示部は，前記動作確認装置と前記検証対象の仮想装置との接続を，前記検証対象の仮想装置と接続している第２の仮想スイッチ装置と前記動作検証装置とを接続することにより行う指示を行う仮想装置の動作検証装置。
【００８４】
（付記１０）
仮想装置の動作状態を確認する仮想装置の動作検証装置と，
検証対象の仮想装置の動作状態を確認するための通信を行う動作確認装置とを有し，
前記動作検証装置は，前記動作確認装置に前記仮想装置の構成情報を送信する構成情報送信部と，
前記動作確認装置に前記動作状態の確認を指示し，該指示を行った後に，前記動作確認装置との接続を切断する動作確認指示部とを有し，
前記動作確認装置は，前記動作検証装置と前記動作確認装置との接続の切断中に，前記検証対象の仮想装置と接続して前記構成情報を基づいて前記動作状態を確認するための通信を行い，前記動作状態の確認を行った後に，前記検証対象の仮想装置との接続を切断する動作確認実行部を有し，
前記動作検証装置は，さらに，前記動作確認装置と前記仮想装置との間の接続の切断中に，動作確認装置との接続を再開し，前記動作状態の確認結果を受信する確認結果収集部と，を有する仮想装置の動作検証システム。
【００８５】
（付記１１）
仮想装置の動作状態を確認する仮想装置の動作検証処理をコンピュータに実行させるプログラムであって，
検証対象の仮想装置の動作状態を確認するための通信を行う動作確認装置に，前記仮想装置の構成情報を送信する構成情報送信工程と，
前記動作確認装置に，前記構成情報を基づいて前記動作状態を確認する通信を前記動作確認装置との接続の切断中に行う指示を行い，該指示を行った後に，前記動作確認装置との接続を切断する動作確認指示工程と，
前記動作確認装置と前記仮想装置との間の接続の切断中に，動作確認装置との接続を再開し，前記動作状態の確認結果を受信する確認結果受信工程と，を有するプログラム。
【符号の説明】
【００８６】
１：管理サーバ          ２：ＶＭホスト
３：管理ＬＡＮ          ４：仮想化ソフトウエア
６：データセンタ        ７：クラウド利用者端末  
１１：仮想マシン        １２：監視サーバ
１２ａ：監視サーバ      １２ｂ：監視サーバ
【図１】
2015158773.tif 000003
【図２】
2015158773.tif 000004
【図３】
2015158773.tif 000005
【図４】
2015158773.tif 000006
【図５】
2015158773.tif 000007
【図６】
2015158773.tif 000008
【図７】
2015158773.tif 000009
【図８】
2015158773.tif 000010
【図９】
2015158773.tif 000011
【図１０】
2015158773.tif 000012
【図１１】
2015158773.tif 000013
【図１２】
2015158773.tif 000014
【図１３】
2015158773.tif 000015
【図１４】
2015158773.tif 000016
【図１５】
2015158773.tif 000017
【図１６】
2015158773.tif 000018
【図１７】
2015158773.tif 000019
【図１８】
2015158773.tif 000020
【図１９】
2015158773.tif 000021
【図２０】
2015158773.tif 000022
【図２１】
2015158773.tif 000023
【図２２】
2015158773.tif 000024
【図２３】
2015158773.tif 000025