JP2018028764A - Communication system and traffic control method - Google Patents

Communication system and traffic control method Download PDF

Info

Publication number
JP2018028764A
JP2018028764A JP2016159695A JP2016159695A JP2018028764A JP 2018028764 A JP2018028764 A JP 2018028764A JP 2016159695 A JP2016159695 A JP 2016159695A JP 2016159695 A JP2016159695 A JP 2016159695A JP 2018028764 A JP2018028764 A JP 2018028764A
Authority
JP
Japan
Prior art keywords
container
user
traffic
users
accommodated
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.)
Granted
Application number
JP2016159695A
Other languages
Japanese (ja)
Other versions
JP6616262B2 (en
Inventor
一史 與語
Kazufumi Yogo
一史 與語
浩明 前田
Hiroaki Maeda
浩明 前田
信也 白井
Shinya Shirai
信也 白井
正夫 相原
Masao Aihara
正夫 相原
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2016159695A priority Critical patent/JP6616262B2/en
Publication of JP2018028764A publication Critical patent/JP2018028764A/en
Application granted granted Critical
Publication of JP6616262B2 publication Critical patent/JP6616262B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a technique for preventing an impact on a user of a cyber attack on the premise of the cyber attack reaching a target.SOLUTION: A communication system of one aspect of the present invention includes: a traffic distribution device for distributing traffic received from a user to containers; a container manager device for managing the containers to process the traffic; and a container deployment server for deploying containers according to instructions from the container manger device. The container manager device determines containers to process the traffic in accordance with a prescribed container accommodation method. The traffic distribution device distributes the traffic to the determined containers.SELECTED DRAWING: Figure 1

Description

本発明は、トラヒックを制御する通信システムに関し、Webサーバに対して行われるサーバリソース消費型DDoS (Distributed Denial of Service attack)攻撃とゼロデイ攻撃等のサーバ脆弱性をついた攻撃の対処のためのWebサーバコンテナ制御技術及びネットワーク制御技術に関する。   The present invention relates to a communication system for controlling traffic, and relates to a Web for dealing with server resource consumption type DDoS (Distributed Denial of Service attack) attacks performed on Web servers and attacks with server vulnerabilities such as zero-day attacks. The present invention relates to server container control technology and network control technology.

近年、ネットワークを通したサイバー攻撃が増加及び多様化している。その中で、標的型攻撃、ゼロデイ攻撃等の未知の脆弱性をついた攻撃、Slow DoS攻撃といった、既知の手法ではない、もしくは閾値や振る舞い分析での検知が困難なために、従来のセキュリティ製品では検知困難な攻撃が問題となっている。   In recent years, cyber attacks through networks have increased and diversified. Among them, conventional security products are not known methods such as targeted attacks, attacks with unknown vulnerabilities such as zero-day attacks, and slow DoS attacks, or they are difficult to detect by threshold or behavior analysis. So, attacks that are difficult to detect are a problem.

こういった攻撃を対象に、さまざまな対策が考えられている。主な対策方法としては、通信トラヒックをフォレンジック製品に転送し、長期且つ詳細に通信を分析することで攻撃を発見する方法や、サンドボックスにメール等の通信トラヒックを転送し、挙動を監視することで攻撃を検知する方法がある。   Various countermeasures have been considered for such attacks. The main countermeasures are to transfer communication traffic to forensic products and analyze attacks over a long period of time to detect attacks, or to transfer communication traffic such as mail to the sandbox and monitor the behavior. There is a way to detect attacks.

"複数台のおとりマシンによるHTTP-GET Flood攻撃対策",吉田祥真, 三上烈史, 小林良太郎, 金岡晃, 加藤雅彦, FIT2012(第11回情報科学技術フォーラム)"Countermeasures against HTTP-GET Flood attacks by multiple decoy machines", Yoshima Yoshima, Mikami Reishi, Kobayashi Ryotaro, Kanaoka Satoshi, Kato Masahiko, FIT2012 (11th Information Science and Technology Forum)

フォレンジック製品によるこれらの攻撃の検知では、分析までは行うが、結局人が攻撃トラヒックかどうかの判断を行う。従って、そのためのスキルが必要となり、またトラヒックの規模によってはトラヒックの精査に多大なコストがかかってしまう。また、サンドボックスのような手法についても、サンドボックス環境を検知して攻撃を止めてしまうマルウェアがあるなど、ハッカーが対策を施している場合がある。また、これらの対策をとっても、結局検知するまで防御は行わないため、一度は攻撃が成功してしまう。   Detection of these attacks by forensic products is performed up to analysis, but ultimately it is determined whether a person is attack traffic. Therefore, the skill for that is needed, and depending on the scale of traffic, it will cost a lot of money to examine the traffic. In addition, there are cases where hackers are taking measures against sandbox-like techniques, such as malware that detects sandbox environments and stops attacks. Moreover, even if these measures are taken, since the defense is not performed until it is finally detected, the attack is successful once.

この課題を解決するために、攻撃の無害化という方法がある。これは、攻撃対象となる端末を仮想化技術等で細分化することで、攻撃の影響を抑制し、攻撃を受けた端末を素早く削除することで攻撃をなかったことにし、攻撃を無害化するというものである。例えば、クライアント端末で攻撃の感染経路となり得るWebブラウザやメーラを仮想化し、それぞれのアプリケーションのみを実行する1つのマシンとしてリソースを分離し、クライアント端末自体に攻撃が届かないようにするリソース分離方法がある。このような方法には、クライアント端末に負荷をなるべくかけずに迅速に仮想端末を生成・削除する技術が必要であり、そのための技術としてコンテナ技術が考えられている。   In order to solve this problem, there is a method of detoxifying the attack. This is because the attack target is subdivided by virtualization technology, etc., and the impact of the attack is suppressed. By quickly deleting the attacked terminal, the attack is eliminated and the attack is rendered harmless. That's it. For example, there is a resource separation method that virtualizes Web browsers and mailers that can become infection routes of attacks on client terminals, separates resources as one machine that executes only each application, and prevents attacks from reaching the client terminals themselves is there. Such a method requires a technique for quickly generating and deleting a virtual terminal without imposing a load on the client terminal as much as possible, and a container technique is considered as a technique for that purpose.

一方、サーバ側では、あらかじめ攻撃者用のサーバのバーチャルマシーン(VM)を設定し、攻撃トラヒックをそのVMに送ることで、通常ユーザ向けのサーバを守る技術がある(非特許文献1)。しかしながら、この方法では、検知できない攻撃を防ぐことはできない。また、先に述べたリソース分離方法を用いても、複数のユーザがサーバにアクセスするため、サーバ自体は攻撃を無害化できるが、クライアント側への攻撃影響は抑制されない。例えば、DoS攻撃により一部の情報のみが攻撃されても、すべてのクライアントが利用できなくなったり、ゼロデイ攻撃によりデータが書き換えられて、すべてのクライアントが感染してしまう等の問題がある。   On the other hand, on the server side, there is a technique for protecting a server for normal users by setting a virtual machine (VM) of a server for an attacker in advance and sending attack traffic to the VM (Non-Patent Document 1). However, this method cannot prevent attacks that cannot be detected. Even if the resource separation method described above is used, since a plurality of users access the server, the server itself can make the attack harmless, but the influence of the attack on the client side is not suppressed. For example, even if only a part of information is attacked by a DoS attack, there are problems that all clients cannot be used, or that data is rewritten by a zero-day attack and all clients are infected.

上述した問題を鑑み、本発明の課題は、サイバー攻撃が標的に届くことを前提としたとき、当該サイバー攻撃によるユーザへの影響を抑制するための技術を提供することである。   In view of the above-described problems, an object of the present invention is to provide a technique for suppressing the influence of a cyber attack on a user when the cyber attack reaches a target.

上記課題を解決するため、本発明の一態様は、ユーザから受信したトラヒックをコンテナに振り分けるトラヒック振り分け装置と、前記トラヒックを処理するコンテナを管理するコンテナマネージャ装置と、前記コンテナマネージャ装置からの指示に従ってコンテナを配備するコンテナ配備サーバとを有する通信システムであって、前記コンテナマネージャ装置は、所定のコンテナ収容方式に従って前記トラヒックを処理するコンテナを決定し、前記トラヒック振り分け装置は、前記決定されたコンテナに前記トラヒックを振り分ける通信システムに関する。   In order to solve the above problems, according to one aspect of the present invention, a traffic distribution device that distributes traffic received from a user to a container, a container manager device that manages a container that processes the traffic, and an instruction from the container manager device A container deployment server for deploying a container, wherein the container manager device determines a container for processing the traffic according to a predetermined container accommodation method, and the traffic distribution device assigns the determined container to the determined container. The present invention relates to a communication system that distributes the traffic.

本発明によると、サイバー攻撃が標的に届くことを前提としたとき、当該サイバー攻撃によるユーザへの影響を抑制することができる。   According to the present invention, when it is assumed that a cyber attack reaches a target, the influence of the cyber attack on a user can be suppressed.

図1は、本発明の一実施例による通信システムの構成を示すブロック図である。FIG. 1 is a block diagram showing a configuration of a communication system according to an embodiment of the present invention. 図2は、本発明の一実施例によるトラヒック振り分け処理を示す概略図である。FIG. 2 is a schematic diagram showing traffic distribution processing according to an embodiment of the present invention. 図3は、本発明の一実施例によるユーザ単位割当方式を示す概略図である。FIG. 3 is a schematic diagram illustrating a user unit allocation method according to an embodiment of the present invention. 図4は、本発明の一実施例による複数ユーザ単位割当方式を示す概略図である。FIG. 4 is a schematic diagram illustrating a multi-user unit allocation scheme according to an embodiment of the present invention. 図5は、本発明の一実施例による時間単位割当方式を示す概略図である。FIG. 5 is a schematic diagram illustrating a time unit allocation method according to an embodiment of the present invention. 図6は、本発明の一実施例による時間単位割当方式によるコンテナ管理処理を示すフローチャートである。FIG. 6 is a flowchart illustrating container management processing according to a time unit allocation method according to an embodiment of the present invention. 図7は、本発明の一実施例による収容ユーザ数変動方式を示す概略図である。FIG. 7 is a schematic diagram illustrating a method for changing the number of accommodated users according to an embodiment of the present invention. 図8は、本発明の一実施例による収容ユーザ数変動方式によるコンテナ管理処理を示すフローチャートである。FIG. 8 is a flowchart showing container management processing by the accommodated user number variation method according to an embodiment of the present invention. 図9は、本発明の一実施例によるトラヒック制御処理を示すシーケンス図である。FIG. 9 is a sequence diagram showing traffic control processing according to an embodiment of the present invention. 図10は、本発明の一実施例によるトラヒック制御処理を示すシーケンス図である。FIG. 10 is a sequence diagram showing traffic control processing according to an embodiment of the present invention. 図11は、本発明の一実施例による収容ユーザ整理処理を示す概略図である。FIG. 11 is a schematic diagram showing a accommodated user organization process according to an embodiment of the present invention. 図12は、本発明の一実施例による収容ユーザ整理処理を示すシーケンス図である。FIG. 12 is a sequence diagram showing a accommodated user organization process according to an embodiment of the present invention. 図13は、本発明の一実施例による収容ユーザ整理処理を示すシーケンス図である。FIG. 13 is a sequence diagram showing a accommodated user organization process according to an embodiment of the present invention. 図14は、本発明の一実施例によるコンテナ削除処理を示す概略図である。FIG. 14 is a schematic diagram illustrating container deletion processing according to an embodiment of the present invention. 図15は、本発明の一実施例によるコンテナ削除処理を示すシーケンス図である。FIG. 15 is a sequence diagram showing container deletion processing according to an embodiment of the present invention.

以下、図面に基づいて本発明の実施の形態を説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

以下の実施例では、トラヒックを制御する通信システム及び方法が開示される。後述される実施例によると、通信システムは、コンテナ技術を利用してWebサーバを複数のWebサーバコンテナに分離し、Webサーバのリソースを少数のユーザ毎に分離する。これにより、Webサーバにおいて他のユーザに対して影響を及ぼす攻撃が発生した場合、当該攻撃が検知できない場合であっても、影響を及ぼすユーザの範囲を極小化することが可能であり、ユーザのサービス利用の可用性及びサービスの完全性を向上させることができる。   In the following embodiments, a communication system and method for controlling traffic are disclosed. According to an embodiment to be described later, the communication system uses container technology to separate a Web server into a plurality of Web server containers, and separates Web server resources for a small number of users. As a result, when an attack that affects other users occurs on the Web server, even if the attack cannot be detected, the range of affected users can be minimized. Service availability and service integrity can be improved.

まず、本発明の一実施例による通信システムの構成を説明する。図1は、本発明の一実施例による通信システムの構成を示すブロック図である。   First, the configuration of a communication system according to an embodiment of the present invention will be described. FIG. 1 is a block diagram showing a configuration of a communication system according to an embodiment of the present invention.

図1に示されるように、通信システム10は、トラヒック振り分け装置50、コンテナマネージャ100、コンテナ配備サーバ200及び共有ストレージサーバ300を有する。トラヒック振り分け装置50、コンテナマネージャ100、コンテナ配備サーバ200及び共有ストレージサーバ300は、典型的には、サーバにより実現されてもよく、例えば、バスを介し相互接続されるドライブ装置、補助記憶装置、メモリ装置、プロセッサ、インタフェース装置及び通信装置から構成される。トラヒック振り分け装置50、コンテナマネージャ100、コンテナ配備サーバ200及び共有ストレージサーバ300について後述される各種機能及び処理を実現するプログラムは、CD−ROM(Compact Disk−Read Only Memory)、DVD(Digital Versatile Disk)、フラッシュメモリなどの記録媒体によって提供されてもよく、プログラムを記憶した記録媒体がドライブ装置にセットされると、プログラムが記録媒体からドライブ装置を介して補助記憶装置にインストールされる。但し、プログラムのインストールは必ずしも記録媒体により行う必要はなく、ネットワークなどを介し何れかの外部装置からダウンロードするようにしてもよい。補助記憶装置は、インストールされたプログラムを格納すると共に、必要なファイルやデータなどを格納する。メモリ装置は、プログラムの起動指示があった場合に、補助記憶装置からプログラムやデータを読み出して格納する。プロセッサは、メモリ装置に格納されたプログラムやプログラムを実行するのに必要なパラメータなどの各種データに従って、トラヒック振り分け装置50、コンテナマネージャ100、コンテナ配備サーバ200及び共有ストレージサーバ300の各種機能及び処理を実行する。インタフェース装置は、ネットワーク又は外部装置に接続するための通信インタフェースとして用いられる。通信装置は、インターネットなどのネットワークと通信するための各種通信処理を実行する。しかしながら、上述したハードウェア構成は単なる一例であり、トラヒック振り分け装置50、コンテナマネージャ100、コンテナ配備サーバ200及び共有ストレージサーバ300は、上述したハードウェア構成に限定されるものでなく、他の何れか適切なハードウェア構成により実現されてもよい。   As illustrated in FIG. 1, the communication system 10 includes a traffic distribution device 50, a container manager 100, a container deployment server 200, and a shared storage server 300. The traffic distribution device 50, the container manager 100, the container deployment server 200, and the shared storage server 300 may typically be realized by a server, for example, a drive device, an auxiliary storage device, and a memory that are interconnected via a bus. An apparatus, a processor, an interface device, and a communication device are included. Programs for realizing various functions and processing described later for the traffic distribution device 50, the container manager 100, the container deployment server 200, and the shared storage server 300 are CD-ROM (Compact Disk-Read Only Memory), DVD (Digital Versatile Disk). The program may be provided by a recording medium such as a flash memory. When the recording medium storing the program is set in the drive device, the program is installed from the recording medium to the auxiliary storage device via the drive device. However, it is not always necessary to install the program using a recording medium, and the program may be downloaded from any external device via a network or the like. The auxiliary storage device stores the installed program and also stores necessary files and data. The memory device reads and stores the program and data from the auxiliary storage device when there is an instruction to start the program. The processor performs various functions and processes of the traffic distribution device 50, the container manager 100, the container deployment server 200, and the shared storage server 300 according to various data such as a program stored in the memory device and parameters necessary for executing the program. Run. The interface device is used as a communication interface for connecting to a network or an external device. The communication device executes various communication processes for communicating with a network such as the Internet. However, the hardware configuration described above is merely an example, and the traffic distribution device 50, the container manager 100, the container deployment server 200, and the shared storage server 300 are not limited to the hardware configuration described above, and any other It may be realized by an appropriate hardware configuration.

トラヒック振り分け装置50は、コンテナマネージャ100により決定されたコンテナにユーザから受信したトラヒックを振り分ける。図示されるように、トラヒック振り分け装置50は、以降において詳細に説明されるトラヒック振り分け部51及びトラヒック変換設定記憶部52を有する。   The traffic distribution device 50 distributes the traffic received from the user to the container determined by the container manager 100. As shown in the figure, the traffic distribution device 50 includes a traffic distribution unit 51 and a traffic conversion setting storage unit 52 which will be described in detail later.

コンテナマネージャ100は、トラヒックを処理するコンテナを管理すると共に、所定のコンテナ収容方式に従ってトラヒックを処理するコンテナを決定する。具体的には、コンテナマネージャ100は、後述されるユーザ単位割当方式、複数ユーザ単位割当方式、時間単位割当方式、収容ユーザ数変動方式などの何れかのコンテナ収容方式に従って、Webサーバにアクセスするユーザを収容するWebサーバコンテナ210を決定し、各ユーザのトラヒックをWebサーバコンテナ210に振り分けるためのトラヒック変換設定をトラヒック振り分け装置50に通知する。また、コンテナマネージャ100は、コンテナ配備サーバ200に対してWebサーバコンテナ210の生成、整理及び削除を要求すると共に、コンテナマネージャ100は、コンテナ配備サーバ200に配備された各Webサーバコンテナ210のリソース(CPU使用率、メモリ使用率等)をポーリング等によって監視する。図示されるように、コンテナマネージャ100は、以降において詳細に説明されるコンテナ収容ユーザデータベース(DB)110、コンテナ収容計算エンジン120及びWebサーバコンテナイメージ格納部130を有する。   The container manager 100 manages a container that processes traffic and determines a container that processes traffic according to a predetermined container accommodation method. Specifically, the container manager 100 is a user who accesses the Web server according to any one of the container accommodation methods such as a user unit assignment method, a multi-user unit assignment method, a time unit assignment method, and a accommodated user number variation method, which will be described later. The Web server container 210 that accommodates the traffic is determined, and the traffic distribution setting for distributing the traffic of each user to the Web server container 210 is notified to the traffic distribution device 50. In addition, the container manager 100 requests the container deployment server 200 to generate, organize, and delete the web server container 210, and the container manager 100 uses the resource (for each web server container 210 deployed in the container deployment server 200). CPU usage rate, memory usage rate, etc.) are monitored by polling. As illustrated, the container manager 100 includes a container storage user database (DB) 110, a container storage calculation engine 120, and a Web server container image storage unit 130, which will be described in detail later.

