IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立製作所の特許一覧

特許7570245サーバ管理システム、サーバ管理方法及びサーバ管理プログラム
<>
  • 特許-サーバ管理システム、サーバ管理方法及びサーバ管理プログラム 図1
  • 特許-サーバ管理システム、サーバ管理方法及びサーバ管理プログラム 図2
  • 特許-サーバ管理システム、サーバ管理方法及びサーバ管理プログラム 図3
  • 特許-サーバ管理システム、サーバ管理方法及びサーバ管理プログラム 図4
  • 特許-サーバ管理システム、サーバ管理方法及びサーバ管理プログラム 図5
  • 特許-サーバ管理システム、サーバ管理方法及びサーバ管理プログラム 図6
  • 特許-サーバ管理システム、サーバ管理方法及びサーバ管理プログラム 図7
  • 特許-サーバ管理システム、サーバ管理方法及びサーバ管理プログラム 図8
  • 特許-サーバ管理システム、サーバ管理方法及びサーバ管理プログラム 図9
  • 特許-サーバ管理システム、サーバ管理方法及びサーバ管理プログラム 図10
  • 特許-サーバ管理システム、サーバ管理方法及びサーバ管理プログラム 図11
  • 特許-サーバ管理システム、サーバ管理方法及びサーバ管理プログラム 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-10
(45)【発行日】2024-10-21
(54)【発明の名称】サーバ管理システム、サーバ管理方法及びサーバ管理プログラム
(51)【国際特許分類】
   G06F 11/20 20060101AFI20241011BHJP
   G06F 11/07 20060101ALI20241011BHJP
