JP2017224895A - 通信制御プログラム、通信制御方法及び通信制御装置 - Google Patents

通信制御プログラム、通信制御方法及び通信制御装置 Download PDF

Info

Publication number
JP2017224895A
JP2017224895A JP2016117307A JP2016117307A JP2017224895A JP 2017224895 A JP2017224895 A JP 2017224895A JP 2016117307 A JP2016117307 A JP 2016117307A JP 2016117307 A JP2016117307 A JP 2016117307A JP 2017224895 A JP2017224895 A JP 2017224895A
Authority
JP
Japan
Prior art keywords
address
virtual
application
virtual machine
packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2016117307A
Other languages
English (en)
Inventor
昌浩 佐藤
Masahiro Sato
昌浩 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016117307A priority Critical patent/JP2017224895A/ja
Priority to US15/603,826 priority patent/US20170359198A1/en
Publication of JP2017224895A publication Critical patent/JP2017224895A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2521Translation architectures other than single NAT servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/72Routing based on the source address
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2514Translation of Internet protocol [IP] addresses between local and global IP addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】ハイブリッドクラウド型PaaSにおいてアプリの記述の変更を不要とすること。
【解決手段】NATルール設定部26が、テナント毎にアプリ用VM3に仮想インタフェースを作成して仮想IPアドレスを設定する。そして、NATルール設定部26は、アプリから送信されるパケットの送信元IPアドレスを仮想IPアドレスに変換するSNATルールを作成してアプリ用VM3に設定する。また、GW作成部21が、オンプレGWとの間でトンネル接続するGWをGW用VM3に作成する。そして、GWルーティング設定部25が、アプリから送信されるパケットの転送先をGW用VM3とするルーティング情報を作成してアプリ用VM3に設定する。そして、振り分けルール設定部28が、アプリ用VM3から送られてきたパケットを送信元IPアドレスに基づいてGWに振り分ける振り分けルールを作成してGW用VM3に設定する。
【選択図】図12

Description

