JP4743726B1 - サーバ復旧システム - Google Patents

サーバ復旧システム Download PDF

Info

Publication number
JP4743726B1
JP4743726B1 JP2010217440A JP2010217440A JP4743726B1 JP 4743726 B1 JP4743726 B1 JP 4743726B1 JP 2010217440 A JP2010217440 A JP 2010217440A JP 2010217440 A JP2010217440 A JP 2010217440A JP 4743726 B1 JP4743726 B1 JP 4743726B1
Authority
JP
Japan
Prior art keywords
server
service
configuration information
information
control
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.)
Expired - Fee Related
Application number
JP2010217440A
Other languages
English (en)
Other versions
JP2012073775A (ja
Inventor
与一 瀧澤
雅史 木村
雅喜 山下
佳孝 高村
昌利 関谷
Original Assignee
株式会社Csk
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 株式会社Csk filed Critical 株式会社Csk
Priority to JP2010217440A priority Critical patent/JP4743726B1/ja
Application granted granted Critical
Publication of JP4743726B1 publication Critical patent/JP4743726B1/ja
Publication of JP2012073775A publication Critical patent/JP2012073775A/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

【課題】クラウド・コンピューティングにおける仮想サーバの起動時の設定等に関するユーザの負担を軽減することができる、サーバ復旧システムを提供すること。
【解決手段】サーバ復旧システム30であって、仮想サーバ11の起動制御を行うサーバ起動処理部41bと、サーバ構成情報とサービス構成情報とを格納する構成情報DB42cを備え、サーバ起動処理部41bは、仮想サーバ11の起動制御を行う際に、サーバ構成情報を構成情報DB42cを介して参照することにより、当該仮想サーバ11の起動制御を行い、かつ、仮想サーバ11で動作するサービスを特定すると共に当該特定したサービスの起動制御に必要な情報を取得し、当該取得した情報に基づいて、当該特定したサービスの起動制御を行う。
【選択図】図1

Description

本発明は、複数のサーバにより構成されるサーバ群の統合管理において、当該サーバの再構築を自動的に行うサーバ復旧システムに関する。
近年、ネットワークを介して各種のサービス(アプリケーション等)を利用することができるクラウド・コンピューティングが急速に普及している。このクラウド・コンピューティングにおいて、ユーザは、自ら費用と時間をかけてサーバを構築することなくサービスを利用することができ、自己のニーズに応じてサービスの種類や量を容易に変更することができる。
このようなクラウド・コンピューティングの普及に伴い、多くの事業者がクラウド・コンピューティング用のサーバを有料で提供し始めており、ユーザはその中から自己のニーズや予算等に合致したサーバを選択して、サービスを利用することができる(例えば特許文献1の段落0023及び図1)。あるいは、ユーザによっては、自社内にクラウド・コンピューティング用のサーバを設けてサービスを利用している。
このクラウドサービスにおいて、サーバは、物理的なサーバではなく、ユーザの要求に基づいて仮想的に構築される仮想サーバとして提供される。また同様に、各種サービスのデータ等を記憶するディスクも、仮想的に構築される仮想ディスクとして提供される。そして、ユーザが仮想サーバの停止を要求すると、通常は、当該仮想サーバ(を構成するための情報)や仮想ディスク(に記憶させたデータ)は全て削除される。
そのため、ユーザが仮想ディスクのデータを保存しておきたい場合には、仮想サーバの停止前に、仮想ディスクのデータを他のサーバ等にバックアップしておく必要がある。このため、仮想サーバの外付けディスクのように利用できるものであって、仮想サーバを停止させてもデータを消滅させない仮想ディスクサービスも提供されている(例えば、Amazonが提供しているAmazon EBSのサービス)。
特開2010−050988号公報
しかしながら、ユーザの中には、仮想サーバの停止を要求した場合に、当該仮想サーバの実体(仮想サーバを構成するための情報)や仮想ディスクのデータが全て削除されることを認識していないユーザもおり、意図に反してこれらのデータを失ってしまうことがあった。特に、クラウドサービスを利用する場合には、負荷分散やコスト削減等の観点から、ユーザが複数のクラウドを使い分けたり組み合わせたりしてサービスを利用することも多く、仮想サーバを一時的に停止させた後で再度利用したい場合が多いと考えられる。
さらに、上述の仮想ディスクサービスを利用して仮想ディスクのデータを保持する場合であっても、当該仮想ディスクには、例えば、仮想サーバやサービス(アプリケーション)と当該仮想ディスクとの対応付け等を規定するための情報は含まれていない。このため、ユーザは、一旦停止させた仮想サーバを再び起動したい場合、この対応付け等を手動で行う必要があった。さらにその際、仮想ディスクIDやサーバ名称等の情報は、クラウドサービスのシステムにより命名される物理的な名称でありユーザにとって扱いづらく、手動での設定等を行うことは困難であった。
本発明は、上記に鑑みてなされたものであって、一旦停止した仮想サーバを容易に停止前の状態に復旧させることで、クラウド・コンピューティングにおける仮想サーバの起動時(特に、停止した仮想サーバの再度の起動時)の設定等に関するユーザの負担を軽減することができる、サーバ復旧システムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、請求項1に記載のサーバ復旧システムは、サーバに対してネットワークを介して通信可能に接続されるサーバ復旧システムであって、前記サーバの起動制御を行うサーバ起動手段と、前記サーバを特定するための情報と、当該サーバの起動制御に必要な情報とを関連付けて構成されたサーバ構成情報と、前記サーバを特定するための情報と、当該サーバで動作するサービスを特定するための情報と、当該サービスの起動制御に必要な情報とを関連付けて構成されたサービス構成情報とを、格納する構成情報格納手段と、前記サーバの停止制御を行うサーバ停止手段と、前記サーバの削除制御を行うサーバ削除手段とを備え、前記サーバ起動手段は、前記サーバの起動制御を行う際に、当該サーバを特定するための情報を含む前記サーバ構成情報を前記構成情報格納手段を介して参照することにより、当該サーバの起動制御を行い、かつ、当該サーバを特定するための情報を含む前記サービス構成情報を前記構成情報格納手段を介して参照することにより、当該サーバで動作するサービスを特定すると共に当該特定したサービスの起動制御に必要な情報を取得し、当該取得した情報に基づいて、当該特定したサービスの起動制御を行い、前記サーバ停止手段は、前記サーバの停止制御を行う際に、当該サーバを特定するための情報を含む前記サーバ構成情報及び前記サービス構成情報を前記構成情報格納手段に残したまま、当該サーバを停止させ、前記サーバ削除手段は、前記サーバの削除制御を行う際に、当該サーバを特定するための情報を含む前記サーバ構成情報及び前記サービス構成情報を前記構成情報格納手段から削除し、前記サーバ起動手段は、前記サーバ停止手段がユーザからの要求に基づいて前記サーバの停止制御を行った後、当該停止制御された前記サーバを復旧させる場合には、前記サーバ停止手段により前記構成情報格納手段に残された情報であって当該起動させるサーバを特定するための情報を含む前記サーバ構成情報及び前記サービス構成情報を参照することにより、当該サーバと当該サーバで動作するサービスを起動させる。
これにより、サーバの起動時に当該サーバで動作するサービスの起動制御が行われるので、サーバを一度停止した場合であっても、当該サーバ再度起動させた際に停止前のサーバの構成が自動的に復旧されるため、サーバの復旧を容易に行うことができる。
また、これにより、例えばユーザインターフェース等を利用してサーバの停止を行う場合、当該サーバに関する構成情報は残るため、当該サーバを再度起動する際、停止前と同じ構成で起動することが可能になる。
また、請求項2に記載のサーバ復旧システムは、請求項1に記載のサーバ復旧システムにおいて、前記サーバの追加制御を行うサーバ追加手段と、前記サービスの追加制御を行うサービス追加手段とを備え、前記サーバ追加手段は、前記サーバの追加制御を行う際に、当該サーバを特定するための情報を、前記サーバ構成情報の一部として前記構成情報格納手段に格納し、前記サービス追加手段は、前記サービスの追加制御を行う際に、当該サービスを特定するための情報と、所定方法で取得した当該サービスの起動制御に必要な情報とを、当該サービスが動作するサーバを特定するための情報であって前記サーバ追加手段により前記サービス構成情報の一部として前記構成情報格納手段に格納された情報に関連付けて、前記サービス構成情報として前記構成情報格納手段に格納し、前記サーバ起動手段は、前記サーバ停止手段が前記サーバの停止制御を行った後、当該停止制御された前記サーバを復旧させる場合には、前記サーバ追加手段と前記サービス追加手段により前記構成情報格納手段に格納された前記サーバ構成情報及び前記サービス構成情報を参照することにより、前記サーバ追加手段にて追加制御されたサーバと前記サービス追加手段にて追加制御されたサービスを起動させる。
これにより、例えばユーザインターフェース等を利用してサーバ及びサービスの追加を行う場合に、サーバや当該サーバで動作するサービスを追加すると、対応する構成情報が自動的に生成される。
また、請求項3に記載のサーバ復旧システムは、請求項1又は2に記載のサーバ復旧システムにおいて、前記構成情報格納手段の前記サービス構成情報は、前記サービスのデータを保存するために前記サーバに設けられたディスクを特定するための情報を関連付けて構成されており、前記サーバ起動手段は、前記サーバの起動制御を行う際に、当該サーバを特定するための情報を含む前記サービス構成情報を前記構成情報格納手段を介して参照することにより、当該サーバで動作するサービスを特定すると共に当該サービスのデータを保存するためのディスクを特定し、当該特定したサービスに対して当該特定したディスクを対応付ける、前記サーバ起動手段は、前記サーバ停止手段が前記サーバの停止制御を行った後、当該停止制御された前記サーバを復旧させる場合には、当該サーバを特定するための情報を含む前記サービス構成情報を前記構成情報格納手段を介して参照することにより、当該サーバで動作するサービスを特定すると共に当該サービスのデータを保存するためのディスクを特定し、当該特定したサービスに対して当該特定したディスクを対応付ける。
これにより、サーバで動作するサービスのデータを保存したディスクが、サーバを再度起動した際に再び同じサービスに自動的に関連付けられる。
本発明のサーバ復旧システムによれば、サーバを停止した後再度起動した場合に、サーバを再び同じ構成で起動することができる。
本発明の実施の形態に係るサーバ復旧システムを含んだネットワークシステムを機能概念的に示すブロック図である。 IP選択テーブルの構成をマトリクス形式で示した例である。 構成情報DBに格納される構成情報の構成例を示す図である。 サーバ管理ページの例を示す図である。 サービス管理ページの例を示す図である。 サーバ追加ページの例を示す図である。 サービス追加ページの例を示す図である。 サーバ起動処理のフローチャートである。 サービス起動処理のフローチャートである。 サービス停止処理のフローチャートである。 サーバ停止処理のフローチャートである。
以下に添付図面を参照して、この発明に係るサーバ復旧システムの実施の形態を詳細に説明する。ただし、当該実施の形態によって本発明が限定されるものではない。
(構成)
図1は、本実施の形態に係るサーバ復旧システムを含んだネットワークシステム1を機能概念的に示すブロック図である。このネットワークシステム1は、サーバ群10a〜10d、社内ネットワーク20、及び通信ネットワーク100を備えており、通信ネットワーク100を介して、サーバ群10a〜10dに含まれる各仮想サーバ11と社内ネットワーク20とを相互に通信可能に接続して構成されている。また、社内ネットワーク20は、例えばLAN等のイントラネットにより構築された社内環境であり、本実施の形態では、サーバ群10d、サービス制御システム30、端末装置80を含んでいる。
(構成−サーバ群)
サーバ群10a〜10dは、端末装置80に対して各種サービス(アプリケーション)を提供するサーバ群である。このようなサービス提供の形態としては、代表的にはクラウド・コンピューティング・サービス(以下、単に「クラウド」と称する)があるが、これに限定されず、従来のオンデマンド・コンピューティング、ユーティリティ・コンピューティング、あるいはユビキタス・コンピューティング等のサービスを含む。このサーバ群10a〜10dは、それぞれ、同一又は異なるクラウド事業者が提供するクラウドサーバ(1又は複数の物理サーバで構成)であり、ユーザはこのクラウドサーバ上に仮想サーバ11を構成して各種サービス(アプリケーション)を利用する。以下では、単に「サーバ」という場合には、仮想サーバを意味するものとする。
サーバ群10a〜10cは、通信ネットワーク100を介して提供されるいわゆるパブリッククラウドの例である。一方、サーバ群10dは、社内ネットワーク20内にクラウドサーバを設置して提供されるいわゆるプライベートクラウドの例である。図1には、従来の一般的なパブリッククラウドとして提供されるサーバ群10a、プライベートIPアドレスを用いてVPN(仮想プライベートネットワーク)接続を行って通信ネットワーク100(インターネット)上で仮想的なプライベートクラウドを実現するサーバ群10b(例えば、Amazon社が提供しているAmazon VPC)、社内ネットワーク20との間ではVPN接続による通信を行うが、社内ネットワーク20外の端末やサーバ等からは通信ネットワーク100(インターネット)を介した通常の通信を行うサーバ群10c、従来の一般的なプライベートクラウドとして提供されるサーバ群10dを例示している。
サーバ群10a〜10dの各仮想サーバ11は、サービス制御クライアント12、複数のサービス(アプリケーション)13、及び複数のサービス専用データ領域(以下、専用データ領域)14を備える。
サービス制御クライアント12は、後述するサービス制御サーバ50に格納された定義ファイル51を適用して、各仮想サーバ11の設定や、サービスのインストール・設定・起動・停止等を制御するクライアントソフトウェアである。このサービス制御クライアント12としては、公知のシステム管理ソフトウェア(例えばPuppet)におけるクライアントソフトウェア(例えばPuppetクライアント)を用いることができる。
サービス13は、いわゆるクラウドアプリケーション層にて提供されるアプリケーション(又は複数のアプリケーションのセット)であり、例えば、Webサーバ構築用のサービス、業務システムや電子商取引のサーバ構築用のサービス、データベースサーバ構築用のサービス、オフィス文書作成用のサービス、ソフトウェア開発用のサービス等、様々なサービスが該当する。
専用データ領域14は、サービス13のデータを格納する領域である。本実施の形態においては、この専用データ領域14は、クラウドサーバ(物理サーバ)の記録領域上に、サービス13の各々に専用のデータ領域として構築される仮想ディスクである。
上記サービス制御クライアント12、サービス13、専用データ領域14の他、サーバ群10cは、社内ネットワーク20とのVPN接続を行うためのVPN接続クライアント15を備える。このVPN接続クライアント15としては、公知のVPN接続用のソフトウェア(例えばOpenVPN)におけるクライアントソフトウェアを用いることができる。
また、サーバ群10bは、社内ネットワーク20(の専用ファイアウォール91)との間のみの通信を許容し、社内ネットワーク20外の端末装置やサーバ等からのアクセスを遮断する専用ファイアウォール16を備える。
(構成−サービス制御システム)
サービス制御システム30は、サーバ群10a〜10dの仮想サーバ11及びその上で利用されるサービス13を管理するシステムであり、特に、サーバの復旧を行うサーバ復旧システムである。このサービス制御システム30は、主制御サーバ40、サービス制御サーバ50、DNSサーバ(Domain Name Systemサーバ)60、VPNサーバ70、専用ファイアウォール91を備える。
(構成−サービス制御システム−主制御サーバ)
主制御サーバ40は、サービス制御システム30の中心的な機能を提供するサーバであり、制御部41及び記憶部42から構成されている。なお、特記する場合を除き、主制御サーバ40は通常のWebサーバと同様に構成することができるので、その説明は省略する(以下の各サーバの説明においても同様)。
制御部41は、端末装置80からのユーザの操作等により、サーバ群10a〜10d上で仮想サーバ11及びサービス13の追加・起動・停止・削除等の処理を行う手段(プログラム)である。この制御部41は、機能概念的に、サーバ追加処理部41a、サーバ起動処理部(サーバ起動手段)41b、サーバ停止処理部41c、サーバ削除処理部41d、サービス追加処理部41e、サービス起動処理部(サービス起動手段)41f、サービス停止処理部41g、及びサービス削除処理部41hを備えて構成されている。
記憶部42は、制御部41の各処理部に必要な情報や各処理部にて生成・更新される情報を格納する手段であり、機能概念的に、ユーザ情報DB42a、IP選択テーブル42b、及び構成情報DB42cを備える。
ユーザDB42aは、ユーザがサービス制御システム30を利用するために必要な情報等を格納しているデータベースであり、少なくとも、項目「ユーザID」及び「パスワード」を含む。「ユーザID」は、ユーザを一意に識別するユーザ識別情報である。「パスワード」は、ユーザがサービス制御システム30にログインする際の認証用のパスワードである。これらのユーザ情報は、例えば、ユーザがサービス制御システム30に利用登録を行う際、当該システムの管理者によって登録される。
IP選択テーブル42bは、送信元となる仮想サーバ11と送信先となる仮想サーバ11の組み合わせに応じて選択されるべきIPアドレスの種別であって、送信先となるサーバ11のIPアドレスの種別を特定するためのテーブルである。以降、まずIPアドレスの種別について説明し、次にIP選択テーブル42bの構成について説明する。
各仮想サーバ11へのIPアドレス割当の仕様は、提供されるクラウドにより異なりうる。例えば、図1に示したクラウドの例(サーバ群10a〜10d)では、各サーバ群に図示しているようなIPアドレスの割当を行っている。すなわち、サーバ群10a(一般的なパブリッククラウド)及びサーバ群10d(一般的なプライベートクラウド)においては、Public_IP(当該クラウド外からアクセスするためのパブリックIPアドレス)及びPrivate_IP(当該クラウド内での通信にのみ有効なプライベートIPアドレス)が割り当てられる。また、サーバ群10b(仮想的なプライベートクラウド)においては、Private_IPのみが割り当てられる。また、サーバ群10c(VPN使用のパブリッククラウド)においては、Public_IP及びPrivate_IPとは別に、さらにVPN通信を行うためのIPアドレスであるVPN_IPが割り当てられる。
また、本実施の形態では、サービス制御システム30の各サーバ(主制御サーバ40、サービス制御サーバ50、DNSサーバ60、VPNサーバ70)には、それぞれ固定IPを割り当てているが(図1には主制御サーバ40の固定IPのみを示す)、各々のサーバにおいて稼動中(起動から停止までの間)にIPアドレスが変動しない方法であれば、他の割当方法であってもよい。
図2は、IP選択テーブル42bの構成をマトリクス形式で示した例である。図2に示すように、IP選択テーブル42bには、「送信元」と「送信先」の組み合わせに対応した「送信先IP種別」が格納されている。クラウドのIPアドレス割当の仕様がサーバ群10a〜10dのいずれかと同じであれば、図2に示したテーブルで対応可能であり、また、サーバ群10a〜10dとは異なるIPアドレス割当の仕様を有するクラウドがあれば、IP選択テーブル42bに新たに追加すればよい。なお、図2において「主制御サーバ等」とは、主制御サーバ40、サービス制御サーバ50、DNSサーバ60、VPNサーバ70を含む。図2に示すように、例えば、主制御サーバ40等からサーバ群10cの仮想サーバ11に対して通信を行うために選択されるべきIPの種別は、VPN_IPである。
ここで、IP選択テーブル42bによって特定されるIPアドレスの種別は、通信を行うために必須の種別であり、他の種別を選択する余地がない(他の種別では通信を行うことができない)ものである。ただし、同一のクラウド(サーバ群)内ではPublic_IPでも通信可能なクラウドもあるが、通常はPrivate_IPを利用するほうが効率がよく、かつ、通信料金も安価になるため、Private_IPが必ず送信先として選択されるようにIP選択テーブル42bに格納している。このIP選択テーブル42bは、当該システムの管理者によって登録される。IP選択テーブル42bは図1のようにデータテーブルとして記憶部42に記憶してもよいし、各処理部のプログラムロジックによって実装してもよい。
また、図1の構成情報DB42cは、仮想サーバ及びサービスの構成情報を格納しているデータベース(構成情報格納手段及び関連構成情報格納手段)である。構成情報には、仮想サーバ及びサービスの設定を行うために必要な情報や、サービスの追加・起動・停止・削除等が行われた際に、当該サービスと依存関係・参照関係にある他のサービス(以降「関連サービス」という)の設定を変更するために必要な情報等を格納している。図3は、構成情報DB42cに格納される構成情報の構成例である。構成情報は、図3に示すように、仮想サーバ11毎の構成情報(サーバ構成情報)と、各仮想サーバ11に追加されたサービス13毎の構成情報(サービス構成情報)に大別される。
サーバ構成情報に含まれる項目は、全てのクラウドの仮想サーバに共通の項目(サーバ共通項目)と、特定のクラウドの仮想サーバに固有の項目(サーバ固有項目)に大別される。
サーバ共通項目は、例えば図3に示すものがある。「サーバ名」は、ユーザが付与した仮想サーバ11の名称である。「ホスト名」は、クラウドによって付与された仮想サーバ11のホスト名である。「IPアドレス」は、クラウドによって付与された仮想サーバ11のパブリックIPアドレスである。「プライベートIPアドレス」は、クラウドによって付与された仮想サーバ11のプライベートIPアドレスである。「クラウド名」は、クラウドに予め与えられている固有の名称(クラウドを一意に識別可能な名称)である。「サーバ種別」は、仮想サーバ11の目的や用途を示す種別である。「ステータス」は、仮想サーバ11のその時点における状態を示す情報であり、ここでは起動中又は停止中である。なお、サーバ固有項目については説明を省略する。
サービス構成情報に含まれる項目は、全てのサービスに共通の項目(サービス共通項目)と、特定のサービスに固有の項目(サービス固有項目)に大別される。サービス共通項目は、例えば図3に示すものがある。「サービス名」は、サービスに固有の名称(サービスを一意に識別可能な名称)である。「ディスクサイズ」は、当該サービスで使用する専用データ領域14(仮想ディスク)の容量である。「ディスクID」は、専用データ領域14を一意に識別するための識別情報である。「デバイス名」は、専用データ領域14が確保(格納)されたデバイス(ハードウェア)を一意に識別可能な名称である。「所属サーバ名」は、当該サービスが稼動する仮想サーバ名である。「関連サービス項目」は、当該サービスの関連サービス(当該サービスの追加・起動・停止・削除等に応じて設定の変更等が必要となるサービス)のサービス名、及び変更等すべき項目(後述の定義ファイル51の項目)である。なお、サービス固有項目についてはここでは説明を省略する。
(構成−サービス制御システム−サービス制御サーバ)
図1のサービス制御サーバ50は、上述のサービス制御クライアント12とともに、仮想サーバ11の設定や、サービス13のインストール・設定・起動・停止等を制御するサーバ(定義ファイル格納手段)である。サービス制御サーバ50は、仮想サーバ11及びサービス13の設定内容を含む定義ファイル51を格納しており、当該定義ファイル51を仮想サーバ11からの要求に応じて当該仮想サーバ11に送信する。このサービス制御には、公知のアプリケーション制御用のソフトウェア(例えばPuppet)を使用することができる。定義ファイル51の内容や、仮想サーバ及びサービスの制御方法は、使用するアプリケーション制御用ソフトウェアにより異なりうるが、本実施形態ではPuppetの定義ファイル(マニフェスト)を例として説明する。
(構成−サービス制御システム−DNSサーバ)
DNSサーバ60は、各仮想サーバ11の名前解決を行う公知のDNSサーバ(IPアドレス管理手段)であり、各仮想サーバ11のサーバ名(ホスト名)とIPアドレスとを関連付けたDNSレコード61を格納している。
(構成−サービス制御システム−VPNサーバ)
VPNサーバ70は、社内ネットワーク20(主制御サーバ40や端末装置80等)とサーバ群11cの仮想サーバ11との間でVPN(仮想プライベートネットワーク)接続を行うためのサーバである。このVPN接続には、公知のVPN接続用のソフトウェア(例えばOpenVPN)を使用することができる。
(構成−サービス制御システム−専用ファイアウォール)
専用ファイアウォール91は、社内ネットワーク20とサーバ群10b(の専用ファイアウォール16)との間のみの通信を許容し、社内ネットワーク20外のサーバや端末装置からのアクセスを遮断するファイアウォールである。
(構成−端末装置)
端末装置80は、ユーザが利用するパソコン等の端末であり、ユーザはこの端末装置80を操作してサーバ群10a〜10d上に仮想サーバ11及びサービス13を構築し、サービスを利用する。
(構成−通信ネットワーク)
通信ネットワーク100としては、WAN(Wide Area Network)であって、代表的にはインターネットであるが、専用通信線やLAN(Local Area Network)を含んでもよい。
(処理)
次に、図1のネットワークシステムにおいて行われる本実施の形態の各種の処理(制御部41の各処理部41a〜41hが行う処理)について説明する。ただし、以下の説明においては、特記するタイミングを除いて任意のタイミングにて各処理が行われ、特記する主体を除いて制御部41にて処理が行われるものとする。また、「ステップ」を「S」と略記する。
(サービス制御システム30へのログイン処理)
最初に、ユーザがサービス制御システム30の利用を開始するためのログイン処理について説明する。ユーザは、端末装置80において、主制御サーバ40に割り当てられた所定のURLを指定すること等によって主制御サーバ40にアクセスし、ユーザID及びパスワードを用いた公知のログイン処理方法によりログインする。主制御サーバ40の制御部41は、ユーザ情報DB42aに格納されたユーザ情報を参照してログイン処理を行った後、操作画面のWebページデータを生成して端末装置80に送信する。ユーザは、端末装置80のブラウザに表示されたページ上で仮想サーバ11及びサービス13の追加・起動・停止・削除等の各操作を行う。
図4及び5にサーバ管理ページ、サービス管理ページの例を示す。これらのページは、図4、5に例示するように、「サーバ」と「サービス」の2つのタグにより、両ページを相互に切替自在に構成されている。
図4に示すように、サーバ管理ページは、ユーザが利用しているサーバに関する情報を一覧表示したり、サーバの追加・起動・停止・削除等を行うためのページであり、サーバ一覧110を表示する表示領域と、サーバを新規追加するためのサーバ追加ボタン111を含んでいる。サーバ一覧110は、例えば、項目「サーバ名」「IPアドレス」「ステータス」「サービス名」及び「操作」を含んでおり、項目「サーバ名」〜「サービス名」に対応する情報が、例えば構成情報DB42cから取得して表示されている。項目「操作」には、仮想サーバ11を「起動」「停止」「削除」するための操作ボタンが表示されている。このようなサーバ管理ページにより、ユーザは、異なるクラウド(サーバ群)に起動させている仮想サーバ11を一元的に把握することが可能となる。
(処理−サーバ追加処理(サーバ追加処理部41a))
ここで、ユーザがサーバ管理ページのサーバ追加ボタン111を選択すると、サーバ追加要求が主制御サーバ40に送信され、主制御サーバ40から端末装置80に、サーバ追加画面のWebページデータが送信される。サーバ追加ページは、図6に例示するように、サーバ名設定領域120、クラウド選択領域121、サーバ種別選択領域122、及びサーバ追加ボタン123を含んで構成されている。サーバ名設定領域120は、追加するサーバのサーバ名を入力するための領域であり、ユーザが所望のサーバ名を入力する。クラウド選択領域121は、利用したいクラウド(サーバ群)を選択するための領域であり、例えばクラウド名がリスト形式で表示され、ユーザが所望のクラウド名を選択する。サーバ種別選択領域122は、クラウド選択領域121において選択されたクラウドが提供可能なサーバの種別を表示するための領域であり、例えばサーバの種別がリスト形式で表示され、ユーザが所望の種別を選択する。
ユーザが上記入力や選択を行った後、サーバ追加ボタン123を選択すると、サーバ追加要求が主制御サーバ40に送信され、主制御サーバ40のサーバ追加処理部41aによりサーバ追加処理が行われる。
主制御サーバ40のサーバ追加処理部41aは、ユーザが選択したクラウド名に対応する仮想サーバ11の構成情報を作成して、構成情報DB42cに格納する。具体的には、「サーバ名」、「クラウド」、及び「サーバ種別」に、図6のサーバ追加ページでユーザが入力した情報を格納する。なお、項目「ホスト名」「IPアドレス」「プライベートIPアドレス」及び「ステータス」は、サーバ追加時点ではまだ情報はない。また、サーバ固有項目には、ユーザが選択したクラウドに応じて該当する情報を格納する。これにて、サーバ追加処理が終了する。
(処理−サーバ起動処理(サーバ起動処理部41b))
次に、仮想サーバ11の起動処理について説明する。図8は、サーバ起動処理のフローチャートである。
上記のサーバ追加処理で仮想サーバ11が追加されると、端末装置80に表示される図4のサーバ管理ページには、追加された仮想サーバ11も表示される。ユーザが、起動を行いたい仮想サーバ11に対応する「起動」ボタンを選択すると、当該選択された仮想サーバ11のサーバ名、クラウド名等を含んだサーバ起動要求が主制御サーバ40に送信される。
主制御サーバ40のサーバ起動処理部41bは、当該サーバ起動要求に含まれるサーバ名等を元に、構成情報DB42cから当該仮想サーバ11のサーバ構成情報を取得する(S801)。そして、対象のクラウドサーバ(サーバ群)に対し、サーバ起動命令を送信する(S802)。なお、この際のクラウドサーバのIPアドレスは、クラウドごとの固定値として、事前に主制御サーバ40に設定しておく。
この起動命令に基づき、クラウドサーバは、サービス制御クライアント12をインストールした仮想サーバ11を起動する(S803)。なお、クラウドがサーバ群10cである場合には、さらにVPN接続クライアント15もインストールした状態で仮想サーバ11を起動する。そして、起動後に、従来の方法(例えばOpenVPNによる処理)によりVPN接続を確立し、以降、社内ネットワーク20と仮想サーバ11との間ではVPN通信を行う。
その後、クラウドサーバは、起動時に仮想サーバ11に動的に付与したIPアドレスやホスト名等を、主制御サーバ40に送信する(S804)。なお、本実施の形態では、例えば主制御サーバ40側より定期的にクラウド側から情報取得を行うことにより、これらのIPアドレスやホスト名を取得するものとする。
サーバ起動処理部41bは、クラウドから送信されたIPアドレスとホスト名等を、構成情報DB42cに登録し、サーバ構成情報を更新する(S805)。具体的には、サーバ構成情報の「ホスト名」「IPアドレス」「プライベートIPアドレス」に、送信された情報を登録する。なお、「IPアドレス」にはパブリックIPアドレスを登録するが、サーバ群10b(仮想的なプライベートクラウド)の場合にはパブリックIPアドレスは無いため、空欄又はプライベートIPアドレスを登録する。
また、サーバ起動処理部41bは、クラウドから送信されたIPアドレスとホスト名とを相互に対応付けたDNSレコード61を、DNSサーバ60に登録する(S806)。本実施の形態では、例えば、クラウド(サーバ群)の種類に応じて、次のIPアドレスをDNSサーバ60に登録する。すなわち、サーバ群10a(一般的なパブリッククラウド)及びサーバ群10d(一般的なプライベートクラウド)の仮想サーバ11である場合にはパブリックIPアドレスを、サーバ群10b(仮想的なプライベートクラウド)の仮想サーバ11である場合にはプライベートIPアドレスを、サーバ群10c(VPN使用のパブリッククラウド)の仮想サーバ11である場合には、上述のVPN接続時に付与されたVPN通信用IPアドレス(VPN_IP)を登録する。なお、VPN接続の仕様等によっては、主制御サーバ40ではなく仮想サーバ11が、VPN通信用IPアドレスのDNSサーバ60への登録を行う。この場合、主制御サーバ40はDNSサーバ60を検索して、VPN通信用IPアドレスを取得することが可能である。
その後、サーバ起動処理部41bは、起動した仮想サーバ11の設定を行うための定義ファイル(以下、サーバ設定用定義ファイル)51を作成する(S807)。このサーバ設定用定義ファイル51には、例えば、サービス制御システム30の各サーバ(図1に示していない、例えばログサーバや監視サーバ等も含む)のIPアドレス(本実施の形態では固定IPアドレス)、主制御サーバ40から仮想サーバ11にログインするための例えばSSH(Secure SHell)のID・パスワード、同様にユーザがSSH等により端末装置80から仮想サーバ11にログインするためのID・パスワード等を含めることができる。例えば、SSHのパスワードであれば、主制御サーバ40の操作画面にてユーザが設定することや、ランダムでパスワードを生成しユーザに通知する等して、決定する。その他、図4や図5の管理ページにて入力された情報に基づいて修正して、サーバ設定用定義ファイル51を作成することができる。そして、サーバ起動処理部41bは、当該作成したサーバ設定用定義ファイル51をサービス制御サーバ50に送信して登録する(同じくS807)。
次いで、サーバ起動処理部41bは、登録したサーバ設定用定義ファイル51を仮想サーバ11に適用させるための定義ファイル適用命令を、クラウドサーバに送信する(S808)。本実施の形態では、例えば、対応する仮想サーバ11のサービス制御クライアント12の起動命令を送信する。そして、起動されたサービス制御クライアント12が、対応するサーバ設定用定義ファイル51をサービス制御サーバ50から公知の方法で取得し、当該取得したサーバ設定用定義ファイル51に基づいて仮想サーバ11の設定を行う(S809)。次いで、サーバ起動処理部41bは、構成情報を参照して、当該仮想サーバ11上にサービスが既に追加されているかを判断する(S808)。サービスが既に追加されているかの判断は、例えば、当該仮想サーバのサーバ名を有するサービス構成情報が構成情報DB42cに存在するかにより判断する(存在する場合、そのサービスがあると判断できる)。そして、サービスがある場合(S810、Yes)には、サービス起動処理部41fを起動して、後述のサービス起動処理を行わせる。これにて、サーバ起動処理が終了する。
(処理−サービス追加処理(サービス追加処理部41e)
次に、サービスの追加処理について説明する。
図5に示すように、サービス管理ページは、ユーザが利用しているサービスに関する情報を一覧的に表示したり、サービスの追加・起動・停止・削除等を行うためのページであり、サービス一覧130を表示する表示領域と、サービスを新規追加するためのサービス追加ボタン131を含んでいる。サービス一覧130は、項目「サービス名」「サーバ名」「IPアドレス」「ステータス」及び「操作」を含んでいる。これら各項目に対応する情報は、上述した図4のサーバ管理ページの同一項目名に対応する情報と同じである。このようなサービス管理ページを見ることで、ユーザは、異なる仮想サーバ及び異なるクラウドで利用しているサービスを一元的に把握することが可能となる。
ここで、ユーザがサービス追加ボタン131を選択すると、サービス追加要求が主制御サーバ40に送信され、主制御サーバ40から端末装置80にサービス追加ページを送信する。
このサービス追加ページは、図7に例示するように、サービス名設定領域140、サービス選択領域141、ディスクサイズ設定領域142、サーバ選択領域143、及びサービス追加ボタン144を含んで構成されている。サービス名設定領域140は、追加するサービスのサービス名を入力するための領域であり、ユーザが所望のサービス名を入力する。サービス選択領域141には、利用可能なサービスの名称がリスト形式で表示されており、ユーザが所望のサービスを選択する。ディスクサイズ設定領域142は、当該サービスに割り当てる専用データ領域14のサイズを設定する領域であり、ユーザが所望のサイズを入力する。サーバ選択領域143は、当該サービスを起動する仮想サーバ11を選択するための領域であり、図示左側の領域には既に追加されている仮想サーバ11のサーバ名がリスト形式で表示されており、これら仮想サーバ11の中から所望のサーバを選択して、図示右側の領域に移動させることで、ユーザが所望のサーバを複数選択することができる。すなわち、1つのサービスを複数の仮想サーバ11(異なるクラウド上のものも含む)で利用することが可能である。
ユーザが情報の入力や選択を行った後、サービス追加ボタン144を選択すると、当該入力又は選択された情報を含んだサービス追加要求が主制御サーバ40に送信される。
主制御サーバ40のサービス追加処理部41eは、当該サービス追加要求に対応するサービス構成情報を作成して、構成情報DB42cに格納する。
具体的には、項目「サービス名」「ディスクサイズ」及び「所属サーバ名」に、図7のサービス追加ページでユーザが入力及び選択したサービス名、ディスクサイズ(仮想ディスクの容量)、及びサーバをそれぞれ格納する。なお、サービス追加ページでサーバが複数選択された場合には、選択されたサーバ毎にサービス構成情報を作成する。
また、「関連サービス項目」には、当該サービスの関連サービスのサービス名及び、設定すべき定義ファイル51の項目名を登録する。この関連サービス項目は、例えばサービスの組み合わせ毎に影響する定義ファイル51の項目をあらかじめデータベース等の手段で格納しておき、それを読み出して格納する。これにてサービス追加処理は終了する。
(処理−サービス起動処理(サービス起動処理部41f))
図9は、サービス起動処理のフローチャートである。なお、本実施の形態ではサービス起動処理と上述のサービス追加処理を分けて説明するが、サービス追加時に、追加したサービスが起動する(上述のサービス追加処理の後に、続けてサービス起動処理が実行される)ようにしてもよい。そうすることにより、ユーザは追加したサービスをすぐに利用開始できる。
サービス追加処理でサービスが追加されると、端末装置80に表示される図5のサービス管理ページには、当該追加されたサービスも表示される。そして、ユーザが、起動したいサービスに対応する「起動」ボタンを選択すると、当該選択されたサービス名等を含んだサービス起動要求が主制御サーバ40に送信される。
主制御サーバ40のサービス起動処理部41fは、起動要求されたサービスに対応するサービス構成情報を構成情報DB42cから取得する(S901)。次に、当該サービスが、対象の仮想サーバ11において以前に起動されたことがあるかを判断する(S902)。この判断は、対象の仮想サーバ11に当該サービスに対応する仮想ディスク(専用データ領域14)が既に作成されているかにより行う。具体的には、例えば、対応するサービス構成情報に、ディスクIDが格納されているかどうか(格納されていれば、そのサービスは以前に起動されたことがある)により判断する。
当該サービスが以前に起動していないと判断した場合には(S902、No)、当該サービスに対応する専用データ領域14を作成するためのディスク作成命令を、クラウドサーバに送信する(S903)。その際、図7のサービス追加ページにおいて指定された仮想ディスクの容量等も含めて送信する。
クラウドサーバは、当該ディスク作成命令に基づいて、専用データ領域14を作成する(S904)。本実施の形態では、この専用データ領域14は、サービス単位で仮想サーバ11毎に作成される。すなわち、同じサービスを2台の仮想サーバ11で利用する場合には、2台の仮想サーバ11の各々に専用データ領域14が確保される。また、仮想サーバ11に新たなサービスを追加した場合には、その新たなサービス用の専用データ領域14が作成される。専用データ領域14が作成されると、クラウドサーバから主制御サーバ40に、当該専用データ領域14のディスクID及びその専用データ領域14が確保されたハードウェアのデバイス名が送信される(S905)。サービス起動処理部41fは、当該ディスクID及びデバイス名を構成情報DB42cのサービス構成情報に書き込み、構成情報を更新する(S906)。
一方、当該サービスが以前に起動されていると判断した場合(S902、Yes)、S903〜S906の処理は行わず、S907以降の処理へ進む。
次いで、サービス起動処理部41fは、クラウドサーバに、当該作成した専用データ領域14をアタッチさせるためのディスクアタッチ命令を送信する(S907)。ここで、サービス構成情報に専用データ領域14のディスクID及びデバイス名が格納されているので、アタッチ命令において、専用データ領域14を特定するための情報をクラウドサーバに送信することができる。クラウドサーバは、仮想サーバ11に専用データ領域14をアタッチ(接続)する(S908)。
ここで、専用データ領域14をアタッチしただけでは、仮想サーバ11から専用データ領域14を利用することはできない。そのため、次に、サービス起動処理部41fはクラウドサーバにディスク設定命令を送信する(S909)。クラウドサーバは、仮想ディスクのパーティション作成処理、パーティションのフォーマット処理、マウント処理(OSとしてアクセスできるようにする処理)等を行うことで、仮想サーバ11上で専用データ領域14を利用可能に設定する(S910)。
なお、本実施の形態では、上記S909〜S910の処理を、サービス制御サーバ50とサービス制御クライアント12の処理により行うこととする。すなわち、サービス起動処理部41fは、サービス設定用定義ファイル51に専用データ領域14の設定に必要な情報を記述してサービス制御サーバ50に格納し、対象の仮想サーバ11のサービス制御クライアント12を起動させる(S909に対応)。サービス制御クライアント12は、当該定義ファイル51を適用して専用データ領域14の設定を行う(S910に対応)。この場合、これらの処理は、後述する定義ファイル51の生成(S911)、定義ファイル適用命令(S912)及び定義ファイル51の適用(S913)にそれぞれ含めて行うとよい。
なお、当該サービスが既に起動したことがある場合(S902、Yes)には、上述の仮想ディスクのパーティション作成処理、パーティションのフォーマット処理は、当該サービスの最初の起動時(専用データ領域14の新規作成時)に完了しているので、これらの各処理を行う必要はなく、マウント処理のみを行う。
次いで、サービス起動処理部41aは、起動要求されたサービスの設定用定義ファイル(以下、サービス設定用定義ファイル)51、及び関連サービスのサービス設定用定義ファイル51を作成する(S911)。サービス設定用定義ファイル51は、サービスの設定等を行うためのものであり、各仮想サーバ11においてサービス毎に作成される。サービス設定用定義ファイル51に含まれる情報には、サービスに共通して含まれる情報(サービス共通定義)と、サービス毎に異なる情報(サービス固有定義)がある。
サービス共通定義には、例えば、サービスのステータス(起動又は停止)を示す情報がある。
一方、サービス固有定義の内容はサービスにより様々であるが、以下に一例を示す。
(例1)ロードバランサー
振り分け先IPアドレス及びポート番号(HTTPサービスが動作している仮想サーバのIPアドレスを動的に設定する)
(例2)HTTPサービス
APサービスのプロキシURL、IPアドレス及びポート番号(APサービスに転送するURLと転送先のIPアドレス及びポートを動的に設定する)
(例3)APサービス
DBサービスIPアドレス(DBサービスに接続するためのホスト名とIPアドレスの対応を、DBサービスのIPアドレスに応じて動的に設定する)
(例4)DBサービス
データベースのタイプ(MasterとSlave(Masterのコピー)をサービス起動処理部41fで判断し設定する)
データベースID(各DBごとに一意である必要があるため動的に生成する)、管理者用ユーザID及びパスワード(全ての権限を持つユーザを自動設定する)
ログ用ユーザID及びパスワード(ログのオペレーションのために必要な権限を持つユーザを自動設定する)
さらに、DBがMasterDBである場合には、一般ユーザ用ユーザID及びパスワード、SlaveDB用設定、及び、動的に設定した、SlaveDBのIPアドレス、レプリケーション用ユーザID及びパスワード、及びデータ取得用ユーザID及びパスワードを含める。
あるいは、DBがSlaveDBである場合には、動的に設定した、レプリケーション用ユーザID及びパスワード、データ取得用ユーザID及びパスワード、及びMasterDBのIPアドレス及びポート番号を含める。
サービス起動処理部41aは、起動要求されたサービスについて、サービス共通定義としてサービスのステータス(起動又は停止)には「起動」を記述し、また、当該サービスに対応するサービス固有定義を記述してサービス設定用定義ファイル51を作成する。
また、サービス起動処理部41aは、起動要求されたサービスの関連サービスのサービス設定用定義ファイル51を作成する。具体的には、サービス構成情報の関連サービス項目を参照して、該当するサービスの定義ファイル項目に情報を記述して、サービス設定用定義ファイル51を更新する。
ここで、サービス起動処理部41fは、サービス設定用定義ファイル51に、そのサービスから見て送信先となる仮想サーバ11のIPアドレス(例えば上記の(例1)〜(例4)に含んでいるIPアドレス)を、IP選択テーブル42bを参照して取得する。すなわち、サービス起動処理部41fは、送信元となる仮想サーバ11と送信先となる仮想サーバ11の組み合わせに応じたIPアドレスの種別をIP選択テーブル42bから取得し、当該取得したIPアドレスの種別に応じたIPアドレスをDNSサーバ60あるいはクラウドサーバから取得して、サービス設定用定義ファイル51に含める(同じくS911)。
なお、上述のサーバ起動処理で説明したように、DNSサーバ60には、サーバ群10a(一般的なパブリッククラウド)又はサーバ群10d(一般的なプライベートクラウド)の仮想サーバ11である場合にはPublic_IP、サーバ群10b(仮想的なプライベートクラウド)の仮想サーバ11である場合にはPrivate_IP、サーバ群10c(VPN接続を行うパブリッククラウド)の仮想サーバ11である場合には、VPN_IPが登録されている。ここで、各サーバ群のPublic_IP及びPrivate_IPは、通常、クラウドに用意されたAPIの機能等により取得することが可能であるため、これらのIPアドレスについてはDNSサーバ60から取得しても、各クラウドサーバから取得してもよい。ただし、VPN_IPは、クラウドのAPI等では取得できないため、DNSサーバ60から取得する。
そして、サービス起動処理部41fは、作成したサービス設定用定義ファイル51をサービス制御サーバ50に送信して登録する(同じくS911)。
次いで、サービス起動処理部41bは、登録した定義ファイル51を仮想サーバ11に適用させるための定義ファイル適用命令を、クラウドサーバに送信する(S912)。クラウドサーバ(実際には、対応する仮想サーバ11のサービス制御クライアント12)は、上記サーバ起動処理と同様の方法(図8のS807)で定義ファイル51を取得し、当該定義ファイル51に基づいてサービスの設定及び起動を行う(S913)。これにより、起動要求されたサービスの起動・設定、及び関連するサービスの設定(起動や停止等も含む)を自動的に行うことができる。これにてサービスの起動処理が終了する。
なお、上述のサービス起動時だけでなく、例えば、ユーザがサービス管理ページ等でサービスの設定内容を変更した場合にも、上述のサービス起動処理と同様に、該当のサービス及び関連サービスの定義ファイル51の作成及び適用を自動的に行うようにしてもよい。
さらに、他のクラウドや他の仮想サーバ11上にある同一のサービスに対して、定義ファイル51の作成及び適用を行うようにしてもよい。その際、サービス定義情報には所属サーバ名を有しているので、当該サービスが追加されている仮想サーバ11を全て特定することができる。
(処理−サービス停止処理(サービス停止処理部41g))
次に、サービス停止処理について説明する。図10は、サービスの停止処理のフローチャートである。
図5のサービス管理ページにて、ユーザが、停止を行いたいサービスに対応する「停止」ボタンを選択すると、当該選択されたサービスに対応するサーバ名・サービス名等を含んだサービス停止要求が主制御サーバ40に送信される。
主制御サーバ40のサービス停止処理部41gは、当該停止要求されたサービス名に対応するサービス構成情報を取得する(S1001)。当該サービスのサービス設定用定義ファイル51、及び、当該サービスの関連サービスのサービス設定用定義ファイル51を作成する(S1002)。ここで、サービス設定用定義ファイル51は、上述のサービス起動処理(図9のS911)と同様に作成されるが、停止させるサービスについては、サービス共通定義としてサービスのステータス(起動又は停止)には「停止」を記述する。そして、サービス停止処理部41cは、このように作成したサービス設定用マニフェストをアプリ制御サーバ50に送信して登録する(同じくS1002)。
次いで、サービス停止処理部41gは、定義ファイル51を仮想サーバ11に適用させるための定義ファイル適用命令を、クラウドサーバに送信する(S1003)。クラウドサーバは、上記サーバ起動処理と同様の方法(図8のS807)で定義ファイル51を取得し、当該定義ファイル51に基づいてサービスの停止及び、関連サービスの設定等を行う(S1004)。
その後、サービス停止処理部41gは、クラウドサーバに対し、当該サービスの専用データ領域14の停止命令を送信する(S1005)。クラウドサーバは、専用データ領域14のアンマウントを行う(S1006)。なお、本実施の形態では、上述のサービス起動処理(図9)における専用データ領域14のマウント等と同様に、上記S1005〜S1006処理はサービス制御サーバ50とサービス制御クライアント12の処理により行うものとする。すなわち、停止命令(S1005)は定義ファイル51への生成及びサービス制御サーバ50への格納により行われ、サービス制御クライアント12により専用データ領域14のアンマウント(S1006)が行われる。
次いで、サービス停止処理部41gは、クラウドサーバに対し、専用データ領域14のデタッチ命令を送信する(S1007)。クラウドサーバは、当該仮想ディスクをデタッチ(接続を解除)する(S1008)。次いで、サービス停止処理部41gは、停止したサービスのサービス設定用定義ファイル51を、サービス制御サーバ50から削除する(S1009)。これにてサービスの停止処理が終了する。
(処理−サービス削除処理(サービス削除処理部41h))
次に、サービスの削除処理について説明する。図5のサービス管理ページにて、ユーザが、削除を行いたいサービスに対応する「削除」ボタンを選択すると、当該選択されたサービス名等を含んだサービス削除要求が主制御サーバ40に送信される。
主制御サーバ40のサービス削除処理部41hは、当該削除要求されたサービス名に対応するディスクID及びデバイス名を含むディスク削除命令を、クラウドサーバに送信する。クラウドサーバは、当該仮想ディスクIDに対応する専用データ領域14をデバイスから削除する。
次いで、サービス削除処理部41hは、当該削除したサービスに対応するサービス構成情報を、構成情報DB42cから削除する。これにてサービスの削除処理が終了する。
(処理−サーバ停止処理(サーバ停止処理部41c))
次に、仮想サーバ11の停止処理について説明する。図11は、サーバ停止処理のフローチャートである。図4のサーバ管理ページにて、ユーザが利用を停止したい仮想サーバに対応する停止ボタンを選択すると、端末装置80から主制御サーバ40にサーバ停止要求が送信される。
主制御サーバ40のサーバ停止処理部41cは、このサーバ停止要求に対応するサーバの構成情報を構成情報DB42cから取得する(S1101)。そして、当該サーバに追加されているサービスがあるか(構成情報において、当該サーバ名を含むサービス構成情報があるか)を判断する(S1102)。サービスがある場合(S1102、Yes)には、各々のサービスに対し上述のサービス停止処理を行う。
次いで、サーバ停止処理部41cは、クラウドサーバに対しサーバ停止命令を送信し(S1103)、クラウドサーバは対応する仮想サーバ11を停止(終了)する(なお、これにより仮想サーバ11は消滅する)(S1104)。次いで、サーバ停止処理部41cは、停止した仮想サーバ11のサーバ設定用定義ファイル51を、サービス制御サーバ50から削除する(S1105)。最後に、サーバ停止処理部41cは、対応するDNSレコード61をDNSサーバ60から削除する(S1106)。これにてサーバの停止処理が終了する。
なお、本実施の形態において、実際にはサーバ停止命令(S1103)の前に定義ファイル51によるサーバ停止の前処理(上述のサーバ起動時の図8のS807〜809に対応する処理)を行っているが、ここでは説明を省略する。
(処理−サーバ削除処理(サーバ削除処理部41d))
最後に、仮想サーバ11の削除処理について説明する。
図4のサーバ管理ページにて、ユーザが削除したい仮想サーバに対応する削除ボタンを選択すると、端末装置80から主制御サーバ40にサーバ削除要求が送信される。
主制御サーバ40のサーバ削除処理部41dは、構成情報DB42cを参照して、削除が要求されたサーバ名に対応するサービスがある場合には、まず、上述のサービス削除処理を行う。次いで、当該サーバ名に対応する仮想サーバ11の構成情報を構成情報DB42fから削除する。これにてサーバの削除処理が終了する。
〔変形例〕
以上、本発明に係る実施の形態について説明したが、本発明の具体的な構成及び手段は、特許請求の範囲に記載した各発明の技術的思想の範囲内において、任意に改変及び改良することができる。
(分散や統合について)
上述で図1を用いて説明した各電気的構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成できる。
具体的には、上述の実施の形態では、サービス制御システム30を社内ネットワーク20内に構成する場合について説明したが、サービス制御システム30のVPNサーバ70以外の各サーバについては、社内ネットワーク20外に構成してもよい(なお、VPNサーバ70は端末装置80と同じ場所に設置する必要がある)。すなわち、サービス制御システム30を、例えば当該システムを提供する事業者のサーバ等に構成してもよい。ただしこの場合、端末装置80とサービス制御システム30との通信は、VPNや専用線等の設置により、安全に行うように構成することが望ましい。
(仮想ディスクについて)
上述の実施の形態では、専用データ領域14(仮想ディスク)を最初のサービス起動時にデバイス(ハードウェア)上に作成する場合について説明したが、これを、最初のサービス停止時に仮想サーバ11のデータ領域の内容をハードウェアに保存するようにしてもよい。すなわち、最初のサービス停止処理において、当該データ領域の内容を例えば主制御サーバ40等のハードウェアに保存するとともに、当該データのID(ディスクIDに該当)とデバイス名をサービス定義情報に格納する。そして、当該データ領域を再度仮想サーバにアタッチする際には、サービス構成情報を参照してアタッチを行う。また、定期的にデータ領域の内容を自動バックアップするようにし、アタッチの際には当該自動バックアップしたデータの中で最新のデータを使用するようにしてもよい。
(仮想サーバ間の定義ファイルの送受信について)
また、上述の実施の形態では、定義ファイル51に送信先となる他の仮想サーバ11のIPアドレスを含める場合にIP選択テーブル42b及びDNSサーバ60を参照して当該IPアドレスを取得する点について説明したが、同様に送信先の仮想サーバ11のIPアドレスを取得することで、定義ファイル51自体を他の仮想サーバに送信させることも可能である。すなわち、例えば、負荷分散等の観点から複数の仮想サーバ11上で同じサービスを利用している場合において、ある仮想サーバ11で起動するサービスが定義ファイル51を適用する際に、同一のサービスがある他の仮想サーバ11にも当該定義ファイル51を送信することにより、全ての同一サービスについて同じ定義ファイル51を適用することが可能となる。
1 ネットワークシステム
10a〜10d サーバ群
11 仮想サーバ
20 社内ネットワーク
30 サービス制御システム
40 主制御サーバ
50 サービス制御サーバ
60 DNSサーバ
70 VPNサーバ
80 端末装置
100 通信ネットワーク

Claims (3)

  1. サーバに対してネットワークを介して通信可能に接続されるサーバ復旧システムであって、
    前記サーバの起動制御を行うサーバ起動手段と、
    前記サーバを特定するための情報と、当該サーバの起動制御に必要な情報とを関連付けて構成されたサーバ構成情報と、前記サーバを特定するための情報と、当該サーバで動作するサービスを特定するための情報と、当該サービスの起動制御に必要な情報とを関連付けて構成されたサービス構成情報とを、格納する構成情報格納手段と、
    前記サーバの停止制御を行うサーバ停止手段と、
    前記サーバの削除制御を行うサーバ削除手段とを備え、
    前記サーバ起動手段は、前記サーバの起動制御を行う際に、当該サーバを特定するための情報を含む前記サーバ構成情報を前記構成情報格納手段を介して参照することにより、当該サーバの起動制御を行い、かつ、当該サーバを特定するための情報を含む前記サービス構成情報を前記構成情報格納手段を介して参照することにより、当該サーバで動作するサービスを特定すると共に当該特定したサービスの起動制御に必要な情報を取得し、当該取得した情報に基づいて、当該特定したサービスの起動制御を行い、
    前記サーバ停止手段は、前記サーバの停止制御を行う際に、当該サーバを特定するための情報を含む前記サーバ構成情報及び前記サービス構成情報を前記構成情報格納手段に残したまま、当該サーバを停止させ、
    前記サーバ削除手段は、前記サーバの削除制御を行う際に、当該サーバを特定するための情報を含む前記サーバ構成情報及び前記サービス構成情報を前記構成情報格納手段から削除し、
    前記サーバ起動手段は、前記サーバ停止手段がユーザからの要求に基づいて前記サーバの停止制御を行った後、当該停止制御された前記サーバを復旧させる場合には、前記サーバ停止手段により前記構成情報格納手段に残された情報であって当該起動させるサーバを特定するための情報を含む前記サーバ構成情報及び前記サービス構成情報を参照することにより、当該サーバと当該サーバで動作するサービスを起動させる、
    サーバ復旧システム。
  2. 前記サーバの追加制御を行うサーバ追加手段と、
    前記サービスの追加制御を行うサービス追加手段とを備え、
    前記サーバ追加手段は、前記サーバの追加制御を行う際に、当該サーバを特定するための情報を、前記サーバ構成情報の一部として前記構成情報格納手段に格納し、
    前記サービス追加手段は、前記サービスの追加制御を行う際に、当該サービスを特定するための情報と、所定方法で取得した当該サービスの起動制御に必要な情報とを、当該サービスが動作するサーバを特定するための情報であって前記サーバ追加手段により前記サービス構成情報の一部として前記構成情報格納手段に格納された情報に関連付けて、前記サービス構成情報として前記構成情報格納手段に格納し、
    前記サーバ起動手段は、前記サーバ停止手段が前記サーバの停止制御を行った後、当該停止制御された前記サーバを復旧させる場合には、前記サーバ追加手段と前記サービス追加手段により前記構成情報格納手段に格納された前記サーバ構成情報及び前記サービス構成情報を参照することにより、前記サーバ追加手段にて追加制御されたサーバと前記サービス追加手段にて追加制御されたサービスを起動させる、
    請求項1に記載のサーバ復旧システム。
  3. 前記構成情報格納手段の前記サービス構成情報は、前記サービスのデータを保存するために前記サーバに設けられたディスクを特定するための情報を関連付けて構成されており、
    前記サーバ起動手段は、前記サーバの起動制御を行う際に、当該サーバを特定するための情報を含む前記サービス構成情報を前記構成情報格納手段を介して参照することにより、当該サーバで動作するサービスを特定すると共に当該サービスのデータを保存するためのディスクを特定し、当該特定したサービスに対して当該特定したディスクを対応付ける、
    前記サーバ起動手段は、前記サーバ停止手段が前記サーバの停止制御を行った後、当該停止制御された前記サーバを復旧させる場合には、当該サーバを特定するための情報を含む前記サービス構成情報を前記構成情報格納手段を介して参照することにより、当該サーバで動作するサービスを特定すると共に当該サービスのデータを保存するためのディスクを特定し、当該特定したサービスに対して当該特定したディスクを対応付ける、
    請求項1又は2に記載のサーバ復旧システム。
JP2010217440A 2010-09-28 2010-09-28 サーバ復旧システム Expired - Fee Related JP4743726B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010217440A JP4743726B1 (ja) 2010-09-28 2010-09-28 サーバ復旧システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010217440A JP4743726B1 (ja) 2010-09-28 2010-09-28 サーバ復旧システム

Publications (2)

Publication Number Publication Date
JP4743726B1 true JP4743726B1 (ja) 2011-08-10
JP2012073775A JP2012073775A (ja) 2012-04-12

Family

ID=44541385

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010217440A Expired - Fee Related JP4743726B1 (ja) 2010-09-28 2010-09-28 サーバ復旧システム

Country Status (1)

Country Link
JP (1) JP4743726B1 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103138985A (zh) * 2011-12-01 2013-06-05 中国移动通信集团浙江有限公司 一种支撑网业务主机进程控制方法和系统
JP2014528605A (ja) * 2011-09-29 2014-10-27 アマゾン テクノロジーズ インコーポレーテッド ホスト型サービスイメージのためのカスタマイズ可能な一様性制御
US9258371B1 (en) 2012-03-23 2016-02-09 Amazon Technologies, Inc. Managing interaction with hosted services
US9397987B1 (en) 2012-03-23 2016-07-19 Amazon Technologies, Inc. Managing interaction with hosted services
US9553787B1 (en) 2013-04-29 2017-01-24 Amazon Technologies, Inc. Monitoring hosted service usage
US9626700B1 (en) 2011-09-29 2017-04-18 Amazon Technologies, Inc. Aggregation of operational data for merchandizing of network accessible services
US9667515B1 (en) 2011-09-29 2017-05-30 Amazon Technologies, Inc. Service image notifications
US9679279B1 (en) 2012-02-27 2017-06-13 Amazon Technologies Inc Managing transfer of hosted service licenses
US10147123B2 (en) 2011-09-29 2018-12-04 Amazon Technologies, Inc. Electronic marketplace for hosted service images

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101353414B1 (ko) * 2013-06-21 2014-01-21 엘에스웨어(주) 클라우드 컴퓨팅 환경에서의 호스트 기반 취약점 자동 수정 시스템 및 방법
JP6338726B1 (ja) * 2017-03-28 2018-06-06 三菱電機インフォメーションシステムズ株式会社 サーバ管理装置、サーバ管理プログラムおよびサーバ管理方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008226181A (ja) * 2007-03-15 2008-09-25 Fujitsu Ltd 並列実行プログラム、該プログラムを記録した記録媒体、並列実行装置および並列実行方法
JP2008242766A (ja) * 2007-03-27 2008-10-09 Nomura Research Institute Ltd プロセス制御システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008226181A (ja) * 2007-03-15 2008-09-25 Fujitsu Ltd 並列実行プログラム、該プログラムを記録した記録媒体、並列実行装置および並列実行方法
JP2008242766A (ja) * 2007-03-27 2008-10-09 Nomura Research Institute Ltd プロセス制御システム

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10147123B2 (en) 2011-09-29 2018-12-04 Amazon Technologies, Inc. Electronic marketplace for hosted service images
JP2014528605A (ja) * 2011-09-29 2014-10-27 アマゾン テクノロジーズ インコーポレーテッド ホスト型サービスイメージのためのカスタマイズ可能な一様性制御
US10970758B2 (en) 2011-09-29 2021-04-06 Amazon Technologies, Inc. Electronic marketplace for hosted service images
US10861081B2 (en) 2011-09-29 2020-12-08 Amazon Technologies, Inc. Aggregation of operational data for merchandizing of network accessible services
US9530156B2 (en) 2011-09-29 2016-12-27 Amazon Technologies, Inc. Customizable uniform control user interface for hosted service images
US10817929B1 (en) 2011-09-29 2020-10-27 Amazon Technologies, Inc. Customizable uniform control user interface for hosted service images
US9626700B1 (en) 2011-09-29 2017-04-18 Amazon Technologies, Inc. Aggregation of operational data for merchandizing of network accessible services
US9667515B1 (en) 2011-09-29 2017-05-30 Amazon Technologies, Inc. Service image notifications
CN103138985B (zh) * 2011-12-01 2016-03-02 中国移动通信集团浙江有限公司 一种支撑网业务主机进程控制方法和系统
CN103138985A (zh) * 2011-12-01 2013-06-05 中国移动通信集团浙江有限公司 一种支撑网业务主机进程控制方法和系统
US9679279B1 (en) 2012-02-27 2017-06-13 Amazon Technologies Inc Managing transfer of hosted service licenses
US9397987B1 (en) 2012-03-23 2016-07-19 Amazon Technologies, Inc. Managing interaction with hosted services
US9258371B1 (en) 2012-03-23 2016-02-09 Amazon Technologies, Inc. Managing interaction with hosted services
US9553787B1 (en) 2013-04-29 2017-01-24 Amazon Technologies, Inc. Monitoring hosted service usage

Also Published As

Publication number Publication date
JP2012073775A (ja) 2012-04-12

Similar Documents

Publication Publication Date Title
JP4743726B1 (ja) サーバ復旧システム
JP4852734B1 (ja) サービス制御システム
JP6518338B2 (ja) 選択的コンテンツアイテム同期を用いる共有ワークスペースを提供するための方法、プログラム、及びコンピューティングシステム
CN105426115B (zh) 数据存储访问和检索方法及数据存储和访问系统
JP4567293B2 (ja) ファイルサーバ
EP2685697B1 (en) A method to obtain a virtual desktop stored in a cloud storage system, a corresponding cloud broker and cloud desktop agent
US8918599B2 (en) Integrated storage platform system and method thereof
US11120010B1 (en) Systems, methods, and computer readable media for managing a hosts file
WO2009098909A1 (ja) 仮想アプライアンス配備システム
EP3555771B1 (en) Systems and methods for list retrieval in a storage device
JP2016518653A (ja) 同期したオンラインコンテンツ管理システムのためのローカルサーバ
JP7143434B2 (ja) クラウドサービスのデータキャッシング
JP4721082B1 (ja) Vpn接続システム
WO2022127762A1 (zh) 云平台及其提供的对象存储服务的桶管理方法
US20130238673A1 (en) Information processing apparatus, image file creation method, and storage medium
CN104618445B (zh) 一种基于云存储空间的文件整理方法和装置
JP2011238073A (ja) サーバ群統合管理システム
WO2010043234A1 (en) Web application server facilitating data access in a network environment
JP7150551B2 (ja) 制御装置、ネットワーク構築システム、ネットワーク構築方法、及びプログラム
JP5180399B2 (ja) 情報処理装置、情報処理方法およびプログラム
JP2022088852A (ja) デバイス管理装置、デバイス管理装置の制御方法、及びプログラム
JP2014045437A (ja) ネットワークトポロジ生成システム、方法およびプログラム
CN116233115B (zh) 一种海量数据文件高效持续受控共享分发方法及系统
JP2015064740A (ja) 仮想マシン提供システム
WO2023144932A1 (ja) 情報処理方法、プログラム及び記憶媒体

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110322

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

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20110418

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110502

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140520

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4743726

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140520

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140520

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees