(57)【要約】【課題】ハイブリッドクラウド型ＰａａＳにおいてアプリの記述の変更を不要とすること。【解決手段】ＮＡＴルール設定部２６が、テナント毎にアプリ用ＶＭ３に仮想インタフェースを作成して仮想ＩＰアドレスを設定する。そして、ＮＡＴルール設定部２６は、アプリから送信されるパケットの送信元ＩＰアドレスを仮想ＩＰアドレスに変換するＳＮＡＴルールを作成してアプリ用ＶＭ３に設定する。また、ＧＷ作成部２１が、オンプレＧＷとの間でトンネル接続するＧＷをＧＷ用ＶＭ３に作成する。そして、ＧＷルーティング設定部２５が、アプリから送信されるパケットの転送先をＧＷ用ＶＭ３とするルーティング情報を作成してアプリ用ＶＭ３に設定する。そして、振り分けルール設定部２８が、アプリ用ＶＭ３から送られてきたパケットを送信元ＩＰアドレスに基づいてＧＷに振り分ける振り分けルールを作成してＧＷ用ＶＭ３に設定する。【選択図】図１２
2017224895.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
アプリケーションが実行される第１の仮想マシンにおいてテナント毎に仮想インタフェースを作成して仮想ＩＰアドレスを設定し、
前記アプリケーションから出力されたパケットの送信元のＩＰアドレスを前記仮想インタフェースに設定された仮想ＩＰアドレスに変換するＳＮＡＴルールを作成して前記第１の仮想マシンに設定し、
前記パケットをトンネリングにより送信先に送信するゲートウェイをテナント毎に第２の仮想マシンに作成し、
前記ＳＮＡＴルールに基づいて送信元のＩＰアドレスが変換されたパケットの転送先を前記第２の仮想マシンとするルーティング情報を作成して前記第１の仮想マシンに設定し、
前記ルーティング情報に基づいて前記第２の仮想マシンに送信されたパケットを該パケットの送信元のＩＰアドレスに基づいてゲートウェイに振り分ける振り分けルールを作成して前記第２の仮想マシンに設定する
処理を実行させることを特徴とする通信制御プログラム。
【請求項２】
前記コンピュータに、
前記ゲートウェイを冗長化プロトコルにより冗長化して該ゲートウェイに仮想ＩＰアドレスを設定し、
前記仮想ＩＰアドレスをグローバルＩＰアドレスに変換するＮＡＴルールを作成し、前記ゲートウェイでトンネリング用の情報が付加されたパケットを外部ネットワークへ転送するルータに設定し、
前記第２の仮想マシンを冗長化プロトコルにより冗長化して該第２の仮想マシンに仮想ＩＰアドレスを設定する
処理をさらに実行させ、
前記ルーティング情報の前記転送先を前記第２の仮想マシンの仮想ＩＰアドレスとすることを特徴とする請求項１に記載の通信制御プログラム。
【請求項３】
前記第１の仮想マシン、前記第２の仮想マシン及び前記ルータは、クラウド上のＰａａＳ環境に含まれ、前記送信先は、オンプレ環境に含まれるゲートウェイであることを特徴とする請求項２に記載の通信制御プログラム。
【請求項４】
前記冗長化プロトコルは、ＶＲＲＰであることを特徴とする請求項２に記載の通信制御プログラム。
【請求項５】
コンピュータが、
アプリケーションが実行される第１の仮想マシンにおいてテナント毎に仮想インタフェースを作成して仮想ＩＰアドレスを設定し、
前記アプリケーションから出力されたパケットの送信元のＩＰアドレスを前記仮想インタフェースに設定された仮想ＩＰアドレスに変換するＳＮＡＴルールを作成して前記第１の仮想マシンに設定し、
前記パケットをトンネリングにより送信先に送信するゲートウェイをテナント毎に第２の仮想マシンに作成し、
前記ＳＮＡＴルールに基づいて送信元のＩＰアドレスが変換されたパケットの転送先を前記第２の仮想マシンとするルーティング情報を作成して前記第１の仮想マシンに設定し、
前記ルーティング情報に基づいて前記第２の仮想マシンに送信されたパケットを該パケットの送信元のＩＰアドレスに基づいてゲートウェイに振り分ける振り分けルールを作成して前記第２の仮想マシンに設定する
処理を実行することを特徴とする通信制御方法。
【請求項６】
アプリケーションが実行される第１の仮想マシンにおいてテナント毎に仮想インタフェースを作成して仮想ＩＰアドレスを設定する仮想ＩＰ設定部と、
前記アプリケーションから出力されたパケットの送信元のＩＰアドレスを前記仮想インタフェースに設定された仮想ＩＰアドレスに変換するＳＮＡＴルールを作成して前記第１の仮想マシンに設定するＳＮＡＴ設定部と、
前記パケットをトンネリングにより送信先に送信するゲートウェイをテナント毎に第２の仮想マシンに作成するＧＷ作成部と、
前記ＳＮＡＴルールに基づいて送信元のＩＰアドレスが変換されたパケットの転送先を前記第２の仮想マシンとするルーティング情報を作成して前記第１の仮想マシンに設定するルーティング情報設定部と、
前記ルーティング情報に基づいて前記第２の仮想マシンに送信されたパケットを該パケットの送信元のＩＰアドレスに基づいてゲートウェイに振り分ける振り分けルールを作成して前記第２の仮想マシンに設定する振り分け設定部と
を有することを特徴とする通信制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信制御プログラム、通信制御方法及び通信制御装置に関する。
【背景技術】
【０００２】
ＰａａＳ（Platform  as  ａ  Service）において、クラウド上のＰａａＳ環境とオンプレ環境をネットワークで接続してサービスを提供するハイブリッドクラウド型ＰａａＳへの要望が増加している。ここで、オンプレ環境とは、企業等が有する情報処理環境であり、オンプレミス（on-premises）環境とも呼ばれる。企業は、セキュリティリスクを考慮し、例えば重要なデータはクラウド上に格納せずにオンプレ環境で保持する。
【０００３】
図３６は、ＰａａＳ環境とオンプレ環境の接続構成を示す図である。図３６に示すように、クラウド上のＰａａＳ環境９ａは、アプリ９３１が動作するＶＭ（Virtual  Machine：仮想マシン）９３を有し、オンプレ環境９ｂは、サーバ７を有する。ここで、アプリ９３１はアプリケーションであり、ＶＭ９３はクラウドに含まれる物理マシン上に構築される仮想的な情報処理装置である。
【０００４】
ＶＭ９３は、サーバ７が有するＤＢ（Data  Base：データベース）７１にアクセスするためにインターネット５を介してサーバ７と通信する。ＶＭ９３とサーバ７の間の通信はインターネット５を経由するため、トンネリング（tunneling）と暗号化によるセキュリティの強化が行われる。ここで、トンネリングとは、ネットワーク上の２点間を結ぶ閉じられた仮想的な直結回線を確立することである。仮想的な直結回線はトンネルと呼ばれる。
【０００５】
トンネリングでは、トンネリング処理を行うゲートウェイ（gateway：ＧＷ）が必要になる。図３６では、ＰａａＳ環境９ａはゲートウェイとしてＧＷ９３２を有し、オンプレ環境９ｂはゲートウェイとしてオンプレＧＷ９６を有する。ＧＷ９３２は、アプリ９３１が動作するＶＭ９３とは異なるＶＭ９３上に構築される。
【０００６】
なお、マルチテナントシステムにおいて、テナント識別情報を認識できない機器と接続されたスイッチが、当該機器との間で送受信されるパケットのヘッダを書き換えることで、テナント識別情報を認識できない機器を利用可能とする技術がある。
【０００７】
また、顧客用イントラネットに接続されたルータとＶＭとの接続に用いるインタフェースの識別子を顧客用イントラネットとＶＭとに対応付けて管理することで、ＩＰｖ４であっても、１つのＶＭと複数の顧客ネットワークとの間で安全に通信する技術がある。
【０００８】
また、外部端末装置とＮＡＴ−ＧＷ装置間、ＮＡＴ−ＧＷ装置とトンネリング通信終端端末装置間でそれぞれＴＣＰコネクションを確立し、外部端末装置と内部端末装置のＩＰアドレスとポート番号と各ＴＣＰコネクションとを対応付けて管理する技術がある。この技術では、トンネリングパケットに含まれる宛先情報に対応するＴＣＰコネクションを用いて、外部と内部間のパケット通信をすることで、ＮＡＴ−ＧＷ装置を介して接続される異なるネットワーク体系における端末装置間のトンネリング通信を実現する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】国際公開第２０１３／１７２３９１号
【特許文献２】特開２０１４−９３５５０号公報
【特許文献３】特開２００８−２１１４８０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
図３６に示した接続構成においては、アプリ９３１が接続するＧＷ９３２はアプリ９３１上で通信先として指定する必要があり、アプリ９３１の配備時に接続するＧＷ９３２に合わせてアプリ９３１の記述を変更する必要があるという問題がある。
【００１１】
図３７は、アプリ９３１の記述を変更する必要がある理由を説明するための図である。図３７では、ＶＭ＃９１で異なるテナントのアプリ＃９１とアプリ＃９２が動作し、アプリ＃９１はＶＭ＃９２で動作するＧＷ＃９１を介してサーバ＃１と通信し、アプリ＃９２はＶＭ＃９３で動作するＧＷ＃９２を介してサーバ＃２と通信する。ここで、ＶＭ＃９１、ＶＭ＃９２及びＶＭ＃９３はＶＭ９３であり、アプリ＃９１及びアプリ＃９２はアプリ９３１であり、ＧＷ＃９１及びＧＷ＃９２はＧＷ９３２であり、サーバ＃１及びサーバ＃２はサーバ７である。また、サーバ＃１のＩＰアドレスとサーバ＃２のＩＰアドレスは１０．０．１．１で同じである。
【００１２】
このとき、アプリ＃９１が送信するパケットとアプリ＃９２が送信するパケットの宛先のＩＰアドレスは同じであるため、ＶＭ＃９１のルーティング情報の１０．０．１．０／２４に対応する転送先は、同じＧＷ９３２となる。図３７では、例えば、転送先はＧＷ＃９１である。したがって、アプリ＃９２が送信するパケットはＧＷ＃９１に転送され、アプリ＃９２は正常な通信が行えない。このため、接続するＧＷ９３２をアプリ９３１で通信先として指定する必要があり、アプリ９３１の記述を変更することが必要になる。
【００１３】
なお、ソースルーティングを行っても、送信元アドレスがＶＭ＃９１のＩＰアドレスで同一であるため、ＧＷ＃９１とＧＷ＃９２の振り分けはできない。また、ＧＷ＃９１とＧＷ＃９２を異なるＶＭ９３上で実現すると、ＶＭ９３の数が多くなる。図３８は、テナント毎にゲートウェイとなるＶＭ９３を構築する場合を説明するための図である。
【００１４】
図３８に示すように、ＧＷ９３２は冗長化される。すなわち、アプリ＃９１の通信先はＧＷ＃９１とＧＷ＃９３があり、アプリ＃９２の通信先はＧＷ＃９２とＧＷ＃９４がある。このため、テナント毎にゲートウェイとなるＶＭ９３を構築すると、異なるテナントの数の２倍の数のＶＭ９３が構築されることとなる。
【００１５】
また、各ＧＷ９３２は、ルータ９４を介してパケットをＰａａｓ環境９ａの外部に送信する。このとき、ルータ９４は、送信元である各ＧＷ９３２のプライベートＩＰアドレスをグローバルＩＰアドレスに変換する。逆に、外部からパケットを受信すると、ルータ９４は、グローバルＩＰアドレスを送信先の各ＧＷ９３２のプライベートＩＰアドレスに変換する。また、オンプレＧＷ９６は、トンネルの接続先として各ＧＷ９３２に対応するグローバルＩＰアドレスを設定する。したがって、ゲートウェイとなるＶＭ９３の数が増えるとグローバルＩＰアドレスも増えることになる。
【００１６】
本発明は、１つの側面では、アプリの記述の変更を不要とすることを目的とする。
【課題を解決するための手段】
【００１７】
１つの態様では、通信制御プログラムは、コンピュータに、アプリケーションが実行される第１の仮想マシンにおいてテナント毎に仮想インタフェースを作成して仮想ＩＰアドレスを設定する処理を実行させる。そして、コンピュータに、アプリケーションから出力されたパケットの送信元のＩＰアドレスを仮想インタフェースに設定された仮想ＩＰアドレスに変換するＳＮＡＴルールを作成して第１の仮想マシンに設定する処理を実行させる。そして、コンピュータに、パケットをトンネリングにより送信先に送信するゲートウェイをテナント毎に第２の仮想マシンに作成する処理を実行させる。そして、コンピュータに、ＳＮＡＴルールに基づいて送信元のＩＰアドレスが変換されたパケットの転送先を第２の仮想マシンとするルーティング情報を作成して第１の仮想マシンに設定する処理を実行させる。そして、コンピュータに、ルーティング情報に基づいて第２の仮想マシンに送信されたパケットを該パケットの送信元のＩＰアドレスに基づいてゲートウェイに振り分ける振り分けルールを作成して第２の仮想マシンに設定する処理を実行させる。
【発明の効果】
【００１８】
１つの側面では、アプリの記述の変更を不要とすることができる。
【図面の簡単な説明】
【００１９】
【図１】図１は、実施例に係るハイブリッドクラウド型ＰａａＳシステムの構成を示す図である。
【図２】図２は、ハイブリッドクラウド型ＰａａＳシステムのトンネリング接続を説明するための図である。
【図３】図３は、ＶＲＲＰを説明するための図である。
【図４】図４は、ゲートウェイの冗長化構成を説明するための図である。
【図５】図５は、アプリとＧＷとの間の接続を説明するための図である。
【図６】図６は、ＧＷとインターネットとの間の接続を説明するための図である。
【図７】図７は、ＧＷとオンプレＧＷとの間のトンネリング接続を説明するための図である。
【図８】図８は、パケットのアドレス変換の流れ（アプリ→ＤＢ）を示す図である。
【図９Ａ】図９Ａは、パケットに対する処理（アプリ→ＤＢ）を説明するための第１の図である。
【図９Ｂ】図９Ｂは、パケットに対する処理（アプリ→ＤＢ）を説明するための第２の図である。
【図１０】図１０は、パケットのアドレス変換の流れ（ＤＢ→アプリ）を示す図である。
【図１１Ａ】図１１Ａは、パケットに対する処理（ＤＢ→アプリ）を説明するための第１の図である。
【図１１Ｂ】図１１Ｂは、パケットに対する処理（ＤＢ→アプリ）を説明するための第２の図である。
【図１２】図１２は、ＧＷ構成管理装置の機能構成を示す図である。
【図１３】図１３は、冗長化管理テーブルの一例を示す図である。
【図１４】図１４は、ネットワーク管理テーブルの一例を示す図である。
【図１５】図１５は、配備ＶＭ管理テーブルの一例を示す図である。
【図１６】図１６は、振り分けルール管理テーブルの一例を示す図である。
【図１７】図１７は、ＩＰアドレス一覧テーブルの一例を示す図である。
【図１８】図１８は、ＧＷ作成要求及び冗長構成作成要求に対する処理のフローを示すフローチャートである。
【図１９】図１９は、アプリ配備要求に対する処理のフローを示すフローチャートである。
【図２０】図２０は、初期構成を示す図である。
【図２１】図２１は、ＧＷ構成管理装置内のテーブル構成（初期状態）を示す図である。
【図２２】図２２は、ＧＷ用ＶＭのＶＲＲＰ設定例を示す図である。
【図２３】図２３は、ＧＷ構成管理装内のテーブル構成（ＶＭのＶＲＲＰ設定後）を示す図である。
【図２４】図２４は、ＧＷの作成例を示す図である。
【図２５Ａ】図２５Ａは、ＧＷ構成管理装置内のテーブル構成（ＧＷの作成後）を示す第１の図である。
【図２５Ｂ】図２５Ｂは、ＧＷ構成管理装置内のテーブル構成（ＧＷの作成後）を示す第２の図である。
【図２６】図２６は、アプリの配備例を示す図である。
【図２７】図２７は、ＧＷ構成管理装置内のテーブル構成（アプリの配備後）を示す図である。
【図２８】図２８は、ＧＷの追加例を示す図である。
【図２９Ａ】図２９Ａは、ＧＷ構成管理装置内のテーブル構成（ＧＷの追加後）を示す第１の図である。
【図２９Ｂ】図２９Ｂは、ＧＷ構成管理装置内のテーブル構成（ＧＷの追加後）を示す第２の図である。
【図３０】図３０は、アプリの追加例を示す図である。
【図３１】図３１は、ＧＷ構成管理装置内のテーブル構成（アプリの追加後）を示す図である。
【図３２】図３２は、同一テナントの複数アプリの配備例を示す図である。
【図３３】図３３は、ＧＷ構成管理装置内のテーブル構成（アプリの配備後）を示す図である。
【図３４】図３４は、トンネル設定例を示す図である。
【図３５】図３５は、実施例に係るＧＷ構成管理プログラムを実行するコンピュータのハードウェア構成を示す図である。
【図３６】図３６は、ＰａａＳ環境とオンプレ環境の接続構成を示す図である。
【図３７】図３７は、アプリの記述を変更する必要がある理由を説明するための図である。
【図３８】図３８は、テナント毎にゲートウェイとなるＶＭを構築する場合を説明するための図である。
【発明を実施するための形態】
【００２０】
以下に、本願の開示する通信制御プログラム、通信制御方法及び通信制御装置の実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。
【実施例】
【００２１】
まず、実施例に係るハイブリッドクラウド型ＰａａＳシステムの構成について説明する。図１は、実施例に係るハイブリッドクラウド型ＰａａＳシステムの構成を示す図である。図１に示すように、実施例に係るハイブリッドクラウド型ＰａａＳシステム１は、ＰａａＳ環境１ａと２つのオンプレ環境１ｂを有する。ＰａａＳ環境１ａと２つのオンプレ環境１ｂはインターネット５で接続される。なお、図１では、異なるテナントの数が２であるため、２つのオンプレ環境１ｂを示すが、異なるテナントの数が３以上である場合には、ハイブリッドクラウド型ＰａａＳシステム１は、３以上のオンプレ環境１ｂを有する。
【００２２】
ＰａａＳ環境１ａは、クラウド上の環境であり、ＰａａＳを提供する。オンプレ環境１ｂは、テナントが有する情報処理環境である。図１は、テナントＡ用のオンプレ環境１ｂとテナントＢ用のオンプレ環境１ｂを示す。インターネット５で接続されたＰａａＳ環境１ａとオンプレ環境１ｂは、ハイブリッドクラウド型ＰａａＳを提供する。
【００２３】
ＰａａＳ環境１ａには、ＧＷ構成管理装置２と、ＶＭ＃１〜ＶＭ＃３で表される３台のＶＭ３と、ルータ４が含まれ、オンプレ環境１ｂには、オンプレＧＷ６とサーバ７が含まれる。
【００２４】
ＧＷ構成管理装置２は、ＰａａＳ環境１ａを管理するＰａａＳ管理装置８又はＰａａＳ環境１ａの運用者からの指示に基づいて、ＧＷの管理、ＶＭ３及びルータ４に設定する情報の管理等を行う装置である。ＧＷ構成管理装置２は、ＰａａＳ環境１ａとオンプレ環境１ｂとの間の通信を制御する通信制御装置として動作する。なお、ＧＷ構成管理装置２の詳細については後述する。
【００２５】
ＶＭ３は、情報処理を行う仮想マシンである。ＶＭ＃１ではアプリ＃１及びアプリ＃２で表されるアプリ３１が動作する。アプリ３１は、アプリケーションである。アプリ＃１は、テナントＡのアプリケーションであり、アプリ＃２は、テナントＢのアプリケーションである。
【００２６】
ＶＭ＃２ではＧＷ＃１及びＧＷ＃２で表されるＧＷ３２が動作する。ＧＷ３２は、トンネリング処理を行うゲートウェイである。ＶＭ＃３ではＧＷ＃３及びＧＷ＃４で表されるＧＷ３２が動作する。ＧＷ＃１及びＧＷ＃３は、テナントＡのためにトンネリング処理を行うゲートウェイであり、ＧＷ＃２及びＧＷ＃４は、テナントＢのためにトンネリング処理を行うゲートウェイである。すなわち、１台のＶＭ３に複数のテナントのＧＷ３２が作成される。したがって、ハイブリッドクラウド型ＰａａＳシステム１は、ゲートウェイが構築されるＶＭ３の数を削減することができる。
【００２７】
ＶＭ＃１側のルーティングでアプリ３１発の通信はＧＷ３２が集約されたＶＭ＃２経由に設定される。ＶＭ＃２内にＧＷ３２が集約されているので、アプリ＃１及びアプリ＃２の通信がＶＭ＃２経由となっても正しい通信が行われる。したがって、ハイブリッドクラウド型ＰａａＳシステム１は、アプリ３１の通信先の変更を不要とすることができる。
【００２８】
オンプレＧＷ６は、トンネリング処理を行う。サーバ７は、情報処理を行う装置である。テナントＡ用のサーバ７はサーバ＃１と表され、テナントＢ用のサーバ７はサーバ＃２と表される。サーバ＃１及びサーバ＃２のＩＰアドレスは１０．０．１．１であり同一である。サーバ７は、ＤＢ７１を有する。ＤＢ７１は、セキュリティリスクの点からクラウド上には格納できないデータを格納するデータベースである。
【００２９】
ルータ４は、ＧＷ３２から受信したパケットをインターネット５を介してオンプレＧＷ６に送信し、オンプレＧＷ６からインターネット５を介して受信したパケットをＧＷ３２に送信する。
【００３０】
図２は、ハイブリッドクラウド型ＰａａＳシステム１のトンネリング接続を説明するための図である。ハイブリッドクラウド型ＰａａＳシステム１では、ＶＲＲＰ（Virtual  Router  Redundancy  Protocol：仮想ルータ冗長プロトコル）等の冗長化プロトコルの制御により、片側のゲートウェイのみトンネル接続が行われる。図２では、ＶＭ＃２に構築されたＧＷ＃１とＧＷ＃２のみオンプレＧＷ６とのトンネル接続が行われる。したがって、ハイブリッドクラウド型ＰａａＳシステム１は、接続トンネルの数を減らすことができ、消費するグローバルＩＰアドレスの数を減らすことができる。
【００３１】
図３は、ＶＲＲＰを説明するための図である。図３は、ルータ＃１とルータ＃２をノードとし、ＶＲＲＰによりルータ＃１とルータ＃２が冗長化される場合を示す。図３に示すように、冗長化されたノードは、マスターとバックアップに分類される。マスターとバックアップには同じ仮想ＩＰアドレスが割り当てられる。図３では、仮想ＩＰアドレスとして１．１．１．１が割り当てられ、仮想ＭＡＣアドレス（Media  Access  Control  address）としてＡが割り当てられる。なお、仮想ＩＰアドレスは、図において仮想ＩＰと表される。
【００３２】
ホストは、仮想ＩＰアドレスを使用してルータと通信を行う。ホストのＡＲＰ（Address  Resolution  Protocol）要求に対してマスターノードのみが応答することで、Ｌ２スイッチはマスターノード宛ての経路Ｐ＃１を学習し、ＦＤＢ（Forwarding  DataBase）に登録する。ホストが仮想ＩＰアドレスを使用してルータにデータを送信すると、Ｌ２スイッチはマスターノードに対してデータを転送する。図２において、アプリ＃１及びアプリ＃２から送信されたパケットは、ルーティング情報に基づいて、マスターノードであるＶＭ＃２に転送される。
【００３３】
図４は、ゲートウェイの冗長化構成を説明するための図である。図４に示すように、ハイブリッドクラウド型ＰａａＳシステム１は、ＧＷ３２間でＶＲＲＰを使用する。アプリ３１とＧＷ３２の間ではＶＭ３単位で冗長化が行われる。すなわち、ＶＭ＃２及びＶＭ＃３のアプリ３１側の仮想インタフェース３３ａであるｅｔｈ＃０にＶＲＲＰにより同じ仮想ＩＰアドレスが割り当てられる。図４では、ｅｔｈ＃０の仮想ＩＰアドレスは、１９２．１６８．０．１１である。
【００３４】
一方、ＧＷ３２とルータ４の間ではＧＷ３２単位で冗長化が行われる。すなわち、ＧＷ＃１のルータ４側の仮想インタフェース３３ａであるｅｔｈ＃１．１及びＧＷ＃３のルータ４側の仮想インタフェース３３ａであるｅｔｈ＃１．３にＶＲＲＰによりテナントＡ用の同じ仮想ＩＰアドレスが割り当てられる。図４では、ｅｔｈ＃１．１及びｅｔｈ＃１．３の仮想ＩＰアドレスは、１９２．１６８．１．１１である。ＧＷ＃２のルータ４側の仮想インタフェース３３ａであるｅｔｈ＃１．２及びＧＷ＃４のルータ４側の仮想インタフェース３３ａであるｅｔｈ＃１．４にＶＲＲＰによりテナントＢ用の同じ仮想ＩＰアドレスが割り当てられる。図４では、ｅｔｈ＃１．２及びｅｔｈ＃１．４の仮想ＩＰアドレスは、１９２．１６８．１．１２である。
【００３５】
図５は、アプリ３１とＧＷ３２との間の接続を説明するための図である。図５に示すように、アプリ３１が配備されたＶＭ＃１では、テナント毎に作成された仮想インタフェース３３ａに、ＳＮＡＴ（Source  Network  Address  Translation）で変換される仮想ＩＰアドレスが設定される。図５では、テナントＡ用の仮想インタフェース３３ａに１９２．１６８．０．３が設定され、テナントＢ用の仮想インタフェース３３ａに１９２．１６８．０．４が設定される。
【００３６】
設定された仮想ＩＰアドレスをＮＡＴテーブル３５に変換後の送信元アドレスとして登録される。したがって、アプリ３１がオンプレネットワーク宛てに送信するパケットの送信元ＩＰアドレスは、アプリ＃１では１９２．１６８．０．３であり、アプリ＃２では１９２．１６８．０．４である。
【００３７】
また、ＶＭ＃１では、オンプレネットワーク宛て通信の中継先のＶＭアドレスとして、ＶＭ＃２及びＶＭ＃３に設定された仮想ＩＰアドレスがルーティングテーブル３６に登録される。図５では、１９２．１６８．０．１１がオンプレネットワークに対応づけてルーティングテーブル３６に登録される。通信を中継するＶＭ３はＶＲＲＰにより制御される。図５では、ＶＭ＃２がマスターノードとして動作し、アプリ３１がオンプレネットワーク宛てに送信したパケットは、ＶＭ＃２に転送される。
【００３８】
ＶＭ＃２では、送信元ＩＰアドレスに対応する振り分け先ＧＷ３２が振り分けルールテーブル３７に登録され、送信元ＩＰアドレスから振り分け先のＧＷ３２が決定される。図５では、送信元ＩＰアドレスが１９２．１６８．０．３のパケットはＧＷ＃１に振り分けられ、送信元ＩＰアドレスが１９２．１６８．０．４のパケットはＧＷ＃２に振り分けられる。
【００３９】
図６は、ＧＷ３２とインターネット５との間の接続を説明するための図である。図６に示すように、ルータ４は、ＮＡＴテーブル４２を用いてプライベートＩＰアドレスとグローバルＩＰアドレスの変換を行う。
【００４０】
例えば、ルータ４は、宛先ＩＰアドレスが１．１．１．１であるパケットをインターネット５から受信すると、ＮＡＴテーブル４２を参照し、宛先ＩＰアドレスを１９２．１６８．１．１１に変換してＧＷ＃１に送信する。また、ルータ４は、送信元ＩＰアドレスが１９２．１６８．１．１２であるパケットをＧＷ＃２から受信すると、ＮＡＴテーブル４２を参照し、送信元ＩＰアドレスを１．１．１．２に変換してインターネット５に送信する。
【００４１】
図７は、ＧＷ３２とオンプレＧＷ６との間のトンネリング接続を説明するための図である。図７に示すように、テナントＡ用のトンネル＃１では、オンプレＧＷ６の接続先のＩＰアドレスは、テナントＡ用のＧＷ＃１及びＧＷ＃３の仮想ＩＰアドレス（１９２．１６８．１．１１）に対応するグローバルＩＰアドレス（１．１．１．１）である。また、テナントＢ用のトンネル＃２では、オンプレＧＷ６の接続先のＩＰアドレスは、テナントＢ用のＧＷ＃２及びＧＷ＃４の仮想ＩＰアドレス（１９２．１６８．１．１２）に対応するグローバルＩＰアドレス（１．１．１．２）である。
【００４２】
次に、パケットのアドレス変換の流れ及び関連する処理について図８〜図１１Ｂを用いて説明する。図８は、パケットのアドレス変換の流れ（アプリ３１→ＤＢ７１）を示す図である。なお、ＳＡポートは送信元のポート番号であり、ＤＡポートは送信先のポート番号であり、ＳＡ  ＩＰは送信元のＩＰアドレスであり、ＤＡ  ＩＰは送信先のＩＰアドレスである。
【００４３】
図８に示すように、アプリ＃１からＶＭ＃１へ送信されるパケット（１）では、ＳＡ  ＩＰは、アプリ＃１のコンテナに設定されたＩＰアドレスである１０．０．０．１である。ここで、コンテナとは、アプリ３１を実行する環境である。また、ＤＡ  ＩＰは、サーバ＃１に設定されたＩＰアドレスである１０．０．１．１である。
【００４４】
そして、ＶＭ＃１からＧＷ３２に送信されるパケット（２）では、ＶＭ＃１のＮＡＴテーブル３５に基づいて、ＳＡ  ＩＰがＶＭ＃１の仮想インタフェース３３ａに設定された仮想ＩＰアドレスである１９２．１６８．０．２１にＶＭ＃１によって変換される。
【００４５】
そして、ＧＷ３２からルータ４に送信されるパケット（３）では、トンネルヘッダ、トンネルＳＡ  ＩＰ及びトンネルＤＡ  ＩＰがＧＷ３２によって付加される。トンネルＳＡ  ＩＰは、ＧＷ＃１及びＧＷ＃３に設定された仮想ＩＰアドレスである１９２．１６８．１．１１である。トンネルＤＡ  ＩＰは、オンプレＧＷ６に設定されたグローバルＩＰアドレスである２．１．１．１である。
【００４６】
そして、ルータ４からオンプレＧＷ６に送信するパケット（４）では、ルータ４のＮＡＴテーブル４２に基づいて、トンネルＳＡ  ＩＰがグローバルＩＰアドレスの１．１．１．１にルータ４によって変換される。
【００４７】
そして、オンプレＧＷ６からＤＢ７１に送信されるパケット（５）では、トンネルヘッダ、トンネルＳＡ  ＩＰ及びトンネルＤＡ  ＩＰがオンプレＧＷ６によって取り除かれる。
【００４８】
図９Ａ及び図９Ｂは、パケットに対する処理（アプリ３１→ＤＢ７１）を説明するための図である。図９Ａに示すように、ＶＭ＃１は、ＮＡＴテーブル３５を参照し、アプリ＃１から送信されたパケットの送信元ＩＰアドレスを１９２．１６８．０．２１に変換する（１）。変換されたパケットは図８の（２）に示したパケットである。そして、ＶＭ＃１は、ルーティングテーブル３６を参照し、１９２．１６８．０．１１宛てにパケットを送信する（２）。
【００４９】
そして、１９２．１６８．０．１１宛てのパケットをマスターノードであるＶＭ＃２が受信する（３）。パケットを受信したＶＭ＃２は、振り分けルールテーブル３７を参照し、ＧＷ＃１宛てにパケットを送信する（４）。
【００５０】
パケットを受信したＧＷ＃１は、ルーティングテーブル３８を参照し、２．１．１．１宛てにパケットを送信と特定する（５）。そして、ＧＷ＃１は、トンネルでカプセル化を行う（６）。カプセル化されたパケットは図８の（３）に示したパケットである。そして、ＧＷ＃１は、ルータ４宛てにパケットを送信する（７）。
【００５１】
パケットを受信したルータ４は、ＮＡＴテーブル４２を参照し、トンネルの送信元ＩＰアドレスを１．１．１．１に変換する（８）。変換されたパケットは図８の（４）に示したパケットである。そして、ルータ４は、オンプレＧＷ６宛てにパケットを送信する（９）。
【００５２】
パケットを受信したオンプレＧＷ６は、図９Ｂに示すように、パケットのデカプセル化を行う（１０）。デカプセル化されたパケットは図８の（５）に示したパケットである。そして、オンプレＧＷ６は、サーバ＃１宛てにパケットを送信する（１１）。
【００５３】
図１０は、パケットのアドレス変換の流れ（ＤＢ７１→アプリ３１）を示す図である。図１０に示すように、ＤＢ７１からオンプレＧＷ６へ送信されるパケット（１）では、ＳＡ  ＩＰは、サーバ＃１に設定されたＩＰアドレスである１０．０．１．１である。また、ＤＡ  ＩＰは、ＶＭ＃１の仮想インタフェース３３ａに設定された仮想ＩＰアドレスである１９２．１６８．０．２１である。
【００５４】
そして、オンプレＧＷ６からルータ４に送信されるパケット（２）では、トンネルヘッダ、トンネルＳＡ  ＩＰ及びトンネルＤＡ  ＩＰがオンプレＧＷ６によって付加される。トンネルＳＡ  ＩＰは、オンプレＧＷ６に設定されたグローバルＩＰアドレスである２．１．１．１である。トンネルＤＡ  ＩＰは、ルータ４に設定されたグローバルＩＰアドレスである１．１．１．１である。
【００５５】
そして、ルータ４からＧＷ＃１に送信されるパケット（３）では、ルータ４のＮＡＴテーブル４２に基づいて、トンネルＤＡ  ＩＰがプライベートＩＰアドレスの１９２．１６８．１．１１にルータ４によって変換される。
【００５６】
そして、ＧＷ＃１からＶＭ＃１に送信されるパケット（４）では、トンネルヘッダ、トンネルＳＡ  ＩＰ及びトンネルＤＡ  ＩＰがＧＷ＃１によって取り除かれる。
【００５７】
そして、ＶＭ＃１からアプリ＃１に送信されるパケット（５）では、ＶＭ＃１のＮＡＴテーブル３５に基づいて、ＤＡ  ＩＰがアプリ＃１のコンテナに設定されたＩＰアドレスである１０．０．０．１にＶＭ＃１によって変換される。
【００５８】
図１１Ａ及び図１１Ｂは、パケットに対する処理（ＤＢ７１→アプリ３１）を説明するための図である。図１１Ａに示すように、オンプレＧＷ６は、ルーティングテーブル６ａを参照し、１．１．１．１宛てにパケットを送信と特定する（１）。そして、オンプレＧＷ６は、トンネルでカプセル化を行う（２）。カプセル化されたパケットは図１０の（２）に示したパケットである。そして、オンプレＧＷ６は、ルータ４宛てにパケットを送信する（３）。
【００５９】
パケットを受信したルータ４は、図１１Ｂに示すように、ＮＡＴテーブル４２を参照し、送信先ＩＰアドレスを１９２．１６８．１．１１に変換する（４）。変換されたパケットは図１０の（３）に示したパケットである。そして、ルータ４は、１９２．１６８．１．１１宛てにパケットを送信する（５）。
【００６０】
そして、１９２．１６８．１．１１宛てのパケットをマスターノードであるＧＷ＃１が受信する（６）。そして、ＧＷ＃１は、パケットのデカプセル化を行う（７）。デカプセル化されたパケットは図１０の（４）に示したパケットである。そして、ＧＷ＃１は、ＶＭ＃１宛てにパケットを送信する（８）。
【００６１】
パケットを受信したＶＭ＃１は、ＮＡＴテーブル３５を参照し、送信先ＩＰアドレスを１０．０．０．１に変換する（９）。変換されたパケットは図１０の（５）に示したパケットである。そして、ＶＭ＃１は、アプリ＃１宛てにパケットを送信する（１０）。
【００６２】
次に、ＧＷ構成管理装置２の機能構成について説明する。図１２は、ＧＷ構成管理装置２の機能構成を示す図である。図１２に示すように、ＧＷ構成管理装置２は、ＧＷ作成部２１と、冗長化管理テーブル２２と、ルータ設定部２３と、ネットワーク管理テーブル２４と、ＧＷルーティング設定部２５と、ＮＡＴルール設定部２６と、配備ＶＭ管理テーブル２７とを有する。また、ＧＷ構成管理装置２は、振り分けルール設定部２８と、振り分けルール管理テーブル２９と、ＩＰアドレス一覧テーブル３０とを有する。
【００６３】
ＧＷ作成部２１は、ＰａａＳ管理装置８又は運用者からＶＭ３についての冗長構成作成要求を受け付けて、ＧＷ３２が作成されるＶＭ３の冗長構成を作成し、作成したＶＭ３に関する情報を冗長管理テーブル２２に登録する。ここで、冗長構成作成要求とは、ＧＷ３２用に冗長化構成のＶＭ３を作成する要求である。
【００６４】
また、ＧＷ作成部２１は、ＰａａＳ管理装置８又は運用者からＧＷ作成要求を受け付けて、ＧＷ３２を作成するとともに冗長化の設定を行う。具体的には、ＧＷ作成部２１は、ＧＷ３２をＶＲＲＰにより冗長化してマスターＧＷ３２及びバックアップＧＷ３２に仮想ＩＰアドレスを設定する。そして、ＧＷ作成部２１は、マスターＧＷ３２及びバックアップＧＷ３２に設定された仮想ＩＰアドレスをグローバルＩＰアドレスに変換するＮＡＴルールを作成する。また、ＧＷ作成部２１は、ＧＷ用ＶＭ３を冗長化して仮想ＩＰアドレスを設定し、設定した仮想ＩＰアドレスをアプリ用ＶＭ３のルーティング情報の転送先とする。そして、ＧＷ作成部２１は、作成したＧＷ３２に関する情報を用いて冗長化管理テーブル２２を更新する。
【００６５】
冗長化管理テーブル２２は、冗長構成のＶＭ３及びＧＷ３２に関する情報が登録されるテーブルである。図１３は、冗長化管理テーブル２２の一例を示す図である。図１３に示すように、冗長化管理テーブル２２には、マスターＶＭ名と、マスターＧＷ名と、バックアップＶＭ名と、バックアップＧＷ名と、仮想ＩＰが対応づけて登録される。
【００６６】
マスターＶＭ名は、マスターとして動作するＶＭ３の名前である。マスターＧＷ名は、マスターＶＭ３に作成されるＧＷ３２の名前である。バックアップＶＭ名は、バックアップとして動作するＶＭ３の名前である。バックアップＧＷ名は、バックアップＶＭ３に作成されるＧＷ３２の名前である。仮想ＩＰは、マスターＶＭ３とバックアップＶＭの組又はマスターＧＷ３２とバックアップＧＷ３２の組に設定される仮想ＩＰアドレスである。
【００６７】
例えば、マスターとして動作するＶＭ＃２とバックアップとして動作するＶＭ＃３の組に設定される仮想ＩＰアドレスは、１９２．１６８．０．１１である。また、マスターとしてＶＭ＃２で動作するＧＷ＃１とバックアップとしてＶＭ＃３で動作するＧＷ＃３の組に設定される仮想ＩＰアドレスは、１９２．１６８．１．１１である。
【００６８】
ルータ設定部２３は、ＧＷ作成部２１により作成されたＮＡＴルールをルータ４のＮＡＴテーブル４２に設定する。
【００６９】
ネットワーク管理テーブル２４は、テナントのネットワークが登録されたテーブルである。図１４は、ネットワーク管理テーブル２４の一例を示す図である。図１４に示すように、ネットワーク管理テーブル２４には、テナント名とネットワークアドレスが対応付けて登録される。テナント名は、テナントの名前である。ネットワークアドレスは、オンプレ環境１ｂのＩＰアドレスとサブネットマスクである。例えば、テナントＡのオンプレ環境１ｂのＩＰアドレスとサブネットマスクは、１０．０．１．０／２４である。
【００７０】
ＧＷルーティング設定部２５は、アプリ用ＶＭ３すなわちアプリ３１が配備されるＶＭ３のルーティング情報を作成し、アプリ用ＶＭ３のルーティングテーブル３６に設定する。ＧＷルーティング設定部２５は、ネットワーク管理テーブル２４に登録されたネットワークアドレスを用いてルーティング情報を作成する。
【００７１】
ＮＡＴルール設定部２６は、アプリ用ＶＭ３にテナント毎に仮想インタフェース３３ａを作成し、仮想ＩＰアドレスを設定する。そして、ＮＡＴルール設定部２６は、設定した仮想ＩＰアドレスを用いてアプリ用ＶＭ３のＳＮＡＴルールを作成し、配備ＶＭ管理テーブル２７に登録する。また、ＮＡＴルール設定部２６は、作成したＳＮＡＴルールをアプリ用ＶＭ３のＮＡＴテーブル３５に設定する。
【００７２】
配備ＶＭ管理テーブル２７は、アプリ用ＶＭ３に配備されるアプリ３１及びアプリ用ＶＭ３に設定されるＳＮＡＴルールが登録されるテーブルである。図１５は、配備ＶＭ管理テーブル２７の一例を示す図である。図１５に示すように、配備ＶＭ管理テーブル２７には、ＶＭ名と、テナント名及びアプリ名と、ＳＮＡＴルールが対応付けて登録される。
【００７３】
ＶＭ名は、アプリ３１が配備されるＶＭ３の名前である。テナント名及びアプリ名は、ＶＭ３で実行されるアプリ３１のテナントの名前及びアプリ３１の名前である。ＳＮＡＴルールは、ＶＭ３に設定されるＳＮＡＴのルールである。例えば、ＶＭ＃１にテナントＡのアプリ＃１が配備され、アプリ＃１が送信したパケットの送信元ＩＰアドレスは、１０．０．０．１から１９２．１６８．０．３に変換される。
【００７４】
振り分けルール設定部２８は、ＧＷ用ＶＭ３すなわちＧＷ３２が作成されるＶＭ３の振り分けルールを作成し、振り分けルール管理テーブル２９に登録する。また、振り分けルール設定部２８は、作成した振り分けルールをＧＷ用ＶＭ３の振り分けルールテーブル３７に設定する。
【００７５】
振り分けルール管理テーブル２９は、振り分けルール設定部２８が振り分けルールを管理するためのテーブルである。図１６は、振り分けルール管理テーブル２９の一例を示す図である。図１６に示すように、振り分けルール管理テーブル２９には、ＶＭ名と、テナント名と、振り分けルールが対応付けて登録される。
【００７６】
ＶＭ名は、振り分けルールが設定されるＶＭ３の名前である。テナント名は、振り分けルールが適用されるテナントの名前である。振り分けルールは、送信元ＩＰアドレスが送信元ＩＰに示されるパケットの振り分け先のＧＷ３２を示すルールである。例えば、送信元ＩＰアドレスが１９２．１６８．０．３であるテナントＡのパケットを受け取ったＶＭ＃２は、パケットをＧＷ＃１に振り分ける。
【００７７】
ＩＰアドレス一覧テーブル３０は、インタフェース３３又は仮想インタフェース３３ａに設定されたＩＰアドレス又は仮想ＩＰアドレスが登録されるテーブルである。図１７は、ＩＰアドレス一覧テーブル３０の一例を示す図である。図１７に示すように、ＩＰアドレス一覧テーブル３０には、ホスト名と、ＩＦと、ＩＰアドレスが対応付けて登録される。
【００７８】
ホスト名は、インタフェース３３又は仮想インタフェース３３ａが作成されたＶＭ３の名前である。ＩＦは、インタフェース３３又は仮想インタフェース３３ａの名前である。ＩＰアドレスは、インタフェース３３に設定されたＩＰアドレス及びサブネットマスク、又は、仮想インタフェース３３ａに設定された仮想ＩＰアドレス及びサブネットマスクである。例えば、ｅｔｈ＃０はＶＭ＃１に作成されたインタフェースであり、ＩＰアドレスとサブネットマスクは、１９２．１６８．０．１／２４である。
【００７９】
次に、ＧＷ作成要求及び冗長構成作成要求に対する処理のフローについて説明する。図１８は、ＧＷ作成要求及び冗長構成作成要求に対する処理のフローを示すフローチャートである。図１８に示すように、ＧＷ作成部２１は、作成要求を受信し（ステップＳ１）、受信した作成要求がＧＷ作成要求であるか否かを判定する（ステップＳ２）。ここで、作成要求は、ＧＷ作成要求か冗長構成作成要求のいずれかである。
【００８０】
そして、ＧＷ作成部２１は、受信した作成要求がＧＷ作成要求でない場合には、マスターＶＭ３及びバックアップＶＭ３を決定する（ステップＳ３）。なお、マスターＶＭ３及びバックアップＶＭ３は作成要求内で指定される。そして、ＧＷ作成部２１は、マスターＶＭ３及びバックアップＶＭ３に設定する仮想ＩＰアドレスを決定し（ステップＳ４）、マスターＶＭ３、バックアップＶＭ３及び仮想ＩＰアドレスを冗長化管理テーブル２２へ登録する（ステップＳ５）。そして、ＧＷ作成部２１は、ＧＷ用ＶＭ３に対する冗長化設定を行い（ステップＳ６）、ステップＳ１に戻る。
【００８１】
一方、受信した作成要求がＧＷ作成要求である場合には、ＧＷ作成部２１は、ＧＷ作成用ＶＭ３を決定する（ステップＳ７）。なお、ＧＷ作成用ＶＭ３は、作成要求内で指定される。そして、ＧＷ作成部２１は、ＧＷ３２用の仮想ＩＰアドレスを決定する（ステップＳ８）。ＧＷ３２用の仮想ＩＰアドレスは、ＧＷ３２内で未使用のアドレスが用いられる。そして、ＧＷ作成部２１は、マスターＧＷ３２、バックアップＧＷ３２及び仮想ＩＰアドレスを冗長化管理テーブル２２へ登録する（ステップＳ９）。
【００８２】
そして、ＧＷ作成部２１は、マスターＧＷ３２及びバックアップＧＷ３２をそれぞれマスターＶＭ３及びバックアップＶＭ３に作成し、冗長化設定を行う（ステップＳ１０）。そして、ルータ設定部２３が、ルータ４のＮＡＴテーブル４２を設定し（ステップＳ１１）、ステップＳ１に戻る。
【００８３】
このように、ＧＷ作成部２１は、マスターＧＷ３２及びバックアップＧＷ３２をそれぞれマスターＶＭ３及びバックアップＶＭ３に作成し、冗長化設定を行うことで、ＧＷ３２の冗長化構成を実現することができる。
【００８４】
次に、アプリ配備要求に対する処理のフローについて説明する。図１９は、アプリ配備要求に対する処理のフローを示すフローチャートである。図１９に示すように、ＮＡＴルール設定部２６は、アプリ配備要求を受信し（ステップＳ２１）、同一テナントのアプリ３１が配備ＶＭ３上に既に存在するか否かを判定する（ステップＳ２２）。
【００８５】
そして、同一テナントのアプリ３１が配備ＶＭ３上に既に存在する場合には、ＮＡＴルール設定部２６は、変換ＩＰアドレスを決定する（ステップＳ２３）。変換ＩＰアドレスは、同一テナントのアプリ３１と同じアドレスである。そして、ＮＡＴルール設定部２６は、アプリ用ＶＭ３のＳＮＡＴルールを配備ＶＭ管理テーブル２７に登録し（ステップＳ２４）、アプリ用ＶＭ３のＳＮＡＴルールをアプリ用ＶＭ３のＮＡＴテーブル３５に設定する（ステップＳ２５）。そして、ＮＡＴルール設定部２６は、ステップＳ２１に戻る。
【００８６】
一方、同一テナントのアプリ３１が配備ＶＭ３上に存在しない場合には、ＮＡＴルール設定部２６は、変換ＩＰアドレスを決定する（ステップＳ２６）。変換ＩＰアドレスは、変換アドレス内で未使用のアドレスである。そして、ＮＡＴルール設定部２６は、アプリ用ＶＭ３のＳＮＡＴルールを配備ＶＭ管理テーブル２７に登録する（ステップＳ２７）。そして、ＮＡＴルール設定部２６は、アプリ用ＶＭ３のＳＮＡＴルールをアプリ用ＶＭ３のＮＡＴテーブル３５に設定する（ステップＳ２８）。
【００８７】
そして、ＧＷ構成管理装置２は、アプリ用ＶＭ３にＧＷ３２のルーティング情報が登録済か否かを判定し、登録済の場合には、ステップＳ２１に戻る。一方、登録済でない場合には、ＧＷルーティング設定部２５が、アプリ用ＶＭ３のＧＷ３２のルーティング情報を設定し（ステップＳ３０）、ステップＳ２１に戻る。
【００８８】
また、ステップＳ２８〜ステップＳ３０の処理と並行して、振り分けルール設定部２８が、ＧＷ３２の振り分けルールを振り分けルール管理テーブル２９に登録し（ステップＳ３１）、ＧＷ３２に振り分けルールを設定する（ステップＳ３２）。そして、ＧＷ構成管理装置２は、ステップＳ２１に戻る。
【００８９】
このように、ＧＷ構成管理装置２が、アプリ用ＶＭ３にＳＮＡＴルール及びルーティング情報を設定し、ＧＷ用ＶＭ３に振り分けルールを設定することで、アプリ３１から送信されたパケットが、適切なＧＷ３２に振り分けられる。
【００９０】
次に、ＧＷ３２の構築例について図２０〜図２５Ｂを用いて説明する。図２０は、初期構成を示す図である。図２０に示すように、初期状態では、ＶＭ＃１のＮＡＴテーブル３５及びルーティングテーブル３６、ＶＭ＃２及びＶＭ＃３の振り分けテーブル３７、及び、ルータ４のＮＡＴテーブル４２には何も登録されていない。
【００９１】
図２１は、ＧＷ構成管理装置２内のテーブル構成（初期状態）を示す図である。図２１に示すように、初期状態では、冗長化管理テーブル２２、ネットワーク管理テーブル２４、配備ＶＭ管理テーブル２７及び振り分けルール管理テーブル２９には何も登録されていない。また、ＩＰアドレス一覧テーブル３０には、ＶＭ＃１〜ＶＭ＃３及びルータ４のインタフェース３３のＩＰアドレスとサブネットマスクが登録されている。
【００９２】
図２２は、ＧＷ用ＶＭ３のＶＲＲＰ設定例を示す図であり、図２３は、ＧＷ構成管理装置２内のテーブル構成（ＶＭ３のＶＲＲＰ設定後）を示す図である。図２２に示すように、ＧＷ構成管理装置２に、例えば運用者から、冗長構成作成要求が通知される。すると、ＧＷ構成管理装置２は、冗長化管理テーブル２２を更新し、ＶＭ＃２とＶＭ＃３に対し、ＶＲＲＰの設定を行う。
【００９３】
図２３に示すように、冗長化管理テーブル２２には、マスターＶＭ３としてＶＭ＃２が登録され、バックアップＶＭ３としてＶＭ＃３が登録され、仮想ＩＰアドレスとして１９２．１６８．０．１１が登録される。
【００９４】
図２４は、ＧＷの作成例を示す図であり、図２５Ａ及び図２５Ｂは、ＧＷ構成管理装置２内のテーブル構成（ＧＷ３２の作成後）を示す図である。図２４に示すように、ＧＷ構成管理装置２は、例えば運用者から、テナントＡ用のＧＷ作成要求が通知されると、冗長化管理テーブル２２、ＩＰアドレス一覧テーブル３０、振り分けルール管理テーブル２９及びネットワーク管理テーブル２４を更新する。
【００９５】
また、ＧＷ構成管理装置２は、ＧＷ＃１とＧＷ＃３を作成し、ＶＲＲＰの設定を行う。また、ＧＷ構成管理装置２は、ルータ４のＮＡＴルールの設定を行う。図２４では、プライベートＩＰの１９２．１６８．０．１１がグローバルＩＰの１．１．１．２に変換されるＮＡＴルールがルータ４に設定される。
【００９６】
また、図２５Ａに示すように、冗長化管理テーブル２２には、マスターＶＭ３及びマスターＧＷ３２としてＶＭ＃２及びＧＷ＃１が登録され、バックアップＶＭ３及びバックアップＧＷ３２としてＶＭ＃３及びＧＷ＃３が登録される。また、仮想ＩＰアドレスとして１９２．１６８．１．１１が登録される。また、ネットワーク管理テーブル２４には、テナントＡのオンプレ環境１ｂのＩＰアドレスとサブネットマスクとして、１０．０．１．０／２４が登録される。
【００９７】
また、図２５Ｂに示すように、ＩＰアドレス一覧テーブル３０には、ホストとしてＧＷ＃１が登録され、インタフェースとしてｅｔｈ＃０が登録され、ＩＰアドレスとサブネットマスクとして１９２．１６８．１．１２／２４が登録される。また、ＩＰアドレス一覧テーブル３０には、ホストとしてＧＷ＃３が登録され、インタフェースとしてｅｔｈ＃０が登録され、ＩＰアドレスとサブネットマスクとして１９２．１６８．１．１３／２４が登録される。また、振り分けルール管理テーブル２９には、ＶＭ＃２において、テナントＡの振り分け先がＧＷ＃１であり、ＶＭ＃３において、テナントＡの振り分け先がＧＷ＃３であることが登録される。
【００９８】
次に、アプリの配備例について図２６及び図２７を用いて説明する。図２６は、アプリの配備例を示す図であり、図２７は、ＧＷ構成管理装置２内のテーブル構成（アプリ３１の配備後）を示す図である。図２６に示すように、ＧＷ構成管理装置２は、例えば運用者から、アプリ配備要求が通知されると、配備ＶＭ管理テーブル２７、ＩＰアドレス一覧テーブル３０及び振り分けルール管理テーブル２９を更新する。
【００９９】
また、ＧＷ構成管理装置２は、ＶＭ＃１のＳＮＡＴルールとルーティング情報を設定し、ＶＭ＃２とＶＭ＃３の振り分けルールを設定する。図２６では、送信元ＩＰアドレスを１０．０．０．１から１９２．１６８．０．２１に変換するＳＮＡＴルールがＮＡＴテーブル３５に追加される。また、送信先のＩＰアドレスが１０．０．１．０／２４であるパケットを１９２．１６８．０．１１に転送するルーティング情報がルーティングテーブル３６に追加される。
【０１００】
また、送信元ＩＰアドレスが１９２．１６８．０．２１であるパケットをＧＷ＃１に振り分ける振り分けルールがＶＭ＃２の振り分けルールテーブル３７に追加される。また、送信元ＩＰアドレスが１９２．１６８．０．２１であるパケットをＧＷ＃３に振り分ける振り分けルールがＶＭ＃３の振り分けルールテーブル３７に追加される。
【０１０１】
また、図２７に示すように、配備ＶＭ管理テーブル２７には、ＶＭ＃１にテナントＡのアプリ＃１が配備されたことがＳＮＡＴルールとともに追加される。また、ＩＰアドレス一覧テーブル３０には、ＶＭ＃１に仮想インタフェース３３ａであるｅｔｈ＃０．１が追加される。ｅｔｈ＃０．１に設定される仮想ＩＰアドレスは、１９２．１６８．０．２１である。また、振り分けルール管理テーブル２９には、テナントＡに関して、ＶＭ＃２及びＶＭ＃３の振り分けルールテーブル３７に追加された振り分けルールが追加される。
【０１０２】
次に、別テナントのＧＷ３２とアプリ３１の追加例について図２８〜図３１を用いて説明する。図２８は、ＧＷ３２の追加例を示す図であり、図２９Ａ及び図２９Ｂは、ＧＷ構成管理装置２内のテーブル構成（ＧＷ３２の追加後）を示す図である。図２８に示すように、ＧＷ構成管理装置２は、例えば運用者から、テナントＢ用のＧＷ作成要求が通知されると、冗長化管理テーブル２２、ＩＰアドレス一覧テーブル３０、振り分けルール管理テーブル２９及びネットワーク管理テーブル２４を更新する。
【０１０３】
また、ＧＷ構成管理装置２は、ＧＷ＃２とＧＷ＃４を作成し、ＶＲＲＰの設定を行う。また、ＧＷ構成管理装置２は、ルータ４のＮＡＴルールの設定を行う。図２８では、プライベートＩＰの１９２．１６８．０．１２がグローバルＩＰの１．１．１．３に変換されるＮＡＴルールがルータ４に設定される。
【０１０４】
また、図２９Ａに示すように、冗長化管理テーブル２２には、マスターＶＭ３及びマスターＧＷ３２としてＶＭ＃２及びＧＷ＃２が登録され、バックアップＶＭ３及びバックアップＧＷ３２としてＶＭ＃３及びＧＷ＃４が登録される。また、仮想ＩＰアドレスとして１９２．１６８．１．１２が登録される。また、ネットワーク管理テーブル２４には、テナントＢのオンプレ環境１ｂのＩＰアドレスとサブネットマスクとして、１０．０．１．０／２４が登録される。
【０１０５】
また、図２９Ｂに示すように、ＩＰアドレス一覧テーブル３０には、ホストとしてＧＷ＃２が登録され、インタフェースとしてｅｔｈ＃０が登録され、ＩＰアドレスとサブネットマスクとして１９２．１６８．１．１４／２４が登録される。また、ＩＰアドレス一覧テーブル３０には、ホストとしてＧＷ＃４が登録され、インタフェースとしてｅｔｈ＃０が登録され、ＩＰアドレスとサブネットマスクとして１９２．１６８．１．１５／２４が登録される。また、振り分けルール管理テーブル２９には、ＶＭ＃２において、テナントＢの振り分け先がＧＷ＃２であり、ＶＭ＃３において、テナントＢの振り分け先がＧＷ＃４であることが登録される。
【０１０６】
図３０は、アプリの追加例を示す図であり、図３１は、ＧＷ構成管理装置２内のテーブル構成（アプリ３１の追加後）を示す図である。図３０に示すように、ＧＷ構成管理装置２は、例えば運用者から、テナントＢ用のアプリ＃２の配備要求が通知されると、配備ＶＭ管理テーブル２７、ＩＰアドレス一覧テーブル３０及び振り分けルール管理テーブル２９を更新する。
【０１０７】
また、ＧＷ構成管理装置２は、ＶＭ＃１のＳＮＡＴルールの設定を仮想インタフェース３３ａの作成及び仮想ＩＰアドレスの設定も含めて行い、ＶＭ＃２とＶＭ＃３の振り分けルールを設定する。図３０では、送信元ＩＰアドレスを１０．０．１．１から１９２．１６８．０．２２に変換するＳＮＡＴルールがＮＡＴテーブル３５に追加される。
【０１０８】
また、送信元ＩＰアドレスが１９２．１６８．０．２２であるパケットをＧＷ＃２に振り分ける振り分けルールがＶＭ＃２の振り分けルールテーブル３７に追加される。また、送信元ＩＰアドレスが１９２．１６８．０．２２であるパケットをＧＷ＃４に振り分ける振り分けルールがＶＭ＃３の振り分けルールテーブル３７に追加される。
【０１０９】
また、図３１に示すように、配備ＶＭ管理テーブル２７には、ＶＭ＃１にテナントＢのアプリ＃２が配備されたことがＳＮＡＴルールとともに追加される。また、ＩＰアドレス一覧テーブル３０には、ＶＭ＃１に仮想インタフェース３３ａであるｅｔｈ＃０．２が追加される。ｅｔｈ＃０．２に設定される仮想ＩＰアドレスは、１９２．１６８．０．２２である。また、振り分けルール管理テーブル２９には、テナントＢに関して、ＶＭ＃２及びＶＭ＃３の振り分けルールテーブル３７に追加された振り分けルールが追加される。
【０１１０】
次に、同一テナントの複数アプリ３１の配備例について図３２及び図３３を用いて説明する。図３２は、同一テナントの複数アプリ３１の配備例を示す図であり、図３３は、ＧＷ構成管理装置２内のテーブル構成（アプリ３１の配備後）を示す図である。図３２に示すように、ＧＷ構成管理装置２は、例えば運用者から、テナントＡ用のアプリ＃３のアプリ配備要求が通知されると、配備ＶＭ管理テーブル２７を更新する。なお、ルーティング設定は、既にテナントＡのオンプレ環境１ｂのネットワークが設定済みなので、不要である。
【０１１１】
また、図３３に示すように、配備ＶＭ管理テーブル２７には、ＶＭ＃１にテナントＡのアプリ＃３が配備されたことがＳＮＡＴルールとともに追加される。なお、ＳＮＡＴルールの変換後の送信元ＩＰアドレスは、ＶＭ＃１上にテナントＡのアプリ＃１が配備済みのため、テナントＡで変換時に使用されている１９２．１６８．０．２１が選択される。
【０１１２】
次に、トンネル設定例について説明する。図３４は、トンネル設定例を示す図である。図３４に示すように、テナントＡの場合、トンネル接続先のオンプレＧＷ６のＩＰアドレスは１．１．１．２であり、テナントＢの場合、トンネル接続先のオンプレＧＷ６のＩＰアドレスは１．１．１．３である。また、ＶＲＲＰによってＶＭ＃２上のＧＷ３２がマスターとなっているため、ＶＭ＃２上のＧＷ３２とトンネル接続が行われる。
【０１１３】
上述してきたように、実施例では、ＮＡＴルール設定部２６が、テナント毎にアプリ用ＶＭ３に仮想インタフェース３３ａを作成して仮想ＩＰアドレスを設定する。そして、ＮＡＴルール設定部２６は、アプリ３１から送信されるパケットの送信元ＩＰアドレスを仮想ＩＰアドレスに変換するＳＮＡＴルールを作成してアプリ用ＶＭ３のＮＡＴテーブル３５に設定する。また、ＧＷ作成部２１が、オンプレＧＷ６との間でトンネル接続するＧＷ３２をＧＷ用ＶＭ３に作成する。そして、ＧＷルーティング設定部２５が、アプリ３１から送信されるパケットの転送先をＧＷ用ＶＭ３とするルーティング情報を作成してアプリ用ＶＭ３のルーティングテーブル３６に設定する。そして、振り分けルール設定部２８が、アプリ用ＶＭ３から送られてきたパケットを送信元ＩＰアドレスに基づいてＧＷ３２に振り分ける振り分けルールを作成してＧＷ用ＶＭ３の振り分けルールテーブル３７に設定する。
【０１１４】
したがって、ＧＷ構成管理装置２は、アプリ３１の記述の変更を不要とすることができる。また、ＧＷ構成管理装置２は、ＧＷ用ＶＭ３に複数のテナントのＧＷ３２を作成することができ、ＶＭ３の増加を防ぐことができる。このため、ＧＷ構成管理装置２は、消費するグローバルＩＰアドレスの増加を防ぐことができる。
【０１１５】
また、実施例では、ＧＷ作成部２１は、ＧＷ３２をＶＲＲＰにより冗長化してマスターＧＷ３２及びバックアップＧＷ３２に仮想ＩＰアドレスを設定する。そして、ＧＷ作成部２１は、マスターＧＷ３２及びバックアップＧＷ３２に設定された仮想ＩＰアドレスをグローバルＩＰアドレスに変換するＮＡＴルールを作成する。そして、ルータ設定部２３が、ＮＡＴルールをルータ４のＮＡＴテーブル４２を設定する。また、ＧＷ作成部２１は、ＧＷ用ＶＭ３を冗長化して仮想ＩＰアドレスを設定し、設定した仮想ＩＰアドレスをアプリ用ＶＭ３のルーティング情報の転送先とする。したがって、ＧＷ構成管理装置２は、ＰａａＳ環境１ａとオンプレ環境１ｂとの間のトンネル接続を冗長化し、信頼性を向上することができる。
【０１１６】
なお、実施例では、通信制御装置として動作するＧＷ構成管理装置２について説明したが、ＧＷ構成管理装置２が有する構成をソフトウェアによって実現することで、同様の機能を有するＧＷ構成管理プログラムを得ることができる。そこで、ＧＷ構成管理プログラムを実行するコンピュータについて説明する。
【０１１７】
図３５は、実施例に係るＧＷ構成管理プログラムを実行するコンピュータのハードウェア構成を示す図である。図３５に示すように、コンピュータ６０は、メインメモリ６１と、ＣＰＵ６２と、ＬＡＮ（Local  Area  Network）インタフェース６３と、ＨＤＤ（Hard  Disk  Drive）６４とを有する。また、コンピュータ６０は、スーパーＩＯ（Input  Output）６５と、ＤＶＩ（Digital  Visual  Interface）６６と、ＯＤＤ（Optical  Disk  Drive）６７とを有する。
【０１１８】
メインメモリ６１は、プログラムやプログラムの実行途中結果などを記憶するメモリである。ＣＰＵ６２は、メインメモリ６１からプログラムを読出して実行する中央処理装置である。ＣＰＵ６２は、メモリコントローラを有するチップセットを含む。
【０１１９】
ＬＡＮインタフェース６３は、コンピュータ６０をＬＡＮ経由で他のコンピュータに接続するためのインタフェースである。ＨＤＤ６４は、プログラムやデータを格納するディスク装置であり、スーパーＩＯ６５は、マウスやキーボードなどの入力装置を接続するためのインタフェースである。ＤＶＩ６６は、液晶表示装置を接続するインタフェースであり、ＯＤＤ６７は、ＤＶＤの読み書きを行う装置である。
【０１２０】
ＬＡＮインタフェース６３は、ＰＣＩエクスプレス（ＰＣＩｅ）によりＣＰＵ６２に接続され、ＨＤＤ６４及びＯＤＤ６７は、ＳＡＴＡ（Serial  Advanced  Technology  Attachment）によりＣＰＵ６２に接続される。スーパーＩＯ６５は、ＬＰＣ（Low  Pin  Count）によりＣＰＵ６２に接続される。
【０１２１】
そして、コンピュータ６０において実行されるＧＷ構成管理プログラムは、ＤＶＤに記憶され、ＯＤＤ６７によってＤＶＤから読出されてコンピュータ６０にインストールされる。あるいは、ＧＷ構成管理プログラムは、ＬＡＮインタフェース６３を介して接続された他のコンピュータシステムのデータベースなどに記憶され、これらのデータベースから読出されてコンピュータ６０にインストールされる。そして、インストールされたＧＷ構成管理プログラムは、ＨＤＤ６４に記憶され、メインメモリ６１に読出されてＣＰＵ６２によって実行される。
【０１２２】
また、実施例では、ＧＷ構成管理装置２がＰａａＳ管理装置８と異なる場合について説明したが、本発明はこれに限定されるものではなく、ＧＷ構成管理装置２とＰａａＳ管理装置８が同一の場合にも同様に適用することができる。
【符号の説明】
【０１２３】
１    ハイブリッドクラウド型ＰａａＳシステム
１ａ，９ａ    ＰａａＳ環境
１ｂ，９ｂ    オンプレ環境
２    ＧＷ構成管理装置
３，９３    ＶＭ
４    ルータ
５    インターネット
６，９６    オンプレＧＷ
６ａ    ルーティングテーブル
７    サーバ
８    ＰａａＳ管理装置
２１    ＧＷ作成部
２２    冗長化管理テーブル
２３    ルータ設定部
２４    ネットワーク管理テーブル
２５    ＧＷルーティング設定部
２６    ＮＡＴルール設定部
２７    配備ＶＭ管理テーブル
２８    振り分けルール設定部
２９    振り分けルール管理テーブル
３０    ＩＰアドレス一覧テーブル
３１，９３１    アプリ
３２，９３２    ＧＷ
３３    インタフェース
３３ａ    仮想インタフェース
３５    ＮＡＴテーブル
３６    ルーティングテーブル
３７    振り分けルールテーブル
３８    ルーティングテーブル
４２    ＮＡＴテーブル
６０    コンピュータ
６１    メインメモリ
６２    ＣＰＵ
６３    ＬＡＮインタフェース
６４    ＨＤＤ
６５    スーパーＩＯ
６６    ＤＶＩ
６７    ＯＤＤ
７１    ＤＢ
【図１】
2017224895.tif 000003
【図２】
2017224895.tif 000004
【図３】
2017224895.tif 000005
【図４】
2017224895.tif 000006
【図５】
2017224895.tif 000007
【図６】
2017224895.tif 000008
【図７】
2017224895.tif 000009
【図８】
2017224895.tif 000010
【図９Ａ】
2017224895.tif 000011
【図９Ｂ】
2017224895.tif 000012
【図１０】
2017224895.tif 000013
【図１１Ａ】
2017224895.tif 000014
【図１１Ｂ】
2017224895.tif 000015
【図１２】
2017224895.tif 000016
【図１３】
2017224895.tif 000017
【図１４】
2017224895.tif 000018
【図１５】
2017224895.tif 000019
【図１６】
2017224895.tif 000020
【図１７】
2017224895.tif 000021
【図１８】
2017224895.tif 000022
【図１９】
2017224895.tif 000023
【図２０】
2017224895.tif 000024
【図２１】
2017224895.tif 000025
【図２２】
2017224895.tif 000026
【図２３】
2017224895.tif 000027
【図２４】
2017224895.tif 000028
【図２５Ａ】
2017224895.tif 000029
【図２５Ｂ】
2017224895.tif 000030
【図２６】
2017224895.tif 000031
【図２７】
2017224895.tif 000032
【図２８】
2017224895.tif 000033
【図２９Ａ】
2017224895.tif 000034
【図２９Ｂ】
2017224895.tif 000035
【図３０】
2017224895.tif 000036
【図３１】
2017224895.tif 000037
【図３２】
2017224895.tif 000038
【図３３】
2017224895.tif 000039
【図３４】
2017224895.tif 000040
【図３５】
2017224895.tif 000041
【図３６】
2017224895.tif 000042
【図３７】
2017224895.tif 000043
【図３８】
2017224895.tif 000044