コンテナ配備サーバ200は、コンテナマネージャ100からの指示に従ってコンテナを配備する。具体的には、コンテナ配備サーバ200は、Webサーバコンテナ210を有し、コンテナマネージャ100からの指示に従ってWebサーバコンテナ210を生成及び削除する。   The container deployment server 200 deploys containers according to instructions from the container manager 100. Specifically, the container deployment server 200 includes a web server container 210, and generates and deletes the web server container 210 in accordance with instructions from the container manager 100.

Webサーバコンテナ210は、Webサーバのサービスをユーザに提供する。各Webサーバコンテナ210には、他のWebサーバコンテナ210から分離されたリソース(CPU、メモリ等)が割り当てられる。従って、各Webサーバコンテナ210は、コンテナ技術によって他のWebサーバコンテナ210における処理状況による影響を受けることなく、収容されたユーザに対してサービスを提供することができる。   The web server container 210 provides a web server service to the user. Resources (CPU, memory, etc.) separated from other web server containers 210 are allocated to each web server container 210. Therefore, each Web server container 210 can provide services to the accommodated users without being affected by the processing status in the other Web server containers 210 by the container technology.

共有ストレージサーバ300は、動画ファイル等の大容量データを格納する。共有ストレージサーバ300を備えることによって、Webサーバが大容量ファイルを提供する場合、各Webサーバコンテナ210が当該ファイルを複製してファイルを重複して格納し、コンテナ配備サーバ200におけるリソースを逼迫させる事態を回避することができる。なお、共有ストレージサーバ300は、Webサーバコンテナ210からは読み込みのみ可能とされ、コンテンツの変更はコンテナマネージャ100の管理者のみ許可されてもよい。これにより、Webサーバコンテナ210経由の攻撃を防ぐことができる。   The shared storage server 300 stores a large amount of data such as a moving image file. By providing the shared storage server 300, when the Web server provides a large-capacity file, each Web server container 210 duplicates the file, stores the file redundantly, and places a tight resource on the container deployment server 200 Can be avoided. The shared storage server 300 may only be read from the Web server container 210, and only the administrator of the container manager 100 may be allowed to change the content. Thereby, an attack via the Web server container 210 can be prevented.