本発明は、通信制御プログラム、通信制御方法及び通信制御装置に関する。
PaaS(Platform as a Service)において、クラウド上のPaaS環境とオンプレ環境をネットワークで接続してサービスを提供するハイブリッドクラウド型PaaSへの要望が増加している。ここで、オンプレ環境とは、企業等が有する情報処理環境であり、オンプレミス(on-premises)環境とも呼ばれる。企業は、セキュリティリスクを考慮し、例えば重要なデータはクラウド上に格納せずにオンプレ環境で保持する。
図36は、PaaS環境とオンプレ環境の接続構成を示す図である。図36に示すように、クラウド上のPaaS環境9aは、アプリ931が動作するVM(Virtual Machine:仮想マシン)93を有し、オンプレ環境9bは、サーバ7を有する。ここで、アプリ931はアプリケーションであり、VM93はクラウドに含まれる物理マシン上に構築される仮想的な情報処理装置である。
VM93は、サーバ7が有するDB(Data Base:データベース)71にアクセスするためにインターネット5を介してサーバ7と通信する。VM93とサーバ7の間の通信はインターネット5を経由するため、トンネリング(tunneling)と暗号化によるセキュリティの強化が行われる。ここで、トンネリングとは、ネットワーク上の2点間を結ぶ閉じられた仮想的な直結回線を確立することである。仮想的な直結回線はトンネルと呼ばれる。
トンネリングでは、トンネリング処理を行うゲートウェイ(gateway:GW)が必要になる。図36では、PaaS環境9aはゲートウェイとしてGW932を有し、オンプレ環境9bはゲートウェイとしてオンプレGW96を有する。GW932は、アプリ931が動作するVM93とは異なるVM93上に構築される。
なお、マルチテナントシステムにおいて、テナント識別情報を認識できない機器と接続されたスイッチが、当該機器との間で送受信されるパケットのヘッダを書き換えることで、テナント識別情報を認識できない機器を利用可能とする技術がある。
また、顧客用イントラネットに接続されたルータとVMとの接続に用いるインタフェースの識別子を顧客用イントラネットとVMとに対応付けて管理することで、IPv4であっても、1つのVMと複数の顧客ネットワークとの間で安全に通信する技術がある。
また、外部端末装置とNAT−GW装置間、NAT−GW装置とトンネリング通信終端端末装置間でそれぞれTCPコネクションを確立し、外部端末装置と内部端末装置のIPアドレスとポート番号と各TCPコネクションとを対応付けて管理する技術がある。この技術では、トンネリングパケットに含まれる宛先情報に対応するTCPコネクションを用いて、外部と内部間のパケット通信をすることで、NAT−GW装置を介して接続される異なるネットワーク体系における端末装置間のトンネリング通信を実現する。
国際公開第2013/172391号 特開2014−93550号公報 特開2008−211480号公報
図36に示した接続構成においては、アプリ931が接続するGW932はアプリ931上で通信先として指定する必要があり、アプリ931の配備時に接続するGW932に合わせてアプリ931の記述を変更する必要があるという問題がある。
図37は、アプリ931の記述を変更する必要がある理由を説明するための図である。図37では、VM#91で異なるテナントのアプリ#91とアプリ#92が動作し、アプリ#91はVM#92で動作するGW#91を介してサーバ#1と通信し、アプリ#92はVM#93で動作するGW#92を介してサーバ#2と通信する。ここで、VM#91、VM#92及びVM#93はVM93であり、アプリ#91及びアプリ#92はアプリ931であり、GW#91及びGW#92はGW932であり、サーバ#1及びサーバ#2はサーバ7である。また、サーバ#1のIPアドレスとサーバ#2のIPアドレスは10.0.1.1で同じである。
このとき、アプリ#91が送信するパケットとアプリ#92が送信するパケットの宛先のIPアドレスは同じであるため、VM#91のルーティング情報の10.0.1.0/24に対応する転送先は、同じGW932となる。図37では、例えば、転送先はGW#91である。したがって、アプリ#92が送信するパケットはGW#91に転送され、アプリ#92は正常な通信が行えない。このため、接続するGW932をアプリ931で通信先として指定する必要があり、アプリ931の記述を変更することが必要になる。
なお、ソースルーティングを行っても、送信元アドレスがVM#91のIPアドレスで同一であるため、GW#91とGW#92の振り分けはできない。また、GW#91とGW#92を異なるVM93上で実現すると、VM93の数が多くなる。図38は、テナント毎にゲートウェイとなるVM93を構築する場合を説明するための図である。
図38に示すように、GW932は冗長化される。すなわち、アプリ#91の通信先はGW#91とGW#93があり、アプリ#92の通信先はGW#92とGW#94がある。このため、テナント毎にゲートウェイとなるVM93を構築すると、異なるテナントの数の2倍の数のVM93が構築されることとなる。
また、各GW932は、ルータ94を介してパケットをPaas環境9aの外部に送信する。このとき、ルータ94は、送信元である各GW932のプライベートIPアドレスをグローバルIPアドレスに変換する。逆に、外部からパケットを受信すると、ルータ94は、グローバルIPアドレスを送信先の各GW932のプライベートIPアドレスに変換する。また、オンプレGW96は、トンネルの接続先として各GW932に対応するグローバルIPアドレスを設定する。したがって、ゲートウェイとなるVM93の数が増えるとグローバルIPアドレスも増えることになる。
本発明は、1つの側面では、アプリの記述の変更を不要とすることを目的とする。
1つの態様では、通信制御プログラムは、コンピュータに、アプリケーションが実行される第1の仮想マシンにおいてテナント毎に仮想インタフェースを作成して仮想IPアドレスを設定する処理を実行させる。そして、コンピュータに、アプリケーションから出力されたパケットの送信元のIPアドレスを仮想インタフェースに設定された仮想IPアドレスに変換するSNATルールを作成して第1の仮想マシンに設定する処理を実行させる。そして、コンピュータに、パケットをトンネリングにより送信先に送信するゲートウェイをテナント毎に第2の仮想マシンに作成する処理を実行させる。そして、コンピュータに、SNATルールに基づいて送信元のIPアドレスが変換されたパケットの転送先を第2の仮想マシンとするルーティング情報を作成して第1の仮想マシンに設定する処理を実行させる。そして、コンピュータに、ルーティング情報に基づいて第2の仮想マシンに送信されたパケットを該パケットの送信元のIPアドレスに基づいてゲートウェイに振り分ける振り分けルールを作成して第2の仮想マシンに設定する処理を実行させる。
1つの側面では、アプリの記述の変更を不要とすることができる。
図1は、実施例に係るハイブリッドクラウド型PaaSシステムの構成を示す図である。 図2は、ハイブリッドクラウド型PaaSシステムのトンネリング接続を説明するための図である。 図3は、VRRPを説明するための図である。 図4は、ゲートウェイの冗長化構成を説明するための図である。 図5は、アプリとGWとの間の接続を説明するための図である。 図6は、GWとインターネットとの間の接続を説明するための図である。 図7は、GWとオンプレGWとの間のトンネリング接続を説明するための図である。 図8は、パケットのアドレス変換の流れ(アプリ→DB)を示す図である。 図9Aは、パケットに対する処理(アプリ→DB)を説明するための第1の図である。 図9Bは、パケットに対する処理(アプリ→DB)を説明するための第2の図である。 図10は、パケットのアドレス変換の流れ(DB→アプリ)を示す図である。 図11Aは、パケットに対する処理(DB→アプリ)を説明するための第1の図である。 図11Bは、パケットに対する処理(DB→アプリ)を説明するための第2の図である。 図12は、GW構成管理装置の機能構成を示す図である。 図13は、冗長化管理テーブルの一例を示す図である。 図14は、ネットワーク管理テーブルの一例を示す図である。 図15は、配備VM管理テーブルの一例を示す図である。 図16は、振り分けルール管理テーブルの一例を示す図である。 図17は、IPアドレス一覧テーブルの一例を示す図である。 図18は、GW作成要求及び冗長構成作成要求に対する処理のフローを示すフローチャートである。 図19は、アプリ配備要求に対する処理のフローを示すフローチャートである。 図20は、初期構成を示す図である。 図21は、GW構成管理装置内のテーブル構成(初期状態)を示す図である。 図22は、GW用VMのVRRP設定例を示す図である。 図23は、GW構成管理装内のテーブル構成(VMのVRRP設定後)を示す図である。 図24は、GWの作成例を示す図である。 図25Aは、GW構成管理装置内のテーブル構成(GWの作成後)を示す第1の図である。 図25Bは、GW構成管理装置内のテーブル構成(GWの作成後)を示す第2の図である。 図26は、アプリの配備例を示す図である。 図27は、GW構成管理装置内のテーブル構成(アプリの配備後)を示す図である。 図28は、GWの追加例を示す図である。 図29Aは、GW構成管理装置内のテーブル構成(GWの追加後)を示す第1の図である。 図29Bは、GW構成管理装置内のテーブル構成(GWの追加後)を示す第2の図である。 図30は、アプリの追加例を示す図である。 図31は、GW構成管理装置内のテーブル構成(アプリの追加後)を示す図である。 図32は、同一テナントの複数アプリの配備例を示す図である。 図33は、GW構成管理装置内のテーブル構成(アプリの配備後)を示す図である。 図34は、トンネル設定例を示す図である。 図35は、実施例に係るGW構成管理プログラムを実行するコンピュータのハードウェア構成を示す図である。 図36は、PaaS環境とオンプレ環境の接続構成を示す図である。 図37は、アプリの記述を変更する必要がある理由を説明するための図である。 図38は、テナント毎にゲートウェイとなるVMを構築する場合を説明するための図である。
以下に、本願の開示する通信制御プログラム、通信制御方法及び通信制御装置の実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。
まず、実施例に係るハイブリッドクラウド型PaaSシステムの構成について説明する。図1は、実施例に係るハイブリッドクラウド型PaaSシステムの構成を示す図である。図1に示すように、実施例に係るハイブリッドクラウド型PaaSシステム1は、PaaS環境1aと2つのオンプレ環境1bを有する。PaaS環境1aと2つのオンプレ環境1bはインターネット5で接続される。なお、図1では、異なるテナントの数が2であるため、2つのオンプレ環境1bを示すが、異なるテナントの数が3以上である場合には、ハイブリッドクラウド型PaaSシステム1は、3以上のオンプレ環境1bを有する。
PaaS環境1aは、クラウド上の環境であり、PaaSを提供する。オンプレ環境1bは、テナントが有する情報処理環境である。図1は、テナントA用のオンプレ環境1bとテナントB用のオンプレ環境1bを示す。インターネット5で接続されたPaaS環境1aとオンプレ環境1bは、ハイブリッドクラウド型PaaSを提供する。
PaaS環境1aには、GW構成管理装置2と、VM#1〜VM#3で表される3台のVM3と、ルータ4が含まれ、オンプレ環境1bには、オンプレGW6とサーバ7が含まれる。
GW構成管理装置2は、PaaS環境1aを管理するPaaS管理装置8又はPaaS環境1aの運用者からの指示に基づいて、GWの管理、VM3及びルータ4に設定する情報の管理等を行う装置である。GW構成管理装置2は、PaaS環境1aとオンプレ環境1bとの間の通信を制御する通信制御装置として動作する。なお、GW構成管理装置2の詳細については後述する。
VM3は、情報処理を行う仮想マシンである。VM#1ではアプリ#1及びアプリ#2で表されるアプリ31が動作する。アプリ31は、アプリケーションである。アプリ#1は、テナントAのアプリケーションであり、アプリ#2は、テナントBのアプリケーションである。
VM#2ではGW#1及びGW#2で表されるGW32が動作する。GW32は、トンネリング処理を行うゲートウェイである。VM#3ではGW#3及びGW#4で表されるGW32が動作する。GW#1及びGW#3は、テナントAのためにトンネリング処理を行うゲートウェイであり、GW#2及びGW#4は、テナントBのためにトンネリング処理を行うゲートウェイである。すなわち、1台のVM3に複数のテナントのGW32が作成される。したがって、ハイブリッドクラウド型PaaSシステム1は、ゲートウェイが構築されるVM3の数を削減することができる。
VM#1側のルーティングでアプリ31発の通信はGW32が集約されたVM#2経由に設定される。VM#2内にGW32が集約されているので、アプリ#1及びアプリ#2の通信がVM#2経由となっても正しい通信が行われる。したがって、ハイブリッドクラウド型PaaSシステム1は、アプリ31の通信先の変更を不要とすることができる。
オンプレGW6は、トンネリング処理を行う。サーバ7は、情報処理を行う装置である。テナントA用のサーバ7はサーバ#1と表され、テナントB用のサーバ7はサーバ#2と表される。サーバ#1及びサーバ#2のIPアドレスは10.0.1.1であり同一である。サーバ7は、DB71を有する。DB71は、セキュリティリスクの点からクラウド上には格納できないデータを格納するデータベースである。
ルータ4は、GW32から受信したパケットをインターネット5を介してオンプレGW6に送信し、オンプレGW6からインターネット5を介して受信したパケットをGW32に送信する。
図2は、ハイブリッドクラウド型PaaSシステム1のトンネリング接続を説明するための図である。ハイブリッドクラウド型PaaSシステム1では、VRRP(Virtual Router Redundancy Protocol:仮想ルータ冗長プロトコル)等の冗長化プロトコルの制御により、片側のゲートウェイのみトンネル接続が行われる。図2では、VM#2に構築されたGW#1とGW#2のみオンプレGW6とのトンネル接続が行われる。したがって、ハイブリッドクラウド型PaaSシステム1は、接続トンネルの数を減らすことができ、消費するグローバルIPアドレスの数を減らすことができる。
図3は、VRRPを説明するための図である。図3は、ルータ#1とルータ#2をノードとし、VRRPによりルータ#1とルータ#2が冗長化される場合を示す。図3に示すように、冗長化されたノードは、マスターとバックアップに分類される。マスターとバックアップには同じ仮想IPアドレスが割り当てられる。図3では、仮想IPアドレスとして1.1.1.1が割り当てられ、仮想MACアドレス(Media Access Control address)としてAが割り当てられる。なお、仮想IPアドレスは、図において仮想IPと表される。
ホストは、仮想IPアドレスを使用してルータと通信を行う。ホストのARP(Address Resolution Protocol)要求に対してマスターノードのみが応答することで、L2スイッチはマスターノード宛ての経路P#1を学習し、FDB(Forwarding DataBase)に登録する。ホストが仮想IPアドレスを使用してルータにデータを送信すると、L2スイッチはマスターノードに対してデータを転送する。図2において、アプリ#1及びアプリ#2から送信されたパケットは、ルーティング情報に基づいて、マスターノードであるVM#2に転送される。
図4は、ゲートウェイの冗長化構成を説明するための図である。図4に示すように、ハイブリッドクラウド型PaaSシステム1は、GW32間でVRRPを使用する。アプリ31とGW32の間ではVM3単位で冗長化が行われる。すなわち、VM#2及びVM#3のアプリ31側の仮想インタフェース33aであるeth#0にVRRPにより同じ仮想IPアドレスが割り当てられる。図4では、eth#0の仮想IPアドレスは、192.168.0.11である。
一方、GW32とルータ4の間ではGW32単位で冗長化が行われる。すなわち、GW#1のルータ4側の仮想インタフェース33aであるeth#1.1及びGW#3のルータ4側の仮想インタフェース33aであるeth#1.3にVRRPによりテナントA用の同じ仮想IPアドレスが割り当てられる。図4では、eth#1.1及びeth#1.3の仮想IPアドレスは、192.168.1.11である。GW#2のルータ4側の仮想インタフェース33aであるeth#1.2及びGW#4のルータ4側の仮想インタフェース33aであるeth#1.4にVRRPによりテナントB用の同じ仮想IPアドレスが割り当てられる。図4では、eth#1.2及びeth#1.4の仮想IPアドレスは、192.168.1.12である。
図5は、アプリ31とGW32との間の接続を説明するための図である。図5に示すように、アプリ31が配備されたVM#1では、テナント毎に作成された仮想インタフェース33aに、SNAT(Source Network Address Translation)で変換される仮想IPアドレスが設定される。図5では、テナントA用の仮想インタフェース33aに192.168.0.3が設定され、テナントB用の仮想インタフェース33aに192.168.0.4が設定される。
設定された仮想IPアドレスをNATテーブル35に変換後の送信元アドレスとして登録される。したがって、アプリ31がオンプレネットワーク宛てに送信するパケットの送信元IPアドレスは、アプリ#1では192.168.0.3であり、アプリ#2では192.168.0.4である。
また、VM#1では、オンプレネットワーク宛て通信の中継先のVMアドレスとして、VM#2及びVM#3に設定された仮想IPアドレスがルーティングテーブル36に登録される。図5では、192.168.0.11がオンプレネットワークに対応づけてルーティングテーブル36に登録される。通信を中継するVM3はVRRPにより制御される。図5では、VM#2がマスターノードとして動作し、アプリ31がオンプレネットワーク宛てに送信したパケットは、VM#2に転送される。
VM#2では、送信元IPアドレスに対応する振り分け先GW32が振り分けルールテーブル37に登録され、送信元IPアドレスから振り分け先のGW32が決定される。図5では、送信元IPアドレスが192.168.0.3のパケットはGW#1に振り分けられ、送信元IPアドレスが192.168.0.4のパケットはGW#2に振り分けられる。
図6は、GW32とインターネット5との間の接続を説明するための図である。図6に示すように、ルータ4は、NATテーブル42を用いてプライベートIPアドレスとグローバルIPアドレスの変換を行う。
例えば、ルータ4は、宛先IPアドレスが1.1.1.1であるパケットをインターネット5から受信すると、NATテーブル42を参照し、宛先IPアドレスを192.168.1.11に変換してGW#1に送信する。また、ルータ4は、送信元IPアドレスが192.168.1.12であるパケットをGW#2から受信すると、NATテーブル42を参照し、送信元IPアドレスを1.1.1.2に変換してインターネット5に送信する。
図7は、GW32とオンプレGW6との間のトンネリング接続を説明するための図である。図7に示すように、テナントA用のトンネル#1では、オンプレGW6の接続先のIPアドレスは、テナントA用のGW#1及びGW#3の仮想IPアドレス(192.168.1.11)に対応するグローバルIPアドレス(1.1.1.1)である。また、テナントB用のトンネル#2では、オンプレGW6の接続先のIPアドレスは、テナントB用のGW#2及びGW#4の仮想IPアドレス(192.168.1.12)に対応するグローバルIPアドレス(1.1.1.2)である。
次に、パケットのアドレス変換の流れ及び関連する処理について図8〜図11Bを用いて説明する。図8は、パケットのアドレス変換の流れ(アプリ31→DB71)を示す図である。なお、SAポートは送信元のポート番号であり、DAポートは送信先のポート番号であり、SA IPは送信元のIPアドレスであり、DA IPは送信先のIPアドレスである。
図8に示すように、アプリ#1からVM#1へ送信されるパケット(1)では、SA IPは、アプリ#1のコンテナに設定されたIPアドレスである10.0.0.1である。ここで、コンテナとは、アプリ31を実行する環境である。また、DA IPは、サーバ#1に設定されたIPアドレスである10.0.1.1である。
そして、VM#1からGW32に送信されるパケット(2)では、VM#1のNATテーブル35に基づいて、SA IPがVM#1の仮想インタフェース33aに設定された仮想IPアドレスである192.168.0.21にVM#1によって変換される。
そして、GW32からルータ4に送信されるパケット(3)では、トンネルヘッダ、トンネルSA IP及びトンネルDA IPがGW32によって付加される。トンネルSA IPは、GW#1及びGW#3に設定された仮想IPアドレスである192.168.1.11である。トンネルDA IPは、オンプレGW6に設定されたグローバルIPアドレスである2.1.1.1である。
そして、ルータ4からオンプレGW6に送信するパケット(4)では、ルータ4のNATテーブル42に基づいて、トンネルSA IPがグローバルIPアドレスの1.1.1.1にルータ4によって変換される。
そして、オンプレGW6からDB71に送信されるパケット(5)では、トンネルヘッダ、トンネルSA IP及びトンネルDA IPがオンプレGW6によって取り除かれる。
図9A及び図9Bは、パケットに対する処理(アプリ31→DB71)を説明するための図である。図9Aに示すように、VM#1は、NATテーブル35を参照し、アプリ#1から送信されたパケットの送信元IPアドレスを192.168.0.21に変換する(1)。変換されたパケットは図8の(2)に示したパケットである。そして、VM#1は、ルーティングテーブル36を参照し、192.168.0.11宛てにパケットを送信する(2)。
そして、192.168.0.11宛てのパケットをマスターノードであるVM#2が受信する(3)。パケットを受信したVM#2は、振り分けルールテーブル37を参照し、GW#1宛てにパケットを送信する(4)。
パケットを受信したGW#1は、ルーティングテーブル38を参照し、2.1.1.1宛てにパケットを送信と特定する(5)。そして、GW#1は、トンネルでカプセル化を行う(6)。カプセル化されたパケットは図8の(3)に示したパケットである。そして、GW#1は、ルータ4宛てにパケットを送信する(7)。
パケットを受信したルータ4は、NATテーブル42を参照し、トンネルの送信元IPアドレスを1.1.1.1に変換する(8)。変換されたパケットは図8の(4)に示したパケットである。そして、ルータ4は、オンプレGW6宛てにパケットを送信する(9)。
パケットを受信したオンプレGW6は、図9Bに示すように、パケットのデカプセル化を行う(10)。デカプセル化されたパケットは図8の(5)に示したパケットである。そして、オンプレGW6は、サーバ#1宛てにパケットを送信する(11)。
図10は、パケットのアドレス変換の流れ(DB71→アプリ31)を示す図である。図10に示すように、DB71からオンプレGW6へ送信されるパケット(1)では、SA IPは、サーバ#1に設定されたIPアドレスである10.0.1.1である。また、DA IPは、VM#1の仮想インタフェース33aに設定された仮想IPアドレスである192.168.0.21である。
そして、オンプレGW6からルータ4に送信されるパケット(2)では、トンネルヘッダ、トンネルSA IP及びトンネルDA IPがオンプレGW6によって付加される。トンネルSA IPは、オンプレGW6に設定されたグローバルIPアドレスである2.1.1.1である。トンネルDA IPは、ルータ4に設定されたグローバルIPアドレスである1.1.1.1である。
そして、ルータ4からGW#1に送信されるパケット(3)では、ルータ4のNATテーブル42に基づいて、トンネルDA IPがプライベートIPアドレスの192.168.1.11にルータ4によって変換される。
そして、GW#1からVM#1に送信されるパケット(4)では、トンネルヘッダ、トンネルSA IP及びトンネルDA IPがGW#1によって取り除かれる。
そして、VM#1からアプリ#1に送信されるパケット(5)では、VM#1のNATテーブル35に基づいて、DA IPがアプリ#1のコンテナに設定されたIPアドレスである10.0.0.1にVM#1によって変換される。
図11A及び図11Bは、パケットに対する処理(DB71→アプリ31)を説明するための図である。図11Aに示すように、オンプレGW6は、ルーティングテーブル6aを参照し、1.1.1.1宛てにパケットを送信と特定する(1)。そして、オンプレGW6は、トンネルでカプセル化を行う(2)。カプセル化されたパケットは図10の(2)に示したパケットである。そして、オンプレGW6は、ルータ4宛てにパケットを送信する(3)。
パケットを受信したルータ4は、図11Bに示すように、NATテーブル42を参照し、送信先IPアドレスを192.168.1.11に変換する(4)。変換されたパケットは図10の(3)に示したパケットである。そして、ルータ4は、192.168.1.11宛てにパケットを送信する(5)。
そして、192.168.1.11宛てのパケットをマスターノードであるGW#1が受信する(6)。そして、GW#1は、パケットのデカプセル化を行う(7)。デカプセル化されたパケットは図10の(4)に示したパケットである。そして、GW#1は、VM#1宛てにパケットを送信する(8)。
パケットを受信したVM#1は、NATテーブル35を参照し、送信先IPアドレスを10.0.0.1に変換する(9)。変換されたパケットは図10の(5)に示したパケットである。そして、VM#1は、アプリ#1宛てにパケットを送信する(10)。
次に、GW構成管理装置2の機能構成について説明する。図12は、GW構成管理装置2の機能構成を示す図である。図12に示すように、GW構成管理装置2は、GW作成部21と、冗長化管理テーブル22と、ルータ設定部23と、ネットワーク管理テーブル24と、GWルーティング設定部25と、NATルール設定部26と、配備VM管理テーブル27とを有する。また、GW構成管理装置2は、振り分けルール設定部28と、振り分けルール管理テーブル29と、IPアドレス一覧テーブル30とを有する。
GW作成部21は、PaaS管理装置8又は運用者からVM3についての冗長構成作成要求を受け付けて、GW32が作成されるVM3の冗長構成を作成し、作成したVM3に関する情報を冗長管理テーブル22に登録する。ここで、冗長構成作成要求とは、GW32用に冗長化構成のVM3を作成する要求である。
また、GW作成部21は、PaaS管理装置8又は運用者からGW作成要求を受け付けて、GW32を作成するとともに冗長化の設定を行う。具体的には、GW作成部21は、GW32をVRRPにより冗長化してマスターGW32及びバックアップGW32に仮想IPアドレスを設定する。そして、GW作成部21は、マスターGW32及びバックアップGW32に設定された仮想IPアドレスをグローバルIPアドレスに変換するNATルールを作成する。また、GW作成部21は、GW用VM3を冗長化して仮想IPアドレスを設定し、設定した仮想IPアドレスをアプリ用VM3のルーティング情報の転送先とする。そして、GW作成部21は、作成したGW32に関する情報を用いて冗長化管理テーブル22を更新する。
冗長化管理テーブル22は、冗長構成のVM3及びGW32に関する情報が登録されるテーブルである。図13は、冗長化管理テーブル22の一例を示す図である。図13に示すように、冗長化管理テーブル22には、マスターVM名と、マスターGW名と、バックアップVM名と、バックアップGW名と、仮想IPが対応づけて登録される。
マスターVM名は、マスターとして動作するVM3の名前である。マスターGW名は、マスターVM3に作成されるGW32の名前である。バックアップVM名は、バックアップとして動作するVM3の名前である。バックアップGW名は、バックアップVM3に作成されるGW32の名前である。仮想IPは、マスターVM3とバックアップVMの組又はマスターGW32とバックアップGW32の組に設定される仮想IPアドレスである。
例えば、マスターとして動作するVM#2とバックアップとして動作するVM#3の組に設定される仮想IPアドレスは、192.168.0.11である。また、マスターとしてVM#2で動作するGW#1とバックアップとしてVM#3で動作するGW#3の組に設定される仮想IPアドレスは、192.168.1.11である。
ルータ設定部23は、GW作成部21により作成されたNATルールをルータ4のNATテーブル42に設定する。
ネットワーク管理テーブル24は、テナントのネットワークが登録されたテーブルである。図14は、ネットワーク管理テーブル24の一例を示す図である。図14に示すように、ネットワーク管理テーブル24には、テナント名とネットワークアドレスが対応付けて登録される。テナント名は、テナントの名前である。ネットワークアドレスは、オンプレ環境1bのIPアドレスとサブネットマスクである。例えば、テナントAのオンプレ環境1bのIPアドレスとサブネットマスクは、10.0.1.0/24である。
GWルーティング設定部25は、アプリ用VM3すなわちアプリ31が配備されるVM3のルーティング情報を作成し、アプリ用VM3のルーティングテーブル36に設定する。GWルーティング設定部25は、ネットワーク管理テーブル24に登録されたネットワークアドレスを用いてルーティング情報を作成する。
NATルール設定部26は、アプリ用VM3にテナント毎に仮想インタフェース33aを作成し、仮想IPアドレスを設定する。そして、NATルール設定部26は、設定した仮想IPアドレスを用いてアプリ用VM3のSNATルールを作成し、配備VM管理テーブル27に登録する。また、NATルール設定部26は、作成したSNATルールをアプリ用VM3のNATテーブル35に設定する。
配備VM管理テーブル27は、アプリ用VM3に配備されるアプリ31及びアプリ用VM3に設定されるSNATルールが登録されるテーブルである。図15は、配備VM管理テーブル27の一例を示す図である。図15に示すように、配備VM管理テーブル27には、VM名と、テナント名及びアプリ名と、SNATルールが対応付けて登録される。
VM名は、アプリ31が配備されるVM3の名前である。テナント名及びアプリ名は、VM3で実行されるアプリ31のテナントの名前及びアプリ31の名前である。SNATルールは、VM3に設定されるSNATのルールである。例えば、VM#1にテナントAのアプリ#1が配備され、アプリ#1が送信したパケットの送信元IPアドレスは、10.0.0.1から192.168.0.3に変換される。
振り分けルール設定部28は、GW用VM3すなわちGW32が作成されるVM3の振り分けルールを作成し、振り分けルール管理テーブル29に登録する。また、振り分けルール設定部28は、作成した振り分けルールをGW用VM3の振り分けルールテーブル37に設定する。
振り分けルール管理テーブル29は、振り分けルール設定部28が振り分けルールを管理するためのテーブルである。図16は、振り分けルール管理テーブル29の一例を示す図である。図16に示すように、振り分けルール管理テーブル29には、VM名と、テナント名と、振り分けルールが対応付けて登録される。
VM名は、振り分けルールが設定されるVM3の名前である。テナント名は、振り分けルールが適用されるテナントの名前である。振り分けルールは、送信元IPアドレスが送信元IPに示されるパケットの振り分け先のGW32を示すルールである。例えば、送信元IPアドレスが192.168.0.3であるテナントAのパケットを受け取ったVM#2は、パケットをGW#1に振り分ける。
IPアドレス一覧テーブル30は、インタフェース33又は仮想インタフェース33aに設定されたIPアドレス又は仮想IPアドレスが登録されるテーブルである。図17は、IPアドレス一覧テーブル30の一例を示す図である。図17に示すように、IPアドレス一覧テーブル30には、ホスト名と、IFと、IPアドレスが対応付けて登録される。
ホスト名は、インタフェース33又は仮想インタフェース33aが作成されたVM3の名前である。IFは、インタフェース33又は仮想インタフェース33aの名前である。IPアドレスは、インタフェース33に設定されたIPアドレス及びサブネットマスク、又は、仮想インタフェース33aに設定された仮想IPアドレス及びサブネットマスクである。例えば、eth#0はVM#1に作成されたインタフェースであり、IPアドレスとサブネットマスクは、192.168.0.1/24である。
次に、GW作成要求及び冗長構成作成要求に対する処理のフローについて説明する。図18は、GW作成要求及び冗長構成作成要求に対する処理のフローを示すフローチャートである。図18に示すように、GW作成部21は、作成要求を受信し(ステップS1)、受信した作成要求がGW作成要求であるか否かを判定する(ステップS2)。ここで、作成要求は、GW作成要求か冗長構成作成要求のいずれかである。
そして、GW作成部21は、受信した作成要求がGW作成要求でない場合には、マスターVM3及びバックアップVM3を決定する(ステップS3)。なお、マスターVM3及びバックアップVM3は作成要求内で指定される。そして、GW作成部21は、マスターVM3及びバックアップVM3に設定する仮想IPアドレスを決定し(ステップS4)、マスターVM3、バックアップVM3及び仮想IPアドレスを冗長化管理テーブル22へ登録する(ステップS5)。そして、GW作成部21は、GW用VM3に対する冗長化設定を行い(ステップS6)、ステップS1に戻る。
一方、受信した作成要求がGW作成要求である場合には、GW作成部21は、GW作成用VM3を決定する(ステップS7)。なお、GW作成用VM3は、作成要求内で指定される。そして、GW作成部21は、GW32用の仮想IPアドレスを決定する(ステップS8)。GW32用の仮想IPアドレスは、GW32内で未使用のアドレスが用いられる。そして、GW作成部21は、マスターGW32、バックアップGW32及び仮想IPアドレスを冗長化管理テーブル22へ登録する(ステップS9)。
そして、GW作成部21は、マスターGW32及びバックアップGW32をそれぞれマスターVM3及びバックアップVM3に作成し、冗長化設定を行う(ステップS10)。そして、ルータ設定部23が、ルータ4のNATテーブル42を設定し(ステップS11)、ステップS1に戻る。
このように、GW作成部21は、マスターGW32及びバックアップGW32をそれぞれマスターVM3及びバックアップVM3に作成し、冗長化設定を行うことで、GW32の冗長化構成を実現することができる。
次に、アプリ配備要求に対する処理のフローについて説明する。図19は、アプリ配備要求に対する処理のフローを示すフローチャートである。図19に示すように、NATルール設定部26は、アプリ配備要求を受信し(ステップS21)、同一テナントのアプリ31が配備VM3上に既に存在するか否かを判定する(ステップS22)。
そして、同一テナントのアプリ31が配備VM3上に既に存在する場合には、NATルール設定部26は、変換IPアドレスを決定する(ステップS23)。変換IPアドレスは、同一テナントのアプリ31と同じアドレスである。そして、NATルール設定部26は、アプリ用VM3のSNATルールを配備VM管理テーブル27に登録し(ステップS24)、アプリ用VM3のSNATルールをアプリ用VM3のNATテーブル35に設定する(ステップS25)。そして、NATルール設定部26は、ステップS21に戻る。
一方、同一テナントのアプリ31が配備VM3上に存在しない場合には、NATルール設定部26は、変換IPアドレスを決定する(ステップS26)。変換IPアドレスは、変換アドレス内で未使用のアドレスである。そして、NATルール設定部26は、アプリ用VM3のSNATルールを配備VM管理テーブル27に登録する(ステップS27)。そして、NATルール設定部26は、アプリ用VM3のSNATルールをアプリ用VM3のNATテーブル35に設定する(ステップS28)。
そして、GW構成管理装置2は、アプリ用VM3にGW32のルーティング情報が登録済か否かを判定し、登録済の場合には、ステップS21に戻る。一方、登録済でない場合には、GWルーティング設定部25が、アプリ用VM3のGW32のルーティング情報を設定し(ステップS30)、ステップS21に戻る。
また、ステップS28〜ステップS30の処理と並行して、振り分けルール設定部28が、GW32の振り分けルールを振り分けルール管理テーブル29に登録し(ステップS31)、GW32に振り分けルールを設定する(ステップS32)。そして、GW構成管理装置2は、ステップS21に戻る。
このように、GW構成管理装置2が、アプリ用VM3にSNATルール及びルーティング情報を設定し、GW用VM3に振り分けルールを設定することで、アプリ31から送信されたパケットが、適切なGW32に振り分けられる。
次に、GW32の構築例について図20〜図25Bを用いて説明する。図20は、初期構成を示す図である。図20に示すように、初期状態では、VM#1のNATテーブル35及びルーティングテーブル36、VM#2及びVM#3の振り分けテーブル37、及び、ルータ4のNATテーブル42には何も登録されていない。
図21は、GW構成管理装置2内のテーブル構成(初期状態)を示す図である。図21に示すように、初期状態では、冗長化管理テーブル22、ネットワーク管理テーブル24、配備VM管理テーブル27及び振り分けルール管理テーブル29には何も登録されていない。また、IPアドレス一覧テーブル30には、VM#1〜VM#3及びルータ4のインタフェース33のIPアドレスとサブネットマスクが登録されている。
図22は、GW用VM3のVRRP設定例を示す図であり、図23は、GW構成管理装置2内のテーブル構成(VM3のVRRP設定後)を示す図である。図22に示すように、GW構成管理装置2に、例えば運用者から、冗長構成作成要求が通知される。すると、GW構成管理装置2は、冗長化管理テーブル22を更新し、VM#2とVM#3に対し、VRRPの設定を行う。
図23に示すように、冗長化管理テーブル22には、マスターVM3としてVM#2が登録され、バックアップVM3としてVM#3が登録され、仮想IPアドレスとして192.168.0.11が登録される。
図24は、GWの作成例を示す図であり、図25A及び図25Bは、GW構成管理装置2内のテーブル構成(GW32の作成後)を示す図である。図24に示すように、GW構成管理装置2は、例えば運用者から、テナントA用のGW作成要求が通知されると、冗長化管理テーブル22、IPアドレス一覧テーブル30、振り分けルール管理テーブル29及びネットワーク管理テーブル24を更新する。
また、GW構成管理装置2は、GW#1とGW#3を作成し、VRRPの設定を行う。また、GW構成管理装置2は、ルータ4のNATルールの設定を行う。図24では、プライベートIPの192.168.0.11がグローバルIPの1.1.1.2に変換されるNATルールがルータ4に設定される。
また、図25Aに示すように、冗長化管理テーブル22には、マスターVM3及びマスターGW32としてVM#2及びGW#1が登録され、バックアップVM3及びバックアップGW32としてVM#3及びGW#3が登録される。また、仮想IPアドレスとして192.168.1.11が登録される。また、ネットワーク管理テーブル24には、テナントAのオンプレ環境1bのIPアドレスとサブネットマスクとして、10.0.1.0/24が登録される。
また、図25Bに示すように、IPアドレス一覧テーブル30には、ホストとしてGW#1が登録され、インタフェースとしてeth#0が登録され、IPアドレスとサブネットマスクとして192.168.1.12/24が登録される。また、IPアドレス一覧テーブル30には、ホストとしてGW#3が登録され、インタフェースとしてeth#0が登録され、IPアドレスとサブネットマスクとして192.168.1.13/24が登録される。また、振り分けルール管理テーブル29には、VM#2において、テナントAの振り分け先がGW#1であり、VM#3において、テナントAの振り分け先がGW#3であることが登録される。
次に、アプリの配備例について図26及び図27を用いて説明する。図26は、アプリの配備例を示す図であり、図27は、GW構成管理装置2内のテーブル構成(アプリ31の配備後)を示す図である。図26に示すように、GW構成管理装置2は、例えば運用者から、アプリ配備要求が通知されると、配備VM管理テーブル27、IPアドレス一覧テーブル30及び振り分けルール管理テーブル29を更新する。
また、GW構成管理装置2は、VM#1のSNATルールとルーティング情報を設定し、VM#2とVM#3の振り分けルールを設定する。図26では、送信元IPアドレスを10.0.0.1から192.168.0.21に変換するSNATルールがNATテーブル35に追加される。また、送信先のIPアドレスが10.0.1.0/24であるパケットを192.168.0.11に転送するルーティング情報がルーティングテーブル36に追加される。
また、送信元IPアドレスが192.168.0.21であるパケットをGW#1に振り分ける振り分けルールがVM#2の振り分けルールテーブル37に追加される。また、送信元IPアドレスが192.168.0.21であるパケットをGW#3に振り分ける振り分けルールがVM#3の振り分けルールテーブル37に追加される。
また、図27に示すように、配備VM管理テーブル27には、VM#1にテナントAのアプリ#1が配備されたことがSNATルールとともに追加される。また、IPアドレス一覧テーブル30には、VM#1に仮想インタフェース33aであるeth#0.1が追加される。eth#0.1に設定される仮想IPアドレスは、192.168.0.21である。また、振り分けルール管理テーブル29には、テナントAに関して、VM#2及びVM#3の振り分けルールテーブル37に追加された振り分けルールが追加される。
次に、別テナントのGW32とアプリ31の追加例について図28〜図31を用いて説明する。図28は、GW32の追加例を示す図であり、図29A及び図29Bは、GW構成管理装置2内のテーブル構成(GW32の追加後)を示す図である。図28に示すように、GW構成管理装置2は、例えば運用者から、テナントB用のGW作成要求が通知されると、冗長化管理テーブル22、IPアドレス一覧テーブル30、振り分けルール管理テーブル29及びネットワーク管理テーブル24を更新する。
また、GW構成管理装置2は、GW#2とGW#4を作成し、VRRPの設定を行う。また、GW構成管理装置2は、ルータ4のNATルールの設定を行う。図28では、プライベートIPの192.168.0.12がグローバルIPの1.1.1.3に変換されるNATルールがルータ4に設定される。
また、図29Aに示すように、冗長化管理テーブル22には、マスターVM3及びマスターGW32としてVM#2及びGW#2が登録され、バックアップVM3及びバックアップGW32としてVM#3及びGW#4が登録される。また、仮想IPアドレスとして192.168.1.12が登録される。また、ネットワーク管理テーブル24には、テナントBのオンプレ環境1bのIPアドレスとサブネットマスクとして、10.0.1.0/24が登録される。
また、図29Bに示すように、IPアドレス一覧テーブル30には、ホストとしてGW#2が登録され、インタフェースとしてeth#0が登録され、IPアドレスとサブネットマスクとして192.168.1.14/24が登録される。また、IPアドレス一覧テーブル30には、ホストとしてGW#4が登録され、インタフェースとしてeth#0が登録され、IPアドレスとサブネットマスクとして192.168.1.15/24が登録される。また、振り分けルール管理テーブル29には、VM#2において、テナントBの振り分け先がGW#2であり、VM#3において、テナントBの振り分け先がGW#4であることが登録される。
図30は、アプリの追加例を示す図であり、図31は、GW構成管理装置2内のテーブル構成(アプリ31の追加後)を示す図である。図30に示すように、GW構成管理装置2は、例えば運用者から、テナントB用のアプリ#2の配備要求が通知されると、配備VM管理テーブル27、IPアドレス一覧テーブル30及び振り分けルール管理テーブル29を更新する。
また、GW構成管理装置2は、VM#1のSNATルールの設定を仮想インタフェース33aの作成及び仮想IPアドレスの設定も含めて行い、VM#2とVM#3の振り分けルールを設定する。図30では、送信元IPアドレスを10.0.1.1から192.168.0.22に変換するSNATルールがNATテーブル35に追加される。
また、送信元IPアドレスが192.168.0.22であるパケットをGW#2に振り分ける振り分けルールがVM#2の振り分けルールテーブル37に追加される。また、送信元IPアドレスが192.168.0.22であるパケットをGW#4に振り分ける振り分けルールがVM#3の振り分けルールテーブル37に追加される。
また、図31に示すように、配備VM管理テーブル27には、VM#1にテナントBのアプリ#2が配備されたことがSNATルールとともに追加される。また、IPアドレス一覧テーブル30には、VM#1に仮想インタフェース33aであるeth#0.2が追加される。eth#0.2に設定される仮想IPアドレスは、192.168.0.22である。また、振り分けルール管理テーブル29には、テナントBに関して、VM#2及びVM#3の振り分けルールテーブル37に追加された振り分けルールが追加される。
次に、同一テナントの複数アプリ31の配備例について図32及び図33を用いて説明する。図32は、同一テナントの複数アプリ31の配備例を示す図であり、図33は、GW構成管理装置2内のテーブル構成(アプリ31の配備後)を示す図である。図32に示すように、GW構成管理装置2は、例えば運用者から、テナントA用のアプリ#3のアプリ配備要求が通知されると、配備VM管理テーブル27を更新する。なお、ルーティング設定は、既にテナントAのオンプレ環境1bのネットワークが設定済みなので、不要である。
また、図33に示すように、配備VM管理テーブル27には、VM#1にテナントAのアプリ#3が配備されたことがSNATルールとともに追加される。なお、SNATルールの変換後の送信元IPアドレスは、VM#1上にテナントAのアプリ#1が配備済みのため、テナントAで変換時に使用されている192.168.0.21が選択される。
次に、トンネル設定例について説明する。図34は、トンネル設定例を示す図である。図34に示すように、テナントAの場合、トンネル接続先のオンプレGW6のIPアドレスは1.1.1.2であり、テナントBの場合、トンネル接続先のオンプレGW6のIPアドレスは1.1.1.3である。また、VRRPによってVM#2上のGW32がマスターとなっているため、VM#2上のGW32とトンネル接続が行われる。
上述してきたように、実施例では、NATルール設定部26が、テナント毎にアプリ用VM3に仮想インタフェース33aを作成して仮想IPアドレスを設定する。そして、NATルール設定部26は、アプリ31から送信されるパケットの送信元IPアドレスを仮想IPアドレスに変換するSNATルールを作成してアプリ用VM3のNATテーブル35に設定する。また、GW作成部21が、オンプレGW6との間でトンネル接続するGW32をGW用VM3に作成する。そして、GWルーティング設定部25が、アプリ31から送信されるパケットの転送先をGW用VM3とするルーティング情報を作成してアプリ用VM3のルーティングテーブル36に設定する。そして、振り分けルール設定部28が、アプリ用VM3から送られてきたパケットを送信元IPアドレスに基づいてGW32に振り分ける振り分けルールを作成してGW用VM3の振り分けルールテーブル37に設定する。
したがって、GW構成管理装置2は、アプリ31の記述の変更を不要とすることができる。また、GW構成管理装置2は、GW用VM3に複数のテナントのGW32を作成することができ、VM3の増加を防ぐことができる。このため、GW構成管理装置2は、消費するグローバルIPアドレスの増加を防ぐことができる。
また、実施例では、GW作成部21は、GW32をVRRPにより冗長化してマスターGW32及びバックアップGW32に仮想IPアドレスを設定する。そして、GW作成部21は、マスターGW32及びバックアップGW32に設定された仮想IPアドレスをグローバルIPアドレスに変換するNATルールを作成する。そして、ルータ設定部23が、NATルールをルータ4のNATテーブル42を設定する。また、GW作成部21は、GW用VM3を冗長化して仮想IPアドレスを設定し、設定した仮想IPアドレスをアプリ用VM3のルーティング情報の転送先とする。したがって、GW構成管理装置2は、PaaS環境1aとオンプレ環境1bとの間のトンネル接続を冗長化し、信頼性を向上することができる。
なお、実施例では、通信制御装置として動作するGW構成管理装置2について説明したが、GW構成管理装置2が有する構成をソフトウェアによって実現することで、同様の機能を有するGW構成管理プログラムを得ることができる。そこで、GW構成管理プログラムを実行するコンピュータについて説明する。
図35は、実施例に係るGW構成管理プログラムを実行するコンピュータのハードウェア構成を示す図である。図35に示すように、コンピュータ60は、メインメモリ61と、CPU62と、LAN(Local Area Network)インタフェース63と、HDD(Hard Disk Drive)64とを有する。また、コンピュータ60は、スーパーIO(Input Output)65と、DVI(Digital Visual Interface)66と、ODD(Optical Disk Drive)67とを有する。
メインメモリ61は、プログラムやプログラムの実行途中結果などを記憶するメモリである。CPU62は、メインメモリ61からプログラムを読出して実行する中央処理装置である。CPU62は、メモリコントローラを有するチップセットを含む。
LANインタフェース63は、コンピュータ60をLAN経由で他のコンピュータに接続するためのインタフェースである。HDD64は、プログラムやデータを格納するディスク装置であり、スーパーIO65は、マウスやキーボードなどの入力装置を接続するためのインタフェースである。DVI66は、液晶表示装置を接続するインタフェースであり、ODD67は、DVDの読み書きを行う装置である。
LANインタフェース63は、PCIエクスプレス(PCIe)によりCPU62に接続され、HDD64及びODD67は、SATA(Serial Advanced Technology Attachment)によりCPU62に接続される。スーパーIO65は、LPC(Low Pin Count)によりCPU62に接続される。
そして、コンピュータ60において実行されるGW構成管理プログラムは、DVDに記憶され、ODD67によってDVDから読出されてコンピュータ60にインストールされる。あるいは、GW構成管理プログラムは、LANインタフェース63を介して接続された他のコンピュータシステムのデータベースなどに記憶され、これらのデータベースから読出されてコンピュータ60にインストールされる。そして、インストールされたGW構成管理プログラムは、HDD64に記憶され、メインメモリ61に読出されてCPU62によって実行される。
また、実施例では、GW構成管理装置2がPaaS管理装置8と異なる場合について説明したが、本発明はこれに限定されるものではなく、GW構成管理装置2とPaaS管理装置8が同一の場合にも同様に適用することができる。
1 ハイブリッドクラウド型PaaSシステム
1a,9a PaaS環境
1b,9b オンプレ環境
2 GW構成管理装置
3,93 VM
4 ルータ
5 インターネット
6,96 オンプレGW
6a ルーティングテーブル
7 サーバ
8 PaaS管理装置
21 GW作成部
22 冗長化管理テーブル
23 ルータ設定部
24 ネットワーク管理テーブル
25 GWルーティング設定部
26 NATルール設定部
27 配備VM管理テーブル
28 振り分けルール設定部
29 振り分けルール管理テーブル
30 IPアドレス一覧テーブル
31,931 アプリ
32,932 GW
33 インタフェース
33a 仮想インタフェース
35 NATテーブル
36 ルーティングテーブル
37 振り分けルールテーブル
38 ルーティングテーブル
42 NATテーブル
60 コンピュータ
61 メインメモリ
62 CPU
63 LANインタフェース
64 HDD
65 スーパーIO
66 DVI
67 ODD
71 DB

