(57)【要約】【課題】仮想マシンのプロビジョニングされる先がパブリッククラウドかプライベートクラウドかにかかわらず、仮想マシン間の通信を安全に行えるように設定する。【解決手段】クラウド間通信設定システムは、プライベートクラウド２内部にプロビジョニングされる仮想マシン間の通信については、それらの仮想マシン間で直接通信を行うように設定する。また、クラウド間通信設定システムは、プライベートクラウド２にプロビジョニングされる仮想マシンとパブリッククラウド６にプロビジョニングされる仮想マシンとの間の通信については、プライベートクラウド２にプロビジョニングされる仮想マシン６３０２からＵＴＭ装置５経由でパブリッククラウド６にプロビジョニングされるＶＰＮ仮想マシン６３０１との間で暗号化された通信を行い、パブリッククラウド６内でＶＰＮ仮想マシン６３０１と仮想マシン６３０２との間で通信を行うように設定する。【選択図】図９
2014075731.tif 000002
【特許請求の範囲】
【請求項１】
パブリッククラウドとプライベートクラウドとに仮想マシンをプロビジョニングし、プロビジョニングされた仮想マシン間の通信を設定するクラウド間通信設定システムであって、
前記プライベートクラウド内部にプロビジョニングされる仮想マシン間の通信は、当該各仮想マシン間で直接通信を行うように設定するプライベートクラウド内通信設定手段と、
前記プライベートクラウドにプロビジョニングされる仮想マシンと、前記パブリッククラウドにプロビジョニングされる仮想マシンとの間の通信は、前記プライベートクラウドにプロビジョニングされる仮想マシンからＵＴＭ装置経由で前記パブリッククラウドにプロビジョニングされるＶＰＮ仮想マシンとの間で暗号化された通信を行い、前記パブリッククラウド内で当該ＶＰＮ仮想マシンと前記パブリッククラウドにプロビジョニングされる仮想マシンとの間で通信を行うように設定する異種クラウド間通信設定手段と、
を備えることを特徴とするクラウド間通信設定システム。
【請求項２】
複数の前記パブリッククラウドに渡ってプロビジョニングされる仮想マシン間の通信は、前記各パブリッククラウドにプロビジョニングされるＶＰＮ仮想マシンの間で暗号化された通信を行い、前記各パブリッククラウド内で前記ＶＰＮ仮想マシンと前記パブリッククラウドにプロビジョニングされる仮想マシンとの間で通信を行うように設定するパブリッククラウド間通信設定手段を備えることを特徴とする請求項１に記載のクラウド間通信設定システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の異なるクラウドシステム内にプロビジョニングされる仮想マシン間の通信を安全に行えるように、仮想マシンのプロビジョニング時に設定を行うクラウド間通信設定システムに関するものである。
【背景技術】
【０００２】
昨今、クラウドコンピューティングが注目を浴びている。自身でコンピューティングリソースを資産として持たず、使用した分だけ利用料金を払うという形態は、余裕のあるコンピューティングリソースを購入して利用する従来のオンプレミス型の形態に比べて、コストの大幅な削減が可能となる。
【０００３】
しかしながら、パブリッククラウドを利用するにあたって、セキュリティ面での危険性を鑑み、プライベートクラウドを構築する企業も増えている。パブリッククラウドと、プライベートクラウドを比較すると、プライベートクラウドは、当初にリソースを購入してオンプレミス、あるいは専用線などで接続したデータセンタに設置するために、セキュリティ面での安全性が高いという特徴があるが、リソースに上限があるために、必要な時にリソース不足になる可能性がある。逆にパブリッククラウドは、潤沢なリソースを用意しているため、必要な時に必要なだけリソースを確保できるというメリットがあるものの、パブリッククラウド事業者に自社のデータを預けることになるため、安全性に不安がある。
【０００４】
この２つのクラウドの良いとこ取りをして、安全性が高くなくてもよいデータはパブリッククラウドに配置し、安全性を確保しなければならないデータは、プライベートクラウドに配置するという複数のクラウドサービスを利用したハイブリッドクラウドが構築されるようになってきている。
【０００５】
ハイブリッドクラウドでは、クラウド毎に仮想マシンの作成や管理のための方式・ユーザインタフェースが異なるために、情報システム管理者にとっては、運用コストの増大という問題が発生する。
この問題を解決するために、ハイブリッドクラウドの管理を１つのユーザインタフェースで行えるシステムが提供されるようになってきている。例えば、ハイブリッドクラウドに対して、リソース管理を行うためのポータルとして、RedHat社が提供するCloudFormsがある（例えば、非特許文献１参照。）。CloudFormsは、パブリッククラウドであるAmazon EC2 や RackSpace、プライベートクラウドを構成するための仮想環境である、RedHat
RHEV、VMware vSphere、OpenStackなどを１つのユーザインタフェースから操作する仕組みを提供している。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Red Hat CloudForms Architecutual Overview
【発明の概要】
【発明が解決しようとする課題】
【０００７】
既存のハイブリッドクラウド対応の管理システムは、各クラウド上で仮想マシンの構成・実行・状態監視を行えるだけであり、クラウド間の通信を制御する仕組みを提供していない。そのため、利用者は各クラウドに対して、FirewallやVPNを別途構築し、通信制御を行う必要があった。
【０００８】
本発明の目的は、（１）プライベート・パブリッククラウドを識別し、相互の通信方式を個々に設定し、（２）パブリッククラウド利用時のネットワーク上での盗聴などによる情報漏洩を防ぐことができる安全な通信方法を提供し、（３）利用者がネットワークの知識を持たなくとも、複数のクラウド間での通信に必要な構成を自動的に設定することができるクラウド間通信設定システムを提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明のクラウド間通信設定システムは、
パブリッククラウドとプライベートクラウドとに仮想マシンをプロビジョニングし、プロビジョニングされた仮想マシン間の通信を設定するクラウド間通信設定システムであって、
前記プライベートクラウド内部にプロビジョニングされる仮想マシン間の通信は、当該各仮想マシン間で直接通信を行うように設定するプライベートクラウド内通信設定手段と、
前記プライベートクラウドにプロビジョニングされる仮想マシンと、前記パブリッククラウドにプロビジョニングされる仮想マシンとの間の通信は、前記プライベートクラウドにプロビジョニングされる仮想マシンからＵＴＭ装置経由で前記パブリッククラウドにプロビジョニングされるＶＰＮ仮想マシンとの間で暗号化された通信を行い、前記パブリッククラウド内で当該ＶＰＮ仮想マシンと前記パブリッククラウドにプロビジョニングされる仮想マシンとの間で通信を行うように設定する異種クラウド間通信設定手段と、
を備えることを特徴とする。
【００１０】
好ましくは、本発明のクラウド間通信設定システムは、
複数の前記パブリッククラウドに渡ってプロビジョニングされる仮想マシン間の通信は、前記各パブリッククラウドにプロビジョニングされるＶＰＮ仮想マシンの間で暗号化された通信を行い、前記各パブリッククラウド内で前記ＶＰＮ仮想マシンと前記パブリッククラウドにプロビジョニングされる仮想マシンとの間で通信を行うように設定するパブリッククラウド間通信設定手段を備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、仮想マシンのプロビジョニングされる先がパブリッククラウドかプライベートクラウドかにかかわらず、仮想マシン間の通信を安全に行えるように設定することができる。
【図面の簡単な説明】
【００１２】
【図１】プライベートクラウドとパブリッククラウドとを含むクラウドシステムの一例を示す概念図である。
【図２】本発明の実施形態に係るクラウド間通信設定システムのシステム構成の一例を示す図である。
【図３】クラウド間通信設定システムを利用する際のクライアント画面の初期画面の一例を示す図である。
【図４】クラウド間通信設定システムを利用する際の、新規接続作成の際のクライアント画面の一例を示す図である。
【図５】クラウド間通信設定システムを利用する際の、追加接続作成の際のクライアント画面の一例を示す図である。
【図６】クラウド間通信設定システムを利用する際の、接続削除の際のクライアント画面の一例を示す図である。
【図７】プライベートクラウドの構成の一例を示す図である。
【図８】パブリッククラウドの構成の一例を示す図である。
【図９】プライベートクラウドとパブリッククラウドにある仮想マシン間を接続した構成の一例を示す図である。
【図１０】クラウド間通信設定システムが利用するテンプレート管理テーブルの一例を示す図である。
【図１１】クラウド間通信システムが利用する接続管理テーブルの一例を示す図である。
【図１２】クラウド間通信設定システムが利用するクラウド情報テーブルの一例を示す図である。
【図１３】クラウド間通信設定システム全体の処理の流れの一例を示すフローチャートである。
【図１４】２つの仮想マシンを新規にプロビジョニングする新規処理の一例を示すフローチャートである。
【図１５】既存の仮想マシンに１つの仮想マシンを追加して接続する追加処理の一例を示すフローチャートである。
【図１６】図１５の続きの図である。
【図１７】仮想マシン間の接続を削除する削除処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態に係るクラウド間通信設定システムについて図面を参照しながら説明する。なお、実施形態を説明する全図において、共通の構成要素には同一の符号を付し、繰り返しの説明を省略する。
【００１４】
図１は、プライベートクラウド４とパブリッククラウド６、７とを含むクラウドシステムの一例を示す概念図である。
本発明の実施形態に係るクラウド間通信設定システム１はデータセンタ２に設置されている。クラウド間通信設定システム１は、ネットワーク３を通じてプライベートクラウド４と接続されており、ＵＴＭ（Ｕｎｉｖｅｒｓａｌ  Ｔｈｒｅａｔ  Ｍａｎａｇｅｍｅｎｔ）装置５を経由して、データセンタ２外にある、複数のパブリッククラウド６、７とインターネット９経由で接続されている。また、クライアント端末８はデータセンタ２内のネットワーク３経由でクラウド間通信設定システム１に接続されている。ＵＴＭ装置５は、ファイアウォール機能とＶＰＮ機能とを併せ持つ。
【００１５】
図２は、本発明の実施形態に係るクラウド間通信設定システム１のシステム構成の一例を示す図である。
クラウド間通信設定システム１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１ＡおよびＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成されるメモリ１１Ｂを有する端末装置１１と、ハードディスク等で構成される外部記憶装置１２と、ネットワーク接続のための通信ポート１３とから構成されている。
外部記憶装置１２には、テンプレート管理テーブル１２Ａと、接続管理テーブル１２Ｂと、クラウド情報テーブル１２Ｃと、クラウド間通信設定プログラム１２Ｄとが格納されている。
端末装置１１のＣＰＵ１１Ａが、クラウド間通信設定プログラム１２Ｄを外部記憶装置１２からメモリ１１Ｂに読み込んで実行することによってクラウド間通信設定システム１の機能が実現される。
【００１６】
クライアント端末８は、仮想マシンのプロビジョニングを指令する際に、クラウド間通信設定システム１に対して、通信を行う複数の仮想マシンを指定する。クラウド間通信設定システム１のＣＰＵ１１Ａは、指定された仮想マシンがパブリッククラウドかプライベートクラウドにプロビジョニングされるかを判断し、相互に通信する仮想マシンが、両方ともプライベートクラウドにプロビジョニングされる場合は、プライベートクラウドを管理するプライベートクラウド管理サーバに仮想マシンの作成を指示し、直接仮想マシンのＩＰアドレスで通信できるよう、同じセグメントに仮想マシンを作成させる。
【００１７】
ＣＰＵ１１Ａは、相互に通信する仮想マシンが、パブリッククラウドとプライベートクラウドの双方にプロビジョニングされる場合は、パブリッククラウド側に仮想マシンとともに、ＶＰＮ仮想マシンをプロビジョニングし、プライベートクラウドからインターネット接続するために、ＵＴＭ装置５とパブリッククラウド上にプロビジョニングしたＶＰＮ仮想マシンをＶＰＮ接続するように設定し、パブリッククラウドにプロビジョニングした仮想マシンは、ＶＰＮ仮想マシンと通信するように設定する。
【００１８】
ＣＰＵ１１Ａは、相互に通信する仮想マシンが、異なるパブリッククラウドにプロビジョニングされる場合は、各パブリッククラウドにＶＰＮ仮想マシンと仮想マシンをプロビジョニングし、ＶＰＮ仮想マシン同士の間でＶＰＮ接続するように設定するとともに、仮想マシンは、同じパブリッククラウドにプロビジョニングされたＶＰＮ仮想マシンと通信するように設定する。
【００１９】
図３は、クラウド間通信設定システム１を利用する際のクライアント画面３００の初期画面の一例を示す。
クライアント画面３００はクライアント端末８のディスプレイ等に表示される。クライアント画面３００の初期画面には、新規ボタン３０１と、追加ボタン３０２と、削除ボタン３０３とが表示されている。クライアント端末８の使用者はマウスによるクリック等によりこれらのボタンを押下することができる。
【００２０】
図４は、クラウド間通信設定システム１を利用する際に、図３の初期画面で新規ボタン３０１が押下された際のクライアント画面３００の一例を示す。
クライアント画面３００には、左側に、新規ボタン３０１と、追加ボタン３０２と、削除ボタン３０３とに加えて、実行ボタン３２０が表示されている。
画面右側には、どの仮想マシンをプロビジョニングするかを選択するためのチェックボックス３０４と、各仮想マシンのスペック３０５とが一覧として表示されている。なお、スペック３０５には、後述するテンプレート管理テーブル１２Ａに格納されているテンプレート管理情報に含まれる仮想マシンスペックが表示される。各スペック３０５に対応するチェックボックス３０４にチェックを付すことにより、テンプレート管理テーブル１２Ａに格納されているテンプレート管理情報を個別に選択することができる。
また画面の右端には、仮想マシンのスペック一覧が一画面に表示しきれない場合に画面をスクロールするための、スクロールバー３０６が表示されている。
クライアント端末８の使用者が相互に通信を行う仮想マシンのチェックボックス３０４にチェックを付して実行ボタン３２０を押下すると、クラウド間通信設定システム１はチェックが付されているチェックボックス３０４に対応するスペック３０５の仮想マシンを相互に通信可能なようにクラウドシステムにプロビジョニングする。
【００２１】
図５は、クラウド間通信設定システム１を利用する際に、図３の初期画面で追加ボタン３０２が押下された際のクライアント画面３００の一例を示す。
画面左側には、図４と同様に、新規ボタン３０１と、追加ボタン３０２と、削除ボタン３０３とに加えて、実行ボタン３２０が表示されている。
画面の右側には、クラウドシステムにプロビジョニングされている既存の仮想マシンを選択するためのチェックボックス３０７と、スペック付きの既存の仮想マシンの名称３０８との一覧が上部に表示される。このように、プロビジョニングされた各仮想マシンにはＶＭ１、ＶＭ２、ＶＭ３等の名称が付与され、他の仮想マシンと区別される。
既存仮想マシンの一覧の下には、新規にプロビジョニングする仮想マシンを選択するためのチェックボックス３０４と仮想マシンのスペック３０５の一覧が、図３の画面の右側に表示されたものと同様に表示される。
実行ボタン３２０が押下されると、クラウド間通信設定システム１はチェックが付されているチェックボックス３０４に対応するスペック３０５の仮想マシンをクラウドシステムに追加する。この追加された仮想マシンは、チェックが付されたチェックボックス３０７に対応する名称の既存の仮想マシンとの間で通信可能なようにクラウドシステムにプロビジョニングされる。
【００２２】
図６は、クラウド間通信設定システム１を利用する際に、図３の初期画面で削除ボタン３０３が押下された際のクライアント画面３００の一例を示す。
画面左側には、図４と同様に、新規ボタン３０１と、追加ボタン３０２と、削除ボタン３０３とに加えて、実行ボタン３２０が表示されている。
画面の右側には、削除する仮想マシン間の接続を選択するためのチェックボックス３０９と、接続している仮想マシンのスペック付きの名称の組み３１０の一覧が表示される。なお、仮想マシンのスペック付きの名称の組み３１０は、後述するテンプレート管理テーブル２１Ａと接続管理テーブル２１Ｂに基づいて取得される。また、図６は、後述する図１１に示すようにＶＭ１とＶＭ２の接続、およびＶＭ２とＶＭ３の接続が接続ＩＤ＝１であり、ＶＭ１１とＶＭ１２の接続が接続ＩＤ＝２である場合の表示例である。チェックボックス３０９および仮想マシンのスペック付きの名称の組み３１０は、接続管理テーブル２１Ｂの接続ＩＤ（後述）単位で分割して表示される。
実行ボタン３２０が押下されると、チェックボックス３０９にチェックが付されている仮想マシン間の接続が削除され、これらの仮想マシン間で通信ができなくなる。
【００２３】
図７は、プライベートクラウド４の構成の一例を示す。
プライベートクラウド４は、データセンタ２内のネットワーク３に接続するためのネットワーク装置４１と、仮想マシンの作成・削除・管理を実施するプライベートクラウド管理サーバ４２と、仮想マシンをプロビジョニングするための複数のサーバコンピュータ４３Ａ、４３Ｂ，４３Ｃと、仮想マシンのテンプレートや仮想マシンが利用するデータを格納する外部記憶装置４４とを備える。
サーバコンピュータ４３Ａ、４３Ｂ，４３Ｃと外部記憶装置４４とは、ファイバチャネル、ネットワークなどで接続される。
プライベートクラウド管理サーバ４２のメモリにはプライベートクラウド管理プログラム４２１が記憶されている。プライベートクラウド管理サーバ４２のＣＰＵがプライベートクラウド管理プログラム４２１を実行することによって、プライベートクラウド管理サーバ４２においてプライベートクラウド管理機能が実現される。
サーバコンピュータ４３Ａ、４３Ｂ、４３Ｃは、それぞれＣＰＵがそれらのメモリに記憶されているハイパーバイザプログラム４３１を実行している。
プライベートクラウド管理サーバ４２は、クラウド間通信設定システム１の指示に応答して、サーバコンピュータ４３Ａ、４３Ｂ、４３Ｃに指示して、仮想マシンを作成したり、削除したりを実施する。プライベートクラウド４では、クラウド内に構築される複数の仮想マシンは、特定の仮想マシンの間だけの通信を許可するＶＬＡＮ（Ｖｉｒｔｕａｌ  ＬＡＮ）グループに接続しており、異なるＶＬＡＮグループに接続している仮想マシン間では通信できないようにできる。たとえば、図７では、ＶＭ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）１とＶＭ３がＶＬＡＮ１(４５１)に接続しており、ＶＭ２、ＶＭ４とＶＭ５がＶＬＡＮ２(４５２)に接続している。
【００２４】
図８は、パブリッククラウド６の構成の一例を示す。
パブリッククラウド６は、インターネット９に接続するためのネットワーク装置６１と、仮想マシンの作成・削除・管理を実施するパブリッククラウド管理サーバ６２と、仮想マシンがプロビジョニングされる複数のサーバコンピュータ６３Ａ，６３Ｂ、６３Ｃとを備える。また、プロビジョニングされる仮想マシンのテンプレート等が格納されている外部記憶装置６４が内部ネットワーク６５を通じて、パブリッククラウド管理サーバ６２およびサーバコンピュータ６３Ａ，６３Ｂ、６３Ｃと接続されている。
パブリッククラウド管理サーバ６２のメモリにはパブリッククラウド管理プログラム６２１が記憶されている。パブリッククラウド管理サーバ６２のＣＰＵがパブリッククラウド管理プログラム６２１を実行することによって、パブリッククラウド管理サーバ６２においてパブリッククラウド管理機能が実現される。
サーバコンピュータ６３Ａ，６３Ｂ、６３Ｃは、それぞれＣＰＵがそれらのメモリに記憶されているハイパーバイザプログラム６３１を実行しており、これによりサーバコンピュータ６３Ａ，６３Ｂ、６３Ｃにおいて仮想マシンがプロビジョニングされる。
パブリッククラウド管理サーバ６２は、クラウド間通信設定システム１の指示に応答して、サーバコンピュータ６３Ａ，６３Ｂ、６３Ｃに指示して、仮想マシンを作成したり、削除したりを実施する。
【００２５】
図９は、プライベートクラウド４とパブリッククラウド６に仮想マシンをプロビジョニングし、通信できるように設定した構成の一例を示す。
プライベートクラウド４には、仮想マシン４３０１がサーバコンピュータ４３Ａにプロビジョニングされる。仮想マシン４３０１は、データセンタ２のＵＴＭ装置５を通じてインターネット９と通信するように設定される。ＵＴＭ装置５は、ＶＰＮ機能を用いることでインターネット９に送出するデータを暗号化し、インターネット９から受信するデータを復号する。
パブリッククラウド６には、ＶＰＮ仮想マシン６３０１がサーバコンピュータ６３Ａに、仮想マシン６３０２がサーバコンピュータ６３Ｂにプロビジョニングされる。この時、ネットワーク装置６１には、ＶＰＮ仮想マシン６３０１用の新たなＩＰアドレス６１０１と、仮想マシン６３０２用の新たなＩＰアドレス６１０２が付与される。ＶＰＮ仮想マシン６３０１は、インターネット９に送出するデータを暗号化し、インターネット９を経由して受信するデータを復号する。
プライベートクラウド４内の仮想マシン４３０１は、パブリッククラウド６内の仮想マシン６３０２とＶＰＮ仮想マシン６３０１を経由して通信する。仮想マシン４３０１は、仮想マシン６３０２と通信するとき、ＵＴＭ装置５宛てにデータを転送する。ＵＴＭ装置５は、ネットワーク装置６１に付与されたＩＰアドレス６１０１と接続するようにする。ネットワーク装置６１は、ＩＰアドレス６１０１に対して送信されてきたデータを、ＶＰＮ仮想マシン６３０１に転送する。ＶＰＮ仮想マシン６３０１は、ネットワーク装置６１から転送されてきた暗号化データを復号して、仮想マシン６３０２用に付与されたＩＰアドレス６１０２に転送する。ネットワーク装置６１は、ＩＰアドレス６１０２宛てに送信されてきたデータを、仮想マシン６３０２に転送することで、仮想マシン４３０１と仮想マシン６３０２が通信できるようになる。
この時、ＵＴＭ装置５とＶＰＮ仮想マシン６３０１間の通信は、暗号化されており、インターネット９上での盗聴の危険性を防ぐことができる。
【００２６】
図１０は、クラウド間通信設定システム１が利用するテンプレート管理テーブル１２Ａの一例を示す。
テンプレート管理テーブル１２Ａは、プライベートクラウド内の外部記憶装置に格納されている仮想マシンのテンプレート毎に、およびパブリッククラウド内の外部記憶装置に格納されている仮想マシンとＶＰＮ仮想マシンのテンプレート毎に、クラウドＩＤ（Ｉｄｅｎｔｉｆｉｅｒ）１２０１と、テンプレートＩＤ１２０２と、テンプレート種別１２０３と、仮想マシンスペック１２０４とを含むテンプレート管理情報を格納する。
クラウドＩＤ１２０１は、各プライベートクラウドと各パブリッククラウドを一意に識別するための識別符号である。
テンプレートＩＤ１２０２は、プライベートクラウド内の外部記憶装置に格納されている仮想マシンの各テンプレート、およびパブリッククラウド内の外部記憶装置に格納されている仮想マシンとＶＰＮ仮想マシンの各テンプレートを一意に識別するための識別符号である。クラウドＩＤ１２０１が異なれば同一のテンプレートＩＤ１２０２が付されていてもよい。
テンプレート種別１２０３は、仮想マシンとＶＰＮ仮想マシンの区別を示す。
仮想マシンスペック１２０４は、ＣＰＵ種別、メモリ容量およびハードディスク容量等の仮想マシンの性能を示す。
【００２７】
図１１は、クラウド間通信システム１が利用する接続管理テーブル１２Ｂの一例を示す。
接続管理テーブル１２Ｂは、接続ＩＤ１２１１と、クラウドＩＤ(1)１２１２と，ＶＭ名(1)１２１３と、テンプレートＩＤ(1)１２１４と、クラウドＩＤ(2)１２１５と、ＶＭ名(2)１２１６と、テンプレートＩＤ(2)１２１７とを含む接続管理情報を格納する。接続管理情報は、相互に通信可能な２台の仮想マシンを指定する。
接続ＩＤ１２１１は、仮想マシン間の接続を一意に識別するための識別符号である。
クラウドＩＤ(1)１２１２とＶＭ名(1)１２１３とテンプレートＩＤ(1)１２１４とは、接続される一方の仮想マシンのクラウドＩＤと仮想マシン名とテンプレートＩＤである。
クラウドＩＤ(2)１２１５とＶＭ名(2)１２１６とテンプレートＩＤ(2)１２１７とは、接続される他方の仮想マシンのクラウドＩＤと仮想マシン名とテンプレートＩＤである。
【００２８】
図１２は、クラウド間通信設定システム１が利用するクラウド情報テーブル１２Ｃの一例を示す。
クラウド情報テーブル１２Ｃは、クラウドＩＤ１２２１と、クラウド種別１２２２と、ＵＲＬ１２２３と、アカウント１２２４と、パスワード１２２５とを含むクラウド情報を格納する。
クラウドＩＤ１２２１は、各プライベートクラウドと各パブリッククラウドとを一意に識別するための識別符号である。
クラウド種別１２２２は、プライベートクラウドとパブリッククラウドの区別を示す。
ＵＲＬ１２２３は、プライベートクラウド管理サーバ４２またはパブリッククラウド管理サーバ６２のＵＲＬ（Uniform Resource Locator）を示す。
アカウント１２２４とパスワード１２２５は、プライベートクラウド管理サーバ４２またはパブリッククラウド管理サーバ６２にログインする際の認証に使用されるアカウントとパスワードである。
【００２９】
以下、フローチャートを用いて、クラウド間通信設定システム１の動作について説明する。
図１３は、クラウド間通信設定システム１の全体の処理の流れの一例を示すフローチャートである。
クラウド間通信設定システム１が起動すると、クラウド間通信設定システム１のＣＰＵ１１Ａは、クライアント端末８の接続を受け付け(Ｓ１３０１)、クライアント端末８に初期画面を返却する(Ｓ１３０２)。ＣＰＵ１１Ａは、クライアント端末８から、新規、追加、または削除のいずれかの操作種別を示す操作情報を受信する(Ｓ１３０３)と、操作種別を判断し(Ｓ１３０４)、新規処理（Ｓ１３０５）、追加処理（Ｓ１３０６）、または削除処理（Ｓ１３０７）を実施し、ステップＳ１３０２から繰り返す。
【００３０】
図１４は、２つの仮想マシンを新規にプロビジョニングする新規処理の一例を示すフローチャートである。３つ以上の仮想マシンを新規にプロビジョニングする場合は、同じ新規処理を繰り返すことで実施する。
クラウド間通信設定システム１のＣＰＵ１１Ａは、テンプレート管理テーブル１２Ａを参照して図４の画面を作成し、クライアント端末８に送信する。クライアント端末８の使用者が図４の画面上で２つのスペック３０５を選択して実行ボタン３２０を押下すると、クライアント端末８はクラウド間通信設定システム１に選択された２つのスペック３０５を示す情報を送信する。ＣＰＵ１１Ａは、受信した２つのスペック３０５を示す情報に基づいてテンプレート管理テーブル１２ＡからクラウドＩＤ１２０１を取得し、クラウドＩＤ１２０１に基づいてクラウド情報テーブル１２Ｃからプロビジョニングする先のクラウド情報を取得する（Ｓ１４０１）。
ＣＰＵ１１Ａは、クラウド情報に含まれるクラウド種別１２２２が両方ともプライベートクラウドである場合（Ｓ１４０２：ＹＥＳ）、クラウド情報に含まれるＵＲＬ１２２３に基づいてプライベートクラウド管理サーバ４２に、テンプレートＩＤとともに仮想マシン作成命令を送信し（Ｓ１４０３）、両仮想マシンの情報を接続管理テーブル１２Ｂに登録して(Ｓ１４０４)、新規処理を終了する。
【００３１】
ＣＰＵ１１Ａは、クラウド情報に含まれるクラウド種別１２２２が両方ともプライベートクラウドではない場合（Ｓ１４０２：ＮＯ）、片方がプライベートクラウドかどうかを判断し、そうであれば（Ｓ１４０５：ＹＥＳ）、クラウド情報に含まれるＵＲＬ１２２３に基づいてプライベートクラウド管理サーバとパブリッククラウド管理サーバにテンプレートＩＤとともに仮想マシン作成命令を送信する（Ｓ１４０６）。ＣＰＵ１１Ａは、パブリッククラウド管理サーバに、更に、ＶＰＮ仮想マシンのテンプレートＩＤとともに仮想マシン作成命令を送信する（Ｓ１４０７）。ＣＰＵ１１Ａは、パブリッククラウド内に作成された仮想マシンにＶＰＮ仮想マシンに対してのみ通信するように設定する(Ｓ１４０８）。ＣＰＵ１１Ａは、作成されたＶＰＮ仮想マシンにプライベートクラウドの設置されているデータセンタ内のＵＴＭ装置５と通信するように設定する（Ｓ１４０９）。ＣＰＵ１１Ａは、プライベートクラウド内に作成された仮想マシンに、データセンタ内のＵＴＭ装置５に対して通信するように設定し（Ｓ１４１０）、ＵＴＭ装置５に、パブリッククラウドに作成されたＶＰＮ仮想マシンに対して割り振られたＩＰアドレスでＶＰＮ通信するように設定し（Ｓ１４１１）、両仮想マシンの情報を接続管理テーブル１２Ｂに登録して(Ｓ１４１２)、新規処理を終了する。
【００３２】
ステップＳ１４０５で、両方ともパブリッククラウドの場合（Ｓ１４０５：ＮＯ）、ＣＰＵ１１Ａは、まずクラウド情報に含まれるＵＲＬ１２２３に基づいてパブリッククラウド管理サーバにテンプレートＩＤとともに仮想マシン作成命令を送信する（Ｓ１４１３）。次に、ＣＰＵ１１Ａは、パブリッククラウド管理サーバに、ＶＰＮ仮想マシンのテンプレートＩＤとともに仮想マシン作成命令を送信する（Ｓ１４１４）。ＣＰＵ１１Ａは、仮想マシンにＶＰＮ仮想マシンに対してのみ通信するように設定する(Ｓ１４１５）。ＣＰＵ１１Ａは、ＶＰＮ仮想マシンが対向するＶＰＮ仮想マシンのＩＰアドレスに対してＶＰＮ接続を行うように設定し(Ｓ１４１６)、両仮想マシンの情報を接続管理テーブル１２Ｂに登録して(Ｓ１４１７)、新規処理を終了する。
【００３３】
図１５と図１６は、既存の仮想マシンに１つの仮想マシンを追加して接続する追加処理の一例を示すフローチャートである。２つ以上の仮想マシンを追加する場合は、同じ処理を繰り返すことで実施する。
クラウド間通信設定システム１のＣＰＵ１１Ａは、テンプレート管理テーブル１２Ａと接続管理テーブル１２Ｂを参照して図５の画面を作成し、クライアント端末８に送信する。クライアント端末８の使用者が図５の画面上でスペック３０５と既存の仮想マシンの名称３０８とを選択して実行ボタン３２０を押下すると、クライアント端末８はクラウド間通信設定システム１にスペック３０５を示す情報と既存の仮想マシンの名称とを送信する。ＣＰＵ１１Ａは、受信したスペック３０５を示す情報に基づいてテンプレート管理テーブル１２ＡからクラウドＩＤ１２０１を取得し、クラウドＩＤ１２０１に基づいてクラウド情報テーブル１２Ｃからプロビジョニングする先のクラウド情報を取得する。また、ＣＰＵ１１Ａは、既存の仮想マシンの名称に基づいて接続管理テーブル１２Ｂから通信相手の既存の仮想マシンの情報を取得する（Ｓ１５０１）。
ＣＰＵ１１Ａは、仮想マシンを作成するのがプライベートクラウドかどうかを判断する(Ｓ１５０２)。プライベートクラウドの場合（Ｓ１５０２：ＹＥＳ）、ＣＰＵ１１Ａは、接続先の仮想マシンがプライベートクラウドにあるかどうか判断し（Ｓ１５０３）、プライベートクラウドにあれば（Ｓ１５０３：ＹＥＳ）、クラウド情報に含まれるＵＲＬ１２２３に基づいてプライベートクラウド管理サーバ４２に、テンプレートＩＤとともに仮想マシン作成命令を送信する(Ｓ１５０４)。そして、ＣＰＵ１１Ａは、作成した仮想マシンと通信相手の既存の仮想マシンの情報を接続管理テーブル１２Ｂに登録し(Ｓ１５０５)、追加処理を終了する。
【００３４】
ステップＳ１５０３で接続先の仮想マシンがパブリッククラウドにある場合（Ｓ１５０３：ＮＯ）、ＣＰＵ１１Ａは、クラウド情報に含まれるＵＲＬ１２２３に基づいてプライベートクラウド管理サーバに、テンプレートＩＤとともに仮想マシン作成命令を送信し(Ｓ１５０６)、作成した仮想マシンに、データセンタ内のＵＴＭ装置５に通信するよう設定する(Ｓ１５０７)。次に、ＣＰＵ１１Ａは、接続先のパブリッククラウドのパブリッククラウド管理サーバに、ＶＰＮ仮想マシンのテンプレートＩＤとともに作成命令を送信する(Ｓ１５０８)。接続先の仮想マシンからＶＰＮ仮想マシンに通信するよう設定し(Ｓ１５０９)、ＶＰＮ仮想マシンがデータセンタ内のＵＴＭ装置５に接続するよう設定し(Ｓ１５１０)、データセンタ内のＵＴＭ装置５に、作成したＶＰＮ仮想マシンに対して割り振られたＩＰアドレスにＶＰＮ通信するように設定し(Ｓ１５１１)、作成した仮想マシンと通信相手の既存の仮想マシンの情報を接続管理テーブル１２Ｂに登録し(Ｓ１５１２)、追加処理を終了する。
【００３５】
ステップＳ１５０２で仮想マシンを作成するのがパブリッククラウドの場合（Ｓ１５０２：ＮＯ）、ＣＰＵ１１Ａは、接続先の仮想マシンがプライベートクラウドかどうかを判断し(Ｓ１５１３)、プライベートクラウドの場合（Ｓ１５１３：ＹＥＳ）、クラウド情報に含まれるＵＲＬ１２２３に基づいてパブリッククラウド管理サーバに、テンプレートＩＤとともに仮想マシン作成命令を送信し(Ｓ１５１４)、続いてＶＰＮ仮想マシンのテンプレートＩＤとともに仮想マシン作成命令を送信する(Ｓ１５１５)。作成された仮想マシンからはＶＰＮ仮想マシンとしか通信できないよう設定し(Ｓ１５１６)、ＶＰＮ仮想マシンがデータセンタのＵＴＭ装置５と通信するよう設定する(Ｓ１５１７）。データセンタのＵＴＭ装置５に対向となるＶＰＮ仮想マシンと接続するよう設定し(Ｓ１５１８)、接続対象のプライベートクラウドの仮想マシンに、ＵＴＭ装置５と通信するよう設定し(Ｓ１５１９)、作成した仮想マシンと通信相手の既存の仮想マシンの情報を接続管理テーブル１２Ｂに登録して(Ｓ１５２０)、追加処理を終了する。
【００３６】
ステップＳ１５１３で接続先の仮想マシンがパブリッククラウドの場合（Ｓ１５１３：ＮＯ）、ＣＰＵ１１Ａは、クラウド情報に含まれるＵＲＬ１２２３に基づいてパブリッククラウド管理サーバに、テンプレートＩＤとともに仮想マシン作成命令を送信し(Ｓ１５２１)、続いてＶＰＮ仮想マシンのテンプレートＩＤとともに仮想マシン作成命令を送信する(Ｓ１５２２)。作成された仮想マシンからはＶＰＮ仮想マシンとしか通信できないようにパブリッククラウドのネットワーク装置へ設定する(Ｓ１５２３)。ＣＰＵ１１Ａは、接続先の仮想マシンが稼動しているパブリッククラウドのパブリッククラウド管理サーバにＶＰＮ仮想マシンのテンプレートＩＤとともに、作成命令を送信し(Ｓ１５２４)、新規に仮想マシンをプロビジョニングしたパブリッククラウドに作成したＶＰＮ仮想マシンから、接続先のパブリッククラウドに作成したＶＰＮ仮想マシンへ接続するように設定する（Ｓ１５２５）。ＣＰＵ１１Ａは、接続先のパブリッククラウドに作成したＶＰＮ仮想マシンに接続先の仮想マシンへ通信するように設定し(Ｓ１５２６)、作成した仮想マシンと通信相手の既存の仮想マシンの情報を接続管理テーブル１２Ｂに登録して(Ｓ１５２７)、追加処理を終了する。
【００３７】
図１７は、仮想マシン間の接続を削除する削除処理の一例を示すフローチャートである。２つ以上の接続を削除する場合は、同じ処理を繰り返すことで実施する。
クラウド間通信設定システム１のＣＰＵ１１Ａは、テンプレート管理テーブル１２Ａと接続管理テーブル１２Ｂを参照して図６の画面を作成し、クライアント端末８に送信する。クライアント端末８の使用者が図６の画面上で仮想マシンのスペック付きの名称の組み３１０を選択して実行ボタン３２０を押下すると、クライアント端末８はクラウド間通信設定システム１に選択された仮想マシンの名称の組を送信する。ＣＰＵ１１Ａは、受信した仮想マシンの名称の組に基づいて接続管理テーブル１２Ｂから接続を削除する仮想マシンの情報を取得する。次に、ＣＰＵ１１Ａは、取得した仮想マシンの情報に含まれるクラウドＩＤに基づいてクラウド情報テーブル１２Ｃから接続を削除する仮想マシンが存在するクラウドのクラウド情報を取得する（Ｓ１６０１）。
ＣＰＵ１１Ａは、削除対象となるクラウドが両方ともプライベートクラウドかどうかを判断し（Ｓ１６０２）、両方ともプライベートクラウドの場合（Ｓ１６０２：ＹＥＳ）、接続管理テーブル１２Ｂに、接続を削除しようとする仮想マシンが他にもエントリされていないかを調べ(Ｓ１６０３)、他にはエントリされていない場合（Ｓ１６０３：ＮＯ）は、クラウド情報に含まれるＵＲＬ１２２３に基づいてプライベートクラウド管理サーバに仮想マシン名とともに削除命令を送信し(Ｓ１６０４)、接続管理テーブル１２Ｂからエントリを削除し(Ｓ１６０５)、削除処理を終了する。
接続管理テーブル１２Ｂに、接続を削除しようとする仮想マシンが他にもエントリされている場合（Ｓ１６０３：ＹＥＳ）、削除しようとする仮想マシンは他の接続でも使用されているため、ＣＰＵ１１Ａは、ステップＳ１６０４をスキップして接続管理テーブル１２Ｂからエントリを削除し(Ｓ１６０５)、削除処理を終了する。
【００３８】
ステップＳ１６０２で両方がプライベートクラウドでない場合（Ｓ１６０２：ＮＯ）、ＣＰＵ１１Ａは、接続の一方がプライベートクラウドかどうかを判断し(Ｓ１６０６)、一方がプライベートクラウドの場合（Ｓ１６０６：ＹＥＳ）は、接続管理テーブル１２Ｂに、接続を削除しようとするプライベートクラウド側の仮想マシンが他にもエントリされていないかを調べ(Ｓ１６０７)、他にはエントリされていない場合(Ｓ１６０７：ＮＯ)は、クラウド情報に含まれるＵＲＬ１２２３に基づいてプライベートクラウド管理サーバに仮想マシン名とともに削除命令を送信し(Ｓ１６０８)、データセンタのＵＴＭ装置５から接続のためのＶＰＮ設定を削除し(Ｓ１６０９)、接続管理テーブル１２Ｂからエントリを削除する(Ｓ１６１０)。
接続管理テーブル１２Ｂに、接続を削除しようとするプライベートクラウド側の仮想マシンが他にもエントリされている場合（Ｓ１６０７：ＹＥＳ）は、ステップＳ１６０８をスキップしてステップＳ１６０９から処理を実行する。
次に、ＣＰＵ１１Ａは、接続管理テーブル１２Ｂに、接続を削除しようとするパブリッククラウド側の仮想マシンが他にもエントリされていないかを調べ(Ｓ１６１１)、他にはエントリされていない場合(Ｓ１６１１：ＮＯ)は、クラウド情報に含まれるＵＲＬ１２２３に基づいてパブリッククラウド管理サーバに仮想マシン名とともに削除命令を送信し(Ｓ１６１２)、続けて、パブリッククラウド管理サーバにＶＰＮ仮想マシン名とともに削除命令を送信し(Ｓ１６１３)、接続管理テーブル１２Ｂからエントリを削除する(Ｓ１６１４)。
接続管理テーブル１２Ｂに、接続を削除しようとするパブリッククラウド側の仮想マシンが他にもエントリされている場合（Ｓ１６１１：ＹＥＳ）は、ステップＳ１６１２をスキップしてステップＳ１６１３から処理を実行する。
【００３９】
ステップＳ１６０６で両方の仮想マシンがパブリッククラウドの場合（Ｓ１６０６：ＮＯ）は、両方の仮想マシンに対して、以下の処理を実施する。
接続管理テーブル１２Ｂに、接続を削除しようとする仮想マシンが他にもエントリされていないかを調べ(Ｓ１６１６)、他にはエントリされていない場合(Ｓ１６１６：ＮＯ)は、クラウド情報に含まれるＵＲＬ１２２３に基づいてパブリッククラウド管理サーバに仮想マシン名とともに削除命令を送信し(Ｓ１６１７)、続けて、対象クラウドのパブリッククラウド管理サーバにＶＰＮ仮想マシン名とともに削除命令を送信し(Ｓ１６１８)、接続管理テーブル１２Ｂからエントリを削除する(Ｓ１６１９)。
接続管理テーブル１２Ｂに、接続を削除しようとする仮想マシンが他にもエントリされている場合（Ｓ１６１６：ＹＥＳ）は、ステップＳ１６１７をスキップしてステップＳ１６１８から処理を実行する。
【００４０】
以上説明したように、本発明によれば、仮想マシンのプロビジョニングされる先がパブリッククラウドかプライベートクラウドかにかかわらず、仮想マシン間の通信を安全に行えるように設定することができる。
利用者は図４または図５の画面上で仮想マシンのテンプレートを選択するだけで、クラウド間通信設定システムが仮想マシンとＶＰＮ仮想マシンを自動的にプロビジョニングし、クラウド間の接続に必要なＵＴＭ装置の設定を自動的に行うため、利用者が自身でネットワーク設定を行うことなく、クラウド間の通信を安全に行うことができる。
【符号の説明】
【００４１】
１…クラウド間通信設定システム、１１…端末装置、１１Ａ…ＣＰＵ、１１Ｂ…メモリ、１２…外部記憶装置、１２Ａ…テンプレート管理テーブル、１２Ｂ…接続管理テーブル、１２Ｃ…クラウド情報テーブル、１２Ｄ…クラウド間通信設定プログラム、１３…通信ポート、２…データセンタ、３…ネットワーク、４…プライベートクラウド、４１…ネットワーク装置、４２…プライベートクラウド管理サーバ、４２１…プライベートクラウド管理プログラム、４３Ａ、４３Ｂ、４３Ｃ…サーバコンピュータ、４３１…ハイパーバイザプログラム、４４…外部記憶装置、４５１…ＶＬＡＮ１、４５２…ＶＬＡＮ２、５…ＵＴＭ装置、６、７…パブリッククラウド、６１…ネットワーク装置、６２…パブリッククラウド管理サーバ、６２１…パブリッククラウド管理プログラム、６３Ａ，６３Ｂ、６３Ｃ…サーバコンピュータ、６３１…ハイパーバイザプログラム、６４…外部記憶装置、６５…内部ネットワーク、８…クライアント端末、９…インターネット
【図１】
2014075731.tif 000003
【図２】
2014075731.tif 000004
【図３】
2014075731.tif 000005
【図４】
2014075731.tif 000006
【図５】
2014075731.tif 000007
【図６】
2014075731.tif 000008
【図７】
2014075731.tif 000009
【図８】
2014075731.tif 000010
【図９】
2014075731.tif 000011
【図１０】
2014075731.tif 000012
【図１１】
2014075731.tif 000013
【図１２】
2014075731.tif 000014
【図１３】
2014075731.tif 000015
【図１４】
2014075731.tif 000016
【図１５】
2014075731.tif 000017
【図１６】
2014075731.tif 000018
【図１７】
2014075731.tif 000019