説明

仮想環境データ転送システムおよび仮想環境データ転送装置

【課題】仮想化環境において直接のアクセスが制限された装置間でデータを転送するための技術を提供する。
【解決手段】仮想環境データ転送システム10において、仮想マシン134は、ホストサーバ132上で稼働する。データ転送サーバ122は、ホストサーバ132と、ユーザ端末102に接続されている。ユーザ端末102は、仮想マシン134が作成したデータの転送を要求するデータ転送要求をデータ転送サーバ122に送信する。データ転送サーバ122の要求処理部は、データの種類が転送条件を満たす場合に、データ転送要求に含まれたIPアドレスとポート番号との第1の組み合わせを第2の組み合わせに置換し、データ転送要求をホストサーバ132に転送する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、仮想化環境のセキュリティ管理技術に関連し、特に、仮想化環境においてデータを転送するための仮想環境データ転送システムおよび仮想環境データ転送装置に関する。
【背景技術】
【0002】
コンピュータシステムを構成するプロセッサ、メモリなどの資源を、物理的構成とは別に、柔軟に分割したり統合したりして利用する仮想化技術が注目を集めている。
たとえばサーバを仮想化することにより、利用率が低くサーバ性能を活かしきれていないサーバを1台の物理サーバに集約するなど、物理的なサーバ台数を減らすことができ、資源の有効利用や、スペース削減、メンテナンスコストの削減が期待される。また、仮想化によりシステムの拡張や構成変更が容易になるため、利用可能なハードウェア資源の構成を動的に最適化することができ、パフォーマンス向上が期待される。このため、近年、仮想化技術を導入する企業が急速に増えている。
このような状況において、仮想化環境において構築した仮想マシンに、外部からアクセスしたいという要請がある(例えば、非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】harada、VMWare Server 上の仮想マシンに外部からアクセスする方法、[online]、2008/09/19/19、株式会社ニジモ、nijimo Blog、[2010/3/24検索]、インターネット<URL:http://blog.nijimo.jp/2008/09/19/19/>
【発明の概要】
【発明が解決しようとする課題】
【0004】
仮想化環境において、あるサーバと、そのサーバ上で仮想的に稼働する仮想マシンの所属するセグメントを分けたいことがある。たとえば、ユーザに公開されていないLAN(Local Area Network)に所属するサーバと、そのサーバ上で稼働し、ユーザから利用可能である仮想マシンとは、セキュリティ上、分離して管理することが望ましい。
【0005】
しかしながら、従来の仮想化環境用のサーバの機能では、公開されていないサーバ上で稼働する仮想マシンの画面を、非公開LAN外部のユーザ端末に表示させるような場合、非公開LAN内のサーバと、外部のユーザ端末とを直接接続せざるを得なかった。これは、ユーザの不正行為や不注意に起因する事故を誘発する恐れがあり、セキュリティの観点から望ましくない。
とくに、非公開LAN内のサーバに重要な影響をおよぼしうる管理情報を通信するための管理用ポートと画面などのデータを通信するためのデータ用ポートとが分離されておらず、一のポートで管理情報もデータも通信するタイプのサーバを用いる場合において、この問題は顕著であった。すなわちこの場合、画面転送のみのために、外部の端末から非公開サーバの管理ポートにアクセスできる状態にしておく必要があったため、セキュリティ上、深刻な問題であった。
【0006】
本発明は、上記課題に基づいて完成された発明であり、その主たる目的は、仮想化環境において、装置間の直接のアクセスを制限しつつ、データの転送を可能とするための技術を提供することにある。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明のある態様の仮想環境データ転送システムは、ホストサーバと、ホストサーバ上で稼働する仮想マシンと、ホストサーバに接続されているデータ転送サーバと、データ転送サーバに接続されており、仮想マシンが作成したデータの転送を要求するデータ転送要求をデータ転送サーバに送信するユーザ端末とを備える。データ転送サーバは、データ転送要求のヘッダから、IPアドレスとポート番号との第1の組み合わせを取得するとともに、データ転送要求のペイロードから、ヘッダの属する層より上位の層のヘッダを取得する第1取得部と、第1取得部において取得した第1の組み合わせのうち、少なくともIPアドレスを他のIPアドレスに変換することによって、ひとつに固定されたポート番号と他のIPアドレスとの第2の組み合わせを生成する変換部と、第1取得部において取得した上位の層のヘッダに含まれた識別情報であって、かつデータ転送要求に含まれうる複数種類のデータのうちのいずれかを特定するための識別情報を取得する第2取得部と、第2取得部において取得した識別情報に対応したデータの種類が、データ転送要求の転送を許可するための転送条件を満たすか否か判定する転送条件判定部と、データの種類が転送条件を満たす場合に、データ転送要求に含まれた第1の組み合わせを第2の組み合わせに置換し、データ転送要求をホストサーバに転送する要求転送部とを備える。
【0008】
本発明の別の態様は、仮想環境データ転送装置である。この装置は、ユーザ端末と、仮想マシンが稼働するホストサーバとに接続されるデータ転送装置であって、仮想マシンが作成したデータの転送を要求するデータ転送要求をユーザ端末から受け付ける要求受付部と、データ転送要求のヘッダから、IPアドレスとポート番号との第1の組み合わせを取得するとともに、データ転送要求のペイロードから、ヘッダの属する層より上位の層のヘッダを取得する第1取得部と、第1取得部において取得した第1の組み合わせのうち、少なくともIPアドレスを他のIPアドレスに変換することによって、ひとつに固定されたポート番号と他のIPアドレスとの第2の組み合わせを生成する変換部と、第1取得部において取得した上位の層のヘッダに含まれた識別情報であって、かつデータ転送要求に含まれうる複数種類のデータのうちのいずれかを特定するための識別情報を取得する第2取得部と、第2取得部において取得した識別情報に対応したデータの種類が、データ転送要求の転送を許可するための転送条件を満たすか否か判定する転送条件判定部と、データの種類が転送条件を満たす場合に、データ転送要求に含まれた第1の組み合わせを第2の組み合わせに置換し、データ転送要求をホストサーバに転送する要求転送部とを備える。
【0009】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0010】
本発明によると、仮想化を導入したシステムにおいて、セキュリティ保護された環境で、データを転送するための技術を提供することが可能となる。
【図面の簡単な説明】
【0011】
【図1】実施の形態にかかる仮想環境データ転送システムのブロック図である。
【図2】実施の形態にかかるデータ転送サーバのブロック図である。
【図3】実施の形態にかかる環境管理サーバの仮想マシン情報記憶部に格納された仮想マシン情報テーブルを示す図である。
【図4】実施の形態にかかるユーザLANの仮アドレス記憶部に格納された仮アドレス対応テーブルを示す図である。
【図5】図2のデータ転送サーバの実アドレス記憶部に格納されたホストサーバ実アドレステーブルを示す図である。
【図6】ユーザ端末から仮想マシンへと画面クエリが送信され、仮想マシンからユーザ端末へと画面が転送される手順を示すフローチャートである。
【図7】図6の要求転送処理を示すフローチャートである。
【発明を実施するための形態】
【0012】
はじめに、実施の形態にかかる仮想環境データ転送システムの概要を説明する。
仮想環境データ転送システムにおいては、ユーザに公開しない管理LAN内のサーバと、そのサーバ上で稼働し、ユーザ端末から利用可能である仮想マシンとを分離して管理する。ユーザ端末に対しては、管理LAN内のサーバの実際のアドレス(以下、「実アドレス」ともいう)や、そのサーバ上で稼働する仮想マシンの実アドレスは公開されない。したがって、ユーザ端末が、管理LAN内のサーバや、そのサーバ上で稼働する仮想マシンに直接アクセスすることはできない。ユーザ端末とホストサーバとの間の通信は、データ転送サーバが中継する。
【0013】
ユーザ端末には、利用可能な仮想マシンのホスト名が公開されている。
ユーザがユーザ端末に対して、ある仮想マシンからデータを取得することを指示すると、ユーザ端末は、その仮想マシンのホスト名にもとづいて、その仮想マシンが稼働するホストサーバのホスト名を問い合わせ、取得する。そして、取得したホスト名にもとづいて、ホストサーバにそれぞれ割り当てられた仮のアドレス(以下、「仮アドレス」ともいう)を取得し、仮想マシンからのデータの転送を要求するデータ転送要求を、仮アドレスに宛てて、送信する。
仮アドレスは、実際には、データ転送サーバのアドレスであり、ユーザ端末が、仮アドレスを用いてデータ転送要求を送信すると、データ転送要求はデータ転送サーバに送信される。
【0014】
データ転送サーバは、ユーザ端末から受け取ったパケットについて、ヘッダからデータの種類を読み取り、ホストサーバに転送してよいデータであると判定した場合には、そのパケットをホストサーバに転送する。
データ転送サーバはまた、応答として仮想マシンから送られたデータを、ユーザ端末に転送する。
【0015】
本明細書において、送信先を特定することができる情報を、「アドレス」とよぶ。たとえばIPアドレスがアドレスとして用いられてもよく、IPアドレスとポート番号の組み合わせがアドレスとして用いられてもよい。
また、本明細書において、仮想マシンにハードウェア資源などを提供しており、仮想マシンがその上で稼働しているサーバのことを、「ホストサーバ」とよぶ。
【0016】
図1は、実施の形態にかかる仮想環境データ転送システム10のブロック図である。
仮想環境データ転送システム10は、ユーザLAN100、中継LAN120および管理LAN130を備える。ユーザLAN100は、たとえば開発者チームなど、仮想マシンを利用するユーザが使用するユーザ端末が所属するローカルエリアネットワークであり、管理LAN130とは分離されている。中継LAN120には、ユーザLAN100と管理LAN130との間の通信を中継するためのサーバが所属する。管理LAN130はユーザLAN100には公開されず、管理LAN130に所属するサーバ等のアドレスも公開されないが、管理LAN130に所属するサーバ上で稼働する仮想マシンは、ユーザLAN100から利用可能であるよう、システムが構成される。
【0017】
ユーザLAN100と中継LAN120の間、および中継LAN120と管理LAN130の間は、イントラネット、LAN、広域ネットワーク(WAN)、仮想プライベートネットワーク(VPN)、インターネットなどのネットワークにより通信可能に接続される。
【0018】
ユーザLAN100は、ユーザ端末102および仮アドレス記憶部104を備える。仮アドレス記憶部104は、ユーザ端末102がアクセスする仮想マシンが稼働するホストサーバに割り当てられた仮アドレスを格納する。仮アドレスについて、詳細は後述する。図1において、仮アドレス記憶部104は、ユーザ端末102の外部記憶装置として示されているが、ユーザ端末102の内部記憶装置として構成されてもよい。なお、図1においては一のユーザ端末102を示しているが、ユーザLAN100は複数のユーザ端末102を含んでもよい。
【0019】
中継LAN120は、データ転送サーバ122および環境管理サーバ124を備える。
データ転送サーバ122は、ユーザ端末102から送られた仮想マシンに対する画面転送要求(以下、「画面クエリ」ともいう)などのデータ転送要求を仮想マシンに転送し、また、仮想マシンから送られた画面データなどをユーザ端末102に転送する。データ転送サーバ122の構造については、図2に関連して後述する。
【0020】
環境管理サーバ124は、ユーザLAN100等のシステム環境を管理する。環境管理サーバ124は、管理LAN130内のサーバや、管理LAN130内のサーバ上で稼働する仮想マシンに関する情報を格納する仮想マシン情報記憶部128を備える。
【0021】
管理LAN130は、第1ホストサーバ132a、第2ホストサーバ132b(以下、総称して、単に「ホストサーバ132」ともいう)および統合管理サーバ136を備える。図1においては2台のホストサーバ132を示しているが、ホストサーバ132の数はこれに限られず、任意の数で構成されてよく、用途や負荷、物理マシンの性能などに応じて、適宜定めてよい。ホストサーバ132は、仮想環境を構築可能な任意のサーバであり、例えば、VMware ESX Server(登録商標)であってもよい。
【0022】
第1ホストサーバ132a上では、第1仮想マシン134aおよび第2仮想マシン134bが仮想的に構築されており、第2ホストサーバ132b上では、第3仮想マシン134cおよび第4仮想マシン134dが仮想的に構築されている。以下、これらの仮想マシンを総称して、単に「仮想マシン134」ともいう。図1においては例示として、ホストサーバ132上でそれぞれ2台の仮想マシン134が稼働している構成を示しているが、仮想マシン134の数はこれに限られず、用途や負荷、物理マシンの性能などに応じて、適宜定めてよい。
【0023】
統合管理サーバ136は、LAN130内の、ホストサーバ132および仮想マシン134を統合的に管理する。統合管理サーバ136は、ホストサーバ132および仮想マシン134に関する情報を蓄積し、格納する管理情報記憶部138を備える。
【0024】
図2は、データ転送サーバ122のブロック図である。データ転送サーバ122は、ユーザ端末102から送られた仮想マシン134に対する要求などのパケットを処理する要求処理部50、ホストサーバ132の実アドレスを格納する実アドレス記憶部56、およびホストサーバ132から送信されたデータをユーザ端末102に転送する応答転送部58を備える。要求処理部50は、要求受付部60、第1取得部62、第2取得部64、転送条件判定部66、変換部68、および要求転送部70を備える。
【0025】
要求受付部60は、仮想マシン134からのデータ転送を要求するデータ転送要求などのパケットを、ユーザ端末102から受け付ける。第1取得部62は、受け付けたパケットのヘッダから、例えばIPアドレスとポート番号の組み合わせで構成されるアドレスを取得し、また、ペイロードから、より上位の層のヘッダを取得する。IPアドレスが第3レイヤのヘッダに含まれ、ポート番号が第4レイヤのヘッダに含まれるので、より上位の層のヘッダは、第5レイヤ以上のヘッダに相当する。第2取得部64は、第1取得部62が取得した、より上位の層のヘッダから、データ転送要求に含まれうるデータ種類を特定する識別情報を取得する。
【0026】
転送条件判定部66は、第2取得部64が取得した識別情報に対応したデータの種類にもとづいて、ホストサーバ132に転送してもよいデータであるか否か判定する。判定するための条件については後述する。変換部68は、第1取得部が取得したアドレスを、ホストサーバ132に送信するためのアドレスに変換する。要求転送部70は、転送条件判定部66がホストサーバ132に転送してもよいデータであると判定した場合に、パケットに含まれていたアドレスを、変換部68が変換したアドレスに置換し、ホストサーバ132に転送する。転送条件を充たさない場合、要求転送部70は、受信したパケットを廃棄する。
【0027】
図1および図2に示す各ブロックは、ハードウェア的には、コンピュータのCPUをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。
【0028】
図3は、環境管理サーバ124の仮想マシン情報記憶部128に格納された仮想マシン情報テーブル200を示す図である。仮想マシン情報テーブル200は、仮想マシンホスト名欄202と、ホストサーバホスト名欄204とを含む。仮想マシンホスト名欄202は、各仮想マシン134のホスト名を記録する。ホストサーバホスト名欄204は、それぞれの仮想マシン134がその上で稼働しているホストサーバ132のホスト名を記録する。
【0029】
ここでは、図1に示した第1仮想マシン134a〜134dのホスト名は、それぞれvm1〜vm4であり、図1に示した第1ホストサーバ132a、132bのホスト名は、それぞれ、hsa、hsbであるとしている。仮想マシン情報テーブル200を参照することにより、各仮想マシン134がその上で稼働しているホストサーバ132のホスト名を取得することができる。たとえば、仮想マシン情報テーブル200から、ホスト名がvm1である第1仮想マシン134aは、ホスト名がhsaである第1ホストサーバ132a上に構築された仮想マシンであることが読み取れる。
【0030】
なお、仮想マシン情報テーブル200は、この他にも、例えば、ホストサーバ132のホスト名に関連づけて、ホストサーバ132の仮アドレスを格納してもよい。仮想マシン情報テーブル200に記録される情報は、統合管理サーバ136の管理情報記憶部138に格納されるホストサーバ132および仮想マシン134に関する情報の更新と同期して、最新の情報に更新される。
【0031】
図4は、ユーザLAN100の仮アドレス記憶部104に格納された仮アドレス対応テーブル210を示す図である。仮アドレス対応テーブル210は、ホストサーバホスト名欄212と、ホストサーバ仮アドレス欄214とを含む。ホストサーバホスト名欄212は、ホストサーバ132のホスト名を記録する。ホストサーバ仮アドレス欄214は、それぞれのホストサーバ132に割り当てられた仮アドレスを記録する。
【0032】
仮想環境データ転送システム10においては、ユーザ端末102に対して、ホストサーバ132や仮想マシン134の実アドレスは公開されない。ユーザ端末102は、ホストサーバ132の実アドレスに代えて、各ホストサーバ132に割り当てられた仮アドレスを、ホストサーバ132に送信する際の宛先として用いる。
【0033】
図4の例において、ホスト名がそれぞれhsa、hsbである第1ホストサーバ132a、132bに対して、仮アドレスとしてIPアドレス「X.1.1.1」とポート番号「XX11」の組み合わせが割り当てられている。この仮アドレスは、実際にはデータ転送サーバ122のアドレスである。
ユーザ端末102が第1ホストサーバ132aと通信するときには、実際にはデータ転送サーバ122のアドレスである仮アドレスを送信先のアドレスとして用いる。したがって、ユーザ端末102は、まずデータ転送サーバ122と通信することになる。
【0034】
図4において、ホスト名がhscである図示しないホストサーバに対しては、仮アドレスとしてIPアドレス「X.10.10.10」とポート番号「XX10」との組み合わせが割り当てられている。この仮アドレスは、別のデータ転送サーバ(図示せず)のアドレスであり、ユーザ端末102は、ホスト名がhscであるホストサーバと通信するときには、そのデータ転送サーバを介して通信することになる。
【0035】
なお、図4の例においては、ホストサーバに対して割り当てられた仮アドレスとして、IPアドレスとポート番号の両方が、仮アドレス対応テーブル210に記録されていることとしたが、ポート番号は、必ずしも固定された値として仮アドレス対応テーブル210に記録されていなくてもよい。たとえば、通信する都度、データ転送サーバ122が定めたポート番号が、データ転送サーバ122から、ユーザ端末102に通知されてもよい。
【0036】
図5は、データ転送サーバ122の実アドレス記憶部56に格納されたホストサーバ実アドレステーブル230を示す図である。ホストサーバ実アドレステーブル230は、ホストサーバホスト名欄232と、ホストサーバ実アドレス欄234とを含む。ホストサーバホスト名欄232は、各ホストサーバのホスト名を記録する。ホストサーバ実アドレス欄234は、それぞれのホストサーバの実アドレスを記録する。
【0037】
図5の例においては、ホスト名がhsaである第1ホストサーバ132aの実アドレスとしてIPアドレス「X.2.2.2」とポート番号「443」との組み合わせが記録されている。また、ホスト名がhsbである第2ホストサーバ132bの実アドレスとしてIPアドレス「X.2.2.3」とポート番号「443」の組み合わせが記録されている。
【0038】
データ転送サーバ122は、ユーザ端末102から受信したパケットを、ホストサーバ132に転送する際には、ホストサーバ実アドレステーブル230を参照して、受信したパケットのアドレスをホストサーバ132の実アドレスに置換して、送信する。
【0039】
以上の構成による動作は以下のとおりである。
図6は、ユーザ端末102から第1ホストサーバ132aへと画面クエリが転送され、第1ホストサーバ132aからユーザ端末102へと、第1仮想マシン134aの画面が転送される手順を示すフローチャートである。
【0040】
ユーザ端末102は、例えば図示しない入力装置を介してユーザから第1仮想マシン134aの画面を表示するよう指示されたときに、第1仮想マシン134aの画面を転送することを要求する画面クエリを生成する(S10)。ユーザ端末102は、生成した画面クエリに、仮想マシンのホスト名である「vm1」を含めて、環境管理サーバ124に送信する(S12)。
【0041】
環境管理サーバ124は、仮想マシン情報記憶部128に格納された仮想マシン情報テーブル200を参照し、第1仮想マシン134aのホスト名である「vm1」に対応づけられたホスト名「hsa」を読み出す(S14)。「hsa」は、第1ホストサーバ132aのホスト名である。環境管理サーバ124は、読み出したホスト名「hsa」をユーザ端末102に送信する(S16)。
【0042】
ユーザ端末102は、仮アドレス記憶部104に格納された仮アドレス対応テーブル210を参照し、第1ホストサーバ132aに割り当てられている仮アドレスを取得する(S18)。図4の例では、ユーザ端末102は、環境管理サーバ124から取得したホスト名「hsa」に対応づけられたIPアドレス「X.1.1.1」とポート番号「XX11」との組み合わせを、第1ホストサーバ132aの仮アドレスとして取得する。ユーザ端末102は、読み取った仮アドレスを、第1ホストサーバ132aのアドレスとして扱う。すなわち、ユーザ端末102は、第1ホストサーバ132aに第1仮想マシン134aの画面クエリを送信するときには、IPアドレス「X.1.1.1」およびポート番号「XX11」に宛てて送信する。
【0043】
ここで、ユーザ端末102が送信する画面クエリには、第1仮想マシン134aのホスト名である「vm1」と、仮想マシン134が稼働する第1ホストサーバ132aのホスト名「hsa」が含まれる。仮アドレスであるIPアドレス「X.1.1.1」とポート番号「XX11」は、実際にはデータ転送サーバ122のアドレスであるため、ユーザ端末102は、画面クエリを、データ転送サーバ122に宛てて送信することになる(S20)。
【0044】
データ転送サーバ122において、要求転送処理がなされる(S22)。要求転送処理については、図7に関連して後述する。データ転送サーバ122は、画面クエリを、第1ホストサーバ132aに送信する(S24)。第1ホストサーバ132aに送られる画面クエリには、第1仮想マシン134aのホスト名「vm1」が含まれる。
【0045】
第1ホストサーバ132aは、データ転送サーバ122から画面クエリを受信すると、要求された第1仮想マシン134aの画面データを取得する(S26)。例えば、第1ホストサーバ132aは、あらかじめ、第1仮想マシン134aの画面データを取得して、図示しない記憶部に格納しておき、画面クエリを受信した際に、記憶部から画面データを取得する。そして、第1ホストサーバ132aは、取得した画面データをデータ転送サーバ122に送信する(S28)。
【0046】
データ転送サーバ122の応答転送部58は、第1仮想マシン134aから画面データを受信し、ユーザ端末102に転送する(S30)。ユーザ端末102は、データ転送サーバ122から画面データを受信し、受信した画面データをもとにして、図示しない表示装置に第1仮想マシン134aの画面を表示する(S32)。
【0047】
図7は、図6のステップ22の要求転送処理手順を示すフローチャートである。
まず、データ転送サーバ122の要求受付部60は、ユーザ端末102からのパケットを受け付ける(S40)。第1取得部62は、受信したパケットのヘッダからアドレスを取得する(S42)。アドレスは、例えば、第3層のIPヘッダに含まれるIPアドレスと第4層のTCPヘッダに含まれるポート番号の組み合わせで構成される。ここでは、ヘッダに含まれるIPアドレスは、「X.1.1.1」であり、ヘッダに含まれるポート番号は、「XX11」であるとする。
【0048】
第1取得部62はまた、受信したパケットのペイロードから、アドレスを取得したヘッダの属する層より上位の層のヘッダを取得する(S44)。たとえば、アドレスを取得したヘッダの属する層が第3層および第4層であれば、これより上位の層である第5層以上の層のヘッダを取得する。
【0049】
第2取得部64は、第1取得部62がペイロードから取得したヘッダから、パケットに含まれうる複数種類のデータのうちのいずれかを特定するための識別情報を取得する(S46)。パケットに含まれうる複数種類のデータの例としては、画面クエリ、画面データ自体などの画面転送に関するデータや、ホストサーバ132を操作するための命令などがある。複数種類のデータのうちのいずれかを特定するための識別情報は、例えば、画面転送に関するデータであるか、それともそれ以外のデータであるのか識別可能である情報である。この識別情報は、あらかじめデータ転送サーバ122が定めて、ユーザ端末102に通知しておいてもよい。
【0050】
転送条件判定部66は、第2取得部64が取得した識別情報にもとづいて、受信したパケットに含まれうるデータの種類が、パケットの転送を許可するための転送条件を満たすか否か判定する(S48)。この転送条件は、例えば、受信したパケットに含まれるデータが、画面クエリや画面転送に関連するデータであることを、そのパケットをホストサーバ132に転送することを許可するための条件として定める。すなわち、受信したパケットに含まれるデータの種類が、画面に関連しないホストサーバ132への命令を含む管理情報等である場合には、転送は許可されない。転送条件を満たさない場合、受信したパケットは、廃棄される(S50)。
【0051】
変換部68は、第1取得部が取得したアドレスを、ホストサーバ132に送信するためのアドレスに変換する(S52)。例えば、第1取得部62が取得したIPアドレスとポート番号の組み合わせからなるアドレスのうち、少なくともIPアドレスを他のIPアドレスに変換する。具体的には、変換部68は、ホストサーバ実アドレステーブル230を参照し、第1ホストサーバ132aのホスト名「hsa」にもとづいて、第1ホストサーバ132aの実アドレスであるIPアドレス「X.2.2.2」とポート番号「443」の組み合わせを読み出す。そして、第1取得部62が画面クエリのヘッダから抽出した「X.1.1.1」を、第1ホストサーバ132aの実アドレス「X.2.2.2」に変換する。
【0052】
変換部68は、第1取得部62が取得したポート番号がデータ転送サーバ122とホストサーバ132との間の通信に用いるポート番号と異なるときには、ポート番号をデータ転送サーバ122とホストサーバ132との間の通信に用いるポート番号に変換する。データ転送サーバ122とホストサーバ132との間の通信に用いるポート番号は、ひとつに固定されている。例えば、https通信用の443ポートに固定されている。この例においては、データ転送サーバ122は、第1取得部62が取得したポート番号「XX11」が443と一致しないため、ポート番号を443に変換する。
【0053】
要求転送部70は、パケットに含まれるデータの種類が転送条件を満たす場合に、前記画面クエリに含まれたIPアドレスとポート番号の組み合わせを、変換部68が変換したIPアドレスとポート番号の組み合わせに置換する(S54)。本実施例においては、IPアドレス「X.1.1.1」とポート番号「XX11」の組み合わせを、IPアドレス「X.2.2.2」とポート番号「443」の組み合わせに置換する。
そして、要求転送部70は、置換したアドレスにしたがって、画面クエリをホストサーバ132に転送し(S56)、要求転送処理は終了する。
【0054】
このように、本発明にかかる仮想環境データ転送システム10によれば、ユーザ端末102を、直接ホストサーバ132に接続させることなく、ユーザ端末102から仮想マシン134へと、画面クエリを送信することができ、仮想マシン134の画面をユーザ端末102に転送することが可能となる。
ユーザ端末には、仮想マシン134やホストサーバ132の実アドレスは記録されておらず、また通知もされない。したがって、仮に悪意あるユーザが、ユーザ端末102から公開されていない管理LAN130へのアクセスを試みようとしても、仮想マシン134やホストサーバ132の実アドレスを知ることができず、管理LAN130にアクセスすることができない。
【0055】
また、データ転送サーバ122において、ユーザ端末102から送信されたパケットのデータの種類をチェックすることが可能であるため、画面クエリや、転送画面など、画面に関連する所定のデータ以外のデータであると判断されたパケットは、通過させないフィルタリング処理が可能となる。
したがって、よりセキュリティ保護された環境で、仮想化されたリソースを利用可能と
【0056】
また、統合管理サーバ136の管理情報記憶部138に接続可能な環境管理サーバ124が仮想マシン情報テーブル200を更新保持し、管理するため、常に最新の情報をユーザ端末102に提供することができる。例えば、管理LAN130においてシステム構成が変更され、仮想マシン134が他のホストサーバ132上に移されたような場合にも、最新の情報を提供することができる。
【0057】
以上、本発明について実施例をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0058】
例えば、実施例においては、ユーザ端末102が仮想マシン134からの画面転送を要求し、その応答である画面データをデータ転送サーバ122がユーザ端末102に転送した。しかし、ユーザ端末102が要求する情報は、画面データに限られず、例えば音声など画面以外のデータや、画面データとそれ以外のデータの組み合わせであってもよく、ユーザ端末102から仮想マシン134を利用するにあたって必要となる任意のデータであってよい。例えば、HTML文書や、文書に関連付けられている画像、音声、動画などの組み合わせであってもよい。
【0059】
また、図6のフローチャートのステップ18においては、ユーザ端末102は仮アドレス対応テーブル210から仮アドレスを読み出したが、これに代えて、ユーザ端末102は環境管理サーバ124から仮アドレスを取得することとしてもよい。
【0060】
この場合、環境管理サーバ124の仮想マシン情報テーブル200はさらに、ホストサーバのホスト名と、その仮アドレスとを関連づけて記録する。環境管理サーバ124は、ステップ14において、第1ホストサーバ132aのホスト名「hsa」に加えて、第1ホストサーバ132aに割り当てられた仮アドレスも読み出す。そして、ステップ16において、環境管理サーバ124は、第1ホストサーバ132aのホスト名と共に、第1ホストサーバ132aに割り当てられた仮アドレスをユーザ端末102に送信する。
【0061】
この場合、ユーザ端末102は、ステップ18の読み出しを行う必要はない。そして、ステップ20において、ユーザ端末102は、環境管理サーバ124から取得した仮アドレスに従って、第1仮想マシン134aの画面クエリをデータ転送サーバ122に宛てて送信する。以降、図6と同じ手順で画面クエリが第1仮想マシン134aに転送され、第1ホストサーバ132aから、第1仮想マシン134aの画面データがユーザ端末102に転送される。
【0062】
この変形例によると、環境管理サーバ124から第1ホストサーバ132aの仮アドレスが取得されるため、ユーザ端末102は、仮アドレス対応テーブル210を保持する必要がなく、仮アドレス対応テーブル210の更新などの管理をする必要がない。
【0063】
また、図6のフローチャートのステップ12からステップ16においては、ユーザ端末102は、環境管理サーバ124から第1ホストサーバ132aのホスト名を取得しているが、第1ホストサーバ132aのホスト名は、ユーザ端末102自身が、あらかじめ取得しておき、必要に応じて読み出すこととしてもよい。この場合、環境管理サーバ124へ問い合わせて、第1ホストサーバ132aのホスト名を取得する処理(図6のS12〜S16)は不要である。
【0064】
この場合、ユーザ端末102の仮アドレス記憶部104が、仮アドレス対応テーブル210に加えて、仮想マシン情報テーブル200を保持する。ユーザ端末102は、まず、アクセスしたい第1仮想マシン134aのホスト名に基づいて、仮想マシン情報テーブル200を参照して第1仮想マシン134aが稼働する第1ホストサーバ132aのホスト名を読み出す。ユーザ端末102は、次に、第1ホストサーバ132aのホスト名にもとづいて仮アドレス対応テーブル210を参照して、第1ホストサーバ132aの仮アドレスを読み出す(S18)。そして、ステップ20以降、図6と同じ手順で、画面クエリが第1仮想マシン134aに送信され、第1仮想マシン134aの画面データがユーザ端末102に転送される。
【0065】
この変形例によると、環境管理サーバ124なしで仮想環境データ転送システム10を構築することができるため、より簡単に、セキュリティ保護された環境で、仮想化されたリソースを利用することができる。
【符号の説明】
【0066】
10 仮想環境データ転送システム、 50 要求処理部、 58 応答転送部、 60 要求受付部、 62 第1取得部、 64 第2取得部、 66 転送条件判定部、 68 変換部、 70 要求転送部、 100 ユーザLAN、 102 ユーザ端末、 104 仮アドレス記憶部、 120 中継LAN、 122 データ転送サーバ、 124 環境管理サーバ、 128 仮想マシン情報記憶部、 130 管理LAN、 132 ホストサーバ、 134,136 統合管理サーバ、 138 管理情報記憶部。

【特許請求の範囲】
【請求項1】
ホストサーバと、
前記ホストサーバ上で稼働する仮想マシンと、
前記ホストサーバに接続されているデータ転送サーバと、
前記データ転送サーバに接続されており、前記仮想マシンが作成したデータの転送を要求するデータ転送要求を前記データ転送サーバに送信するユーザ端末とを備え、
前記データ転送サーバは、
前記データ転送要求のヘッダから、IPアドレスとポート番号との第1の組み合わせを取得するとともに、データ転送要求のペイロードから、前記ヘッダの属する層より上位の層のヘッダを取得する第1取得部と、
前記第1取得部において取得した第1の組み合わせのうち、少なくともIPアドレスを他のIPアドレスに変換することによって、ひとつに固定されたポート番号と他のIPアドレスとの第2の組み合わせを生成する変換部と、
前記第1取得部において取得した上位の層のヘッダに含まれた識別情報であって、かつデータ転送要求に含まれうる複数種類のデータのうちのいずれかを特定するための識別情報を取得する第2取得部と、
前記第2取得部において取得した識別情報に対応したデータの種類が、前記データ転送要求の転送を許可するための転送条件を満たすか否か判定する転送条件判定部と、
前記データの種類が前記転送条件を満たす場合に、前記データ転送要求に含まれた第1の組み合わせを第2の組み合わせに置換し、データ転送要求を前記ホストサーバに転送する要求転送部とを備えることを特徴とする仮想環境データ転送システム。
【請求項2】
前記仮想マシンのホスト名と前記ホストサーバのホスト名とを対応づけて記憶する仮想マシン情報記憶部を含む環境管理サーバをさらに備え、
前記ユーザ端末は、前記データ転送サーバのIPアドレスとポート番号との第1の組み合わせであるアドレスと、前記ホストサーバのホスト名とを対応づけて記憶した仮アドレス記憶部を備え、前記仮想マシンが作成したデータの転送指示がユーザにより入力された際、前記仮想マシンのホスト名を前記環境管理サーバに送信して前記ホストサーバのホスト名を取得し、前記仮アドレス記憶部から前記データ転送サーバのアドレスを読み出し、前記データ転送サーバに前記データ転送要求を送信することを特徴とする請求項1に記載の仮想環境データ転送システム。
【請求項3】
前記データ転送サーバのIPアドレスとポート番号との第1の組み合わせであるアドレスと、前記仮想マシンのホスト名とを対応づけて記憶した仮想マシン情報記憶部を含む環境管理サーバをさらに備え、
前記ユーザ端末は、前記仮想マシンが作成したデータの転送指示がユーザにより入力された際、前記仮想マシンのホスト名を前記環境管理サーバに送信して、前記データ転送サーバのアドレスを取得し、前記データ転送サーバに前記データ転送要求を送信することを特徴とする請求項1に記載の仮想環境データ転送システム。
【請求項4】
前記データ転送要求は、前記ホストサーバに対して前記仮想マシンの画面の転送を要求する画面転送要求であることを特徴とする請求項1から3のいずれかに記載の仮想環境データ転送システム。
【請求項5】
ユーザ端末と、仮想マシンが稼働するホストサーバとに接続されるデータ転送装置であって、
前記仮想マシンが作成したデータの転送を要求するデータ転送要求を前記ユーザ端末から受け付ける要求受付部と、
前記データ転送要求のヘッダから、IPアドレスとポート番号との第1の組み合わせを取得するとともに、データ転送要求のペイロードから、前記ヘッダの属する層より上位の層のヘッダを取得する第1取得部と、
前記第1取得部において取得した第1の組み合わせのうち、少なくともIPアドレスを他のIPアドレスに変換することによって、ひとつに固定されたポート番号と他のIPアドレスとの第2の組み合わせを生成する変換部と、
前記第1取得部において取得した上位の層のヘッダに含まれた識別情報であって、かつデータ転送要求に含まれうる複数種類のデータのうちのいずれかを特定するための識別情報を取得する第2取得部と、
前記第2取得部において取得した識別情報に対応したデータの種類が、前記データ転送要求の転送を許可するための転送条件を満たすか否か判定する転送条件判定部と、
前記データの種類が前記転送条件を満たす場合に、前記データ転送要求に含まれた第1の組み合わせを第2の組み合わせに置換し、データ転送要求を前記ホストサーバに転送する要求転送部とを備えることを特徴とする仮想環境データ転送装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2011−203887(P2011−203887A)
【公開日】平成23年10月13日(2011.10.13)
【国際特許分類】
【出願番号】特願2010−69093(P2010−69093)
【出願日】平成22年3月25日(2010.3.25)
【出願人】(000155469)株式会社野村総合研究所 (1,067)
【Fターム(参考)】