ユーザは、Webサーバ又はWebサーバコンテナ210にアクセスするユーザ端末を操作する。ユーザには攻撃者も含まれる。   The user operates a user terminal that accesses the Web server or the Web server container 210. Users include attackers.

次に、トラヒック振り分け装置50の各構成要素を説明する。   Next, each component of the traffic distribution device 50 will be described.

トラヒック振り分け部51は、トラヒック変換設定記憶部52に保持されるトラヒック変換設定情報に基づき各ユーザのWebサーバ宛のトラヒックを当該ユーザに割り当てられたコンテナに転送する。具体的には、新規ユーザからWebサーバへのアクセス要求を受信すると、トラヒック振り分け部51は、トラヒック情報として当該ユーザのユーザ識別子をコンテナマネージャ100に通知する。コンテナマネージャ100によって当該ユーザにコンテナが割り当てられると、トラヒック振り分け部51は、ユーザに割り当てられたコンテナを示すトラヒック変換設定情報に基づき、当該ユーザからのWebサーバ宛のトラヒックを当該ユーザに割り当てられたコンテナに転送する。なお、トラヒック振り分け部51は、トラヒック情報として、当該ユーザのパケットが最後に通過した時間を更に通知してもよい。   Based on the traffic conversion setting information held in the traffic conversion setting storage unit 52, the traffic distribution unit 51 transfers the traffic addressed to each user's Web server to the container assigned to the user. Specifically, when an access request to a Web server is received from a new user, the traffic distribution unit 51 notifies the container manager 100 of the user identifier of the user as traffic information. When the container is assigned to the user by the container manager 100, the traffic distribution unit 51 is assigned to the user traffic destined for the Web server from the user based on the traffic conversion setting information indicating the container assigned to the user. Transfer to container. The traffic distribution unit 51 may further notify the time when the user's packet last passed as traffic information.

トラヒック変換設定記憶部52は、トラヒック送信元のユーザの識別子と当該ユーザとの間で送受信されるトラヒックの送信先アドレス及び/又は送信元アドレスに対する変換設定とを規定するトラヒック変換設定情報を格納する。当該トラヒック変換設定情報は、コンテナマネージャ100によって設定される。   The traffic conversion setting storage unit 52 stores traffic conversion setting information that defines an identifier of a traffic transmission source user and a transmission destination address and / or conversion setting for the transmission source address transmitted / received to / from the user. . The traffic conversion setting information is set by the container manager 100.

例えば、トラヒック変換設定記憶部52が、図2に示されるようなテーブル形式のトラヒック変換設定情報を保持している場合、トラヒック振り分け部51は、ユーザから受信したトラヒックのユーザ識別子を特定すると、トラヒック変換設定情報を参照して特定したユーザ識別子に対応する変換設定に従って当該トラヒックの送信先アドレスを変換し、変換後の送信先アドレス(Webサーバコンテナ210)に当該トラヒックを転送する。また、Webサーバコンテナ210からユーザ宛のトラヒックを受信すると、トラヒック振り分け部51は、トラヒック変換設定情報に従って送信元アドレスを送信元のWebサーバコンテナ210のアドレスからWebサーバのグローバルIPアドレス等に変換し、送信先アドレスに当該トラヒックを転送する。   For example, when the traffic conversion setting storage unit 52 holds the traffic conversion setting information in the table format as shown in FIG. 2, the traffic distribution unit 51 specifies the user identifier of the traffic received from the user. The destination address of the traffic is converted according to the conversion setting corresponding to the user identifier specified with reference to the conversion setting information, and the traffic is transferred to the destination address after conversion (Web server container 210). When receiving traffic addressed to the user from the Web server container 210, the traffic distribution unit 51 converts the source address from the address of the source Web server container 210 to the global IP address of the Web server, etc. according to the traffic conversion setting information. The traffic is transferred to the destination address.

次に、コンテナマネージャ100の各構成要素を説明する。   Next, each component of the container manager 100 will be described.

コンテナ収容ユーザデータベース110は、各Webサーバコンテナ210と当該Webサーバコンテナ210に収容されるユーザとの関連付けを示すコンテナ収容ユーザ情報を保持する。当該コンテナ収容ユーザ情報は、コンテナ収容計算エンジン120による計算結果に基づき設定される。   The container accommodation user database 110 holds container accommodation user information indicating the association between each Web server container 210 and a user accommodated in the Web server container 210. The container accommodation user information is set based on the calculation result by the container accommodation calculation engine 120.

コンテナ収容計算エンジン120は、コンテナ収容ユーザデータベース110におけるコンテナ収容ユーザ情報に従って、Webサーバにアクセスするユーザを収容するコンテナを決定する。具体的には、新規ユーザがWebサーバにアクセスすると、トラヒック振り分け装置50は、当該ユーザからのトラヒックのトラヒック情報(ユーザ識別子等)をコンテナマネージャ100に通知する。当該通知の受信に応答して、コンテナ収容計算エンジン120は、ユーザ単位割当方式、複数ユーザ単位割当方式、時間単位割当方式、収容ユーザ数変動方式などの何れかのコンテナ収容方式に従って当該ユーザを収容するWebサーバコンテナ210を決定し、決定したWebサーバコンテナ210と当該ユーザとの関連付けをトラヒック振り分け装置50に通知する。また、コンテナ収容計算エンジン120は、必要に応じてWebサーバコンテナ210を生成、整理又は削除するようコンテナ配備サーバ200に指示する。   The container storage calculation engine 120 determines a container that stores a user who accesses the Web server according to the container storage user information in the container storage user database 110. Specifically, when a new user accesses the Web server, the traffic distribution device 50 notifies the container manager 100 of traffic information (such as a user identifier) of traffic from the user. In response to receiving the notification, the container accommodation calculation engine 120 accommodates the user according to any one of the container accommodation methods such as the user unit allocation method, the multiple user unit allocation method, the time unit allocation method, and the accommodated user number variation method. The Web server container 210 to be determined is determined, and the traffic distribution device 50 is notified of the association between the determined Web server container 210 and the user. Further, the container accommodation calculation engine 120 instructs the container deployment server 200 to generate, organize, or delete the Web server container 210 as necessary.