Claims (6)

  1. コンピュータに、
    アプリケーションが実行される第1の仮想マシンにおいてテナント毎に仮想インタフェースを作成して仮想IPアドレスを設定し、
    前記アプリケーションから出力されたパケットの送信元のIPアドレスを前記仮想インタフェースに設定された仮想IPアドレスに変換するSNATルールを作成して前記第1の仮想マシンに設定し、
    前記パケットをトンネリングにより送信先に送信するゲートウェイをテナント毎に第2の仮想マシンに作成し、
    前記SNATルールに基づいて送信元のIPアドレスが変換されたパケットの転送先を前記第2の仮想マシンとするルーティング情報を作成して前記第1の仮想マシンに設定し、
    前記ルーティング情報に基づいて前記第2の仮想マシンに送信されたパケットを該パケットの送信元のIPアドレスに基づいてゲートウェイに振り分ける振り分けルールを作成して前記第2の仮想マシンに設定する
    処理を実行させることを特徴とする通信制御プログラム。
  2. 前記コンピュータに、
    前記ゲートウェイを冗長化プロトコルにより冗長化して該ゲートウェイに仮想IPアドレスを設定し、
    前記仮想IPアドレスをグローバルIPアドレスに変換するNATルールを作成し、前記ゲートウェイでトンネリング用の情報が付加されたパケットを外部ネットワークへ転送するルータに設定し、
    前記第2の仮想マシンを冗長化プロトコルにより冗長化して該第2の仮想マシンに仮想IPアドレスを設定する
    処理をさらに実行させ、
    前記ルーティング情報の前記転送先を前記第2の仮想マシンの仮想IPアドレスとすることを特徴とする請求項1に記載の通信制御プログラム。
  3. 前記第1の仮想マシン、前記第2の仮想マシン及び前記ルータは、クラウド上のPaaS環境に含まれ、前記送信先は、オンプレ環境に含まれるゲートウェイであることを特徴とする請求項2に記載の通信制御プログラム。
  4. 前記冗長化プロトコルは、VRRPであることを特徴とする請求項2に記載の通信制御プログラム。
  5. コンピュータが、
    アプリケーションが実行される第1の仮想マシンにおいてテナント毎に仮想インタフェースを作成して仮想IPアドレスを設定し、
    前記アプリケーションから出力されたパケットの送信元のIPアドレスを前記仮想インタフェースに設定された仮想IPアドレスに変換するSNATルールを作成して前記第1の仮想マシンに設定し、
    前記パケットをトンネリングにより送信先に送信するゲートウェイをテナント毎に第2の仮想マシンに作成し、
    前記SNATルールに基づいて送信元のIPアドレスが変換されたパケットの転送先を前記第2の仮想マシンとするルーティング情報を作成して前記第1の仮想マシンに設定し、
    前記ルーティング情報に基づいて前記第2の仮想マシンに送信されたパケットを該パケットの送信元のIPアドレスに基づいてゲートウェイに振り分ける振り分けルールを作成して前記第2の仮想マシンに設定する
    処理を実行することを特徴とする通信制御方法。
  6. アプリケーションが実行される第1の仮想マシンにおいてテナント毎に仮想インタフェースを作成して仮想IPアドレスを設定する仮想IP設定部と、
    前記アプリケーションから出力されたパケットの送信元のIPアドレスを前記仮想インタフェースに設定された仮想IPアドレスに変換するSNATルールを作成して前記第1の仮想マシンに設定するSNAT設定部と、
    前記パケットをトンネリングにより送信先に送信するゲートウェイをテナント毎に第2の仮想マシンに作成するGW作成部と、
    前記SNATルールに基づいて送信元のIPアドレスが変換されたパケットの転送先を前記第2の仮想マシンとするルーティング情報を作成して前記第1の仮想マシンに設定するルーティング情報設定部と、
    前記ルーティング情報に基づいて前記第2の仮想マシンに送信されたパケットを該パケットの送信元のIPアドレスに基づいてゲートウェイに振り分ける振り分けルールを作成して前記第2の仮想マシンに設定する振り分け設定部と
    を有することを特徴とする通信制御装置。
