【文献】
西村崇,解剖!クラウドテクノロジー クラウドセキュリティ 仮想化ソフトの制御でマシン同士を完全に分離,日経SYSTEMS,日本,日経BP社,2011年 6月26日,第219号,p.60-65
【文献】
田村奈央,「仮想化?関係ないね」と思うべからず,日経NETWORK,日本,日経BP社,2011年 9月28日,第138号,p.34-51
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
以下、添付図面を参照しながら本発明の実施形態について説明する。説明の理解を容易にするため、各図面において同一の構成要素及びステップに対しては可能な限り同一の符号を付して、重複する説明は省略する。
【0011】
図1は、本実施形態のサーバ装置を含む情報処理システムの概略図である。
図1に示すように、情報処理システム1は、サーバ装置としての一又は複数の物理サーバ10を備える。複数の物理サーバ10は、通信ネットワークNTを介して互いに接続されていることにより、互いに通信可能である。
【0012】
物理サーバ10は、一又は複数の仮想サーバ12を備えている。仮想サーバ12は、物理サーバ10に記憶されたプログラムにより実現される。仮想サーバ12は、OS(Operating System)やアプリケーションを実行させることができ、ユーザに対してあたかも独立したコンピュータを提供するものである。
【0013】
図2は、物理サーバ10のハードウェア構成の一例を概略的に示す図である。
図2に示すように、物理サーバ10は、制御装置20と、通信装置26と、記憶装置28と、を備える。制御装置20は、CPU(Central Processing Unit)22及びメモリ24を主に備えて構成される。
【0014】
制御装置20では、CPU22がメモリ24或いは記憶装置28等に格納された所定のプログラムを実行することにより、各種の機能実現手段として機能する。この機能実現手段の詳細については後述する。
【0015】
通信装置26は、外部の装置と通信するための通信インターフェース等で構成される。通信装置26は、例えば、他の物理サーバ10との間で各種の情報を送受信する。
【0016】
記憶装置28は、ハードディスク等で構成される。記憶装置28は、制御装置20における処理の実行に必要な各種プログラムや各種の情報、及び処理結果の情報を記憶する。
【0017】
なお、物理サーバ10は、専用又は汎用のコンピュータなどの情報処理装置を用いて実現することができる。なお、物理サーバ10は、単一の情報処理装置より構成されるものであっても、通信ネットワークNT上に分散した複数の情報処理装置より構成されるものであってもよい。
【0018】
なお、
図2は、物理サーバ10が有する主要なハードウェア構成の一部を示しているに過ぎず、物理サーバ10は、サーバが一般的に備える他の構成を備えることができる。
【0019】
図3は、
図1に示す情報処理システム1の機能的な構成の一例を概略的に示すブロック図である。
図3に示すように、情報処理システム1は、例えば、物理サーバ10として、第1物理サーバ10Aと、第2物理サーバ10Bとを備える。
【0020】
第1物理サーバ10Aは、機能的な構成として、例えば、第1仮想サーバ12Aと、第2仮想サーバ12Bと、第3仮想サーバ12Cと、第1経路部14Aと、第2経路部14Bと、第3経路部14Cと、第1接続部16Aと、設定部18Aと、を例示的に備える。第2物理サーバ10Bは、機能的な構成として、例えば、第4仮想サーバ12Dと、第5仮想サーバ12Eと、第6仮想サーバ12Fと、第4経路部14Dと、第5経路部14Eと、第6経路部14Fと、第2接続部16Bと、設定部18Bと、を例示的に備える。これら機能的な構成は、制御装置20がプログラムを実行することにより実現される。
【0021】
第1仮想サーバ12A、第2仮想サーバ12B、第3仮想サーバ12C、第4仮想サーバ12D、第5仮想サーバ12E、第6仮想サーバ12Fは、例えば他の仮想サーバを宛先としてデータを送信することが可能な機能部である。本実施形態では、データは、パケットデータである。以下、パケットデータを単に「パケット」と称す。
【0022】
第1経路部14A、第2経路部14B、第3経路部14C、第4経路部14D、第5経路部14E、及び、第6経路部14Fは、パケットの経路とされる機能部である。各経路部14A〜14Fは、例えばTAPデバイスやTAPインターフェースと呼ばれるものである。
【0023】
第1経路部14Aは、第1仮想サーバ12Aに対応付けて設けられ、第1仮想サーバ12Aと第1接続部16Aとを接続する。第2経路部14Bは、第2仮想サーバ12Bに対応付けて設けられ、第2仮想サーバ12Bと第1接続部16Aとを接続する。第3経路部14Cは、第3仮想サーバ12Cに対応付けて設けられ、第3仮想サーバ12Cと第1接続部16Aとを接続する。第4経路部14Dは、第4仮想サーバ12Dに対応付けて設けられ、第4仮想サーバ12Dと第2接続部16Bとを接続する。第5経路部14Eは、第5仮想サーバ12Eに対応付けて設けられ、第5仮想サーバ12Eと第2接続部16Bとを接続する。第6経路部14Fは、第6仮想サーバ12Fに対応付けて設けられ、第6仮想サーバ12Fと第2接続部16Bとを接続する。
【0024】
各経路部14A〜14Fには、2つ以上の仮想サーバにおいて共通とすることが可能なグループ識別情報が設定されている。本実施形態では、グループ識別情報は、非限定の例示としてグループ番号とする。例えば、第1経路部14Aには14番(Gr:14)、第2経路部14Bには20番(Gr:20)、第3経路部14Cには20番(Gr:20)が設定されている。また、第4経路部14Dには14番(Gr:14)、第5経路部14Eには14番(Gr:14)、第6経路部14Fには20番(Gr:20)が設定されている。経路部14A〜14Fは、仮想サーバ12A〜12Fそれぞれに設けられていることから、各仮想サーバ12A〜12Fには、グループ番号が対応付けられていると言える。なお、グループ番号は、経路部14A〜14Fにではなく、仮想サーバ12A〜12F自身に設定されてもよい。
【0025】
第1接続部16A及び第2接続部16Bは、複数の仮想サーバ12A〜12Fを互いに通信可能に接続する機能部である。第1接続部16A及び第2接続部16Bは、それぞれ通信装置26に接続されている。第1接続部16A及び第2接続部16Bは、複数の仮想サーバ12A〜12Fのうち1つの仮想サーバが他の仮想サーバとパケットの通信をする場合に、1つの仮想サーバに設定されているグループ番号と、他の仮想サーバに設定されているグループ番号とに基づいて、通信を制限する。
【0026】
本実施形態では、第1接続部16A及び第2接続部16Bは、複数の仮想サーバ12A〜12Fのうち1つの仮想サーバから他の仮想サーバを宛先としてデータが送信される過程でデータを取得した場合に、1つの仮想サーバに設定されているグループ番号を取得し、取得したグループ番号が、宛先に対応付けられているグループ番号と一致するか否かを判定し、肯定判定をした場合には宛先へ転送し、否定判定をした場合には宛先への転送を禁止する。ここで、否定判定をした場合には、例えば接続部16A、16Bは、取得したデータを削除する。
【0027】
設定部18A、18Bは、各仮想サーバ12A〜12Fに対応する各経路部14A〜14Fに対して、グループ番号をユーザの操作に応じて設定する機能部である。例えば、設定部18A、18Bは、経路部14が新たに設けられる場合に、新たな経路部14に対するグループ番号の指定をユーザから受け付け、受け付けたグループ番号を新たな経路部14に対して設定する。なお、設定部18A、18Bは、手動ではなく、グループ番号を自動的に設定するようにしてもよい。
【0028】
図4は、
図3に示す情報処理システム1の機能的な構成において、仮想サーバ12同士の通信処理の流れの一例を示すフローチャートである。
【0029】
(ステップSP10)
複数の仮想サーバ12A〜12Fのうち1つの仮想サーバ、例えば第1仮想サーバ12Aがパケットを作成する。そして、処理は、ステップSP12の処理に移行する。
【0030】
(ステップSP12)
第1仮想サーバ12Aは、特定の仮想サーバを宛先としてパケットを、対応する第1経路部14Aを介して送信する。そして、処理は、ステップSP14の処理に移行する。
【0031】
(ステップSP14)
第1経路部14Aは、第1仮想サーバ12Aからパケットを取得し、これを第1接続部16Aに転送する。そして、処理は、ステップSP16の処理に移行する。
【0032】
(ステップSP16)
第1接続部16Aは、第1仮想サーバ12Aから第1経路部14Aを介してパケットを取得する。この場合に、第1仮想サーバ12Aに対応付けられているグループ番号を取得する。本実施形態では、第1仮想サーバ12Aの第1経路部14Aに設定されているグループ番号(14番)を取得する。なお、このグループ番号は、パケットと共に第1経路部14Aから転送されてもよい。そして、処理は、ステップSP18の処理に移行する。
【0033】
(ステップSP18)
第1接続部16Aは、取得したグループ番号をパケットに付与する。そして、処理は、ステップSP20の処理に移行する。
【0034】
(ステップSP20)
第1接続部16Aは、パケットの送信先(宛先)が、パケットを送信した第1仮想サーバ12Aを備える同一の物理サーバ10A内か否か判定する。そして、肯定判定をされた場合には、処理はステップSP28の処理に移行し、否定判定をされた場合には、処理はステップSP22の処理に移行する。
【0035】
(ステップSP22)
第1接続部16Aは、パケットを通信装置26へ転送する。そして、処理は、ステップSP24の処理に移行する。
【0036】
(ステップSP24)
物理サーバ10Aの通信装置26は、パケットを、ネットワークNTを介して、宛先に対応する物理サーバ、例えば物理サーバ10Bへ転送する。そして、処理は、ステップSP26の処理に移行する。
【0037】
(ステップSP26)
物理サーバ10Bの通信装置26は、物理サーバ10Aからパケットを受信する。これに応答して、通信装置26は、受信したパケットを第2接続部16Bへ転送する。そして、処理は、ステップSP28の処理に移行する。
【0038】
(ステップSP28)
第1接続部16A又は第2接続部16Bは、パケットに付与されているグループ番号(14番)が、宛先に対応する経路部のグループ番号と一致するか否かを判定する。そして、肯定判定をされた場合には処理は、ステップSP30の処理に移行し、否定判定をされた場合には処理は、ステップSP32の処理に移行する。
【0039】
例えば、宛先に対応する経路部が第2経路部14Bである場合、そのグループ番号は20番であるので、パケットに付与されているグループ番号(14番)と一致せず、ステップSP28の判定で否定判定される。また、宛先に対応する経路部が第3経路部14Cである場合、そのグループ番号は20番であるので、パケットに付与されているグループ番号(14番)と一致せず、ステップSP28の判定で否定判定される。また、宛先に対応する経路部が第4経路部14Dである場合、そのグループ番号は14番であるので、パケットに付与されているグループ番号(14番)と一致し、ステップSP28の判定で肯定判定される。
【0040】
(ステップSP30)
第1接続部16A又は第2接続部16Bは、パケットを、対応する経路部を介して宛先に転送する。そして、一連の処理が終了する。
【0041】
(ステップSP32)
第1接続部16A又は第2接続部16Bは、パケットを宛先へ転送せず、破棄(削除)する。そして、一連の処理が終了する。
【0042】
ここで、通信を制限する方法としては、参考例として、仮想サーバ毎に、通信制限する対象の仮想サーバのIPアドレスを登録しておき、登録したIPアドレスの仮想サーバから通信があった場合には、通信を禁止する方法が考えられる。しかしながら、この方法では、仮想サーバが増える度に、増えた仮想サーバにおいて、通信を制限したい仮想サーバのIPアドレスを全て登録する必要があり、また、既存の仮想サーバにおいても、増えた仮想サーバとの通信を制限する場合にはそのIPアドレスを登録する必要があり、物理サーバのユーザ(管理者等)にとって、通信制限を行うのが煩雑である。
【0043】
これに対して、本実施形態によれば、サーバ装置10において仮想サーバ12が新たに増えた場合、ユーザは、既存の仮想サーバ12A〜12Fに設定されているグループ番号との関係を考慮し、新たに増えた仮想サーバに対してグループ番号を設定することで、既存の仮想サーバ12A〜12Fに対してグループ番号の設定を変えることなく、新たに増えた仮想サーバと既存の仮想サーバ12A〜12Fとの通信を制限することができる。したがって、仮想サーバ12同士の通信制限をユーザが容易に行うことができる。
【0044】
また、第1接続部16A又は第2接続部16Bは、1つの仮想サーバからパケットを取得した場合に、1つの仮想サーバに設定されているグループ番号を取得し、取得したグループ番号が、宛先となる他の仮想サーバに設定されているグループ番号と一致するか否かを判定し、肯定判定をした場合には他の仮想サーバへ転送し、否定判定をした場合には他の仮想サーバへの転送を禁止する。このように、第1接続部16A又は第2接続部16Bは、取得したグループ番号が、宛先となる他の仮想サーバに設定されているグループ番号と一致しない場合には、他の仮想サーバへの転送を禁止するので、仮想サーバ12同士の通信制限をより確実に行うことができる。
【0045】
また、グループ番号は、複数の仮想サーバ12A〜12Fそれぞれに対応する経路部14A〜14Fに対して設定されている。ここで、仮想サーバ12A〜12Fのユーザは、サーバ装置10のユーザ(管理者)と異なる場合があるが、この場合でも、経路部14A〜14Fは、管理者が管理する。したがって、グループ番号を経路部14A〜14Fに対して設定するようにすれば、グループ番号を複数の仮想サーバ12A〜12Fそれ自身に設定する場合に比べて、管理者側で自由且つ確実に設定することができる。
【0046】
また、第1接続部16A又は第2接続部16Bは、否定判定をした場合には、言い換えれば、グループ番号が異なる場合には、パケットを削除するので、メモリ24の消費を抑えることができる。
【0047】
また、第1接続部16A又は第2接続部16Bは、1つの仮想サーバ(送信元)に設定されているグループ番号をパケットに付与するので、通信が異なる物理サーバ10間の通信であっても、グループ番号同士の一致の有無を確実に判定することができる。
【0048】
<変形例>
以上、具体例を参照しつつ本発明の実施の形態について説明した。しかし、本発明はこれらの具体例に限定されるものではない。すなわち、これら具体例に、当業者が適宜設計変更を加えたものも、本発明の特徴を備えている限り、本発明の範囲に包含される。前述した各具体例が備える各要素およびその配置、条件、形状などは、例示したものに限定されるわけではなく適宜変更することができる。
【0049】
例えば、ステップSP18においてグループ番号をパケットに付与する処理を説明したが、この処理は省略してもよい。