一実施例では、コンテナ収容計算エンジン120は、1ユーザに1つのコンテナを割り当てるユーザ単位割当方式に従って、ユーザから受信したトラヒックを処理するコンテナを決定してもよい。ユーザ単位割当方式によると、トラヒック振り分け装置50(スイッチ)から新規ユーザのトラヒック情報を受信すると、コンテナ収容計算エンジン120は、図3に示されるように、例えば、新たなWebサーバコンテナ210を生成することによって各ユーザを当該Webサーバコンテナ210に割り当てると共に、当該ユーザに割り当てられたWebサーバコンテナ210をトラヒック振り分け装置50に通知する。また、コンテナ収容計算エンジン120は、図3に示されるようなコンテナ収容ユーザ情報をコンテナ収容ユーザデータベース110に格納する。図示されたコンテナ収容ユーザ情報では、Webサーバコンテナ210を示すコンテナIDと、当該Webサーバコンテナ210に割り当てられたユーザを示すユーザ識別子とが関連付けされて格納される。また、図示されるように、コンテナ収容ユーザ情報は、Webサーバコンテナ210とユーザとの間で最後にやりとりされたトラヒックに関する最終通信日時を保持してもよい。ユーザ単位割当方式によると、サイバー攻撃された場合、他のユーザは当該サイバー攻撃による影響を受けることなくWebサービスを利用することができる。   In one embodiment, the container storage calculation engine 120 may determine a container that processes traffic received from a user according to a user unit allocation method that allocates one container to one user. According to the user unit allocation method, when receiving traffic information of a new user from the traffic distribution device 50 (switch), the container accommodation calculation engine 120 generates, for example, a new Web server container 210 as shown in FIG. As a result, each user is assigned to the Web server container 210, and the Web server container 210 assigned to the user is notified to the traffic distribution device 50. Further, the container accommodation calculation engine 120 stores container accommodation user information as shown in FIG. 3 in the container accommodation user database 110. In the illustrated container accommodation user information, a container ID indicating the Web server container 210 and a user identifier indicating a user assigned to the Web server container 210 are stored in association with each other. Further, as shown in the figure, the container accommodation user information may hold the last communication date and time related to the traffic lastly exchanged between the Web server container 210 and the user. According to the user unit allocation method, when a cyber attack occurs, other users can use the web service without being affected by the cyber attack.

他の実施例では、コンテナ収容計算エンジン120は、複数ユーザに1つのコンテナを割り当てる複数ユーザ単位割当方式に従って、ユーザから受信したトラヒックを処理するコンテナを決定してもよい。複数ユーザ単位割当方式によると、トラヒック振り分け装置50(スイッチ)から新規ユーザのトラヒック情報を受信すると、コンテナ収容計算エンジン120は、図4に示されるように、例えば、新たなWebサーバコンテナ210を生成することによって、又は既存のWebサーバコンテナ210を使用することによって、所定数nのユーザを1つのWebサーバコンテナ210に割り当てると共に、当該n人のユーザに割り当てられたWebサーバコンテナ210をトラヒック振り分け装置50に通知する。また、コンテナ収容計算エンジン120は、図4に示されるようなコンテナ収容ユーザ情報をコンテナ収容ユーザデータベース110に格納する。図示されたコンテナ収容ユーザ情報では、Webサーバコンテナ210を示すコンテナIDと、当該Webサーバコンテナ210に割り当てられた複数のユーザを示すユーザ識別子とが関連付けされて格納される。また、図示されるように、コンテナ収容ユーザ情報は、Webサーバコンテナ210とユーザとの間で最後にやりとりされたトラヒックに関する最終通信日時を保持してもよい。複数ユーザ単位割当方式によると、収容可能なユーザ数を調整することによってコンテナ数を調整することが可能である。また、サイバー攻撃された場合、被攻撃コンテナに収容されたユーザのみに被害が限定され、他のコンテナに収容されたユーザは当該サイバー攻撃による影響を受けることなくWebサービスを利用することができる。   In another embodiment, the container storage calculation engine 120 may determine a container for processing traffic received from a user according to a multi-user unit allocation method in which one container is allocated to a plurality of users. According to the multi-user allocation method, when receiving traffic information of a new user from the traffic distribution device 50 (switch), the container accommodation calculation engine 120 generates, for example, a new Web server container 210 as shown in FIG. By assigning a predetermined number n users to one web server container 210 by using the existing web server container 210, the traffic distribution device assigns the web server container 210 assigned to the n users to the web server container 210. 50 is notified. Further, the container accommodation calculation engine 120 stores the container accommodation user information as shown in FIG. 4 in the container accommodation user database 110. In the illustrated container accommodation user information, a container ID indicating the Web server container 210 and user identifiers indicating a plurality of users assigned to the Web server container 210 are stored in association with each other. Further, as shown in the figure, the container accommodation user information may hold the last communication date and time related to the traffic lastly exchanged between the Web server container 210 and the user. According to the multi-user unit allocation method, the number of containers can be adjusted by adjusting the number of users that can be accommodated. Further, in the case of a cyber attack, the damage is limited to only the user accommodated in the attacked container, and the user accommodated in another container can use the web service without being affected by the cyber attack.

他の実施例では、コンテナ収容計算エンジン120は、一定時間内にアクセスしたユーザに1つのコンテナを割り当てる時間単位割当方式に従って、ユーザから受信したトラヒックを処理するコンテナを決定してもよい。時間単位割当方式によると、トラヒック振り分け装置50(スイッチ)から新規ユーザのトラヒック情報を受信すると、コンテナ収容計算エンジン120は、図5に示されるように、期間T内に新規にアクセスした全てのユーザを当該期間Tに対して用意された1つのWebサーバコンテナ210に割り当てると共に、当該ユーザに割り当てられたWebサーバコンテナ210をトラヒック振り分け装置50に通知する。また、コンテナ収容計算エンジン120は、図5に示されるようなコンテナ収容ユーザ情報をコンテナ収容ユーザデータベース110に格納する。図示されたコンテナ収容ユーザ情報では、Webサーバコンテナ210を示すコンテナIDと、当該Webサーバコンテナ210に割り当てられたユーザを示すユーザ識別子とが関連付けされて格納される。また、図示されるように、コンテナ収容ユーザ情報は、コンテナの生成日時、収容されたユーザ数及び/又はWebサーバコンテナ210とユーザとの間で最後にやりとりされたトラヒックに関する最終通信日時を保持してもよい。   In another embodiment, the container storage calculation engine 120 may determine a container that processes traffic received from a user according to a time unit allocation method that allocates one container to a user who has accessed within a certain period of time. According to the time unit allocation method, when the traffic information of a new user is received from the traffic distribution device 50 (switch), the container accommodation calculation engine 120, as shown in FIG. Is assigned to one Web server container 210 prepared for the period T, and the Web server container 210 assigned to the user is notified to the traffic distribution device 50. Further, the container accommodation calculation engine 120 stores container accommodation user information as shown in FIG. 5 in the container accommodation user database 110. In the illustrated container accommodation user information, a container ID indicating the Web server container 210 and a user identifier indicating a user assigned to the Web server container 210 are stored in association with each other. Further, as shown in the figure, the container accommodation user information holds the creation date and time of the container, the number of accommodated users, and / or the last communication date and time related to the traffic last exchanged between the Web server container 210 and the user. May be.

時間単位割当方式によると、収容期間を調整することによってコンテナ数を調整することが可能であり、例えば、DDoS攻撃に好適である。また、サイバー攻撃された場合、被攻撃コンテナに収容された同時期にアクセスしたユーザのみに被害が限定され、他のコンテナに収容されたユーザは当該サイバー攻撃による影響を受けることなくWebサービスを利用することができる。   According to the time unit allocation method, the number of containers can be adjusted by adjusting the accommodation period, which is suitable for a DDoS attack, for example. In addition, in the case of a cyber attack, the damage is limited only to users who accessed at the same time in the attacked container, and users in other containers can use the web service without being affected by the cyber attack. can do.

なお、時間単位割当方式によると、1コンテナあたりに異なるユーザ数が収容される可能性があり、アクセスが少ない期間と多い期間とで収容ユーザ数に大きな差が生じうる。このため、コンテナ収容計算エンジン120は、図6に示される手順に従って、収容ユーザ数を調整してもよい。   In addition, according to the time unit allocation method, there is a possibility that different numbers of users may be accommodated per container, and there may be a large difference in the number of accommodated users between a period with little access and a period with many accesses. For this reason, the container accommodation calculation engine 120 may adjust the number of accommodation users according to the procedure shown in FIG.