JP2016117307A 2016-06-13 2016-06-13 通信制御プログラム、通信制御方法及び通信制御装置 Pending JP2017224895A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016117307A JP2017224895A (ja) 2016-06-13 2016-06-13 通信制御プログラム、通信制御方法及び通信制御装置
US15/603,826 US20170359198A1 (en) 2016-06-13 2017-05-24 Non-transitory computer-readable storage medium, communication control method, and communication control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016117307A JP2017224895A (ja) 2016-06-13 2016-06-13 通信制御プログラム、通信制御方法及び通信制御装置

Publications (1)

Publication Number Publication Date
JP2017224895A true JP2017224895A (ja) 2017-12-21

Family

ID=60574177

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016117307A Pending JP2017224895A (ja) 2016-06-13 2016-06-13 通信制御プログラム、通信制御方法及び通信制御装置

Country Status (2)

Country Link
US (1) US20170359198A1 (ja)
JP (1) JP2017224895A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2020250407A1 (ja) * 2019-06-14 2020-12-17
KR102270141B1 (ko) * 2019-12-20 2021-06-28 주식회사 아라드네트웍스 통신 제어 방법 및 이를 이용한 장치
JPWO2021152670A1 (ja) * 2020-01-27 2021-08-05
WO2023100331A1 (ja) * 2021-12-02 2023-06-08 日本電信電話株式会社 パケット中継システム、および、パケット中継方法
US11784851B2 (en) 2021-06-17 2023-10-10 Arad Networks Method for controlling communication and apparatus using the same

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9519513B2 (en) 2013-12-03 2016-12-13 Vmware, Inc. Methods and apparatus to automatically configure monitoring of a virtual machine
US9678731B2 (en) 2014-02-26 2017-06-13 Vmware, Inc. Methods and apparatus to generate a customized application blueprint
US20150378763A1 (en) 2014-06-30 2015-12-31 Vmware, Inc. Methods and apparatus to manage monitoring agents
CN108650182B (zh) * 2018-04-20 2020-09-25 腾讯科技(深圳)有限公司 网络通信方法、系统、装置、设备及存储介质
CN109245984B (zh) * 2018-07-13 2021-07-09 华为技术有限公司 一种报文传输方法、一种信息处理方法及其相关设备
CN110545205B (zh) * 2019-09-03 2021-11-30 北京首都在线科技股份有限公司 基于Paas网络的租户数据处理方法及处理装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2020250407A1 (ja) * 2019-06-14 2020-12-17
WO2020250407A1 (ja) * 2019-06-14 2020-12-17 日本電信電話株式会社 監視装置、冗長切替方法、冗長切替プログラム、および、ネットワークシステム
KR102270141B1 (ko) * 2019-12-20 2021-06-28 주식회사 아라드네트웍스 통신 제어 방법 및 이를 이용한 장치
JPWO2021152670A1 (ja) * 2020-01-27 2021-08-05
JP7215605B2 (ja) 2020-01-27 2023-01-31 日本電信電話株式会社 通信装置、切り替え制御方法、及びプログラム
US11784851B2 (en) 2021-06-17 2023-10-10 Arad Networks Method for controlling communication and apparatus using the same
WO2023100331A1 (ja) * 2021-12-02 2023-06-08 日本電信電話株式会社 パケット中継システム、および、パケット中継方法

