[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP7327057B2 - コンテナ制御装置、コンテナ制御方法、およびコンテナ制御プログラム - Google Patents

コンテナ制御装置、コンテナ制御方法、およびコンテナ制御プログラム Download PDF

Info

Publication number
JP7327057B2
JP7327057B2 JP2019178762A JP2019178762A JP7327057B2 JP 7327057 B2 JP7327057 B2 JP 7327057B2 JP 2019178762 A JP2019178762 A JP 2019178762A JP 2019178762 A JP2019178762 A JP 2019178762A JP 7327057 B2 JP7327057 B2 JP 7327057B2
Authority
JP
Japan
Prior art keywords
container
cloud
module
security
information
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.)
Active
Application number
JP2019178762A
Other languages
English (en)
Other versions
JP2021056739A (ja
Inventor
岳大 渡邊
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2019178762A priority Critical patent/JP7327057B2/ja
Publication of JP2021056739A publication Critical patent/JP2021056739A/ja
Application granted granted Critical
Publication of JP7327057B2 publication Critical patent/JP7327057B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Description

本開示は、コンテナ制御装置、コンテナ制御方法、およびコンテナ制御プログラムに関する。
クラウドシステムでは、例えば、仮想化技術を用いて、可用性の高いサービスを実現している。仮想化技術の中でも、コンテナ型仮想化技術は、1つのOS(Operating System)上に、コンテナといわれる論理的な区画を複数作成するものである。そして、生成された複数のコンテナが、個別のユーザやサービスに割り当てられる。
コンテナ型仮想化技術を使用するクラウドシステムでは、コンテナの作成/起動/停止/削除などの制御に加え、サーバ間のネットワーク接続やストレージの管理、コンテナを稼働させるサーバやタイミング等のスケジューリングの管理も必要となる。
そのため、このようなクラウドシステムでは、上述したような煩雑な管理を自動で行うためのオーケストレーションツールが使用される。例えば、コンテナが異常終了した場合でも、オーケストレーションツールは、該コンテナを再起動させ、該コンテナで動作するアプリケーションが提供するサービスを継続させることができる。
しかし、クラウドサービスプロバイダが提供するパブリッククラウドにおいて、複数のコンテナ(以降、コンテナクラスタとも記載)で動作するアプリケーションまたはライブラリ等にセキュリティ脆弱性が発覚した場合、該アプリケーションまたはライブラリ等は、不特定多数からセキュリティ脆弱性に対する攻撃を受けるリスクがある。その結果、パブリッククラウドでは、セキュリティ脆弱性を有するコンテナクラスタだけでなく、他のコンテナクラスタやパブリッククラウド全体にも、攻撃の被害が広がる可能性がある。
そのため、パブリッククラウドでは、セキュリティ脆弱性を有するコンテナクラスタを、起動させたままにして、該アプリケーションまたはライブラリ等を動作させ続けることができない。
したがって、パブリッククラウドでは、コンテナにセキュリティ脆弱性が発覚した時点で、コンテナクラスタには、早急に停止するための設定変更が行われなければならない。
さらに、パブリッククラウドでは、コンテナクラスタで動作するアプリケーションやライブラリ等を修正してセキュリティ脆弱性が解消されるまで、該コンテナクラスタが提供していたサービス等を継続できないという課題がある。
このような課題に対して、パブリッククラウドではなく、ユーザの使用態様に特化したセキュリティが採用可能な、オンプレミス型のプライベートクラウドが提案されている(特許文献1)。
さらに、これらパブリッククラウドとプライベートクラウドとの両者の長所を合わせたハイブリッドクラウドも提案されている。すなわち、ハイブリッドクラウドでは、提供するサービスや利用する用途に応じて、パブリッククラウドとプライベートクラウドとを使い分けることができる(特許文献2)。
特表2014-524096号公報 特開2017-058985号公報
しかし、特許文献1に記載されたクラウドのように、全てのサービスをプライベートクラウドで提供することは、高コストであり、サービスの利用者数に応じてスケーラブルにキャパシティを低コストで増加させることができるパブリッククラウドの長所を利用できない。
また、特許文献2に記載されたクラウドでも、特許文献1に記載されたクラウドと同様の課題を有する。
本開示の目的の一つは、上述の課題を解決し、セキュリティ脆弱性が検出されたコンテナで提供されるサービスを継続しながら、セキュリティのリスクを抑えることができる、コンテナ制御装置、コンテナ制御方法、およびコンテナ制御プログラムを提供することである。
本開示の一態様におけるコンテナ制御装置は、コンテナに含まれる1以上のモジュールを示すコンテナ情報を記憶する記憶手段と、前記モジュールにセキュリティ脆弱性が検出された場合に、前記コンテナ情報を参照し、該モジュールを含むコンテナがパブリッククラウドにおいて動作している場合、該パブリッククラウドにおける該コンテナを停止し、プライベートクラウドにおいて前記コンテナを起動する制御手段と、を備える。
本開示の一態様におけるコンテナ制御方法は、コンテナに含まれる1以上のモジュールを示すコンテナ情報を記憶し、前記モジュールにセキュリティ脆弱性が検出された場合に、前記コンテナ情報を参照し、該モジュールを含むコンテナがパブリッククラウドにおいて動作している場合、該パブリッククラウドにおける該コンテナを停止し、プライベートクラウドにおいて前記コンテナを起動する。
本開示の一態様におけるコンテナ制御プログラムは、コンピュータに、コンテナに含まれる1以上のモジュールを示すコンテナ情報を記憶し、前記モュールにセキュリティ脆弱性が検出された場合に、前記コンテナ情報を参照し、該モジュールを含むコンテナがパブリッククラウドにおいて動作している場合、該パブリッククラウドにおける該コンテナを停止し、プライベートクラウドにおいて前記コンテナを起動する処理を実行させる。
本開示の効果は、セキュリティ脆弱性が発覚したコンテナで提供されるサービスを継続しながら、セキュリティのリスクを抑えることができることである。
第1の実施形態におけるコンテナ制御システム100の構成を示すブロック図である。 第1の実施形態におけるクラウドの詳細な構成を示す図である。 第1の実施形態におけるセキュリティ情報の例を示す図である。 第1の実施形態におけるコンテナ情報の例を示す図である。 第1の実施形態におけるコンテナ切替処理前の各クラウドの状態を示す図である。 第1の実施形態におけるコンテナ切替処理後の各クラウドの状態を示す図である。 第1の実施形態における、コンテナ切替処理を示すフローチャートである。 第2の実施形態におけるコンテナ制御システム110の構成を示すブロック図である。 第3の実施形態における、コンテナ制御装置10の構成を示すブロック図である。 コンピュータ500のハードウェア構成の例を示すブロック図である。
実施形態について図面を参照して詳細に説明する。なお、各図面、及び、明細書記載の各実施形態において、同様の構成要素には同一の符号を付与し、説明を適宜省略する。
(第1の実施形態)
第1の実施形態について説明する。
はじめに、第1の実施形態におけるコンテナ制御システム100の構成を説明する。図1は、第1の実施形態におけるコンテナ制御システム100の構成を示すブロック図である。図1を参照すると、コンテナ制御システム100は、パブリッククラウド201と、プライベートクラウド301と、コンテナ制御装置401と、を含む。また、本明細書では、パブリッククラウド201と、プライベートクラウド301とを、それぞれ区別する必要のない場合に、これらをまとめてクラウドと記載する。
コンテナ制御装置401、パブリッククラウド201、及び、プライベートクラウド301は、通信ネットワーク等を介して、相互に接続される。
パブリッククラウド201は、コンテナクラスタ202,203を含む。プライベートクラウド301は、コンテナクラスタ302,303を含む。また、コンテナ制御装置401は、セキュリティ情報取得部402と、記憶部403と、制御部404とを含む。
パブリッククラウド201およびプライベートクラウド301は、コンテナクラスタおよびコンテナについて、同様の構成を有する。ただし、パブリッククラウド201とプライベートクラウド301とでは、図示しないネットワーク制御機器による、例えば、アクセス制御およびセキュリティソフトの設定が異なる。例えば、プライベートクラウド301のネットワーク制御機器では、パブリッククラウド201のネットワーク制御機器に比べて、よりセキュリティレベルが高くなるように、アクセス制御およびセキュリティソフトの設定が行われる。また、パブリッククラウド201では、セキュリティ脆弱性の対策がクラウド提供事業者に委ねられるのに対して、プライベートクラウド301では、管理者側で独自の判断により、セキュリティ脆弱性の対策が行われる。そのため、例えば、セキュリティ脆弱性への早期対策が可能である。
なお、パブリッククラウド201およびプライベートクラウド301は、ハイブリットクラウドとして動作しているとする。ハイブリットクラウドでは、例えば、パブリッククラウド201およびプライベートクラウド301を跨いで構成される仮想的なネットワーク上で、所定のサービスを提供する複数のコンテナが動作する。この場合、例えば、該複数のコンテナの一部がパブリッククラウド201で、残りがプライベートクラウド301で動作してもよい。
また、パブリッククラウド201およびプライベートクラウド301には、例えば、各クラウドを識別する識別子であるクラウドIDがそれぞれに付与される。同様に、パブリッククラウド201およびプライベートクラウド301がコンテナクラスタを有する場合には、各コンテナクラスタ202,203,302,303に、それぞれを識別する識別子であるクラスタIDがそれぞれに付与される。各コンテナには、コンテナを特定するために使用される識別子であるコンテナIDが付与される。
本実施形態では、クラウドID:1がパブリッククラウド201を示し、クラウドID:2がプライベートクラウド301を示す。
また、本実施形態では、クラウドIDとクラスタIDと組み合わせて、コンテナクラスタを示す。例えば、コンテナクラスタ202は、クラウドID:1、クラスタID:1と示され、コンテナクラスタ203は、クラウドID:1、クラスタID:2と示される。また、例えば、コンテナクラスタ302は、クラウドID:2、クラスタID:1と示され、コンテナクラスタ303は、クラウドID:2、クラスタID:2と示される。
図2は、第1の実施形態におけるクラウドの詳細な構成を示す図である。以下のクラウドの説明では、図2がパブリッククラウド201の構成を示しているとして説明する。
クラウドは、コンピュータ(サーバ)から構成される。コンピュータでは、OSが動作している。このOS上では、複数のコンテナの作成/起動/停止/削除などの制御に加え、サーバ間のネットワーク接続やストレージの管理、コンテナを稼働させるサーバやタイミング等のスケジューリングの管理の制御を行うコンテナ管理ソフトが動作する。
図2の例では、コンテナ管理ソフトが、3つのコンテナから形成されるコンテナクラスタを制御する。コンテナには、それぞれを識別する識別子が付与されている。例えば、コンテナ1には、コンテナID:1が付与され、コンテナ2には、コンテナID:2が付与され、コンテナ3には、コンテナID:3が付与される。コンテナ1は、モジュールAおよびモジュールBを含む。コンテナ2は、モジュールCおよびモジュールDを含む。また、コンテナ3は、モジュールEおよびモジュールFを含む。
なお、図1の例では、コンテナ制御装置401が、パブリッククラウド201と、プライベートクラウド301と、ネットワークを介して接続している。しかしながら、これに限らず、コンテナ制御装置401がパブリッククラウド201に配置されてもよいし、コンテナ制御装置401がプライベートクラウド301に配置されてもよい。
セキュリティ情報取得部402は、クラウドにおいて動作する、後述するコンテナに含まれるモジュールに関するセキュリティ情報を、例えば、セキュリティ脆弱性の情報を提供するサービスを行うサイトからインターネットを介して取得する。
ここで、コンテナに含まれるモジュールとは、コンテナで動作させる、アプリケーションのコードおよび設定情報、該アプリケーションを動作させるために必要なミドルウェア、該アプリケーションが依存するライブラリ等のソフトウェア、またはそれらが機能的に分割されたものを意味する。
また、セキュリティ情報は、セキュリティ脆弱性を有するモジュール名を含む。本実施形態では、セキュリティ情報にセキュリティ脆弱性を有するモジュール名を含むようにしたが、これに限らない。セキュリティ情報は、各モジュールについて、セキュリティ脆弱性を有するモジュールのバージョンを含むようにしてもよい。さらに、セキュリティ情報は、モジュールに関するセキュリティ脆弱性を生じるモジュール同士の依存関係を含むようにしてもよい。
セキュリティ情報取得部402には、セキュリティ脆弱性の情報を提供するサービスを行うサイトにアクセス可能なように、予めサイトのURLが設定されていてもよい。これにより、セキュリティ情報取得部402は、任意のタイミングでセキュリティ脆弱性の情報を提供するサービスを行うサイトにアクセスして、セキュリティ情報を取得することができる。
図3は、第1の実施形態におけるセキュリティ情報の例を示す図である。セキュリティ情報には、図3のように、セキュリティ情報のサービス提供者によりセキュリティ脆弱性を有していると判断されたモジュール名を含む。
記憶部403は、コンテナ情報を記憶する。コンテナ情報は、クラウドにおいて動作するコンテナに関する配置情報と、該コンテナに含まれるモジュールに関するモジュール情報と、を含む。
図4は、第1の実施形態におけるコンテナ情報の例を示す図である。コンテナ情報は、図4のようにクラウドIDと、クラスタIDと、コンテナIDと、を含む配置情報と、モジュール名を含むモジュール情報と、を含む。
本実施形態では、コンテナ情報が、配置情報およびモジュール情報を含み、配置情報が、クラウドID、クラスタIDおよびコンテナIDを含み、モジュール情報がモジュール名を含むようにしたが、コンテナ情報は、これらに限られない。例えば、コンテナ情報のモジュール情報は、各コンテナに含まれるモジュールのバージョンおよびモジュール同士の依存関係を含んでもよい。この場合には、同じモジュールであったとしても、コンテナにおいて動作させるモジュール同士の依存関係でバージョンが異なる場合がある。また、コンテナ情報の配置情報は、コンテナの配置が特定できれば識別子以外の方法を用いてもよい。
また、本実施形態では、パブリッククラウド201およびプライベートクラウド301に、同じモジュールにより構成されるコンテナが配置され、一方のクラウドのコンテナが起動され、他方のクラウドのコンテナは停止されていると仮定する。図4の例では、例えば、モジュールA、Bにより構成されるクラウドID:1、クラスタID:1、コンテナID:1のコンテナがパブリッククラウド201に、同じモジュールにより構成されるクラウドID:2、クラスタID:1、コンテナID:1のコンテナがプライベートクラウド301に配置されている。なお、これに限らず、コンテナが起動されるときに、コンテナを構成するモジュールがクラウドに配置され、コンテナが停止されるときに、コンテナを構成するモジュールがクラウドから削除されてもよい。
なお、本実施形態では、予めコンテナ情報を記憶部403に記憶させておくが、これに限らず、例えば、コンテナ管理ソフト(コンテナクラスタ)にコンテナ情報を要求するようにしてもよい。
また、記憶部403は、セキュリティ情報取得部402が取得するセキュリティ情報を記憶してもよい。
制御部404は、予め記憶部403に記憶されているコンテナ情報と、セキュリティ情報取得部402が取得したセキュリティ情報と、を比較する。そして、制御部404は、比較結果に基づいて、各コンテナのモジュールがセキュリティ脆弱性を有するか否かを判断する。
具体的には、制御部404は、例えば、コンテナ情報に含まれるモジュール情報のモジュール名と、セキュリティ情報に含まれるモジュール名とを、比較する。そして、制御部404は、コンテナ情報とセキュリティ情報において、モジュール名が一致するものを検出する。制御部404は、比較結果に基づいて、モジュール名が一致するものを検出すると、一致したモジュール名を含むコンテナの配置情報を取得する。
例えば、具体例として、制御部404は、図3に示したセキュリティ情報と、図4に示したコンテナ情報とを比較する。つまり、制御部404は、図4に示すコンテナ情報に含まれるモジュール情報のモジュール名を、図3に示すセキュリティ情報のモジュール名で検索する。そうすると、制御部404は、クラウドID:1、クラスタID:1、コンテナID:3のコンテナのモジュールEにセキュリティ脆弱性があると判断する。そして、制御部404は、セキュリティ脆弱性を有するモジュールEが含まれるコンテナの配置情報である、クラウドID:1、クラスタID:1、コンテナID:3を取得する。
制御部404は、セキュリティ脆弱性を有するモジュールを検出した場合、取得したコンテナの配置情報に基づいて、セキュリティ脆弱性を有するコンテナを特定する。本実施形態では、制御部404は、パブリッククラウド201のコンテナクラスタ202に含まれるコンテナID:3のコンテナ(図2のコンテナ3を示す)であることを特定する。
制御部404は、特定したコンテナがプライベートクラウド301に含まれている場合、プライベートクラウド301の管理者にセキュリティ脆弱性を有するコンテナが存在することを通知してもよい。そうすることで、コンテナ制御装置401は、プライベートクラウド301の管理者に対して、セキュリティ脆弱性の対応を促すことができる。
また、制御部404は、特定したコンテナがパブリッククラウド201に含まれている場合、特定したコンテナが起動されているか否かを、パブリッククラウド201で動作しているコンテナ管理ソフトに問い合わせる。
制御部404は、特定したコンテナがパブリッククラウド201において起動されていない場合、パブリッククラウド201の管理者にセキュリティ脆弱性を有するコンテナが存在することを通知してもよい。そうすることで、コンテナ制御装置401は、セキュリティ脆弱性を有するコンテナが起動される前に、パブリッククラウド201の管理者に対して、セキュリティ脆弱性の対応を促すことができる。
制御部404は、特定したコンテナがパブリッククラウド201において起動されている場合、特定したコンテナを停止するように、コンテナ管理ソフトに要求する。そして、制御部404は、プライベートクラウド301のコンテナ管理ソフトに対しても、特定したコンテナと同じコンテナを起動するように要求する。本実実施形態では、プライベートクラウド301のコンテナクラスタ302に含まれるコンテナID:3のコンテナを起動する。
コンテナ制御装置401が行うコンテナの切替え(以降、コンテナ切替処理とも記載)について、具体例を用いて説明する。
図5は、第1の実施形態におけるコンテナ切替処理前の各クラウドの状態を示す図である。図5に示すパブリッククラウド201では、コンテナクラスタ202がコンテナ1~3を用いて所定のサービスを提供している。また、プライベートクラウド301では、斜線を付したコンテナが示すように、パブリッククラウド201(クラウドID:1)のコンテナクラスタ202と同じ構成を有するコンテナクラスタ302を、起動せずに配置しておく。
コンテナ制御装置401の制御部404は、上述したようなセキュリティ脆弱性を有するモジュールの検出方法、すなわち、図3に示したセキュリティ情報と、図4に示したコンテナ情報とに基づいて、パブリッククラウド201(クラウドID:1)のコンテナクラスタ202(クラスタID:1)のコンテナ3(コンテナID:3)に含まれるモジュールEにセキュリティ脆弱性があると判断する。
図6は、第1の実施形態におけるコンテナ切替処理後の各クラウドの状態を示す図である。
制御部404は、パブリッククラウド201のコンテナ管理ソフトに、コンテナ3が起動されていることを確認した後、斜線を付したコンテナ3の停止を要求する。制御部404の要求に基づいて、パブリッククラウド201のコンテナ管理ソフトが、斜線を付したコンテナ3を停止する。
次いで、制御部404は、プライベートクラウド301のコンテナ管理ソフトに、プライベートクラウド301(クラウドID:2)のコンテナクラスタ302(クラスタID:1)のコンテナ3(コンテナID:3)の起動を要求する。制御部404の要求に基づいて、プライベートクラウド301のコンテナ管理ソフトがコンテナ3を起動する。なお、斜線を付したその他のコンテナ1およびコンテナ2は、起動されずに、プライベートクラウド301に配置されたままである。
このような構成により、コンテナ制御装置401は、パブリッククラウド201に含まれるコンテナにセキュリティ脆弱性が検出されても、セキュリティ脆弱性を有するコンテナをプライベートクラウド301で起動させることができる。そして、コンテナ制御装置401は、パブリッククラウド201のコンテナクラスタ202のコンテナ1およびコンテナ2と、プライベートクラウド301のコンテナクラスタ302のコンテナ3とを協同させて、パブリッククラウド201のコンテナクラスタ201がコンテナ1~3を用いて提供していた所定のサービスを継続することができる。
次に、第1の実施形態の動作について説明する。
コンテナ切替処理について説明する。
図7は、第1の実施形態における、コンテナ切替処理を示すフローチャートである。コンテナ切替処理は、例えば、セキュリティ脆弱性に関する情報提供者からの、セキュリティ脆弱性情報のアップデートが通知されるたびに実行される。
セキュリティ情報取得部402は、セキュリティ脆弱性に関する情報のサービス提供者から、セキュリティ情報を取得する(ステップS10)。制御部404は、取得したセキュリティ情報と、記憶部403に記憶されているコンテナ情報と、を比較する(ステップS11)。
次いで、制御部404は、比較結果に基づいて、セキュリティ脆弱性を有するモジュールを含むコンテナを検出する(ステップS12)。ステップS12で、セキュリティ脆弱性を有するコンテナが検出されない場合(ステップS12でNO)、制御部404は、コンテナ切替処理を終了する。
ステップS12で、セキュリティ脆弱性を有するコンテナが検出された場合(ステップS12でYES)、制御部404は、検出したコンテナのコンテナ情報からコンテナ配置情報を取得する(ステップS13)。
制御部404は、取得した配置情報に基づいて、検出したコンテナがパブリッククラウド201に配置されているか、プライベートクラウド301に配置されているか判断する(ステップS14)。
ステップS14で、検出したコンテナがパブリッククラウド201に配置されていない、すなわちプライベートクラウド301に配置されていると判断した場合(ステップS14でNO)、制御部404は、プライベートクラウド301に含まれるコンテナにセキュリティ脆弱性があることをプライベートクラウド301の管理者に通知して(ステップS15)、コンテナ切替処理を終了する。
ステップS14で、検出したコンテナがパブリッククラウド201に配置されていると判断した場合(ステップS14でYES)、制御部404は、検出したコンテナがパブリッククラウド201で起動されているか、検出したコンテナがパブリッククラウド201で起動されていないかを、パブリッククラウド201のコンテナ管理ソフトに問い合わせる(ステップS16)。
ステップS16で、問合せの結果、検出したコンテナがパブリッククラウド201で起動されていない場合(ステップS16でNO)、制御部404は、パブリッククラウド201に含まれるコンテナにセキュリティ脆弱性があることをパブリッククラウド201の管理者に通知して(ステップS15)、コンテナ切替処理を終了する。
ステップS16で、問合せの結果、検出したコンテナがパブリッククラウド201で起動されている場合(ステップS16でYES)、制御部404は、パブリッククラウド201のコンテナ管理ソフトに、検出したコンテナの停止を要求する(ステップS17)。そして、パブリッククラウド201のコンテナ管理ソフトは、セキュリティ脆弱性を有するコンテナを停止する。
次いで、制御部404は、プライベートクラウド301のコンテナ管理ソフトに、検出したコンテナと同じコンテナの起動を要求する(ステップS18)。そして、プライベートクラウド301のコンテナ管理ソフトは、セキュリティ脆弱性を有するコンテナと同じコンテナを起動して、コンテナ切替処理が終了する。
以上により、第1の実施形態の動作が完了する。
次に、第1の実施形態の効果を説明する。
第1の実施形態によれば、セキュリティ脆弱性が検出されたコンテナで提供されるサービスを継続しながら、セキュリティのリスクを抑えることができる。その理由は、パブリッククラウドで動作している、セキュリティ脆弱性が検出されたコンテナを停止して、一般的にパブリッククラウドよりもセキュリティが高いとされるプライベートクラウドで、停止したコンテナと同じコンテナを起動しているためである。
第1の実施形態によれば、セキュリティ脆弱性に関する情報を取得して、コンテナの切替処理を終了するまでの時間が短縮できる。その理由は、コンテナ制御装置401が、セキュリティ脆弱性情報を収集して、コンテナにセキュリティ脆弱性を有するモジュールが含まれている場合に、対処するように構成されているためである。
(第2の実施形態)
第2の実施形態では、単にセキュリティ脆弱性を有するコンテナをパブリッククラウドからプライベートクラウドに切替えて動作させるのではなく、プライベートクラウドにおいて、利用者があらかじめ指定したサーバまたはVM(Virtual Machine)等の所定の環境で該コンテナを起動するようにする。
第2の実施形態について説明する。
図8は、第2の実施形態におけるコンテナ制御システム110の構成を示すブロック図である。プライベートクラウド310は、コンテナクラスタ302と、利用者があらかじめ指定した所定の環境であるVM313とを含む。
コンテナ制御装置401の制御部404は、パブリッククラウド201において、セキュリティ脆弱性を有するコンテナを検出した場合に、該コンテナの停止をパブリッククラウド201のコンテナ管理ソフトに要求し、該コンテナと同じコンテナをプライベートクラウド310のVM313で起動するように、プライベートクラウド310のコンテナ管理ソフトに要求する。
これにより、パブリッククラウド201のコンテナ管理ソフトが、セキュリティ脆弱性を有するコンテナを停止して、プライベートクラウド310のコンテナ管理ソフトが、VM313で該コンテナと同じコンテナを起動できる。
次に、第2の実施形態の効果を説明する。
第2の実施形態によれば、セキュリティ脆弱性を有するコンテナをプライベートクラウド上で動作させて障害が発生したとしても、障害の影響範囲を所定の範囲に留めることができ、障害解析を容易にすることが可能である。その理由は、コンテナ制御装置401が、セキュリティ脆弱性を有するコンテナを、プライベートクラウドの利用者が予め指定する環境に限定して、起動させるためである。
(第3の実施形態)
第3の実施形態について説明する。
図9は、第3の実施形態における、コンテナ制御装置10の構成を示すブロック図である。
図9を参照すると、コンテナ制御装置10は、記憶部11、及び、制御部12を含む。記憶部11、及び、制御部12は、それぞれ、記憶手段、及び、制御手段の一実施形態である。なお、記憶部11および制御部12は、第1の実施形態における記憶部403および制御部404と同等の構成により、記憶部403および制御部404と同等の機能が実現される。
記憶部11は、コンテナに含まれる1以上のモジュールを示すコンテナ情報を記憶する。本実施形態では、予めコンテナ情報を記憶部11に記憶させておいてもよく、またパブリッククラウドおよびプライベートクラウドからコンテナ情報を取得してもよい。
制御部12は、モジュールにセキュリティ脆弱性が検出された場合に、例えば、記憶部11に記憶されているコンテナ情報を参照する。制御部12は、コンテナ情報を参照した結果、セキュリティ脆弱性を有するモジュールが検出された場合、該コンテナ情報に基づいて、セキュリティ脆弱性を有するモジュールを含むコンテナがパブリッククラウドにおいて動作しているか否かを判断する。制御部12は、判断の結果、セキュリティ脆弱性を有するモジュールを含むコンテナがパブリッククラウドにおいて動作していると判断した場合に、該パブリッククラウドにおける該コンテナを停止する。そして、制御部12は、該コンテナと同じ構成を有するコンテナを、プライベートクラウドにおいて起動する。
次に、第3の実施形態の効果を説明する。
第3の実施形態によれば、セキュリティ脆弱性が検出されたコンテナで提供されるサービスを継続しながら、セキュリティのリスクを抑えることができる。その理由は、パブリッククラウドで動作している、セキュリティ脆弱性が検出されたコンテナを停止して、一般的にパブリッククラウドよりもセキュリティが高いとされるプライベートクラウドで、停止したコンテナと同じコンテナを起動しているためである。
(ハードウェア構成)
上述した各実施形態において、コンテナ制御装置401の各構成要素は、機能単位のブロックを示している。コンテナ制御装置401の各構成要素の一部又は全部は、コンピュータ500とプログラムとの任意の組み合わせにより実現されてもよい。
図10、はコンピュータ500のハードウェア構成の例を示すブロック図である。図10を参照すると、コンピュータ500は、例えば、CPU(Central Processing Unit)501、ROM(Read Only Memory)502、RAM(Random Access Memory)503、プログラム504、記憶装置505、ドライブ装置507、通信インターフェース508、入力装置509、出力装置510、入出力インターフェース511、及び、バス512を含む。
プログラム504は、コンテナ制御装置401の各機能を実現するための命令(instruction)を含む。プログラム504は、予め、ROM502やRAM503、記憶装置505に格納される。CPU501は、プログラム504に含まれる命令を実行することにより、コンテナ制御装置401の各機能を実現する。例えば、CPU501がプログラム504に含まれる命令を実行することにより、セキュリティ情報取得部402の機能を実現する。また、RAM503は、コンテナ制御装置401の各機能において処理されるデータを記憶してもよい。例えば、RAM503が、記憶部403のデータを記憶してもよい。
ドライブ装置507は、記録媒体506の読み書きを行う。通信インターフェース508は、通信ネットワークとのインターフェースを提供する。入力装置509は、例えば、マウスやキーボード等であり、管理者等からの情報の入力を受け付ける。出力装置510は、例えば、ディスプレイであり、管理者等へ情報を出力(表示)する。入出力インターフェース511は、周辺機器とのインターフェースを提供する。バス512は、これらハードウェアの各構成要素を接続する。なお、プログラム504は、通信ネットワークを介してCPU501に供給されてもよいし、予め、記録媒体506に格納され、ドライブ装置507により読み出され、CPU501に供給されてもよい。
なお、図10に示されているハードウェア構成は例示であり、これら以外の構成要素が追加されていてもよく、一部の構成要素を含まなくてもよい。
コンテナ制御装置401の実現方法には、様々な変形例がある。例えば、コンテナ制御装置401は、構成要素毎にそれぞれ異なるコンピュータとプログラムとの任意の組み合せにより実現されてもよい。また、コンテナ制御装置401が備える複数の構成要素が、一つのコンピュータとプログラムとの任意の組み合わせにより実現されてもよい。
また、コンテナ制御装置401の各構成要素の一部または全部は、プロセッサ等を含む汎用または専用の回路(circuitry)や、これらの組み合わせによって実現されてもよい。これらの回路は、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。コンテナ制御装置401の各構成要素の一部又は全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
また、コンテナ制御装置401の各構成要素の一部又は全部が複数のコンピュータや回路等により実現される場合、複数のコンピュータや回路等は、集中配置されてもよいし、分散配置されてもよい。
また、コンテナ制御装置401はパブリッククラウド201またはプライベートクラウド301に配置されてもよいし、それらとは異なる場所に配置され、通信ネットワークを介してパブリッククラウド201およびプライベートクラウドと接続されてもよい。つまり、コンテナ制御装置401は、クラウドコンピューティングシステムによって実現されてもよい。
以上、実施形態を参照して本開示を説明したが、本開示は上記実施形態に限定されるものではない。本開示の構成や詳細には、本開示のスコープ内で当業者が理解し得る様々な変更をすることができる。また、各実施形態における構成は、本開示のスコープを逸脱しない限りにおいて、互いに組み合わせることが可能である。
10、401 コンテナ制御装置
11、403 記憶部
12、404 制御部
100、110 コンテナ制御システム
201 パブリッククラウド
202、203、302、303 コンテナクラスタ
301、310 プライベートクラウド
313 VM
402 セキュリティ情報取得部
500 コンピュータ
501 CPU
502 ROM
503 RAM
504 プログラム
505 記憶装置
506 記録媒体
507 ドライブ装置
508 通信インターフェース
509 入力装置
510 出力装置
511 入出力インターフェース
512 バス

Claims (9)

  1. コンテナに含まれる1以上のモジュールを示すコンテナ情報を記憶する記憶手段と、
    前記モジュールにセキュリティ脆弱性が検出された場合に、前記コンテナ情報を参照し、該モジュールを含むコンテナがパブリッククラウドにおいて動作している場合、該パブリッククラウドにおける該コンテナを停止し、プライベートクラウドにおいて起動せずに配置された、該モジュールを含むコンテナと同じ構成を有するコンテナを起動する制御手段と、
    を備える、コンテナ制御装置。
  2. セキュリティ脆弱性に関するセキュリティ情報を取得するセキュリティ情報取得手段をさらに備え、
    前記制御手段は、前記セキュリティ情報に基づいて、前記モジュールのセキュリティ脆弱性を検出する
    請求項1に記載のコンテナ制御装置。
  3. 前記セキュリティ情報は、モジュールに関するセキュリティ脆弱性を生じるモジュール同士の依存関係を含む
    請求項2に記載のコンテナ制御装置。
  4. 前記制御手段は、前記モジュールがセキュリティ脆弱性を有する場合に、該モジュールを含むコンテナと同じ構成を有するコンテナを、前記プライベートクラウドにおける所定の環境において起動する
    請求項1から3のいずれかに記載のコンテナ制御装置。
  5. コンピュータが、
    コンテナに含まれる1以上のモジュールを示すコンテナ情報を記憶し、
    前記モジュールにセキュリティ脆弱性が検出された場合に、前記コンテナ情報を参照し、
    該モジュールを含むコンテナがパブリッククラウドにおいて動作している場合、該パブリッククラウドにおける該コンテナを停止し、
    プライベートクラウドにおいて起動せずに配置された、該モジュールを含むコンテナと同じ構成を有するコンテナを起動する
    コンテナ制御方法。
  6. 前記コンピュータが、
    さらに、セキュリティ脆弱性に関するセキュリティ情報を取得し、
    前記セキュリティ情報に基づいて、前記モジュールのセキュリティ脆弱性を検出する
    請求項に記載のコンテナ制御方法。
  7. 前記セキュリティ情報は、モジュールに関するセキュリティ脆弱性を生じるモジュール同士の依存関係を含む
    請求項6に記載のコンテナ制御方法。
  8. 前記コンピュータが、
    前記モジュールがセキュリティ脆弱性を有する場合に、該モジュールを含むコンテナと同じ構成を有するコンテナを、前記プライベートクラウドにおける所定の環境において起動する
    請求項5から7のいずれかに記載のコンテナ制御方法。
  9. コンピュータに、
    コンテナに含まれる1以上のモジュールを示すコンテナ情報を記憶し、
    前記モジュールにセキュリティ脆弱性が検出された場合に、前記コンテナ情報を参照し、
    該モジュールを含むコンテナがパブリッククラウドにおいて動作している場合、該パブリッククラウドにおける該コンテナを停止し、
    プライベートクラウドにおいて起動せずに配置された、該モジュールを含むコンテナと同じ構成を有するコンテナを起動する
    処理を実行させるコンテナ制御プログラム。
JP2019178762A 2019-09-30 2019-09-30 コンテナ制御装置、コンテナ制御方法、およびコンテナ制御プログラム Active JP7327057B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019178762A JP7327057B2 (ja) 2019-09-30 2019-09-30 コンテナ制御装置、コンテナ制御方法、およびコンテナ制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019178762A JP7327057B2 (ja) 2019-09-30 2019-09-30 コンテナ制御装置、コンテナ制御方法、およびコンテナ制御プログラム

Publications (2)

Publication Number Publication Date
JP2021056739A JP2021056739A (ja) 2021-04-08
JP7327057B2 true JP7327057B2 (ja) 2023-08-16

Family

ID=75270802

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019178762A Active JP7327057B2 (ja) 2019-09-30 2019-09-30 コンテナ制御装置、コンテナ制御方法、およびコンテナ制御プログラム

Country Status (1)

Country Link
JP (1) JP7327057B2 (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010244515A (ja) 2009-03-19 2010-10-28 Nec Corp ウェブサービスシステム、ウェブサービス方法及びプログラム
JP2015035061A (ja) 2013-08-08 2015-02-19 富士通株式会社 仮想マシン管理方法、仮想マシン管理プログラム及び仮想マシン管理装置
JP2016515746A (ja) 2013-04-19 2016-05-30 ニシラ, インコーポレイテッド エンドポイントセキュリティとネットワークセキュリティサービスを調整するフレームワーク
JP2016181185A (ja) 2015-03-24 2016-10-13 富士通株式会社 情報処理システム、管理装置およびプログラム
WO2016167086A1 (ja) 2015-04-17 2016-10-20 日本電信電話株式会社 サーバ選択装置、サーバ選択方法及びサーバ選択プログラム
JP2017027496A (ja) 2015-07-27 2017-02-02 日本電信電話株式会社 コンテナのマイグレーションシステム及び方法
US20190121960A1 (en) 2017-10-25 2019-04-25 International Business Machines Corporation Secure Processor-Based Control Plane Function Virtualization in Cloud Systems

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010244515A (ja) 2009-03-19 2010-10-28 Nec Corp ウェブサービスシステム、ウェブサービス方法及びプログラム
JP2016515746A (ja) 2013-04-19 2016-05-30 ニシラ, インコーポレイテッド エンドポイントセキュリティとネットワークセキュリティサービスを調整するフレームワーク
JP2015035061A (ja) 2013-08-08 2015-02-19 富士通株式会社 仮想マシン管理方法、仮想マシン管理プログラム及び仮想マシン管理装置
JP2016181185A (ja) 2015-03-24 2016-10-13 富士通株式会社 情報処理システム、管理装置およびプログラム
WO2016167086A1 (ja) 2015-04-17 2016-10-20 日本電信電話株式会社 サーバ選択装置、サーバ選択方法及びサーバ選択プログラム
JP2017027496A (ja) 2015-07-27 2017-02-02 日本電信電話株式会社 コンテナのマイグレーションシステム及び方法
US20190121960A1 (en) 2017-10-25 2019-04-25 International Business Machines Corporation Secure Processor-Based Control Plane Function Virtualization in Cloud Systems

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
(株)ウチダ人材開発センタ,Cloud+ クラウド時代の必修科目 (試験番号:CV0-002) 初版 ,第1版,株式会社ウチダ人材開発センタ 宮原 良幸,2019年05月01日,pp.1-19
樽澤 広亨,技術解説・2 コンテナ・オーケストレーションでシステム・モダナイゼーションを加速する! ,PROVISION 2018 No.94,日本,日本アイ・ビー・エム株式会社,2018年11月08日,pp.30-35
津田 宏,研究開発最前線-安全なクラウド連携のためのデータセキュリティ,FUJITSU,日本,富士通株式会社,2011年09月09日,第62巻 第5号,p. 531~537

Also Published As

Publication number Publication date
JP2021056739A (ja) 2021-04-08

Similar Documents

Publication Publication Date Title
JP6764989B2 (ja) 要求処理技術
US11068277B2 (en) Memory allocation techniques at partially-offloaded virtualization managers
EP3394750B1 (en) Code execution request routing
US7543150B2 (en) Method and system for setting up hosting environments in safety
US8775781B2 (en) Intelligent boot device selection and recovery
US10592434B2 (en) Hypervisor-enforced self encrypting memory in computing fabric
EP2077499A1 (en) Security-level enforcement in virtual-machine fail-over
US20140040609A1 (en) Tracking loading and unloading of kernel extensions in isolated virtual space
JP2002328813A (ja) プログラム修正方法
US11762987B2 (en) Systems and methods for hardening security systems using data randomization
US8621081B2 (en) Hypervisor controlled user device that enables available user device resources to be used for cloud computing
US20090172806A1 (en) Security management in multi-node, multi-processor platforms
JP2006244483A (ja) パーティション間で実行可能プログラムを転送するためのコンピュータシステム及び方法
US20120124581A1 (en) Virtual computer system and control method of virtual computer system
JP2017507431A (ja) コンピューティングデバイスの初期化トレース
US10411957B2 (en) Method and device for integrating multiple virtual desktop architectures
US20170206104A1 (en) Persistent guest and software-defined storage in computing fabric
US10965616B2 (en) Nonstop computing fabric arrangements
US10972350B2 (en) Asynchronous imaging of computing nodes
WO2015052836A1 (ja) ストレージ装置及びフェールオーバ方法
JP7327057B2 (ja) コンテナ制御装置、コンテナ制御方法、およびコンテナ制御プログラム
US11080079B2 (en) Autonomously reproducing and destructing virtual machines
US10747567B2 (en) Cluster check services for computing clusters
US10528397B2 (en) Method, device, and non-transitory computer readable storage medium for creating virtual machine
US20220329607A1 (en) NANON Support for Antivirus Jobs in Clustered Storage

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20211015

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220815

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230413

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230418

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230614

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: 20230704

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230717

R151 Written notification of patent or utility model registration

Ref document number: 7327057

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151