図示されるように、ステップS101において、コンテナ収容計算エンジン120は、コンテナ配備サーバ200が新たなコンテナを追加するのに十分なリソースを有しているか判断する。例えば、コンテナ収容計算エンジン120は、コンテナ配備サーバ200に設定されているコンテナ数が所定の閾値(収容限界コンテナ数:Cmax)以下である場合、十分なリソースがあると判断してもよい。   As illustrated, in step S101, the container storage calculation engine 120 determines whether the container deployment server 200 has sufficient resources to add a new container. For example, the container storage calculation engine 120 may determine that there are sufficient resources when the number of containers set in the container deployment server 200 is equal to or less than a predetermined threshold (the number of storage limit containers: Cmax).

コンテナ配備サーバ200が新たなコンテナを追加するのに十分なリソースを有している場合(S101:Yes)、ステップS102において、コンテナ収容計算エンジン120は、現在期間のためのWebサーバコンテナ210を生成する。他方、コンテナ配備サーバ200が新たなコンテナを追加するのに十分なリソースを有していない場合(S101:No)、ステップS103において、コンテナ収容計算エンジン120は、後述される収容ユーザ整理処理又はコンテナ削除処理を実行し、新たなコンテナを追加するためのリソースを確保する。   When the container deployment server 200 has sufficient resources to add a new container (S101: Yes), in step S102, the container accommodation calculation engine 120 generates a Web server container 210 for the current period. To do. On the other hand, when the container deployment server 200 does not have sufficient resources to add a new container (S101: No), in step S103, the container accommodation calculation engine 120 performs the accommodation user organization process or container described later. Execute the deletion process and secure resources for adding a new container.

ステップS104において、コンテナ収容計算エンジン120は、当該期間が経過するまで、新規にアクセスしたユーザを生成したWebサーバコンテナ210に収容する。   In step S104, the container storage calculation engine 120 stores the newly accessed user in the generated web server container 210 until the period has elapsed.

期間Tが経過すると、ステップS105において、コンテナ収容計算エンジン120は、Webサーバコンテナ210に収容されたユーザ数が所定数n以上であるか判断する。収容されたユーザ数が所定数n以上である場合(S105:Yes)、コンテナ収容計算エンジン120は、次の期間のための新たなWebサーバコンテナ210を生成するため、ステップS101に戻る。他方、収容されたユーザ数が所定数n未満である場合(S105:No)、コンテナ収容計算エンジン120は、収容ユーザ数がnに達するまで、更なる新規ユーザをステップS102で生成したWebサーバコンテナ210に収容し続ける。   When the period T elapses, in step S105, the container accommodation calculation engine 120 determines whether the number of users accommodated in the web server container 210 is equal to or greater than a predetermined number n. When the number of accommodated users is equal to or greater than the predetermined number n (S105: Yes), the container accommodation calculation engine 120 returns to step S101 in order to generate a new Web server container 210 for the next period. On the other hand, if the number of accommodated users is less than the predetermined number n (S105: No), the container accommodation calculation engine 120 generates a new new user in step S102 until the number of accommodated users reaches n. Continue to house in 210.

上述した調整処理によると、収容ユーザ数が少ないWebサーバコンテナ210が設定されることを回避でき、リソースを効率的に使用することが可能になる。   According to the adjustment process described above, it is possible to avoid the setting of the Web server container 210 having a small number of accommodated users, and it is possible to use resources efficiently.

他の実施例では、上述した複数ユーザ単位割当方式又は時間単位割当方式を利用している場合、コンテナ収容計算エンジン120は更に、各コンテナのリソース使用状況に応じて収容するユーザ数を動的に調整する収容ユーザ数変動方式に従って、各コンテナに収容するユーザ数を動的に調整してもよい。すなわち、複数ユーザ単位割当方式及び時間単位割当方式では、ユーザがWebサーバコンテナ210に一旦収容されると、当該ユーザのトラヒックは、リソース使用状況に関わらず当該Webサーバコンテナ210によって処理され続ける。従って、複数ユーザ単位割当方式又は時間単位割当方式に収容ユーザ数変動方式を組み合わせることによって、コンテナ収容計算エンジン120は、各Webサーバコンテナ210のリソース使用状況に応じてユーザを再振り分けし、リソース使用状況に適応してトラヒックを振り分けることが可能になる。   In another embodiment, when the above-described multiple user unit allocation method or time unit allocation method is used, the container storage calculation engine 120 further dynamically determines the number of users stored according to the resource usage status of each container. The number of users accommodated in each container may be dynamically adjusted according to the accommodated user number variation method to be adjusted. That is, in the multiple user unit allocation method and the time unit allocation method, once a user is accommodated in the Web server container 210, the traffic of the user continues to be processed by the Web server container 210 regardless of the resource usage status. Accordingly, by combining the accommodated user number variation method with the multiple user unit allocation method or the time unit allocation method, the container accommodation calculation engine 120 reallocates the users according to the resource usage status of each Web server container 210, and uses the resource usage. Traffic can be distributed according to the situation.

収容ユーザ数変動方式によると、コンテナ収容計算エンジン120は、図7に示されるように、複数ユーザ単位割当方式又は時間単位割当方式に従って設定されたWebサーバコンテナ210のリソース使用状況を定期的に監視する。リソースが不足しているWebサーバコンテナ210を検出すると、コンテナ収容計算エンジン120は、Webサーバコンテナ210を追加し、検出されたWebサーバコンテナ210に収容されているユーザの一部を追加したWebサーバコンテナ210に振り分けると共に、当該ユーザに再割り当てられたWebサーバコンテナ210をトラヒック振り分け装置50に通知する。   According to the accommodation user number variation method, the container accommodation calculation engine 120 periodically monitors the resource usage status of the Web server container 210 set according to the multiple user unit allocation method or the time unit allocation method as shown in FIG. To do. When the web server container 210 that lacks resources is detected, the container accommodation calculation engine 120 adds the web server container 210 and a web server to which a part of the users accommodated in the detected web server container 210 is added. In addition to the distribution to the container 210, the Web server container 210 reassigned to the user is notified to the traffic distribution device 50.

例えば、コンテナ収容計算エンジン120は、図8に示される手順に従ってユーザを再振り分けしてもよい。   For example, the container accommodation calculation engine 120 may reallocate users according to the procedure shown in FIG.

図示されるように、ステップS201において、コンテナ収容計算エンジン120は、各Webサーバコンテナ210のCPU使用率及び/又はメモリ使用率を定期的に監視し、検出したCPU使用率及び/又はメモリ使用率が所定のCPU使用率閾値及び/又はメモリ使用率閾値以上であるか判断する。検出したCPU使用率及び/又はメモリ使用率がCPU使用率閾値及び/又はメモリ使用率閾値以上である場合、コンテナ収容計算エンジン120は、当該Webサーバコンテナ210が被攻撃コンテナであると判断する。他方、検出したCPU使用率及び/又はメモリ使用率がCPU使用率閾値及び/又はメモリ使用率閾値未満である場合、コンテナ収容計算エンジン120は、当該Webサーバコンテナ210が被攻撃コンテナでないと判断する。   As illustrated, in step S201, the container storage calculation engine 120 periodically monitors the CPU usage rate and / or memory usage rate of each Web server container 210, and detects the detected CPU usage rate and / or memory usage rate. Is greater than or equal to a predetermined CPU usage threshold and / or memory usage threshold. If the detected CPU usage rate and / or memory usage rate is greater than or equal to the CPU usage rate threshold value and / or the memory usage rate threshold value, the container accommodation calculation engine 120 determines that the Web server container 210 is an attacked container. On the other hand, when the detected CPU usage rate and / or memory usage rate is less than the CPU usage rate threshold value and / or the memory usage rate threshold value, the container accommodation calculation engine 120 determines that the Web server container 210 is not an attacked container. .

被攻撃コンテナが検出された場合(S201:Yes)、ステップS202において、コンテナ収容計算エンジン120は、コンテナ配備サーバ200が新たなコンテナを追加するのに十分なリソースを有しているか判断する。例えば、コンテナ収容計算エンジン120は、コンテナ配備サーバ200に設定されているコンテナ数が所定の閾値(収容限界コンテナ数:Cmax)以下である場合、十分なリソースがあると判断してもよい。他方、被攻撃コンテナが検出されなかった場合(S201:No)、コンテナ収容計算エンジン120は、各Webサーバコンテナ210のCPU使用率及び/又はメモリ使用率を定期的に監視し続ける。   If an attacked container is detected (S201: Yes), in step S202, the container accommodation calculation engine 120 determines whether the container deployment server 200 has sufficient resources to add a new container. For example, the container storage calculation engine 120 may determine that there are sufficient resources when the number of containers set in the container deployment server 200 is equal to or less than a predetermined threshold (the number of storage limit containers: Cmax). On the other hand, when the attacked container is not detected (S201: No), the container storage calculation engine 120 continues to regularly monitor the CPU usage rate and / or the memory usage rate of each Web server container 210.

コンテナ配備サーバ200が新たなコンテナを追加するのに十分なリソースを有している場合(S202:Yes)、ステップS203において、コンテナ収容計算エンジン120は、Webサーバコンテナ210を生成する。他方、コンテナ配備サーバ200が新たなコンテナを追加するのに十分なリソースを有していない場合(S202:No)、ステップS204において、コンテナ収容計算エンジン120は、後述される収容ユーザ整理処理又はコンテナ削除処理を実行し、新たなコンテナを追加するためのリソースを確保する。   If the container deployment server 200 has sufficient resources to add a new container (S202: Yes), the container storage calculation engine 120 generates the Web server container 210 in step S203. On the other hand, when the container deployment server 200 does not have sufficient resources to add a new container (S202: No), in step S204, the container accommodation calculation engine 120 performs the accommodation user organization process or container described later. Execute the deletion process and secure resources for adding a new container.

ステップS205において、コンテナ収容計算エンジン120は、被攻撃コンテナに収容されているユーザの一部を生成されたWebサーバコンテナ210に再振り分けする。例えば、コンテナ収容計算エンジン120は、被攻撃コンテナに収容されているユーザをランダムに2等分し、一方を被攻撃コンテナに残し、他方を追加したWebサーバコンテナ210に振り分けてもよい。   In step S205, the container accommodation calculation engine 120 redistributes a part of the users accommodated in the attacked container to the generated web server container 210. For example, the container storage calculation engine 120 may randomly divide the users stored in the attacked container into two equal parts, leave one in the attacked container, and distribute the other to the added web server container 210.

また、コンテナ収容計算エンジン120は、図7に示されるようなコンテナ収容ユーザ情報をコンテナ収容ユーザデータベース110に格納する。図示されたコンテナ収容ユーザ情報では、Webサーバコンテナ210を示すコンテナIDと、リソース不足が検出されたコンテナを示す被攻撃コンテナフラグとが関連付けされて格納される。また、コンテナ収容ユーザ情報は、コンテナIDに基づき複数ユーザ単位割当方式又は時間単位割当方式によるコンテナ収容ユーザ情報と連結されてもよい。なお、上述したコンテナ収容ユーザ情報では、ユーザ識別子としてIPアドレスが使用されているが、本発明はこれに限定されず、ユーザを一意的に識別可能な何れか適切な識別子が利用されてもよい。   Further, the container accommodation calculation engine 120 stores container accommodation user information as shown in FIG. 7 in the container accommodation user database 110. In the illustrated container accommodation user information, the container ID indicating the Web server container 210 and the attacked container flag indicating the container in which the resource shortage is detected are associated and stored. Further, the container accommodation user information may be linked to the container accommodation user information based on the multi-user unit allocation method or the time unit allocation method based on the container ID. In the container accommodation user information described above, an IP address is used as a user identifier. However, the present invention is not limited to this, and any appropriate identifier that can uniquely identify a user may be used. .

Webサーバコンテナイメージ格納部130は、Webサーバコンテナ210を生成する際に使用されるイメージファイルを格納する。コンテナ収容計算エンジン120は、当該イメージファイルに基づきWebサーバコンテナ210を生成するようコンテナ配備サーバ200に指示する。なお、格納されているイメージファイルの変更はコンテナマネージャ100の管理者のみに許可されてもよい。   The web server container image storage unit 130 stores an image file used when the web server container 210 is generated. The container accommodation calculation engine 120 instructs the container deployment server 200 to generate the Web server container 210 based on the image file. Note that only the administrator of the container manager 100 may be allowed to change the stored image file.

次に、本発明の一実施例による通信システムにおけるトラヒック制御処理を説明する。図9及び10は、本発明の一実施例によるトラヒック制御処理を示すシーケンス図である。   Next, traffic control processing in a communication system according to an embodiment of the present invention will be described. 9 and 10 are sequence diagrams illustrating traffic control processing according to an embodiment of the present invention.

図9に示されるように、ステップS301において、トラヒック振り分け装置50は、ユーザからパケットを受信する。   As shown in FIG. 9, in step S301, the traffic distribution device 50 receives a packet from a user.

ステップS302において、トラヒック振り分け装置50は、受信したパケットからトラヒック情報を抽出し、抽出したトラヒック情報をコンテナマネージャ100に通知する。例えば、トラヒック情報は、送信元IPアドレス、通信日時であってもよい。   In step S302, the traffic distribution device 50 extracts the traffic information from the received packet and notifies the container manager 100 of the extracted traffic information. For example, the traffic information may be a transmission source IP address and a communication date / time.

ステップS303において、コンテナマネージャ100は、受信したトラヒック情報に基づきコンテナ収容ユーザデータベース110のコンテナ収容ユーザ情報を更新する。   In step S303, the container manager 100 updates the container accommodation user information in the container accommodation user database 110 based on the received traffic information.

ステップS304において、コンテナ収容ユーザデータベース110は、コンテナマネージャ100からの更新指示に従って、コンテナ収容ユーザ情報を更新する。例えば、コンテナ収容ユーザデータベース110は、送信元IPアドレスがコンテナ収容ユーザ情報のユーザ識別子に登録済みである場合、最終通信日時を更新してもよい。   In step S <b> 304, the container accommodation user database 110 updates the container accommodation user information in accordance with the update instruction from the container manager 100. For example, the container accommodation user database 110 may update the last communication date and time when the transmission source IP address has been registered in the user identifier of the container accommodation user information.

ステップS305において、コンテナ収容計算エンジン120は、コンテナ収容ユーザデータベース110にコンテナ収容ユーザ情報を要求し、ステップS306において、要求したコンテナ収容ユーザ情報を取得する。   In step S305, the container storage calculation engine 120 requests container storage user information from the container storage user database 110, and in step S306, acquires the requested container storage user information.

ステップS307において、送信元IPアドレスがコンテナ収容ユーザ情報のユーザ識別子に登録されているか判断する。新規ユーザであり、所定のコンテナ収容方式に従って当該ユーザに新規のコンテナを割り当てる場合、ステップS308において、コンテナ収容計算エンジン120は、当該ユーザに新規のコンテナを割り当てることをコンテナマネージャ100に通知する。   In step S307, it is determined whether the transmission source IP address is registered in the user identifier of the container accommodation user information. When the user is a new user and assigns a new container to the user according to a predetermined container accommodation method, in step S308, the container accommodation calculation engine 120 notifies the container manager 100 that a new container is assigned to the user.

ステップS309において、コンテナマネージャ100は、新規のコンテナと当該コンテナに収容されるユーザのユーザ識別子とを関連付けてコンテナ収容ユーザ情報に格納する。コンテナ収容ユーザデータベース110は、ステップS310において、コンテナ収容ユーザ情報を更新すると、ステップS311において、コンテナ収容ユーザ情報の更新が完了したことをコンテナマネージャ100に通知する。   In step S309, the container manager 100 associates the new container with the user identifier of the user accommodated in the container and stores it in the container accommodation user information. When the container accommodation user information is updated in step S310, the container accommodation user database 110 notifies the container manager 100 that the update of the container accommodation user information is completed in step S311.

ステップS312において、コンテナマネージャ100は、新規のコンテナを生成するようコンテナ配備サーバ200に要求する。ステップS313において、コンテナ配備サーバ200は、新規のコンテナを生成し、ステップS314において、生成されたコンテナが起動する。   In step S312, the container manager 100 requests the container deployment server 200 to generate a new container. In step S313, the container deployment server 200 generates a new container, and in step S314, the generated container is activated.

なお、ステップS308〜S314は、ステップS307において既存のコンテナに新規ユーザを収容する場合には実行される必要はない。   Note that steps S308 to S314 need not be executed when a new user is accommodated in an existing container in step S307.

図10に示されるように、ステップS307において既存のコンテナに新規ユーザを収容する場合、ステップS315において、コンテナ収容計算エンジン120は、新規ユーザの収容先コンテナをコンテナマネージャ100に通知する。ステップS316において、コンテナマネージャ100は、通知されたコンテナと当該コンテナに収容されるユーザのユーザ識別子とを関連付けてコンテナ収容ユーザ情報に格納する。コンテナ収容ユーザデータベース110は、ステップS317において、コンテナ収容ユーザ情報を更新すると、ステップS318において、コンテナ収容ユーザ情報の更新が完了したことをコンテナマネージャ100に通知する。   As shown in FIG. 10, when a new user is accommodated in an existing container in step S307, the container accommodation calculation engine 120 notifies the container manager 100 of the accommodation container of the new user in step S315. In step S316, the container manager 100 associates the notified container with the user identifier of the user accommodated in the container and stores it in the container accommodation user information. When the container accommodation user information is updated in step S317, the container accommodation user database 110 notifies the container manager 100 that the update of the container accommodation user information is completed in step S318.

ステップS319において、コンテナマネージャ100は、当該ユーザからのトラヒックの送信先を収容先コンテナに変換するためのトラヒック変換設定をトラヒック振り分け装置50に通知する。ステップS320において、トラヒック振り分け装置50は、当該通知に従ってトラヒック変換設定情報を更新し、トラヒック変換設定記憶部52は、ステップS321において、トラヒック変換設定情報を更新すると、ステップS322において、トラヒック変換設定情報の更新が完了したことをトラヒック振り分け装置50に通知する。   In step S319, the container manager 100 notifies the traffic distribution device 50 of a traffic conversion setting for converting the transmission destination of the traffic from the user into the accommodation container. In step S320, the traffic distribution device 50 updates the traffic conversion setting information in accordance with the notification, and when the traffic conversion setting storage unit 52 updates the traffic conversion setting information in step S321, the traffic conversion setting information is updated in step S322. The traffic distribution device 50 is notified that the update has been completed.