Also Published As

Publication number Publication date
US20170359198A1 (en) 2017-12-14

Similar Documents

Publication Publication Date Title
JP2017224895A (ja) 通信制御プログラム、通信制御方法及び通信制御装置
US11863625B2 (en) Routing messages between cloud service providers
JP6581277B2 (ja) データパケット転送
CN110278151B (zh) 用于逻辑路由器的动态路由
JP5809696B2 (ja) 分散型仮想ネットワーク・ゲートウェイ
JP5859519B2 (ja) データパケットの配信管理方法
CN109155799A (zh) 经由层三通信的子网扩展
CN107947961A (zh) 基于SDN的Kubernetes网络管理系统与方法
JP2017135552A (ja) ネットワーク装置、通信方法、及び、ネットワークシステム
JP5871063B2 (ja) マルチテナントシステム、スイッチ、コントローラ、及びパケット転送方法
CN105281947A (zh) 用于将遗留网络变换成具备sdn能力的网络的技术
CN104065553B (zh) 虚拟网络迁移方法和相关设备
CN116158063A (zh) 多边以太信道(meec)创建和管理
JP5754506B2 (ja) 通信システム、コントローラ、スイッチ、ストレージ管理装置、及び通信方法
US11121969B2 (en) Routing between software defined networks and physical networks
JP5772434B2 (ja) 冗長化制御のためのプログラム、情報処理装置及び方法、通信装置、中継処理方法及びプログラム
WO2019160005A1 (ja) 経路情報転送装置、経路情報転送方法および経路情報転送プログラム
JP6402078B2 (ja) ネットワークシステムおよびパケット転送方法
JP4257151B2 (ja) パケット制御システム、パケット制御装置、パケット中継装置およびパケット制御プログラム
JP5911620B2 (ja) 仮想ネットワーク管理サーバ及びエッジルータ
CN116724546A (zh) 用于融合以太网上的RDMA(RoCE)云规模多租赁
WO2015146215A1 (ja) ネットワークアドレス変換装置、ネットワークアドレス変換システム、ネットワークアドレス変換方法、及びコンピュータ読み取り可能な記録媒体
JP6062394B2 (ja) 中継装置および中継方法
KR102567139B1 (ko) 엣지 플랫폼 관리장치 및 엣지 플랫폼 관리장치의 동작 방법
JP7367873B2 (ja) データノード、データノード管理方法、および、データノード管理プログラム