【FI】
G06F11/20 633
G06F11/07 196
G06F11/07 140A
【請求項の数】 11
(21)【出願番号】P 2021014354
(22)【出願日】2021-02-01
(65)【公開番号】P2022117711
(43)【公開日】2022-08-12
【審査請求日】2023-05-31
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110002365
【氏名又は名称】弁理士法人サンネクスト国際特許事務所
(72)【発明者】
【氏名】西田 寿雄
(72)【発明者】
【氏名】中村 秀樹
【審査官】坂東 博司
(56)【参考文献】
【文献】特開2015-103092(JP,A)
【文献】特開2016-144189(JP,A)
【文献】特開2017-102834(JP,A)
【文献】特開2001-034495(JP,A)
【文献】再公表特許第2018/074043(JP,A1)
【文献】米国特許出願公開第2015/0046511(US,A1)
【文献】特開2003-091553(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/20
G06F 11/07
(57)【特許請求の範囲】
【請求項1】
所定の基準で複数の区分に分けて管理された複数のサーバリソースを用い、稼働系と待機系を異なる区分から選定してサービス提供サーバを冗長配置するサーバ管理システムであって、
前記区分の選定に必要な情報である選定情報を取得する選定情報入力部と、
前記選定情報入力部から入力された選定情報を記憶する選定情報記憶部と、
前記区分において発生した障害を示す障害情報を記憶する障害情報記憶部と、
前記稼働系及び/又は前記待機系に係る障害の発生状況に基づいて、追加の区分を新たに選定する選定部と、
前記選定部で選定した区分を出力する選定結果出力部と、を備え、
前記区分は、地理的な範囲をグループ化したリージョンであり、
前記サービス提供サーバは、前記リージョン内に設置されたデータセンタ上で稼働するものであり、
前記選定部は、前記選定情報により示される条件を満たす区分について、前記障害情報を参照して追加の区分を選定すること、
を特徴とするサーバ管理システム。
【請求項2】
請求項1に記載のサーバ管理システムであって
記選定部は、前記稼働系のリージョン及び/又は前記待機系のリージョンにおけるリージョン障害の発生を契機に、
前記障害情報記憶部に記憶された障害情報をもとに障害発生率の低い順にリージョンをソートし、
前記選定情報により示される条件を満たし、且つ、障害が起きていないリージョンでフィルタリングすることで得られる最も障害発生率の低いリージョンを選定すること、
を特徴とするサーバ管理システム。
【請求項3】
請求項2に記載のサーバ管理システムであって、
前記選定部は、前記稼働系のリージョンにおける障害の発生を契機に選定された追加のリージョンと予め待機系として選定されていたリージョンとを比較し、いずれのリージョンを新たな稼働系とするかを決定すること、
を特徴とするサーバ管理システム。
【請求項4】
請求項2に記載のサーバ管理システムであって、
前記選定部は、前記障害発生率として、過去の一定期間に対する障害発生回数をリージョン毎に算出した値を用いること、
を特徴とするサーバ管理システム。
【請求項5】
請求項2に記載のサーバ管理システムであって、
前記選定部は、前記障害発生率として、過去の一定期間に対する障害発生時間をリージョン毎に算出した値を用いること、
を特徴とするサーバ管理システム。
【請求項6】
請求項2に記載のサーバ管理システムであって、
前記選定部は、前記選定情報が抽出対象として指定する障害の種類及び/又は期間をもとにフィルタリングを行うこと、
を特徴とするサーバ管理システム。
【請求項7】
請求項2に記載のサーバ管理システムであって、
前記選定部は、前記選定情報により指定された拠点リージョンと通信距離の近いリージョンでのフィルタリングを実施すること、
を特徴とするサーバ管理システム。
【請求項8】
請求項2に記載のサーバ管理システムであって、
前記選定部は、前記選定情報により指定された法制度による制限を満たすリージョンのフィルタリングを実施すること、
を特徴とするサーバ管理システム。
【請求項9】
請求項1に記載のサーバ管理システムであって、
前記障害情報記憶部に記憶された前記障害情報から障害発生を予測する障害発生予測部を備え、
前記選定部は、
前記障害発生予測部により、前記サービス提供サーバが利用している区分の障害発生が予測された場合に追加の区分を選定すること、
を特徴とするサーバ管理システム。
【請求項10】
所定の基準で複数の区分に分けて管理された複数のサーバリソースを用い、稼働系と待機系を異なる区分から選定してサービス提供サーバを冗長配置するサーバ管理方法であって、
前記区分の選定に必要な情報である選定情報を取得して記憶するステップと、
前記区分において発生した障害を示す障害情報を取得して記憶するステップと、
前記稼働系及び/又は前記待機系に係る障害の発生状況に基づいて、追加の区分を新たに選定する選定ステップと、
前記選定ステップで選定した区分を出力する選定結果出力ステップと、を含み、
前記区分は、地理的な範囲をグループ化したリージョンであり、
前記サービス提供サーバは、前記リージョン内に設置されたデータセンタ上で稼働するものであり、
前記選定ステップは、前記選定情報により示される条件を満たす区分について、前記障害情報を参照して追加の区分を選定すること、
を特徴とするサーバ管理方法。
【請求項11】
所定の基準で複数の区分に分けて管理された複数のサーバリソースを用い、稼働系と待機系を異なる区分から選定してサービス提供サーバを冗長配置するサーバ管理プログラムであって、
コンピュータが、
前記区分の選定に必要な情報である選定情報を取得して記憶するステップと、
前記区分において発生した障害を示す障害情報を取得して記憶するステップと、
前記稼働系及び/又は前記待機系に係る障害の発生状況に基づいて、追加の区分を新たに選定する選定ステップと、
前記選定ステップで選定した区分を出力する選定結果出力ステップと、を実行し、
前記区分は、地理的な範囲をグループ化したリージョンであり、
前記サービス提供サーバは、前記リージョン内に設置されたデータセンタ上で稼働するものであり、
前記選定ステップは、前記選定情報により示される条件を満たす区分について、前記障害情報を参照して追加の区分を選定すること、
を特徴とするサーバ管理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サーバ管理システム、サーバ管理方法及びサーバ管理プログラムに関する。
【背景技術】
【0002】
クラウドサービスでは、サーバ、ストレージ、アプリケーション(以下、マネージドサービスとする)などのコンピューティングリソースがインターネット経由で提供されており、これらのリソースを利用し、自由にシステムを構築、クラウド上でサービス提供を行うことが可能になっている。また、システム運用におけるサーバ増強や負荷分散などの機能も提供されており、オンプレミスでの運用に比べてシステム管理コストや運用負担を大幅に削減できる。これにより、多くの企業がクラウドを利用したサービス提供を実施している。
【0003】
一方で、クラウドベンダにおいては、過去に大規模障害が発生しており、障害の発生したリージョンやリソースを利用しているユーザシステムが停止する事例が発生している。これに対し、クラウドベンダは、障害発生時におけるシステムの継続稼働を実現するため、システムを複数の拠点に配置することで冗長化し、運用を行うマルチAZ(Availability Zone)やマルチリージョンといった構成を組むことを推奨している。例えば、マルチリージョン構成を組んだ場合、マスタ環境(稼働系)となるシステムを配置したリージョンがプライマリリージョン、スレーブ環境(待機系)となる冗長化システムを配置したリージョンがセカンダリリージョンとなる。もし、プライマリリージョンに障害が発生した場合には、自動的にセカンダリリージョンがプライマリリージョンに昇格するフェイルオーバー機能も提供されており、障害発生時のシステム継続稼働を実現する。
【0004】
ここで、クラウドサービスの提供するマネージドサービスを利用するユーザシステムをマルチリージョン構成で運用することを考える。仮にプライマリリージョンで障害が発生した場合、セカンダリリージョンがプライマリリージョンとなってシステムを継続稼働させることになる。この状態では単一リージョンでの運用となるため、更なるリージョン障害に備え、新たなリージョンに冗長システムを配置し、セカンダリリージョンを構築することが必要となる。しかし、リージョンよって提供可能なマネージドサービスは異なっており、ユーザシステムが利用するマネージドサービスを提供可能なリージョンを選定する必要がある。このニーズに応える機能はクラウドベンダから提供されておらず、人手で実施するため工数を要する。この負担を軽減する方法として、特許文献1がある。特許文献1には、「クラウドサービスプロバイダのデータセンタ間通信を伴う複数コンポーネントの組み合わせによるシステム構成に際して、ユーザ所望のコンポーネント要件に加え、データセンタ間通信の要件にも配慮したシステム構成案の生成を可能とする。」という記載がある。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2015-219795号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1では、ユーザ所望のコンポーネント要件を考慮したシステム構成案の生成方法について開示されており、ユーザシステムが利用するマネージドサービスを提供可能なリージョンの選定は実現できると考えられる。しかし、可用性向上の観点では、過去に発生した障害を考慮した高稼働率リージョンの選定が必要である。特許文献1では、障害発生を踏まえたリージョン選定は配慮していないため、障害が多発するリージョンを選定した場合には、システム再構築作業が繰り返し必要になる可能性がある。
【0007】
また、先に述べた通り、マルチリージョン構成において、プライマリリージョンに障害が発生した場合には、セカンダリリージョンがプライマリリージョンとなりシステムを継続稼働させることになるが、このプライマリリージョンは必ずしもユーザシステムにとって最適なリージョンであるとは限らない。例えば、ユーザシステムが国内向けにサービス提供を行う場合に、プライマリリージョンを国内リージョン、セカンダリリージョンをリソース使用料の安い海外リージョンとしてマルチリージョン構成を組んでいたとする。この状態でプライマリリージョンに障害が発生すると、海外リージョンがプライマリリージョンに昇格し、ユーザシステムのマスタ環境としてサービスを継続することになる。この場合、海外リージョンから提供されるサービスを国内ユーザが利用することになるため、レイテンシが大きくなってしまう。そのため、マルチリージョン構成におけるシステム運用では、プライマリリージョンの適切性についても監視する必要がある。なお、このような課題は、リージョンに限らずクラスタなど所定の基準で複数の区分に分けて管理された複数のサーバリソースを用いて冗長構成を構築する場合に生ずるものである。
【0008】
そこで、本発明は、所定の基準で複数の区分に分けて管理された複数のサーバリソースを用いるシステムにおいて、各区分の障害の発生状況に応じた区分の選定を実現することを1つの目的とする。
【課題を解決するための手段】
【0009】
かかる課題を解決するため本発明においては、一態様として、所定の基準で複数の区分に分けて管理された複数のサーバリソースを用い、稼働系と待機系を異なる区分から選定してサービス提供サーバを冗長配置するサーバ管理システムであって、前記区分の選定に必要な情報である選定情報を取得する選定情報入力部と、前記選定情報入力部から入力された選定情報を記憶する選定情報記憶部と、前記区分において発生した障害を示す障害情報を記憶する障害情報記憶部と、前記稼働系及び/又は前記待機系に係る障害の発生状況に基づいて、追加の区分を新たに選定する選定部と、前記選定部で選定した区分を出力する選定結果出力部と、を備え、前記選定部は、前記選定情報により示される条件を満たす区分について、前記障害情報を参照して追加の区分を選定すること、を特徴とする。
【発明の効果】
【0010】
本発明によれば、所定の基準で複数の区分に分けて管理された複数のサーバリソースを用いるシステムにおいて、各区分の障害の発生状況に応じた区分の選定を実現することができる。
【図面の簡単な説明】
【0011】
図1】実施例1におけるリージョン選定システムの機能構成例を示す図である。
図2】実施例1におけるリージョン選定情報記憶部の情報の具体例を示す図である。
図3】実施例1における障害情報記憶部の情報の具体例を示す図である。
図4】実施例1におけるリージョン選定システムを適用した具体例を示す図である。
図5】実施例1における障害情報取得部による障害情報の定期取得処理とリージョン選定部へのリージョン選定実行指示の流れを示すフローチャートの例である。
図6】実施例1におけるリージョン選定部によるリージョン選定処理の流れを示すフローチャートの例である。
図7】実施例1における障害発生率の算出例を説明する図である。
図8】実施例1におけるリージョン別マネージドサービス提供状況の例を示す図である。
図9】実施例2におけるリージョン選定システムの機能構成例を示す図である。
図10】実施例2における障害発生予測部による障害発生の定期予測処理とリージョン選定部へのリージョン選定実行指示の流れを示すフローチャートの例である。
図11】実施例2における障害発生予測方法の例を説明する図である。
図12】リージョン選定システムを実現するコンピュータのハードウェア例を示す図である。
【発明を実施するための形態】
【0012】
以下、図面を用いて実施例を説明する。なお、下記はあくまでも実施の例に過ぎず、下記具体的内容に発明自体が限定されることを意図するものではない。
また、以下の説明において、同一または類似の要素および処理に同一の符号を付し、重複説明を省略する。また、後出の実施例では、既出の実施例との差異のみを説明し、重複説明を省略する。
また、以下の実施例の説明および各図で示す構成および処理は、本発明の理解および実施に必要な程度で実施例の概要を示すものであり、本発明に係る実施の態様を限定することを意図する趣旨ではない。また、各実施例および各変形例は、本発明の趣旨を逸脱せず、互いに整合する範囲内で、一部または全部を組合せることができる。
【実施例1】
【0013】
本実施例では、ユーザシステムを配置した第1のリージョンと、ユーザシステムを冗長配置した第2のリージョンから構成されるシステムにおいて、リージョン障害が発生した場合に、ユーザシステムの利用するマネージドサービスを提供可能で高稼働率なリージョンを新たに利用するリージョンとして選定するとともに、障害の起きていないリージョンについてもサービス提供に適切なリージョンであるかを判断し、改めてリージョン選定を実行する処理を示す。
【0014】
まず、本実施例におけるサーバ管理システムであるリージョン選定システムSの機能構成例について図1を用いて説明する。図1は、実施例1におけるリージョン選定システムSの機能構成例を示す図である。図1に示すように、リージョン選定システムSは、リージョン選定情報入力部100、リージョン選定情報記憶部101、障害情報取得部104、障害情報記憶部105、リージョン選定部106、リージョン選定結果出力部107を含んで構成される。また、リージョン選定システムSがリージョン障害を取得するための連携部として、障害情報提供サーバ102、ネットワーク103を記載している。
【0015】
初めに、リージョン選定情報入力部100によるリージョン選定情報記憶部101への情報登録について説明する。リージョン選定情報入力部100は、リージョン選定システムSを利用するユーザによる情報入力、リージョン選定システムSを構成する機能による情報入力、リージョン選定の対象となるユーザシステム(以下、サービス提供サーバとする)による情報入力に対応する。
【0016】
ここで、本実施例におけるリージョン選定情報記憶部101の情報について図2を用いて説明する。図2は、実施例1におけるリージョン選定情報記憶部の情報の具体例を示す図である。図2に示すように、リージョン選定情報記憶部101にはリージョン選定に必要な情報が記憶されている。本実施例では、過去に発生した障害情報をもとに高稼働率なリージョンを選定する。
【0017】
#1「抽出対象とする障害」は、利用する障害情報の種類を設定する。すべてのマネージドサービス障害を対象とする他、サービス提供サーバが利用するマネージドサービスだけを対象とするなど、任意の設定を可能とする。
#2「抽出対象とする障害情報の期間」は、利用する障害情報の期間について任意の設定を可能とする。
#3「サービス提供サーバの利用するマネージドサービス」は、サービス提供サーバの稼働に必要なマネージドサービスを設定するものであり、リージョン選定においては、ここに設定されたマネージドサービスを提供可能なリージョンを選定することになる。ここでは、EC2(Elastic Compute Cloud)とRDS(Relational Database Service)を例として挙げているが、これらはクラウドベンダの提供するマネージドサービスの一例である。
#4「サービス提供サーバの拠点リージョン」は、サービス提供サーバがサービス提供を行う拠点を設定するものであり、リージョン選定においては、ここに設定されたリージョンもしくは近郊のリージョンを選定することでレイテンシ低減を図る。
#5「サービス提供サーバのプライマリリージョン」および#6「サービス提供サーバのセカンダリリージョン」は、現在のサービス提供サーバを配置しているリージョン情報を設定するものであり、新たなリージョン選定では、ここに設定されたリージョン以外のリージョンを選定することになる。
#7「法制度に基づいた利用可能リージョン」は、法制度上の理由で特定のリージョンのみ使用可能な場合に設定を行うものである。例えば、欧州ではGDPR(General Data Protection Regulation)と呼ばれる欧州外への個人データ流出を保護する法律がある。もし、サービス提供サーバが、この法律の保護対象となるデータを含む場合には、新たなリージョンを欧州内のリージョンから選定することが求められる。このような対応が必要な場合は、利用可能リージョンを設定しておくことでリージョン選定に利用する。
#8「待機時間」は、障害を検知してから新たなリージョン選定の開始までに待機する時間を示す。すなわち、障害が短期間に復旧することを想定し、リージョン選定処理を行わずに待機することのできる時間である。
なお、先に述べた通り、#1~#8の情報は、リージョン選定システムSを利用するユーザによる入力、リージョン選定システムSを構成する機能による入力、リージョン選定の対象となるサービス提供サーバによる入力、何れの入力による設定でも構わない。また、デフォルト値を予め設定しておき、何の設定もされない場合には、これを利用するようにしてもよい。
【0018】
次に、障害情報取得部104による障害情報記憶部105への情報登録について説明する。障害情報取得部104は、リージョン選定システムSとインターネットで接続された障害情報提供サーバ102より、ネットワーク103を介してリージョン障害情報を取得し、リージョン選定に必要な情報を抽出して障害情報記憶部105に設定する。この処理を定期的に実行することで、障害情報記憶部105には過去の障害情報が蓄積されていくことになる。
【0019】
ここで、本実施例における障害情報記憶部105の情報について図3を用いて説明する。図3は、実施例1における障害情報記憶部の情報の具体例を示す図である。図3に示すように、障害情報記憶部105には過去の障害情報が記憶されている。本実施例では、過去に発生した障害情報をもとに高稼働率なリージョンを選定する。そこで利用する情報を記憶するのが障害情報記憶部105である。
【0020】
#1「障害発生リージョン」は、障害が発生したリージョンを設定する。
#2「障害発生マネージドサービス」は、障害が発生した具体的なマネージドサービスを設定する。
#3「障害発生日時」は、障害が発生した日時を設定する。
#4「障害復旧日時」は、障害から回復した日時を設定する。
【0021】
最後に、リージョン選定部106によるリージョン選定について説明する。リージョン選定部106の処理は、障害情報取得部104による障害情報提供サーバ102からの障害情報取得処理において、サービス提供サーバの配置されたリージョンに関する障害情報の取得を契機に実行される。
【0022】
リージョン選定部106は、障害情報記憶部105に記憶された障害情報を取得し、リージョン選定情報記憶部101に記憶された情報を利用することで、リージョン別の稼働率の算出および選定リージョンのフィルタリングを実施することにより、サービス提供サーバの利用するマネージドサービスを提供可能で高稼働率なリージョンを選定する。また、サービス提供サーバを配置したリージョンのうち、障害の起きていないリージョンについてもサービス提供に適切なリージョンであるかを判断し、必要に応じてリージョン選定を実行する。
【0023】
リージョン選定部106が選定したリージョンは、リージョン選定結果出力部107を介して出力される。出力先は、リージョン選定システムSを利用するユーザに対する画面表示やテキスト等による出力でもよいし、選定リージョンにサービス提供サーバを構築するシステムに出力することで環境の自動構築を可能にしてもよい。
【0024】
ここで、本実施例におけるリージョン選定システムSの構成を具体化した例について、図4を用いて説明する。図4は、実施例1におけるリージョン選定システムを適用した具体例を示す図である。ここでは、リージョン選定システムSによるリージョン選定の対象となるサービス提供サーバが、クラウドベンダ400上に構築されている場合の一例について示す。サービス提供サーバは、クラウドベンダ400の提供するリージョンAおよびリージョンBに配置することで冗長化を図っており、各リージョン内に設置されたデータセンタ401上で稼働する。
【0025】
サービス提供サーバの提供サービスを利用するユーザは、サービス利用ユーザ端末402を使用し、ネットワーク103を介してサービスを利用する。なお、サービス利用ユーザ端末402からクラウドベンダ400上のサービス提供サーバへのアクセスはクラウドベンダ400により制御されており、サービス利用ユーザ端末402の設置場所や同時アクセス数に応じてリージョンAあるいはリージョンBに動的に振り分けが行われる。これにより、一方のリージョンで障害が発生した場合、もう一方のリージョンで稼働しているサービス提供サーバへのアクセスに切り替えることで、サービス利用ユーザ端末402に対して障害の影響を与えることなくサービスを継続提供することが可能になっている。しかし、一方のリージョンで障害が発生した場合、単一リージョンでのサービス提供となるため、更なるリージョン障害に備え、新たなリージョンに冗長システムを再構築することがリージョン選定システムSの役割となる。
【0026】
次に、本実施例におけるリージョン選定システムの処理の流れの一例について、図5および図6のフローチャートを用いて説明する。
図5は、実施例1における障害情報取得部による障害情報の定期取得処理とリージョン選定部へのリージョン選定実行指示の流れを示すフローチャートの例である。障害情報の定期取得処理は、一例として、一定周期で定期的に実行される。
【0027】
まず、障害情報取得部104は、ネットワーク103を介して、障害情報提供サーバ102にアクセスすることで障害情報を取得し、障害情報記憶部105に情報を蓄積する(S501)。もし、S501でサービス提供サーバが利用しているリージョンにおける障害情報を取得した場合(S502Yes)、障害情報取得部104は、リージョン選定処理の待機時間が経過したか否かを判定する(S503)。障害情報取得部104は、待機時間が経過していなければ(S503No)、S502に戻る。待機時間が経過したならば(S503Yes)、障害情報取得部104は、リージョン選定部106に対してリージョン選定処理の実行を指示する(S504)。
【0028】
一方、S501でサービス提供サーバが利用しているリージョンにおける障害情報を取得していない場合(S502No)、障害情報取得部104は、一定時間経過したか否かを判定し(S505)、一定時間経過後(S505Yes)、再度ネットワーク103を介して、障害情報提供サーバ102にアクセスすることで障害情報を取得し、障害情報記憶部105に情報を蓄積する(S501)。これにより、所定周期での定期的な障害情報の取得およびサービス提供サーバが利用しているリージョンにおける障害情報の検知を実現する。
【0029】
図6は、実施例1におけるリージョン選定部によるリージョン選定処理の流れを示すフローチャートの例である。なお、本フローチャートは、先に述べた障害情報取得部104によるリージョン選定処理の実行指示(S503)を契機に実行される。また、本実施例では、プライマリリージョンに障害が発生した場合のリージョン選定について示す。状況としては、プライマリリージョンに障害が発生し、セカンダリリージョンがプライマリリージョンに昇格、単一リージョンでサービス提供サーバを稼働させている状態からのリージョン選定処理を想定する。
【0030】
まず、リージョン選定部106は、障害情報記憶部105から障害情報を取得する(S601)。次に、リージョン選定情報記憶部101のリージョン選定情報を参照、#1「抽出対象とする障害」と#2「抽出対象とする障害情報の期間」を取得し、これらの情報をもとにS601で取得した障害情報をフィルタリングする(S602)。次に、フィルタリングされた障害情報をもとにリージョン別の障害発生率を算出し、障害発生率の低い順にリージョンをソートする(S603)。
【0031】
ここで、障害発生率の算出方法について図7を用いて説明する。図7は、実施例1における障害発生率の算出例を示す図である。まず、S602で取得した#2「抽出対象とする障害情報の期間」からその日数(X日)を算出する。続いて、S602でフィルタリングした障害情報からリージョン別の障害発生回数(Y回)を算出する。そして、Y/Xを計算することで障害発生率を算出する。
【0032】
S603では、このようにして求められた障害発生率を用いてソートを実施する。次に、リージョン選定情報記憶部101のリージョン選定情報を参照、#3「サービス提供サーバの利用するマネージドサービス」を取得し、S603で障害発生率の低い順にソートされたリージョン一覧に対して、該当サービスが提供されているリージョンでフィルタリングする(S604)。
【0033】
S604におけるフィルタリングに利用する情報について図8を用いて説明する。図8は、実施例1におけるリージョン別マネージドサービス提供状況の例を示す図である。このように、各マネージドサービスと提供可能リージョンを紐づけたリストを予め準備し、リージョン選定システムSに保持させておく。例えば、リージョン選定情報記憶部101に記憶させておけばよい。S604では、このリストを用いてフィルタリングを実施する。
【0034】
次に、リージョン選定情報記憶部101のリージョン選定情報を参照、#4「サービス提供サーバの拠点リージョン」を取得し、S604でフィルタリングしたリージョン一覧に対して、該当リージョンに近いリージョンでフィルタリングする(S605)。該当リージョンに近いリージョンというのは、近郊のエリアに存在するリージョンのことであり、例えば、日本では東京リージョンと大阪リージョン、米国西部では北カリフォルニアリージョンとオレゴンリージョン等が近郊リージョンとなる。
【0035】
#4「サービス提供サーバの拠点リージョン」はサービス提供サーバがサービスを提供したい拠点であるため、そこに近いリージョンを選定することでレイテンシを低くすることが可能になる。次に、リージョン選定情報記憶部101のリージョン選定情報を参照して、#5「サービス提供サーバのプライマリリージョン」と#6「サービス提供サーバのセカンダリリージョン」を取得し、S605でフィルタリングしたリージョン一覧に対して、サービス提供サーバを配置していないリージョンでフィルタリングすることで新たなリージョンを選定することができる(S606)。
【0036】
次に、障害情報記憶部105を参照、現在、障害が起きていないリージョンでフィルタリングする(S607)。S607のフィルタリングの結果、残っているリージョン一覧の中で最も障害発生率の低いリージョンを新たなセカンダリリージョンに選定する(S608)。
【0037】
この時点で、プライマリリージョンになっているのは、障害が発生する前にセカンダリリージョンで稼働していたものである。もし、リソース使用料が安い等の理由でセカンダリリージョンを設定していた場合、海外リージョンから提供されるサービスを国内ユーザが利用するような状況に陥る可能性があり、その場合はレイテンシが大きくなってしまう。そこで、リージョン選定情報記憶部101のリージョン選定情報を参照、#4「サービス提供サーバの拠点リージョン」を取得、現状のプライマリリージョンについても該当リージョンに近いリージョンになっているかを確認する(S609)。
【0038】
もし、近郊リージョンになっている場合(S609Yes)、リージョン選定処理は終了する。一方、近郊リージョンになっていない場合(S609No)、セカンダリリージョンをプライマリリージョンに昇格させる(S610)。このとき、プライマリリージョンとして単一稼働していたリージョンはセカンダリリージョンに降格する。
【0039】
セカンダリリージョンとして予め選定されていたリージョンは、コストを重視して性能を抑えている場合があるので、セカンダリからプライマリに昇格していたとしても、新たに選定したリージョンの方が性能が良好であるケースが発生する。この場合には、元々セカンダリとして選定していたリージョンをセカンダリに戻し、新たに選定したリージョンをプライマリとして用いるのである。
【0040】
本実施例によれば、サービス提供サーバを配置した第1のリージョンと、サービス提供サーバを冗長配置した第2のリージョンから構成されるシステムにおいて、リージョン障害が発生した場合に、サービス提供サーバの利用するマネージドサービスを提供可能で高稼働率なリージョンを新たに利用するリージョンとして選定することができる。また、障害の起きていないリージョンについてもサービス提供に適切なリージョンであるかを判断し、必要に応じて最適なリージョン選定を実行することができる。
【実施例2】
【0041】
本実施例では、ユーザシステムを配置した第1のリージョンと、ユーザシステムを冗長配置した第2のリージョンから構成されるシステムにおいて、リージョン障害の発生が見込まれる場合に、ユーザシステムの利用するマネージドサービスを提供可能で高稼働率なリージョンを新たに利用するリージョンとして選定するとともに、障害の起きていないリージョンについてもサービス提供に適切なリージョンであるかを判断し、改めてリージョン選定を実行する処理を示す。
【0042】
まず、本実施例におけるリージョン選定システムSの機能構成例について図9を用いて説明する。図9は、実施例2におけるリージョン選定システムSの機能構成例を示す図である。実施例1におけるリージョン選定システムSの機能構成例である図1と比較して、障害発生予測部901を含む点が異なり、その他は同一である。
【0043】
実施例1では、リージョン選定部106の処理が、障害情報取得部104による障害情報提供サーバ102からの障害情報取得処理において、サービス提供サーバの配置されたリージョンに関する障害情報の取得を契機に実行される構成について示したが、本実施例では、障害情報記憶部105の情報をもとに障害発生予測部901が障害の発生を予測し、サービス提供サーバの配置されたリージョンにおける障害が見込まれる場合に、リージョン選定部106によるリージョン選定処理を実行する点が異なる。以下、この差異についてのみ説明する。
【0044】
本実施例におけるリージョン選定システムの処理の流れの一例について、図10のフローチャートを用いて説明する。図10は、実施例2における障害発生予測部による障害発生の定期予測処理とリージョン選定部へのリージョン選定実行指示の流れを示すフローチャートの例である。障害発生の定期予測処理は、一定周期で定期的に実行される。まず、障害発生予測部901は、障害情報記憶部105から障害情報を取得することで、サービス提供サーバが利用しているリージョンの障害発生を予測する(S1001)。
【0045】
ここで、障害発生の予測方法について、図11を用いて説明する。図11は、実施例2における障害発生予測方法の例を説明する図である。まず、障害情報記憶部105に記憶された障害情報をもとに、プライマリリージョンとセカンダリリージョンにおける半年ごとの障害発生回数を算出する。図11では、第1の期間として2019/01/01~2019/06/30、第2の期間として2019/07/01~2019/12/31、第3の期間として2020/01/01~2020/06/30を設定し、それぞれの期間の日数(X日)と、その期間における障害発生回数(Y回)を算出した結果を示している。そして、Y/Xを計算することで障害発生率を算出し、障害発生率の増減を半年前比として求めている。
【0046】
この障害発生率の増減からリージョンの障害発生を予測する。例えば、プライマリリージョンについては、障害発生率の半年前比が増加傾向にあり、今後の障害発生が見込まれると考えられる。一方、セカンダリリージョンについては、障害発生率の半年前比が減少傾向にあり、今後の障害発生は起こりにくいと考えられる。このようにして、S1001では障害発生の予測を行うことができる。
【0047】
もし、S1001でサービス提供サーバが利用しているリージョンにおける障害発生が見込まれた場合(S1002Yes)、障害発生予測部901は、リージョン選定部106に対してリージョン選定処理の実行を指示する(S1003)。
一方、S1002でサービス提供サーバが利用しているリージョンにおける障害発生が起こりにくいと判断した場合(S1002No)、障害発生予測部901は、一定時間経過したか否かを判定し(S1004)、一定時間経過後(S1004Yes)、再度、障害情報記憶部105から障害情報を取得することで、サービス提供サーバが利用しているリージョンの障害発生を予測する(S1001)。これにより、所定周期での定期的な障害発生予測を実現する。
なお、S1003でリージョン選定部106に対してリージョン選定処理の実行が指示された場合、リージョン選定部106は図6に示したフローチャートに基づいたリージョン選定処理を実行する。
【0048】
本実施例によれば、サービス提供サーバを配置した第1のリージョンと、サービス提供サーバを冗長配置した第2のリージョンから構成されるシステムにおいて、リージョン障害が発生が見込まれた場合に、サービス提供サーバの利用するマネージドサービスを提供可能で高稼働率なリージョンを新たに利用するリージョンとして選定することができる。
また、障害の起きていないリージョンについてもサービス提供に適切なリージョンであるかを判断し、必要に応じて最適なリージョン選定を実行することができる。
本実施例では、プライマリリージョンの選定を示したが、セカンダリリージョンについても同様に、障害発生予測に基づいておこなうことが可能である。このとき、プライマリとセカンダリで、選定の条件を異ならせてもよい。
【0049】
なお、上述の実施例1の図5、および、実施例2の図10では、定期処理の実行について示したが、その間隔については、リージョン選定システムSの提供者が予め設定したものを使用するほか、リージョン選定システムSの利用者が任意の間隔を設定および変更してもよい。任意の間隔を設定する方法としては、リージョン選定情報記憶部101の中に、定期処理の実行間隔を記憶する領域を設け、定期処理を実行する障害情報取得部104あるいは障害発生予測部901がその情報を読み出すことで実現可能である。このとき、リージョン選定情報記憶部101に対する定期処理の実行間隔の格納手段としては、リージョン選定システムSの利用者によるリージョン選定情報入力部100からの入力操作により実現できる。この他、プライマリからセカンダリへのフェイルオーバーが発生したことを契機に選定を開始することも可能である。
【0050】
また、上述の実施例では、リージョン選定システムSを適用した具体例を図4に示した。その説明において、リージョン選定システムSによるリージョン選定の対象となるサービス提供サーバの例を示したが、このパブリッククラウドサービスとしては、任意のクラウドサービスを利用することができる。
【0051】
また、上述の実施例では、リージョンにおける障害の発生および発生予測に基づいたリージョン選定システムについて示したが、障害の発生および発生予測と、それに伴う環境再構築手法については、リージョン以外に適用しても構わない。例えば、リージョン内の独立したロケーションであるアベイラビリティゾーンの冗長構成再構築に適用してもよい。さらに、リージョンやアベイラビリティゾーンのような物理的なロケーションに限らず、クラスタのような仮想的な集合体の冗長構成再構築に適用してもよい。
【0052】
図12は、リージョン選定システムSを実現するコンピュータのハードウェア例を示す図である。リージョン選定システムSを実現するコンピュータ5000は、CPU(Central Processing Unit)に代表されるプロセッサ5300、RAM(Random Access Memory)等のメモリ5400、入力装置5600(例えばキーボード、マウス、タッチパネル等)、および出力装置5700(例えば外部ディスプレイモニタに接続されたビデオグラフィックカード)が、メモリコントローラ5500を通して相互接続される。
【0053】
コンピュータ5000において、所定のプログラムがI/O(Input/Output)コントローラ5200を介してSSDやHDD等の外部記憶装置5800から読み出されて、プロセッサ5300およびメモリ5400の協働により実行されることにより、リージョン選定システムSが実現される。あるいは、リージョン選定システムSを実現するための各プログラムは、ネットワークインターフェース5100を介した通信により外部のコンピュータから取得されてもよい。または、リージョン選定システムSを実現するためのプログラムは、可搬型記憶媒体に格納され、媒体読み取り装置によって読み取られて、プロセッサ5300およびメモリ5400の協働により実行されてもよい。
【0054】
以上説明したように、実施例に係るサーバ管理システムであるリージョン選定システムSは、所定の基準で複数の区分に分けて管理された複数のサーバリソースを用い、稼働系と待機系を異なる区分から選定してサービス提供サーバを冗長配置するサーバ管理システムであって、前記区分の選定に必要な情報である選定情報を取得するリージョン選定情報入力部100と、前記リージョン選定情報入力部100から入力された選定情報を記憶するリージョン選定情報記憶部101と、前記区分において発生した障害を示す障害情報を記憶する障害情報記憶部105と、前記稼働系及び/又は前記待機系に係る障害の発生状況に基づいて、追加の区分を新たに選定するリージョン選定部106と、前記リージョン選定部106で選定した区分を出力するリージョン選定結果出力部107と、を備える。
そして、前記リージョン選定部106は、前記選定情報により示される条件を満たす区分について、前記障害情報を参照して追加の区分を選定する。
かかる構成及び動作により、所定の基準で複数の区分に分けて管理された複数のサーバリソースを用いるシステムにおいて、各区分の障害の発生状況に応じた区分の選定を実現することができる。
【0055】
また、前記区分は、地理的な範囲をグループ化したリージョンであり、前記リージョン選定部106は、前記稼働系のリージョン及び/又は前記待機系のリージョンにおけるリージョン障害の発生を契機に、前記障害情報記憶部に記憶された障害情報をもとに障害発生率の低い順にリージョンをソートし、前記選定情報により示される条件を満たし、且つ、障害が起きていないリージョンでフィルタリングすることで得られる最も障害発生率の低いリージョンを選定する。
このため、稼働系や待機系にリージョンの障害情報が公開された場合に、速やかに追加のリージョンを選定することができ、単一リージョンでの稼働を抑制することができる。
【0056】
また、前記リージョン選定部106は、前記稼働系のリージョンにおける障害の発生を契機に選定された追加のリージョンと予め待機系として選定されていたリージョンとを比較し、いずれのリージョンを新たな稼働系とする。
待機系は性能よりもコストを重視するなど、稼働系と待機系は異なる基準で選定されることがある。本構成によれば、障害情報を契機に新たに選定されたリージョンが待機系として選定していたリージョンよりも高いパフォーマンスを発揮する場合には、新たに選定されたリージョンを稼働系に昇格させることができる。
【0057】
また、前記リージョン選定部106は、前記障害発生率として、過去の一定期間に対する障害発生回数をリージョン毎に算出した値を用いることができる。
この他、前記リージョン選定部106は、前記障害発生率として、過去の一定期間に対する障害発生時間をリージョン毎に算出した値を用いることができる。
このように、障害発生率は、任意の算定により求めることが可能である。
【0058】
また、前記リージョン選定部106は、前記選定情報が抽出対象として指定する障害の種類及び/又は期間をもとにフィルタリングを行うことができる。
この他、前記リージョン選定部106は、前記選定情報により指定された拠点リージョンと通信距離の近いリージョンでのフィルタリングを実施することができる。
さらに、前記リージョン選定部106は、前記選定情報により指定された法制度による制限を満たすリージョンのフィルタリングを実施することができる。
このように、フィルタリングは任意の指標で行うことができる。
【0059】
また、前記障害情報記憶部に記憶された前記障害情報から障害発生を予測する障害発生予測部901を備え、前記リージョン選定部106は、前記障害発生予測部901により、前記サービス提供サーバが利用している区分の障害発生が予測された場合に追加の区分を選定する構成としてもよい。
かかる構成によれば、障害が発生する前にリージョンの追加が可能である。
【0060】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。また、各実施例の処理における各ステップは、同一結果を得ることができる限りにおいて適宜順序を入れ替えて実行されてもよい。
【0061】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記憶部、または、ICカード、半導体記録媒体、磁気記録媒体、光学記録媒体に格納することができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【0062】
100 リージョン選定情報入力部
101 リージョン選定情報記憶部
102 障害情報提供サーバ
103 ネットワーク
104 障害情報取得部
105 障害情報記憶部
106 リージョン選定部
107 リージョン選定結果出力部
400 クラウドベンダ
401 データセンタ
402 サービス利用ユーザ端末
901 障害発生予測部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12