ステップS323において、トラヒック振り分け装置50は、トラヒック変換設定情報の更新があったことをトラヒック振り分け部51に通知する。ステップS324において、トラヒック振り分け部51は、更新されたトラヒック変換設定情報を読み込み、ステップS325において、更新されたトラヒック変換設定情報を取得する。   In step S323, the traffic distribution device 50 notifies the traffic distribution unit 51 that the traffic conversion setting information has been updated. In step S324, the traffic distribution unit 51 reads the updated traffic conversion setting information, and in step S325, acquires the updated traffic conversion setting information.

ステップS326において、トラヒック振り分け部51は、ユーザから受信したトラヒックの送信先アドレスを取得したトラヒック変換設定情報に規定されたコンテナのアドレスに変換し、ステップS327において、当該トラヒックを変換後のアドレスに転送する。   In step S326, the traffic distribution unit 51 converts the destination address of the traffic received from the user into the address of the container specified in the acquired traffic conversion setting information, and in step S327, transfers the traffic to the converted address. To do.

また、一実施例では、コンテナ配備サーバ200に配備されたコンテナの個数が所定の閾値以上になると、コンテナマネージャ100は、各コンテナに収容可能なユーザ数の上限値までユーザが収容されるように配備されたコンテナに収容されるユーザを整理し、収容ユーザ数が0になったコンテナを削除してもよい。   In one embodiment, when the number of containers deployed on the container deployment server 200 exceeds a predetermined threshold, the container manager 100 may accommodate users up to the maximum number of users that can be accommodated in each container. The users accommodated in the deployed container may be arranged, and the container having the accommodated user number 0 may be deleted.

図11に示されるように、Webサーバコンテナ210を生成し続ければ、コンテナ配備サーバ200のリソース不足が発生する。そこで、コンテナ配備サーバ200に予めコンテナ数の上限値Cmaxを設定し、コンテナ数がCmax以上になった場合、収容可能なユーザ数に余裕のあるWebサーバコンテナ210にユーザを集約してもよい。さらに、集約によって収容ユーザ数が0となったWebサーバコンテナ210は削除されてもよい。   As shown in FIG. 11, if the web server container 210 is continuously generated, the resource shortage of the container deployment server 200 occurs. Therefore, an upper limit value Cmax for the number of containers may be set in the container deployment server 200 in advance, and when the number of containers becomes equal to or greater than Cmax, users may be aggregated into the web server container 210 that has a sufficient number of users that can be accommodated. Furthermore, the Web server container 210 in which the number of accommodated users becomes 0 by aggregation may be deleted.

具体的には、収容ユーザ整理処理は、図12及び図13に示される手順により実行されてもよい。ここで、ステップS401〜S406は、上述したステップS301〜S306と同様であり、これらの説明は割愛する。   Specifically, the accommodated user organization process may be executed according to the procedure shown in FIGS. Here, steps S401 to S406 are the same as steps S301 to S306 described above, and a description thereof will be omitted.

ステップS407において、コンテナ収容計算エンジン120が、コンテナ数が上限値Cmaxを超過すると判断し、収容ユーザ整理処理を開始する。ステップS408において、何れかのコンテナに収容されるユーザを他のコンテナに再振り分けすることをコンテナマネージャ100に通知する。ステップS409において、コンテナマネージャ100は、当該再振り分けに従ってコンテナ収容ユーザ情報を更新し、コンテナ収容ユーザデータベース110は、ステップS410において、コンテナ収容ユーザ情報を更新すると、ステップS411において、コンテナ収容ユーザ情報の更新が完了したことをコンテナマネージャ100に通知する。   In step S407, the container accommodation calculation engine 120 determines that the number of containers exceeds the upper limit value Cmax, and starts the accommodation user organization process. In step S408, the container manager 100 is notified that the user accommodated in any container is to be redistributed to another container. In step S409, the container manager 100 updates the container accommodation user information according to the redistribution. When the container accommodation user database 110 updates the container accommodation user information in step S410, the container accommodation user information is updated in step S411. Is notified to the container manager 100.

ステップS412において、コンテナマネージャ100は、当該ユーザからのトラヒックの送信先アドレスを再振り分けしたコンテナに変換するためのトラヒック変換設定をトラヒック振り分け装置50に通知する。ステップS413において、トラヒック振り分け装置50は、当該通知に従ってトラヒック変換設定情報を更新し、トラヒック変換設定記憶部52は、ステップS414において、トラヒック変換設定情報を更新する。   In step S <b> 412, the container manager 100 notifies the traffic distribution device 50 of a traffic conversion setting for converting the destination address of the traffic from the user to the redistributed container. In step S413, the traffic distribution device 50 updates the traffic conversion setting information in accordance with the notification, and the traffic conversion setting storage unit 52 updates the traffic conversion setting information in step S414.

さらに、図12に示されるように、ステップS415において、トラヒック振り分け装置50は、トラヒック変換設定情報の更新の完了通知を受信すると、ステップS416において、当該完了通知をトラヒック振り分け部51に転送する。   Further, as shown in FIG. 12, when receiving the traffic conversion setting information update completion notification in step S415, the traffic distribution device 50 transfers the completion notification to the traffic distribution unit 51 in step S416.

ステップS417において、トラヒック振り分け部51は、更新されたトラヒック変換設定情報を読み込み、ステップS418において、更新されたトラヒック変換設定情報を取得する。   In step S417, the traffic distribution unit 51 reads the updated traffic conversion setting information, and acquires the updated traffic conversion setting information in step S418.

ステップS419において、トラヒック振り分け部51は、ユーザから受信したトラヒックの送信先アドレスを取得したトラヒック変換設定情報に規定されたコンテナのアドレスに変換し、ステップS420において、当該トラヒックを変換後のアドレスに転送する。   In step S419, the traffic distribution unit 51 converts the destination address of the traffic received from the user to the address of the container specified in the acquired traffic conversion setting information, and transfers the traffic to the converted address in step S420. To do.

ステップS421において、トラヒック振り分け装置50は、コンテナマネージャ100にトラヒック変換設定情報の更新が完了したことを通知し、ステップS422において、コンテナマネージャ100は、収容ユーザ数が0となったコンテナを削除するようコンテナ配備サーバ200に指示する。ステップS423において、コンテナ配備サーバ200は、指示されたコンテナを削除し、ステップS424において、当該コンテナが削除される。   In step S421, the traffic distribution device 50 notifies the container manager 100 that the update of the traffic conversion setting information has been completed. In step S422, the container manager 100 deletes the container whose number of accommodated users is zero. Instructs the container deployment server 200. In step S423, the container deployment server 200 deletes the instructed container, and in step S424, the container is deleted.

また、一実施例では、コンテナマネージャ100は、ユーザと当該ユーザを収容するコンテナとの間の通信が一定時間以上行われなかったとき、当該コンテナを削除してもよい。図14に示されるように、Webサーバコンテナにアクセスするユーザのトラヒックが一定時間以上観測されない場合、コンテナマネージャ100は、ユーザがWebサーバのサービスをすでに利用していないとみなし、コンテナ収容ユーザデータベース110から当該ユーザに関する情報を削除してもよい。   Moreover, in one Example, the container manager 100 may delete the said container, when communication between a user and the container which accommodates the said user is not performed more than fixed time. As shown in FIG. 14, when the traffic of the user accessing the Web server container is not observed for a certain period of time, the container manager 100 considers that the user has not already used the service of the Web server, and the container accommodating user database 110 Information regarding the user may be deleted.

具体的には、コンテナ削除処理は、図15に示される手順により実行されてもよい。ここで、ステップS501〜S506は、上述したステップS301〜S306と同様であり、これらの説明は割愛する。   Specifically, the container deletion process may be executed according to the procedure shown in FIG. Here, steps S501 to S506 are the same as steps S301 to S306 described above, and the description thereof is omitted.

図15に示されるように、ステップS507において、コンテナ収容計算エンジン120は、収容ユーザ数が0であるコンテナがあると判断し、コンテナ削除処理を開始する。ステップS508において、コンテナ収容計算エンジン120は、削除対象のコンテナをコンテナマネージャ100に通知する。   As shown in FIG. 15, in step S507, the container storage calculation engine 120 determines that there is a container having a storage user count of 0, and starts a container deletion process. In step S508, the container storage calculation engine 120 notifies the container manager 100 of the container to be deleted.

