(57)【要約】【課題】クラスタシステムにおいて、強制終了される可能性があるインスタンスを用いて運用コストを抑えつつ、可用性を確保する。【解決手段】第２のサーバ３０は、第１のサーバ２０においてサービスの実行に障害が発生した場合に、サービスの実行がフェイルオーバされるサーバである。第２のサーバ３０は、クラウド環境５０においてクラウドサービスプロバイダから強制終了させられる可能性がある第１の種別のインスタンスとして作成された仮想サーバである。インスタンス監視手段２２は、第２のサーバ３０が強制終了されるか否かを監視する。インスタンス操作手段２３は、第２のサーバ３０が強制終了されることが検出された場合、クラウド環境５０に第３のサーバ４０を第１の種別のインスタンスとして作成させる。インスタンス操作手段２３は、第２のサーバ３０が提供する機能を第３のサーバ４０に引き継がせる。【選択図】図１
2020129184.tif 000002
【特許請求の範囲】
【請求項１】
サービスを実行するサービス実行手段を有する第１のサーバと、
前記第１のサーバにおいて前記サービスの実行に障害が発生した場合に、前記サービスの実行がフェイルオーバされる第２のサーバとを備え、
前記第２のサーバは、クラウド環境においてクラウドサービスプロバイダから強制終了させられる可能性がある第１の種別のインスタンスとして作成された仮想サーバであり、
前記第１のサーバは、更に、
前記第２のサーバが強制終了されるか否かを監視するインスタンス監視手段と、
前記第２のサーバが強制終了されることが検出された場合、前記クラウド環境に第３のサーバを前記第１の種別のインスタンスとして作成させ、前記第２のサーバが提供する機能を前記第３のサーバに引き継がせるインスタンス操作手段とを有するクラスタシステム。
【請求項２】
前記第１のサーバは前記サービスの実行において使用される第１のストレージを含み、かつ前記クラウド環境は、前記第１のストレージと同じ内容のデータを記憶する第２のストレージを含み、
前記インスタンス操作手段は、前記第２のサーバが強制終了されることが検出された場合、前記第２のストレージの接続先を前記第２のサーバから前記第３のサーバに切り替える請求項１に記載のクラスタシステム。
【請求項３】
前記第２のサーバは、
前記サービスの実行がフェイルオーバされた後、前記クラウド環境に、第４のサーバをクラウドサービスプロバイダから強制終了されない第２の種別のインスタンスとして作成させ、前記第２のストレージの接続先を前記第２のサーバから前記第４のサーバに切り替え、前記第４のサーバにおいて前記サービスを実行させるインスタンス操作手段を有する請求項２に記載のクラスタシステム。
【請求項４】
前記第４のサーバは、前記サービスの実行の開始後、前記クラウドサービスプロバイダに、前記第２のサーバの終了を要求する請求項３に記載のクラスタシステム。
【請求項５】
前記第１のサーバが前記障害から復旧した場合、前記サービスの実行は前記第４のサーバから前記第１のサーバにフェイルバックされ、
前記第１のサーバのインスタンス操作手段は、前記クラウドサービスプロバイダに、前記第２のサーバを前記第１の種別のインスタンスとして作成させ、前記第２のストレージの接続先を前記第４のサーバから前記第２のサーバに切り替え、前記クラウドサービスプロバイダに前記第４のサーバの終了を要求する請求項４に記載のクラスタシステム。
【請求項６】
前記第１のサーバの前記インスタンス操作手段は、前記クラウドサービスプロバイダに、前記第２のサーバと同じ性能で前記第３のサーバを作成させる請求項１から５何れか１項に記載のクラスタシステム。
【請求項７】
前記第１のサーバは現用系として動作し、前記第２のサーバ及び前記第３のサーバは待機系として動作する請求項１から６何れか１項に記載のクラスタシステム。
【請求項８】
サービスを実行するサービス実行手段と、
クラウド環境においてクラウドサービスプロバイダから強制終了させられる可能性がある第１の種別のインスタンスとして作成され、かつ前記サービスの実行に障害が発生した場合に前記サービスの実行がフェイルオーバされる第１の仮想サーバが強制終了されるか否かを監視するインスタンス監視手段と、
前記第１の仮想サーバが強制終了されることが検出された場合、前記クラウド環境に第２の仮想サーバを前記第１の種別のインスタンスとして作成させ、前記第１の仮想サーバが提供する機能を前記第２の仮想サーバに引き継がせるインスタンス操作手段とを備えるサーバ。
【請求項９】
サーバにおいてサービスを実行し、
クラウド環境においてクラウドサービスプロバイダから強制終了させられる可能性があるインスタンスとして作成され、かつ前記サービスの実行に障害が発生した場合に前記サービスの実行がフェイルオーバされる第１の仮想サーバが強制終了されるか否かを監視し、
前記第１の仮想サーバが強制終了されることが検出された場合、前記クラウド環境に第２の仮想サーバを前記強制終了させられる可能性があるインスタンスとして作成させ、前記第１の仮想サーバが提供する機能を前記第２の仮想サーバに引き継がせるクラスタシステム制御方法。
【請求項１０】
コンピュータに、
サービスを実行し、
クラウド環境においてクラウドサービスプロバイダから強制終了させられる可能性があるインスタンスとして作成され、かつ前記サービスの実行に障害が発生した場合に前記サービスの実行がフェイルオーバされる第１の仮想サーバが強制終了されるか否かを監視し、
前記第１の仮想サーバが強制終了されることが検出された場合、前記クラウド環境に第２の仮想サーバを前記強制終了させられる可能性があるインスタンスとして作成させ、前記第１の仮想サーバが提供する機能を前記第２の仮想サーバに引き継がせるための処理を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、クラスタシステム、その制御方法、及びプログラムに関し、更に詳しくは、複数のサーバを有するクラスタシステム、その制御方法、及びプログラムに関する。
【０００２】
また、本開示は、クラスタシステムに用いられるサーバに関する。
【背景技術】
【０００３】
近年、複数サーバを用意して可用性を高めることを目的とした高可用性クラスタシステムにおいて、待機系サーバを、オンプレミスではなくパブリッククラウド上で仮想マシンとして稼働させる構成が増えている。待機系サーバを、パブリッククラウド上で稼動させることで、高可用性クラスタシステムの運営者は、環境構築や、運用の負担を軽減することができる。
【０００４】
関連技術として、特許文献１は、複数の情報システムを連携させてサービスの可用性を高める高可用性システムを管理する技術を開示する。特許文献１に開示される高可用性システムは、現用系サーバ、待機系サーバ、及びそれらの性能管理を実行する性能管理装置を有する。特許文献１において、現用系サーバはオンプレミス環境に構築され、待機系サーバはクラウド環境に構築される。高可用性クラスタにおいて、現用系サーバに故障や障害などの何らかの事象が発生した場合、待機系サーバは、現用系サーバが実行していた処理を引き継ぐフェイルオーバ処理を実行するように構成される。
【０００５】
ここで、オンプレミス環境は、例えば、高可用性システムを構築する特定の企業や組織などの内部に構成され、当該所有者によって運用される情報処理システムを指す。また、クラウド環境は、計算機及び通信ネットワークを構成する各種リソースを仮想化してサービスとして提供するクラウドコンピューティング環境を指す。クラウド環境は、例えばインターネットを経由して広くクラウドサービスを提供するパブリッククラウドであってもよく、特定の企業向けに構築されたプライベートクラウドであってもよい。
【０００６】
性能管理装置は、オンプレミス環境内において、ＬＡＮ（Local Area Network）などを通じて現用系サーバと通信可能に接続されている。また、性能管理装置は、インターネットなどのＷＡＮ（Wide  Area  Network）を通じて、待機系サーバと通信可能に接続される。性能管理装置は、待機系サーバの性能を管理するための各種処理を実行し、待機系サーバの性能に関する状態を管理する。
【０００７】
特許文献１において、性能管理装置は、現用系サーバが正常に稼動する平常時は、待機系サーバの性能を低く抑える。一方、性能管理装置は、フェイルオーバ処理が発生した場合は、待機系サーバの性能を、現用系サーバと同等水準まで高くする。このようにすることで、正常時に待機系サーバが使用するリソースを低減することができ、高可用性クラスタにおいて、運用コストを低減することができる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１５−６９２８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ここで、高可用性クラスタシステムにおいて、待機系サーバをパブリッククラウド上の仮想マシンとして稼動させることは、環境構築及び運用を容易にする一方で、継続的な費用を発生させる。パブリッククラウド上の仮想マシンの運用コストは、仮想マシンの性能だけでなく、料金体系にも依存する。例えば、Ａｍａｚｏｎ  ＥＣ２では、通常インスタンスとスポットインスタンスという料金体系を選択可能である。通常インスタンスとは、一定料金で利用可能な通常のインスタンスでる。一方、スポットインスタンスは、通常インスタンスの余剰リソースである。スポットインスタンスは、料金が変動するものの、通常インスタンスより安価に利用可能である。
【００１０】
しかしながら、スポットインスタンスは、クラウド事業者（クラウドサービスプロバイダ）によって強制終了させられる場合がある。例えば、通常インスタンスに対する需要が増加し、余剰リソースが不足した場合、クラウド事業者は、ランダムに選択された、いくつかのスポットインスタンスを強制的に終了させる。また、スポット料金が入札価格を超過した場合も、クラウド事業者は、ランダムに選択したいくつかのスポットインスタンスを強制的に終了させる。このため、スポットインスタンスは、料金面ではメリットがあるものの、可用性は低いと言える。
【００１１】
上記したような、低価格ではあるが可用性が低いクラウド余剰リソースを用いたサービスとして、例えばＧｏｏｇｌｅ  Ｃｌｏｕｄ  Ｐｌａｔｆｏｒｍではプリエンプティブインスタンスが提供さている。また、ＡｚｕｒｅではＬｏｗ−ｐｒｉｏｒｉｔｙ  ＶＭが提供されている。
【００１２】
特許文献１に記載の高可用性クラスタにおいて、待機系サーバをスポットインスタンスとして稼動させると、待機系の運用コストを削減することができる。しかしながら、スポットインスタンスは不定期に強制終了する可能性があるため、可用性を確保することができないという問題がある。
【００１３】
本開示は、上記事情に鑑み、強制終了される可能性があるインスタンスを用いて運用コストを抑えつつ、可用性を確保することができるクラスタシステム、その制御方法、サーバ、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するために、本開示は、サービスを実行するサービス実行手段を有する第１のサーバと、前記第１のサーバにおいて前記サービスの実行に障害が発生した場合に、前記サービスの実行がフェイルオーバされる第２のサーバとを備え、前記第２のサーバは、クラウド環境においてクラウドサービスプロバイダから強制終了させられる可能性がある第１の種別のインスタンスとして作成された仮想サーバであり、前記第１のサーバは、更に、前記第２のサーバが強制終了されるか否かを監視するインスタンス監視手段と、
前記第２のサーバが強制終了されることが検出された場合、前記クラウド環境に第３のサーバを前記第１の種別のインスタンスとして作成させ、前記第２のサーバが提供する機能を前記第３のサーバに引き継がせるインスタンス操作手段とを有するクラスタシステムを提供する。
【００１５】
本開示は、また、サービスを実行するサービス実行手段と、クラウド環境においてクラウドサービスプロバイダから強制終了させられる可能性がある第１の種別のインスタンスとして作成され、かつ前記サービスの実行に障害が発生した場合に前記サービスの実行がフェイルオーバされる第１の仮想サーバが強制終了されるか否かを監視するインスタンス監視手段と、前記第１の仮想サーバが強制終了されることが検出された場合、前記クラウド環境に第２の仮想サーバを前記第１の種別のインスタンスとして作成させ、前記第１の仮想サーバが提供する機能を前記第２の仮想サーバに引き継がせるインスタンス操作手段とを備えるサーバを提供する。
【００１６】
本開示は、サーバにおいてサービスを実行し、クラウド環境においてクラウドサービスプロバイダから強制終了させられる可能性があるインスタンスとして作成され、かつ前記サービスの実行に障害が発生した場合に前記サービスの実行がフェイルオーバされる第１の仮想サーバが強制終了されるか否かを監視し、前記第１の仮想サーバが強制終了されることが検出された場合、前記クラウド環境に第２の仮想サーバを前記強制終了させられる可能性があるインスタンスとして作成させ、前記第１の仮想サーバが提供する機能を前記第２の仮想サーバに引き継がせるクラスタシステム制御方法を提供する。
【００１７】
本開示は、コンピュータに、サービスを実行し、クラウド環境においてクラウドサービスプロバイダから強制終了させられる可能性があるインスタンスとして作成され、かつ前記サービスの実行に障害が発生した場合に前記サービスの実行がフェイルオーバされる第１の仮想サーバが強制終了されるか否かを監視し、前記第１の仮想サーバが強制終了されることが検出された場合、前記クラウド環境に第２の仮想サーバを前記強制終了させられる可能性があるインスタンスとして作成させ、前記第１の仮想サーバが提供する機能を前記第２の仮想サーバに引き継がせるための処理を実行させるためのプログラムを提供する。
【発明の効果】
【００１８】
本開示に係るクラスタシステム、その制御方法、サーバ、及びプログラムは、強制終了される可能性があるインスタンスを用いて運用コストを抑えつつ、可用性を確保することができる。
【図面の簡単な説明】
【００１９】
【図１】本開示に係るクラスタシステムを概略的に示すブロック図。
【図２】本開示の一実施形態に係る高可用性クラスタシステムを示すブロック図。
【図３】待機系切替えにおける動作手順を示すフローチャート。
【図４】待機系サーバにフェイルオーバする際の動作手順を示すフローチャート。
【図５】現用系サーバにフェイルバックする場合の動作手順を示すフローチャート。
【発明を実施するための形態】
【００２０】
本開示の実施の形態の説明に先立って、本開示の概要を説明する。図１は、本開示に係るクラスタシステムを概略的に示す。クラスタシステム１０は、第１のサーバ２０、及び第２のサーバ３０を有する。第１のサーバ２０は、サービス実行手段２１、インスタンス監視手段２２、及びインスタンス操作手段２３を有する。
【００２１】
サービス実行手段２１は、サービスを実行する。第２のサーバ３０は、第１のサーバにおいてサービスの実行に障害が発生した場合に、サービスの実行がフェイルオーバされるサーバである。第２のサーバ３０は、クラウド環境５０に配置される。クラウド環境５０は、クラウドサービスプロバイダから強制終了させられる可能性があるインスタンス（第１の種別のインスタンス）と、強制終了されることはない通常のインスタンス（第２の種別のインスタンス）とを提供する。第２のサーバ３０は、クラウド環境５０において、第１の種別のインスタンスとして作成された仮想サーバである。
【００２２】
インスタンス監視手段２２は、クラウド環境５０において、第２のサーバ３０がクラウドサービスプロバイダから強制終了されるか否かを監視する。インスタンス操作手段２３は、第２のサーバ３０が強制終了されることが検出された場合、クラウド環境５０に、第３のサーバ４０を作成する。第３のサーバ４０は、第２のサーバ３０と同様に、クラウド環境５０において、第１の種別のインスタンスとして作成された仮想サーバである。インスタンス操作手段２３は、第２のサーバ３０が提供する機能を第３のサーバ４０に引き継がせる。
【００２３】
本開示では、第１の種別のインスタンスとして作成された仮想サーバである第２のサーバ３０が、第１のサーバ２０のフェイルオーバ先のサーバとして使用される。クラウド環境５０において、第１の種別のインスタンスは通常のインスタンスより安価で提供される。このため、クラスタシステム１０は、フェイルオーバ先のサーバに通常インスタンスが用いる場合に比べて、運用コストを低減することができる。
【００２４】
本開示において、インスタンス操作手段２３は、第２のサーバ３０が強制終了される場合、クラウド環境５０に第３のサーバ４０を作成する。第３のサーバ４０も、第２のサーバ３０と同様に、第１の種別のインスタンスとして作成された仮想サーバである。インスタンス操作手段２３は、第２のサーバ３０が提供する機能を、第３のサーバ４０に引き継がせる。このようにすることで、第２のサーバ３０が強制終了された場合でも、第１のサーバのフェイルオーバ先のサーバを確保することができ、クラスタシステム１０の可用性を確保することができる。このように、本開示では、第１の種別のインスタンスを使用することで運用コストを低減しつつ、可用性を確保することができる。
【００２５】
以下、図面を参照して本開示の実施の形態について説明する。図２は、本開示の一実施形態に係る高可用性クラスタシステムを示す。高可用性（ＨＡ：High  Availability）クラスタシステム１００は、現用系サーバ１０２及び、待機系サーバ２０２、２０９、及び２１６を有する。本実施形態において、現用系サーバ１０２はオンプレミス環境１０１に配置され、待機系サーバ２０２、２０９、及び２１６はパブリッククラウド環境２０１に配置される。ＨＡクラスタシステム１００は、図１のクラスタシステム１０に対応する。
【００２６】
オンプレミス環境１０１は、例えば、ＨＡクラスタシステム１００を構築する特定の企業や組織などの内部に構成され、それらによって運用される情報処理システムである。オンプレミス環境１０１は、物理的なサーバと、それらを通信可能に接続する通信ネットワークとを用いて構成され得る。オンプレミス環境１０１を構成するサーバなどの計算機の一部は、仮想化された計算機であるバーチャルマシン（ＶＭ：Virtual Machine）を用いて構成されていてもよい。
【００２７】
パブリッククラウド環境２０１は、計算機及び通信ネットワークを構成する各種リソースを仮想化してサービスとして提供するクラウドコンピューティング環境である。パブリッククラウド環境２０１は、ブロックストレージ２２３を有する。パブリッククラウド環境２０１において、ブロックストレージ２２３の接続先は、待機系サーバ２０２、２０９、又は２１６の間で切替え可能である。パブリッククラウド環境２０１は、図１のクラウド環境５０に対応する。
【００２８】
オンプレミス環境１０１は、ＷＡＮ３０２を通じて、クラウドサービスプロバイダ３０１と通信可能である。パブリッククラウド環境２０１は、インターネットゲートウェイ３０３、及びＷＡＮ３０２を通じて、クラウドサービスプロバイダ３０１と通信可能である。また、オンプレミス環境１０１及びパブリッククラウド環境２０１は、クラウドストレージ（クラウドサービス）３０４と通信可能である。
【００２９】
本実施形態において、パブリッククラウド環境２０１は、２種類のインスタンスを提供する。１つは通常インスタンスであり、もう１つは余剰インスタンスである。通常インスタンスは、契約上、クラウド提供者から強制終了されることがないインスタンスである。これに対し、余剰インスタンスは、契約上、クラウド提供者から強制終了される場合があるインスタンスである。余剰インスタンスは、例えば、Ａｍａｚｏｎ  ＥＣ２におけるスポットインスタンスなどのインスタンスに対応する。一般に、余剰インスタンスは、通常インスタンスに比べて安価に利用できる。
【００３０】
本実施形態において、現用系サーバ１０２は、オンプレミス環境１０１に属する。現用系サーバ１０２は、物理的なコンピュータなどの情報処理装置を用いて構成された物理サーバであってもよく、或いは、仮想化技術を用いて構成された仮想サーバであってもよい。現用系サーバ１０２は、図１の第１のサーバ２０に対応する。
【００３１】
一方、待機系サーバ２０２、２０９、及び２１６は、パブリッククラウド環境２０１に属する仮想サーバである。待機系サーバ（第１の仮想サーバ）２０２、及び待機系サーバ（第２の仮想サーバ）２０９は、余剰インスタンス（第１の種別のインスタンス）を用いて作成され、クラウド提供者側から強制終了される場合がある。これに対し、待機系サーバ（第３の仮想サーバ）２１６は、通常インスタンス（第２の種別のインスタンス）を用いて作成される。待機系サーバ２１６は、クラウド提供者側から強制終了されることはない。待機系サーバ２０２は図１の第２のサーバ３０に対応し、待機系サーバ２０９は図１の第３のサーバ４０に対応する。
【００３２】
待機系サーバ２０９は、後述するように、待機系サーバ２０２が強制終了される場合に作成される。パブリッククラウド環境２０１において、待機系サーバ２０２が動作しているとき、待機系サーバ２０９は存在しない。待機系サーバ２０２及び２０９は、現用系サーバ１０２が正常に動作しなくなった場合などに、現用系サーバ１０２が提供していたサービスを引き継ぐフェイルオーバ処理を実施する。待機系サーバ２１６は、後述するように、待機系サーバ２０２又は２０９がフェイルオーバ処理を行うことで作成される。
【００３３】
現用系サーバ１０２は、高可用性クラスタソフト１０３及びブロックストレージ（ストレージ）１０９を有する。高可用性クラスタソフト１０３は、現用系サーバ１０２上で実行されることで、クラスタ制御部１０４、サービス１０６、インスタンス監視部１０７、及びインスタンス操作部１０８の機能を提供する。待機系サーバ２０２は、高可用性クラスタソフト２０３を有する。高可用性クラスタソフト２０３は、待機系サーバ２０２上で実行されることで、クラスタ制御部２０４、サービス２０６、インスタンス監視部２０７、及びインスタンス操作部２０８の機能を提供する。
【００３４】
待機系サーバ２０９は、高可用性クラスタソフト２１０を有する。高可用性クラスタソフト２１０は、待機系サーバ２０９上で実行されることで、クラスタ制御部２１１、サービス２１３、インスタンス監視部２１４、及びインスタンス操作部２１５の機能を提供する。待機系サーバ２１６は、高可用性クラスタソフト２１７を有する。高可用性クラスタソフト２１７は、待機系サーバ２１６上で実行されることで、クラスタ制御部２１８、サービス２２０、インスタンス監視部２２１、及びインスタンス操作部２２２の機能を提供する。
【００３５】
ここで、現用系サーバ１０２の高可用性クラスタソフト１０３と、待機系サーバ２０２、２０９、及び２１６の高可用性クラスタソフト２０３、２１０、及び２１７とは、同じソフトウェアであってよい。高可用性クラスタソフト１０３、２０３、２１０、及び２１７は、例えばインストール時にオンプレミス環境１０１のサーバであるかパブリッククラウド環境２０１の仮想マシンであるかが選択される。この選択に基づいて、現用系サーバ１０２における動作と待機系サーバ２０２における動作とが選択される。高可用性クラスタソフト２０３、２１０、及び２１７は、例えばインストール時にパブリッククラウド環境２０１において余剰インスタンスの仮想サーバであるか、通常インスタンスの仮想サーバであるかが選択される。この選択に基づいて、待機系サーバ２０２及び２０９における動作と、待機系サーバ２１６における動作とが選択される。
【００３６】
現用系サーバ１０２において、クラスタ制御部１０４は、クラスタ構成情報１０５を管理する。クラスタ構成情報１０５は、サーバの種別（オンプレミス又はパブリッククラウド）、サーバのホスト名、ＩＰ（Internet Protocol）アドレス、ブロックストレージ１０９及び２２３の情報を含む。また、クラスタ構成情報１０５は、パブリッククラウド環境２０１上の各種パラメータ、及びクラウドサービスプロバイダ３０１に登録済のアカウント情報を含む。同様に、待機系サーバ２０２、２０９、及び２１６において、クラスタ制御部２０４、２１１、及び２１８は、クラスタ構成情報２０５、２１２、及び２１９を管理する。クラスタ構成情報１０５、２０５、２１２、及び２１９は、変更されるたびにネットワークを通じて同期され、各サーバは同一の内容のクラスタ構成情報を保持する。
【００３７】
現用系サーバ１０２において、サービス１０６は、所定のサービスを提供する。サービス１０６は、図１のサービス実行手段２１が実行するサービスに対応する。待機系サーバ２０２、２０９、及び２１６において、サービス２０６、２１３、及び２２０は、サービス１０６と同一のサービスを提供する。ただし、現用系サーバ１０２においてサービス１０６が提供される場合、例えば待機系サーバ２０２は待機状態にあり、サービス２０６を提供しない。現用系サーバ１０２において、サービス１０６は、その提供に際してブロックストレージ１０９にデータを格納し、或いはブロックストレージ１０９内のデータを更新する。
【００３８】
ブロックストレージ１０９が格納するデータは、パブリッククラウド環境２０１のブロックストレージ２２３にミラーリングされる。このミラーリングにより、ブロックストレージ２２３は、ブロックストレージ１０９と同じデータを格納する。何らかの原因で現用系サーバ１０２がサービス１０６を提供できなくなると、例えば待機系サーバ２０２はフェイルオーバ処理を行い、待機系サーバ２０２が現用系となる。現用系となった待機系サーバ２０２は、サービス２０６を提供する。待機系サーバ２０２において、サービス２０６は、ブロックストレージ２２３にミラーリングされたデータを用いてサービスの提供を行う。
【００３９】
ここで、待機系サーバ２０２は余剰インスタンスとして作成されるため、強制終了される可能性がある。現用系サーバ１０２において、インスタンス監視部１０７は、待機系サーバ２０２が強制終了されるか否かを監視する。インスタンス監視部１０７は、待機系サーバ２０２が強制終了される場合、強制終了前に、クラウドサービスプロバイダ３０１から強制終了の予告を受け取る。インスタンス監視部１０７は、強制終了の予告を受け取ると、その旨をインスタンス操作部１０８に通知する。インスタンス監視部１０７は、図１のインスタンス監視手段２２に対応する。
【００４０】
インスタンス操作部１０８は、インスタンス監視部１０７から強制終了の予告が通知された場合、待機系サーバ２０２の動作を停止させる。また、インスタンス操作部１０８は、クラスタ構成情報１０５を参照し、クラウドサービスプロバイダ３０１に、待機系サーバ２０９を余剰インスタンスにより作成させる。このとき、インスタンス操作部１０８は、クラウドサービスプロバイダ３０１に、待機系サーバ２０２と同じスペック（性能）の待機系サーバ２０９を作成させる。インスタンスを作成する場合に必要となるイメージファイルは、例えばクラウドストレージ３０４に保存されている。クラウドサービスプロバイダ３０１は、クラウドストレージ３０４からイメージファイルを取得し、待機系サーバ２０９を作成する。インスタンス操作部１０８は、図１のインスタンス操作手段２３に対応する。
【００４１】
インスタンス操作部１０８は、インスタンス監視部１０７から強制終了の予告が通知された場合、ブロックストレージ２２３の接続先を、待機系サーバ２０２から、作成した待機系サーバ２０９に切り替える。以後、待機系サーバ２０９は、待機系サーバ２０２の代替として動作する。何らかの原因で現用系サーバ１０２がサービス１０６を提供できなくなると、待機系サーバ２０９はフェイルオーバ処理を行い、待機系サーバ２０９が現用系となる。現用系となった待機系サーバ２０９は、ブロックストレージ２２３にミラーリングされたデータを用いてサービス２１３を提供する。
【００４２】
待機系サーバ２０２又は２０９は、フェイルオーバ処理を行って待機系から現用系になった後、通常インスタンスである待機系サーバ２１６を作成する。ここでは、待機系サーバ２０２が待機系サーバ２１６を作成する場合を説明する。インスタンス操作部２０８は、クラスタ構成情報２０５を参照し、クラウドサービスプロバイダ３０１に、待機系サーバ２０２と同じスペックの待機系サーバ２１６を通常インスタンスで作成させる。また、インスタンス操作部２０８は、ブロックストレージ２２３の接続先を、待機系サーバ２０２から作成した待機系サーバ２１６に切り替える。インスタンス操作部２０８は、待機系サーバ２１６上でサービス２２０を稼動させ、待機系サーバ２１６を現用系に切り替える。インスタンス操作部２０８は、現用系の切替え後、待機系サーバ２０２を終了させる。
【００４３】
待機系サーバ２１６が現用系となった後、現用系サーバ１０２が使用可能となると、フェイルバック処理が実行され、現用系サーバ１０２が現用系となる。現用系サーバ１０２のインスタンス操作部１０８は、フェイルバック後、余剰インスタンスを用いて待機系サーバ２０２を作成する。また、インスタンス操作部１０８は、ブロックストレージ２２３の接続先を待機系サーバ２０２に変更する。インスタンス操作部１０８は、待機系サーバ２０２のサービス２０６を待機状態にし、待機系サーバ２１６を終了させる。
【００４４】
なお、図２では、現用系サーバ１０２、並びに、待機系サーバ２０２、２０９、及び２１６においてそれぞれサービスが１つずつ実行される例を示しているが、これには限定されない。例えば、現用系サーバ１０２及び待機系サーバ２０２のそれぞれにおいて、複数のサービスが実行されることとしてもよい。また、上記では、待機系サーバ２０２又は２０９が、現用系サーバ１０２のサービス１０６が停止した場合にサービス２０６又は２１３を提供する例を説明したが、これには限定されない。ＨＡクラスタシステム１００は、現用系サーバ１０２と待機系サーバ２０２又は２０９との双方でサービスを稼動する双方向の高可用性クラスタシステムとして構成されてもよい。双方向の高可用性クラスタシステムでは、一方のサーバがサービス提供不可能な状況に陥った場合、他方のサーバにサービスがフェイルオーバされる。
【００４５】
以下、動作手順を説明する。図３は、待機系切替えにおける動作手順（クラスタシステム制御方法）を示す。ここでは、現用系サーバ１０２においてサービス１０６が正常に稼動しており、待機系サーバ２０２が待機状態であるとする。現用系サーバ１０２のインスタンス監視部１０７は、余剰インスタンスである待機系サーバ２０２を監視する（ステップＡ１）。インスタンス監視部１０７は、ステップＡ１では、例えば定期的にクラウドサービスプロバイダ３０１に、パブリッククラウド環境２０１の待機系サーバ２０２の状態を問い合わせる。
【００４６】
インスタンス監視部１０７は、待機系サーバ２０２が任意の時間の経過後に強制終了されるか否かを判断する（ステップＡ２）。インスタンス監視部１０７は、待機系サーバ２０２の強制終了が予告されていない場合は、ステップＡ１に戻り、待機系サーバ２０２の状態の監視を継続する。
【００４７】
インスタンス操作部１０８は、待機系サーバが強制終了されると判断された場合、パブリッククラウド環境２０１に新たな余剰インスタンスを作成させる（ステップＡ３）。インスタンス操作部１０８は、ステップＡ３では、クラスタ構成情報１０５に格納される情報に基づいて、クラウドサービスプロバイダ３０１に、スペックが待機系サーバ２０２と同一の余剰クラスタの作成を要求する。
【００４８】
クラウドサービスプロバイダ３０１は、要求に応じて、パブリッククラウド環境２０１に待機系サーバ２０９を作成する（ステップＡ４）。クラウドサービスプロバイダ３０１は、ステップＡ４では、高可用性クラスタソフト２１０がインストールされているイメージファイルをクラウドストレージ３０４から取得し、待機系サーバ２０９を余剰インスタンスとして作成する。
【００４９】
インスタンス操作部１０８は、パブリッククラウド環境２０１において、ブロックストレージ２２３の接続先を待機系サーバ２０２から待機系サーバ２０９に変更する（ステップＡ５）。インスタンス操作部１０８は、ステップＡ５では、クラウドサービスプロバイダ３０１経由で、待機系サーバ２０２からブロックストレージ２２３を取り外す。その後、インスタンス操作部１０８は、クラウドサービスプロバイダ３０１経由で、ステップＡ４で作成された待機系サーバ２０９にブロックストレージ２２３を接続する。
【００５０】
インスタンス操作部１０８は、クラウドサービスプロバイダ３０１から待機系サーバ２０９の情報を取得する。クラスタ制御部１０４は、取得された待機系サーバ２０９の情報に基づいて、クラスタ構成情報１０５を更新する（ステップＡ６）。クラスタ制御部１０４は、待機系サーバ２０９と通信を行い、現用系サーバ１０２内のクラスタ構成情報１０５と待機系サーバ２０９内のクラスタ構成情報２１２とを同期させる（ステップＡ７）。クラスタ制御部１０４は、ステップＡ７では、ＷＡＮ３０２を通じて待機系サーバ２０９のクラスタ制御部２１１と通信し、クラスタ構成情報１０５に基づいてクラスタ構成情報２１２を変更する。
【００５１】
現用系サーバ１０２は、ブロックストレージ１０９の差分データを、パブリッククラウド環境２０１のブロックストレージ２２３に書き込む（ステップＡ８）。現用系サーバ１０２は、ステップＡ８では、ブロックストレージ１０９において前回の差分データの書き込み時点から変更されたデータを、ブロックストレージ２２３に書き込む。このような手順を経て、待機系の切替えが完了する。
【００５２】
図４は、待機系サーバ２０２にフェイルオーバする際の動作手順を示す。現用系サーバ１０２で異常が発生した場合、待機系サーバ２０２が現用系となる（ステップＢ１）。仮に、フェイルオーバ前に待機系サーバ２０２が強制終了されていた場合は、待機系サーバ２０９が現用系となる。現用系となった待機系サーバ２０２のインスタンス操作部２０８は、パブリッククラウド環境２０１に通常インスタンスを作成する（ステップＢ２）。インスタンス操作部２０８は、ステップＢ２では、クラスタ構成情報２０５に格納される情報に基づいて、クラウドサービスプロバイダ３０１に、スペックが待機系サーバ２０２と同一の通常クラスタの作成を要求する。
【００５３】
クラウドサービスプロバイダ３０１は、要求に応じて、パブリッククラウド環境２０１に待機系サーバ２１６を作成する（ステップＢ３）。クラウドサービスプロバイダ３０１は、ステップＢ３では、高可用性クラスタソフト２１７がインストールされているイメージファイルをクラウドストレージ３０４から取得し、待機系サーバ２１６を通常インスタンスとして作成する。
【００５４】
インスタンス操作部２０８は、パブリッククラウド環境２０１において、ブロックストレージ２２３の接続先を待機系サーバ２０２から待機系サーバ２１６に変更する（ステップＢ４）。インスタンス操作部２０８は、ステップＢ４では、クラウドサービスプロバイダ３０１経由で、待機系サーバ２０２からブロックストレージ２２３を取り外す。その後、インスタンス操作部２０８は、クラウドサービスプロバイダ３０１経由で、ステップＢ３で作成した待機系サーバ２１６にブロックストレージ２２３を接続する。
【００５５】
クラスタ制御部２０４は、待機系サーバ２１６のクラスタ制御部２１８と通信し、クラスタ構成情報２０５に基づいて、待機系サーバ２１６のクラスタ構成情報２１９を変更する（ステップＢ５）。インスタンス操作部２０８は、待機系サーバ２０２内のサービス２０６を停止し、待機系サーバ２１６のサービス２２０を稼動させる（ステップＢ６）。この時点で、待機系サーバ２１６が現用系となる。
【００５６】
インスタンス操作部２２２は、クラウドサービスプロバイダ３０１に余剰インスタンスである待機系サーバ２０２の終了を要求する（ステップＢ７）。クラウドサービスプロバイダ３０１は、要求に従って待機系サーバ２０２を終了させる。
【００５７】
図５は、現用系サーバ１０２にフェイルバックする場合の動作手順を示す。現用系サーバ１０２が使用可能になると、現用系として動作している待機系サーバ２１６のクラスタ制御部２１８は、クラスタ構成情報２１９に基づいて、現用系サーバ１０２にフェイルバックする（ステップＣ１）。このフェイルバックは、通常のフェイルバックと同様な処理でよい。フェイルバックは、第三者が手動で行ってもよいし、現用系サーバ１０２又は待機系サーバ２１６が自動で行ってもよい。
【００５８】
フェイルバック後、現用系サーバ１０２のインスタンス操作部１０８は、パブリッククラウド環境２０１に新たな余剰インスタンスを作成する（ステップＣ２）。インスタンス操作部１０８は、ステップＣ２では、クラスタ構成情報１０５に格納される情報に基づいて、クラウドサービスプロバイダ３０１に、スペックが待機系サーバ２１６と同一の余剰クラスタの作成を要求する。
【００５９】
クラウドサービスプロバイダ３０１は、要求に応じて、パブリッククラウド環境２０１に待機系サーバ２０２を作成する（ステップＣ３）。クラウドサービスプロバイダ３０１は、ステップＣ３では、高可用性クラスタソフト２０３がインストールされているイメージファイルをクラウドストレージ３０４から取得し、待機系サーバ２０２を余剰インスタンスとして作成する。
【００６０】
インスタンス操作部１０８は、パブリッククラウド環境２０１において、ブロックストレージ２２３の接続先を待機系サーバ２１６から待機系サーバ２０２に変更する（ステップＣ４）。インスタンス操作部１０８は、ステップＣ４では、クラウドサービスプロバイダ３０１経由で、待機系サーバ２１６からブロックストレージ２２３を取り外す。その後、インスタンス操作部１０８は、クラウドサービスプロバイダ３０１経由で、ステップＣ３で作成した待機系サーバ２０２にブロックストレージ２２３を接続する。
【００６１】
インスタンス操作部１０８は、クラウドサービスプロバイダ３０１から待機系サーバ２０２の情報を取得する。クラスタ制御部１０４は、取得された待機系サーバ２０２の情報に基づいて、クラスタ構成情報１０５を更新する（ステップＣ５）。クラスタ制御部１０４は、待機系サーバ２０２と通信を行い、現用系サーバ１０２内のクラスタ構成情報１０５と待機系サーバ２０２内のクラスタ構成情報２０５とを同期させる（ステップＣ６）。クラスタ制御部１０４は、ステップＣ６では、ＷＡＮ３０２を通じて待機系サーバ２０２のクラスタ制御部２０４と通信し、クラスタ構成情報１０５に基づいてクラスタ構成情報２０５を変更する。
【００６２】
インスタンス操作部１０８は、クラウドサービスプロバイダ３０１に通常インスタンスである待機系サーバ２１６の終了を要求する（ステップＣ７）。クラウドサービスプロバイダ３０１は、要求に従って待機系サーバ２１６を終了させる。
【００６３】
現用系サーバ１０２は、ブロックストレージ１０９の差分データを、パブリッククラウド環境２０１のブロックストレージ２２３に書き込む（ステップＣ８）。現用系サーバ１０２は、ステップＣ８では、ブロックストレージ１０９において前回の差分データの書き込み時点から変更されたデータを、ブロックストレージ２２３に書き込む。このような手順を経て、待機系の切替えが完了する。
【００６４】
本実施形態では、現用系サーバ１０２は、余剰インスタンスである待機系サーバ２０２を監視するインスタンス監視部１０７を有する。インスタンス操作部１０８は、インスタンス監視部１０７において待機系サーバ２０２が強制終了されることが検知された場合、新たに余剰インスタンスを生成し、待機系サーバ２０９として動作させる。このようにすることで、ＨＡクラスタシステム１００は、待機系サーバ２０２が強制終了する前に、クラスタ構成を動的に変更することができる。
【００６５】
本実施形態では、待機系サーバ２０２及び２０９に余剰インスタンスを用いている。一般に、余剰インスタンスは通常インスタンスよりも低コストで利用できる。本実施形態では、待機系サーバ２０２が強制終了される場合、待機系サーバ２０９が余剰インスタンスとして作成され、待機系サーバ２０２の代替として動作する。このようにすることで、待機系サーバ２０２が強制終了される場合でも、現用系サーバ１０２の待機系として動作するサーバを確保することができる。このため、本実施形態では、待機系サーバ２０２に低コストで利用可能な余剰インスタンスを用いつつ、可用性の低下を抑制することができる。別の言い方をすると、本実施形態では、待機系サーバに強制終了される可能性があるインスタンスを用いて運用コストを抑えつつ、ＨＡクラスタシステム１００の可用性を確保することができる。
【００６６】
本実施形態では、フェイルオーバにより、余剰インスタンスである待機系サーバ２０２又は２０９が現用系となった場合、現用系となった待機系サーバ２０２又は２０９は、新たに通常インスタンスを作成し、待機系サーバ２１６として動作させる。待機系サーバ２０２又は２０９は、待機系サーバ２１６を現用系として動作させ、自身は終了する。このようにすることで、パブリッククラウド環境２０１において、待機系サーバ２１６を、現用系サーバ１０２の代替として動作させることができる。パブリッククラウド環境２０１において、通常インスタンスである待機系サーバ２１６は強制終了されないため、意図せずに代替動作する待機系サーバが強制終了され、サービスの提供が停止することを回避できる。
【００６７】
本実施形態では、現用系サーバ１０２にフェイルバックされた場合、現用系となった現用系サーバ１０２は、パブリッククラウド環境２０１に余剰インスタンスを作成し、待機系サーバ２０２として動作させる。また、現用系サーバ１０２は、フェイルバック前に現用系として動作していた待機系サーバ２１６を終了させる。このようにすることで、ＨＡクラスタシステム１００において、余剰インスタンスである待機系サーバ２０２を待機系として用いることができる。また、フェイルバック後は、通常インスタンスである待機系サーバ２１６を終了させることで、運用コストが高い通常インスタンスが使用される時間を最小限にとどめることができ、費用を削減することができる。
【００６８】
なお、上記実施形態では、現用系サーバ１０２がオンプレミス環境１０１に配置される例を説明したが、本開示はこれには限定されない。現用系サーバ１０２は、他者から強制終了されないサーバであればよく、例えばパブリッククラウド環境２０１において、通常インスタンスを用いて作成されてもよい。現用系サーバ１０２を通常インスタンスで稼動する場合、その通常インスタンスには、ブロックストレージが取り付けられる。その場合、現用系サーバ１０２として稼動する通常インスタンスと、ブロックストレージとは、同じパブリッククラウド環境に属する。
【００６９】
現用系サーバ１０２が通常インスタンスで稼動される場合、現用系サーバ１０２が属するクラウド環境と、待機系サーバ２０２、２０９、及び２１６が属するクラウド環境とは、必ずしも同一である必要はない。現用系サーバ１０２は、待機系サーバ２０２、２０９、及び２１６が属するパブリッククラウド環境２０１とは異なるクラウド環境に属していてもよい。その場合、現用系サーバ１０２は、待機系サーバ２０２、２０９、及び２１６と通信可能であればよい。
【００７０】
上記実施形態では、パブリッククラウド環境２０１の一例としてＡｍａｚｏｎ  ＥＣ２に言及したが、本開示はこれには限定されない。本開示において、ＨＡクラスタシステム１００は、待機系サーバがユーザの意思にかかわらず強制終了されるような性質を持つパブリッククラウド上の仮想マシンを用いて構成される。ＨＡクラスタシステム１００で利用されるパブリッククラウド環境２０１は、特に特定のベンダが提供するクラウド環境には限定されない。
【００７１】
上記実施形態では、ＨＡクラスタシステム１００が、現用系サーバ１０２と、待機系サーバ２０２又は２０９との２台のサーバを用いて構成される例を説明したが、本開示はこれには限定されない。ＨＡクラスタシステム１００において、現用系サーバと待機系サーバの台数に特に制限はない。ＨＡクラスタシステム１００は、所定の数の現用系サーバと、それと同数、又は異なる数の待機系サーバとを含んで構成されていてもよい。
【００７２】
上記各実施形態において、高可用性クラスタソフト１０３などのソフトウェア（プログラム）は、様々なタイプの非一時的なコンピュータ可読媒体を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記憶媒体を含む。非一時的なコンピュータ可読媒体の例は、例えばフレキシブルディスク、磁気テープ、又はハードディスクなどの磁気記録媒体、例えば光磁気ディスクなどの光磁気記録媒体、ＣＤ（compact disc）、又はＤＶＤ（digital versatile disk）などの光ディスク媒体、及び、マスクＲＯＭ（read only memory）、ＰＲＯＭ（programmable ROM）、ＥＰＲＯＭ（erasable PROM）、フラッシュＲＯＭ、又はＲＡＭ（random access memory）などの半導体メモリを含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体を用いてコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバなどの有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００７３】
以上、本開示の実施形態を詳細に説明したが、本開示は、上記した実施形態に限定されるものではなく、本開示の趣旨を逸脱しない範囲で上記実施形態に対して変更や修正を加えたものも、本開示に含まれる。
【００７４】
例えば、上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
【００７５】
［付記１］
サービスを実行するサービス実行手段を有する第１のサーバと、
前記第１のサーバにおいて前記サービスの実行に障害が発生した場合に、前記サービスの実行がフェイルオーバされる第２のサーバとを備え、
前記第２のサーバは、クラウド環境においてクラウドサービスプロバイダから強制終了させられる可能性がある第１の種別のインスタンスとして作成された仮想サーバであり、
前記第１のサーバは、更に、
前記第２のサーバが強制終了されるか否かを監視するインスタンス監視手段と、
前記第２のサーバが強制終了されることが検出された場合、前記クラウド環境に第３のサーバを前記第１の種別のインスタンスとして作成させ、前記第２のサーバが提供する機能を前記第３のサーバに引き継がせるインスタンス操作手段とを有するクラスタシステム。
【００７６】
［付記２］
前記第１のサーバは前記サービスの実行において使用される第１のストレージを含み、かつ前記クラウド環境は、前記第１のストレージと同じ内容のデータを記憶する第２のストレージを含み、
前記インスタンス操作手段は、前記第２のサーバが強制終了されることが検出された場合、前記第２のストレージの接続先を前記第２のサーバから前記第３のサーバに切り替える付記１に記載のクラスタシステム。
【００７７】
［付記３］
前記第２のサーバは、
前記サービスの実行がフェイルオーバされた後、前記クラウド環境に、第４のサーバをクラウドサービスプロバイダから強制終了されない第２の種別のインスタンスとして作成させ、前記第２のストレージの接続先を前記第２のサーバから前記第４のサーバに切り替え、前記第４のサーバにおいて前記サービスを実行させるインスタンス操作手段を有する付記２に記載のクラスタシステム。
【００７８】
［付記４］
前記第４のサーバは、前記サービスの実行の開始後、前記クラウドサービスプロバイダに、前記第２のサーバの終了を要求する付記３に記載のクラスタシステム。
【００７９】
［付記５］
前記第１のサーバが前記障害から復旧した場合、前記サービスの実行は前記第４のサーバから前記第１のサーバにフェイルバックされ、
前記第１のサーバのインスタンス操作手段は、前記クラウドサービスプロバイダに、前記第２のサーバを前記第１の種別のインスタンスとして作成させ、前記第２のストレージの接続先を前記第４のサーバから前記第２のサーバに切り替え、前記クラウドサービスプロバイダに前記第４のサーバの終了を要求する付記４に記載のクラスタシステム。
【００８０】
［付記６］
前記第１のサーバの前記インスタンス操作手段は、前記クラウドサービスプロバイダに、前記第２のサーバと同じ性能で前記第３のサーバを作成させる付記１から５何れか１つに記載のクラスタシステム。
【００８１】
［付記７］
前記第１のサーバは現用系として動作し、前記第２のサーバ及び前記第３のサーバは待機系として動作する付記１から６何れか１つに記載のクラスタシステム。
【００８２】
［付記８］
前記サービスの実行が前記第２のサーバにフェイルオーバされる前、前記第１のサーバは現用系として動作し、かつ前記第２のサーバは待機系として動作し、
前記サービスの実行がフェイルオーバされた後で、かつ前記第４のサーバにて前記サービスの実行が開始される前、前記第２のサーバは現用系として動作し、
前記第４のサーバにて前記サービスの実行が開始された後、前記第４のサーバは現用系として動作する付記３又は４に記載のクラスタシステム。
【００８３】
［付記９］
サービスを実行するサービス実行手段と、
クラウド環境においてクラウドサービスプロバイダから強制終了させられる可能性がある第１の種別のインスタンスとして作成され、かつ前記サービスの実行に障害が発生した場合に前記サービスの実行がフェイルオーバされる第１の仮想サーバが強制終了されるか否かを監視するインスタンス監視手段と、
前記第１の仮想サーバが強制終了されることが検出された場合、前記クラウド環境に第２の仮想サーバを前記第１の種別のインスタンスとして作成させ、前記第１の仮想サーバが提供する機能を前記第２の仮想サーバに引き継がせるインスタンス操作手段とを備えるサーバ。
【００８４】
［付記１０］
前記サービスの実行において使用される第１のストレージを更に有し、
前記クラウド環境は、前記第１のストレージと同じ内容のデータを記憶する第２のストレージを含んでおり、
前記インスタンス操作手段は、前記第１の仮想サーバが強制終了されることが検出された場合、前記第２のストレージの接続先を前記第１の仮想サーバから前記第２の仮想サーバに切り替える付記９に記載のサーバ。
【００８５】
［付記１１］
前記第１の仮想サーバは、前記サービスの実行がフェイルオーバされた後、前記クラウド環境に、第３の仮想サーバをクラウドサービスプロバイダから強制終了されない第２の種別のインスタンスとして作成させ、前記第２のストレージの接続先を前記第１の仮想サーバから前記第３の仮想サーバに切り替え、前記第３の仮想サーバにおいて前記サービスを実行させ、前記クラウドサービスプロバイダに前記第１の仮想サーバの終了を要求し、
前記インスタンス操作手段は、前記サービスの実行が前記第３の仮想サーバから前記サーバにフェイルバックされる場合、前記クラウドサービスプロバイダに、前記第１の仮想サーバを前記第１の種別のインスタンスとして作成させ、前記第２のストレージの接続先を前記第３の仮想サーバから前記第１の仮想サーバに切り替え、前記クラウドサービスプロバイダに前記第３の仮想サーバの終了を要求する付記１０に記載のサーバ。
【００８６】
［付記１２］
前記サービスの実行が前記第１の仮想サーバにフェイルオーバされる前、前記サーバは現用系として動作し、かつ前記第１の仮想サーバ又は前記第２の仮想サーバは待機系として動作する付記９から１１何れか１つに記載のサーバ。
【００８７】
［付記１３］
サーバにおいてサービスを実行し、
クラウド環境においてクラウドサービスプロバイダから強制終了させられる可能性があるインスタンスとして作成され、かつ前記サービスの実行に障害が発生した場合に前記サービスの実行がフェイルオーバされる第１の仮想サーバが強制終了されるか否かを監視し、
前記第１の仮想サーバが強制終了されることが検出された場合、前記クラウド環境に第２の仮想サーバを前記強制終了させられる可能性があるインスタンスとして作成させ、前記第１の仮想サーバが提供する機能を前記第２の仮想サーバに引き継がせるクラスタシステム制御方法。
【００８８】
［付記１４］
コンピュータに、
サービスを実行し、
クラウド環境においてクラウドサービスプロバイダから強制終了させられる可能性があるインスタンスとして作成され、かつ前記サービスの実行に障害が発生した場合に前記サービスの実行がフェイルオーバされる第１の仮想サーバが強制終了されるか否かを監視し、
前記第１の仮想サーバが強制終了されることが検出された場合、前記クラウド環境に第２の仮想サーバを前記強制終了させられる可能性があるインスタンスとして作成させ、前記第１の仮想サーバが提供する機能を前記第２の仮想サーバに引き継がせるための処理を実行させるためのプログラム。
【符号の説明】
【００８９】
１０：クラスタシステム
２０：第１のサーバ
２１：サービス実行手段
２２：インスタンス監視手段
２３：インスタンス操作手段
３０：第２のサーバ
４０：第３のサーバ
５０：クラウド環境
１００：高可用性クラスタシステム
１０１：オンプレミス環境
１０２：現用系サーバ
１０３、２０３、２１０、２１７：高可用性クラスタソフト
１０４、２０４、２１１、２１８：クラスタ制御部
１０５、２０５、２１２、２１９：クラスタ構成情報
１０６、２０６、２１３、２２０：サービス
１０７、２０７、２１４、２２１：インスタンス監視部
１０８、２０８、２１５、２２２：インスタンス操作部
１０９、２２３：ブロックストレージ
２０１：パブリッククラウド環境
２０２、２０９、２１６：待機系サーバ
３０１：クラウドサービスプロバイダ
３０３：インターネットゲートウェイ
３０４：クラウドストレージ
【図１】
2020129184.tif 000003
【図２】
2020129184.tif 000004
【図３】
2020129184.tif 000005
【図４】
2020129184.tif 000006
【図５】
2020129184.tif 000007