ステップS509において、コンテナマネージャ100は、当該通知に従ってコンテナ収容ユーザ情報を更新し、コンテナ収容ユーザデータベース110は、ステップS510において、コンテナ収容ユーザ情報を更新すると、ステップS511において、コンテナ収容ユーザ情報の更新が完了したことをコンテナマネージャ100に通知する。   In step S509, the container manager 100 updates the container accommodation user information according to the notification. When the container accommodation user database 110 updates the container accommodation user information in step S510, the container accommodation user information is updated in step S511. The container manager 100 is notified of the completion.

ステップS512において、コンテナマネージャ100は、コンテナを削除するようコンテナ配備サーバ200に指示する。ステップS513において、コンテナ配備サーバ200は、指示されたコンテナを削除し、ステップS514において、当該コンテナが削除される。   In step S512, the container manager 100 instructs the container deployment server 200 to delete the container. In step S513, the container deployment server 200 deletes the instructed container, and in step S514, the container is deleted.

なお、上述した通信システム10におけるトラヒック振り分け装置50、コンテナマネージャ100、コンテナ配備サーバ200及び共有ストレージサーバ300の各機能部及び各ステップは、コンピュータのメモリ装置に記憶されたプログラムをプロセッサが実行することによって実現されてもよい。   Note that each function unit and each step of the traffic distribution device 50, the container manager 100, the container deployment server 200, and the shared storage server 300 in the communication system 10 described above is executed by a processor executing a program stored in a memory device of a computer. It may be realized by.

以上、本発明の実施例について詳述したが、本発明は上述した特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。   As mentioned above, although the Example of this invention was explained in full detail, this invention is not limited to the specific embodiment mentioned above, In the range of the summary of this invention described in the claim, various deformation | transformation・ Change is possible.

10 通信システム
50 トラヒック振り分け装置
100 コンテナマネージャ
200 コンテナ配備サーバ
300 共有ストレージサーバ
DESCRIPTION OF SYMBOLS 10 Communication system 50 Traffic distribution apparatus 100 Container manager 200 Container deployment server 300 Shared storage server

Claims (8)

ユーザから受信したトラヒックをコンテナに振り分けるトラヒック振り分け装置と、
前記トラヒックを処理するコンテナを管理するコンテナマネージャ装置と、
前記コンテナマネージャ装置からの指示に従ってコンテナを配備するコンテナ配備サーバと、
を有する通信システムであって、
前記コンテナマネージャ装置は、所定のコンテナ収容方式に従って前記トラヒックを処理するコンテナを決定し、前記トラヒック振り分け装置は、前記決定されたコンテナに前記トラヒックを振り分ける通信システム。
A traffic distribution device that distributes traffic received from users to containers;
A container manager device for managing containers for processing the traffic;
A container deployment server that deploys containers according to instructions from the container manager device;
A communication system comprising:
The container manager device determines a container for processing the traffic according to a predetermined container accommodation method, and the traffic distribution device distributes the traffic to the determined container.
前記コンテナマネージャ装置は、1ユーザに1つのコンテナを割り当てるユーザ単位割当方式に従って、前記ユーザから受信したトラヒックを処理するコンテナを決定する、請求項1記載の通信システム。   The communication system according to claim 1, wherein the container manager device determines a container for processing traffic received from the user according to a user unit allocation method in which one container is allocated to one user. 前記コンテナマネージャ装置は、複数ユーザに1つのコンテナを割り当てる複数ユーザ単位割当方式に従って、前記ユーザから受信したトラヒックを処理するコンテナを決定する、請求項1記載の通信システム。   The communication system according to claim 1, wherein the container manager device determines a container for processing traffic received from the user in accordance with a multi-user unit allocation method in which one container is allocated to a plurality of users. 前記コンテナマネージャ装置は、一定時間内にアクセスしたユーザに1つのコンテナを割り当てる時間単位割当方式に従って、前記ユーザから受信したトラヒックを処理するコンテナを決定する、請求項1記載の通信システム。   The communication system according to claim 1, wherein the container manager device determines a container for processing traffic received from the user according to a time unit allocation method in which one container is allocated to a user who has accessed within a predetermined time. 前記コンテナマネージャ装置は更に、各コンテナのリソース使用状況に応じて収容するユーザ数を動的に調整する収容ユーザ数変動方式に従って、各コンテナに収容するユーザ数を動的に調整する、請求項3又は4記載の通信システム。   The container manager device further dynamically adjusts the number of users accommodated in each container according to a accommodated user number variation method for dynamically adjusting the number of users accommodated according to the resource usage status of each container. Or the communication system of 4. 前記コンテナ配備サーバに配備されたコンテナの個数が所定の閾値以上になると、前記コンテナマネージャ装置は、各コンテナに収容可能なユーザ数の上限値までユーザが収容されるように前記配備されたコンテナに収容されるユーザを整理し、収容ユーザ数が0になったコンテナを削除する、請求項3乃至5何れか一項記載の通信システム。   When the number of containers deployed on the container deployment server exceeds a predetermined threshold, the container manager device sets the deployed containers so that users can be accommodated up to the maximum number of users that can be accommodated in each container. The communication system according to any one of claims 3 to 5, wherein the accommodated users are arranged, and the container in which the number of accommodated users becomes 0 is deleted. 前記コンテナマネージャ装置は、ユーザと該ユーザを収容するコンテナとの間の通信が一定時間以上行われなかったとき、前記コンテナを削除する、請求項2乃至6何れか一項記載の通信システム。   The communication system according to any one of claims 2 to 6, wherein the container manager device deletes the container when communication between the user and the container that accommodates the user has not been performed for a predetermined time or longer. ユーザからトラヒックを受信するステップと、
所定のコンテナ収容方式に従って前記トラヒックを処理するコンテナを決定するステップと、
前記決定されたコンテナに前記トラヒックを振り分けるステップと、
を有するトラヒック制御方法。
Receiving traffic from a user;
Determining a container for processing the traffic according to a predetermined container accommodation method;
Distributing the traffic to the determined container;
A traffic control method.
JP2016159695A 2016-08-16 2016-08-16 Communication system and traffic control method Active JP6616262B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016159695A JP6616262B2 (en) 2016-08-16 2016-08-16 Communication system and traffic control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016159695A JP6616262B2 (en) 2016-08-16 2016-08-16 Communication system and traffic control method

Publications (2)

Publication Number Publication Date
JP2018028764A true JP2018028764A (en) 2018-02-22
JP6616262B2 JP6616262B2 (en) 2019-12-04

Family

ID=61248448

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016159695A Active JP6616262B2 (en) 2016-08-16 2016-08-16 Communication system and traffic control method

Country Status (1)

Country Link
JP (1) JP6616262B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022508899A (en) * 2018-10-22 2022-01-19 コーニンクレッカ フィリップス エヌ ヴェ Container builder for personalized network services
WO2024034446A1 (en) * 2022-08-09 2024-02-15 日本電気株式会社 Core network device, application server, and communication method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022508899A (en) * 2018-10-22 2022-01-19 コーニンクレッカ フィリップス エヌ ヴェ Container builder for personalized network services
JP7434342B2 (en) 2018-10-22 2024-02-20 コーニンクレッカ フィリップス エヌ ヴェ Container builder for personalized network services
US11914753B2 (en) 2018-10-22 2024-02-27 Koninklijke Philips N.V. Container builder for individualized network services
WO2024034446A1 (en) * 2022-08-09 2024-02-15 日本電気株式会社 Core network device, application server, and communication method

Also Published As

Publication number Publication date
JP6616262B2 (en) 2019-12-04

Similar Documents

Publication Publication Date Title
AU2019200445B2 (en) Methods and apparatus for dealing with malware
US20220224726A1 (en) Distribution and Management of Services in Virtual Environments
CN109076063B (en) Protecting dynamic and short-term virtual machine instances in a cloud environment
CA3006003C (en) Dual memory introspection for securing multiple network endpoints
US9710400B2 (en) Secure virtual machine memory
RU2568282C2 (en) System and method for ensuring fault tolerance of antivirus protection realised in virtual environment
US20170149804A1 (en) Methods and systems for malware host correlation
Pandey et al. An approach for virtual machine image security
JP6616262B2 (en) Communication system and traffic control method
Alshahrani et al. Live migration of virtual machine in cloud: Survey of issues and solutions
Ramamoorthy et al. A preventive method for host level security in cloud infrastructure
Rathod et al. Secure live vm migration in cloud computing: A survey
JP5736346B2 (en) Virtualization device, virtualization control method, virtualization device control program
WO2015180293A1 (en) Cloud desktop monitoring method and apparatus
Magdy et al. Anonymous blockchain based routing for moving-target defense across federated clouds
Gupta et al. Security challenges of virtualization in cloud computing
EP3270544A1 (en) Hypervisor monitoring
JP6010672B2 (en) Security setting system, security setting method and program
JP5814138B2 (en) Security setting system, security setting method and program
RU2724801C1 (en) Method of balancing load on virtual protection machines, provided that selection area of virtual protection machines
Kadu et al. Virtual Machine Migration Techniques, Security Threats and Vulnerabilities
CN116781301A (en) Cross-namespace container security protection method, device, equipment and medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180903

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190719

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190806

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190920

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191105

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191107

R150 Certificate of patent or registration of utility model

Ref document number: 6616262

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150