[go: up one dir, main page]

JP2017111664A - オートスケールプログラム及びオートスケール方法 - Google Patents

オートスケールプログラム及びオートスケール方法 Download PDF

Info

Publication number
JP2017111664A
JP2017111664A JP2015246391A JP2015246391A JP2017111664A JP 2017111664 A JP2017111664 A JP 2017111664A JP 2015246391 A JP2015246391 A JP 2015246391A JP 2015246391 A JP2015246391 A JP 2015246391A JP 2017111664 A JP2017111664 A JP 2017111664A
Authority
JP
Japan
Prior art keywords
information
virtual machine
packet
management information
load balancer
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.)
Pending
Application number
JP2015246391A
Other languages
English (en)
Inventor
山島 弘之
Hiroyuki Yamashima
弘之 山島
鈴木 和宏
Kazuhiro Suzuki
和宏 鈴木
聡一 繁田
Soichi Shigeta
聡一 繁田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015246391A priority Critical patent/JP2017111664A/ja
Priority to US15/353,803 priority patent/US20170180465A1/en
Publication of JP2017111664A publication Critical patent/JP2017111664A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0604Management of faults, events, alarms or notifications using filtering, e.g. reduction of information by using priority, element types, position or time
    • H04L41/0609Management of faults, events, alarms or notifications using filtering, e.g. reduction of information by using priority, element types, position or time based on severity or priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/065Generation of reports related to network devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/067Generation of reports using time frame reporting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/76Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions
    • H04L47/765Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions triggered by the end-points
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Environmental & Geological Engineering (AREA)
  • Debugging And Monitoring (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】仮想マシンの処理負荷に応じて仮想マシンの削除を行うことを可能とするオートスケールプログラム及びオートスケール方法を提供する。【解決手段】1台以上の仮想マシンをそれぞれ含む複数のグループにパケットを振り分ける負荷分散装置に対し、所定数のテストパケットを送信し、複数のグループに含まれる第1グループが負荷分散装置から受信したテストパケットの数を取得し、取得したテストパケットの数に基づき、第1グループに含まれる第1仮想マシンの削除を行うか否かを判定するための第1閾値情報を更新し、第1仮想マシンの動作状態と第1閾値情報とに基づき、第1仮想マシンの削除を行う。【選択図】図10

Description

本発明は、オートスケールプログラム及びオートスケール方法に関する。
利用者に対してサービスを提供する事業者(以下、単に事業者とも呼ぶ)は、利用者に対して各種サービスを提供するために、例えば、複数台の仮想マシンによって構成される業務システムを構築する。そして、事業者は、利用者に提供するサービスの内容や業務システムに実行させる必要がある処理の量(以下、単に処理量とも呼ぶ)によって、例えば、複数台の仮想マシンに同じアプリケーションをインストールし、各仮想マシンに同じ処理を実行させる。
上記のような業務システムで動作するアプリケーションの更新を行う場合、事業者は、例えば、稼働中の業務システム(以下、更新前の業務システムとも呼ぶ)の他に、更新後のアプリケーションをインストールした業務システム(以下、更新後の業務システムとも呼ぶ)を構築する。そして、事業者は、更新前の業務システムが実行していた処理(利用者にサービスを提供するための処理)を、所定のタイミングで更新後の業務システムにおいて実行させる(以下、これを処理の切り替えとも呼ぶ)。これにより、事業者は、利用者に対するサービスの提供を中断することなく、アプリケーションの更新を行うことが可能になる。
上記のようにアプリケーションの更新を行う場合、事業者は、更新前の業務システムから更新後の業務システムに対する処理の切り替えを段階的に行う場合がある(以下、この更新方法をカナリアリリースとも呼ぶ)。このカナリアリリースによって処理の切り替えを行うことにより、事業者は、処理の切り替えの進捗に応じて、更新後の業務システムにおける仮想マシンの生成(以下、スケールアウトとも呼ぶ)及び更新前の業務システムにおける仮想マシンの削除(以下、スケールインとも呼ぶ)を段階的に行うことが可能になる。そのため、事業者は、この場合、更新前の業務システム及び更新後の業務システムにおいて同時に配備する必要がある仮想マシンの数を抑制することが可能になる。したがって、事業者は、アプリケーションの更新に伴うコストを低減させることが可能になる(例えば、特許文献1及び2参照)。
特開2015−115059号公報 特開2013−092867号公報
上記のようにカナリアリリースによってアプリケーションの更新を行う場合において、更新前の業務システムが実行する処理を更新後の業務システムに切り替える間に、更新後の業務システム(更新後のアプリケーション)において異常が発見される場合がある。この場合、事業者は、更新前の業務システムから更新後の業務システムに既に切り替えた処理を、更新前の業務システムに切り戻す必要がある。
しかしながら、オートスケール機能がある業務システムのカナリアリリースでは、更新前の業務システムから更新後の業務システムに対する処理に切り替えに伴って、更新前の業務システムにおける仮想マシンの削除を行う場合がある。そのため、更新後の業務システムに既に切り替えた処理を更新前の業務システムに切り戻す場合、更新前の業務システムが実行すべき処理量は、更新前の業務システムにおける仮想マシン(処理の切り替えに伴って一部が削除されている仮想マシン)の処理能力を超える場合がある。そのため、この場合、利用者に提供するサービスに遅延等の影響が及ぶ可能性がある。
そこで、一つの実施の形態の目的は、更新前と更新後の業務システム全体の仮想マシンの処理負荷に応じて更新前の業務システムの仮想マシンの削除を行うことを可能とするオートスケールプログラム及びオートスケール方法を提供することにある。
実施の形態の一つの側面によれば、コンピュータに、1台以上の仮想マシンをそれぞれ含む複数のグループにパケットを振り分ける負荷分散装置に対し、所定数のテストパケットを送信し、前記複数のグループに含まれる第1グループが前記負荷分散装置から受信した前記テストパケットの数を取得し、取得した前記テストパケットの数に基づき、前記第1グループに含まれる第1仮想マシンの削除を行うか否かを判定するための第1閾値情報を更新し、前記第1仮想マシンの動作状態と前記第1閾値情報とに基づき、前記第1仮想マシンの削除を行う、処理を実行させる。
一つの側面によれば、仮想マシンの処理負荷に応じて仮想マシンの削除を行うことを可能とする。
情報処理システム10の構成を示す図である。 情報処理システム10の詳細な構成を説明する図である。 アプリケーションの更新方法を説明する図である。 アプリケーションの更新方法を説明する図である。 アプリケーションの別の更新方法を説明する図である。 アプリケーションの別の更新方法を説明する図である。 物理マシン2A及び物理マシン2Bのハードウエア構成を示す図である。 物理マシン2Aの機能のブロック図である。 情報格納領域230Aに記憶された情報のブロック図である。 第1の実施の形態におけるオートスケール処理の概略を示すフローチャート図である。 第1の実施の形態におけるオートスケール処理の概略を説明する図である。 第1の実施の形態におけるオートスケール処理の詳細を説明するフローチャート図である。 第1の実施の形態におけるオートスケール処理の詳細を説明するフローチャート図である。 第1の実施の形態におけるオートスケール処理の詳細を説明するフローチャート図である。 第1の実施の形態におけるオートスケール処理の詳細を説明するフローチャート図である。 第1の実施の形態におけるオートスケール処理の詳細を説明するフローチャート図である。 第1の実施の形態におけるオートスケール処理の詳細を説明するフローチャート図である。 カレントカウント情報321Aの具体例を説明する図である。 カウント管理情報322Aの具体例を説明する図である。 カウント管理情報322Aの具体例を説明する図である。 状態管理情報342Aの具体例を説明する図である。 状態管理情報342Aの具体例を説明する図である。 配備数管理情報341Aの具体例を説明する図である。 テストパケット管理情報345Aの具体例を説明する図である。 計測比率管理情報344Aの具体例を説明する図である。 計測比率管理情報344Aの具体例を説明する図である。 運用手順管理情報343Aの具体例を説明する図である。 運用手順管理情報343Aの具体例を説明する図である。 運用手順管理情報343Aの具体例を説明する図である。 第2の実施の形態におけるオートスケール処理を示すフローチャート図である。 第2の実施の形態におけるオートスケール処理を示すフローチャート図である。 第2の実施の形態におけるオートスケール処理を示すフローチャート図である。 第2の実施の形態におけるオートスケール処理を示すフローチャート図である。 システム状態管理情報346Aの具体例を説明する図である。
[情報処理システムの構成]
図1は、情報処理システム10の構成を示す図である。図1に示す情報処理システム10(以下、業務システム10とも呼ぶ)は、例えば、VM管理装置1と、仮想マシン3(VM:Virtual Machine)を生成する物理マシン2とを有する。そして、物理マシン2には、インターネットやイントラネット等のネットワークNWを介して、利用者端末11からアクセス可能になっている。
物理マシン2は、図1の例では複数の物理マシンから構成されており、各物理マシンは、CPU(Central Processing Unit)、RAM(Random Access Memory)及びハードディスク(HDD:Hard Disk Drive)等のリソースを有する。
物理マシン2のリソースは、複数の仮想マシン3に割り当てられる。そして、仮想マシン3は、事業者が利用者に対してサービスを提供するための処理を実行する。
VM管理装置1は、例えば、物理マシン2と異なる物理マシンである。VM管理装置1は、例えば、物理マシン2とアクセス可能であり、物理マシン2における仮想マシン3の生成指示や生成された仮想マシン3の管理を行う。
仮想化ソフトウエア4は、VM管理装置1からの指示に応じて、物理マシン2のリソースを割り当てることにより、仮想マシン3を動作させる基盤ソフトウエアである。仮想化ソフトウエア4は、図1に示すように、例えば、物理マシン2で動作する。
利用者端末11は、利用者がサービスの提供を受けるために使用する端末である。利用者は、例えば、利用者端末11を介して、サービスの提供を受けるための処理の要求を仮想マシン3に行う。そして、利用者は、例えば、利用者端末11を介して、要求した処理の実行結果を仮想マシン3から取得する。
[情報システムの構成の詳細]
次に、情報処理システム10の構成の詳細について説明を行う。図2は、情報処理システム10の詳細な構成を説明する図である。
図2に示す例において、情報処理システム10は、VM管理装置1と、物理マシン2Aと、物理マシン2Bと、ロードバランサ5(以下、負荷分散装置5とも呼ぶ)と、振分管理装置6とを有する。なお、図2に示す例において、物理マシン2A及び物理マシン2Bは、それぞれ複数の物理マシンである。また、ロードバランサ5及び振分管理装置6は、例えば、物理マシン2A及び2Bと異なる物理マシンであってよく、物理マシン2A及び2Bと異なる物理マシンに生成された仮想マシンであってもよい。
図2に示す例において、物理マシン2Aには、1台の仮想マシン31A(以下、LB−VM31AまたはVM(LB)31Aとも呼ぶ)と、複数台の仮想マシン32A(以下、AP−VM32A、VM(AP)32Aまたは第1仮想マシン32Aとも呼ぶ)とが生成されている。また、図2に示す例において、物理マシン2Aには、1台の仮想マシン33A(以下、ASM−VM33AまたはVM(ASM)33Aとも呼ぶ)が生成されている。
LB−VM31Aは、ロードバランサ5によって振り分けられたパケットを、各AP−VM32Aにそれぞれ振り分けるロードバランサとして機能する仮想マシンである。また、AP−VM32Aは、利用者にサービスを提供するための処理を実行するためのアプリケーションが動作する仮想マシンである。
そして、ASM−VM33Aは、例えば、各AP−VM32Aの動作状態に応じて、物理マシン2Aにおいて新たなAP−VM32Aの生成または既存のAP−VM32Aの削除をVM管理装置1に指示するオートスケール管理装置として機能する仮想マシンである。また、ASM−VM33Aは、物理マシン2Aにおいて新たなAP−VM32Aの生成または既存のAP−VM32Aの削除が行われた場合、LB−VM31Aにパケットの振り分け先の変更を指示する。
また、図2に示す例において、物理マシン2Bには、1台の仮想マシン31B(以下、LB−VM31BまたはVM(LB)31Bとも呼ぶ)と、複数台の仮想マシン32B(以下、AP−VM32BまたはVM(AP)32Bとも呼ぶ)とが生成されている。また、図2に示す例において、物理マシン2Bには、1台の仮想マシン33B(以下、ASM−VM33BまたはVM(ASM)33Bとも呼ぶ)が生成されている。LB−VM31B、AP−VM32B及びASM−VM33Bは、それぞれLB−VM31A、AP−VM32A及びASM−VM33Aと同じ機能を有する仮想マシンである。
すなわち、図2に示す情報処理システム10は、利用者端末11から送信されたパケットを受信した際に、そのパケットに対応する処理を実行するための仮想マシンを含む仮想マシン群を2系統有している。なお、以下、物理マシン2Aに生成された仮想マシンを含む仮想マシン群を第1グループとも呼び、物理マシン2Bに生成された仮想マシンを含む仮想マシン群を第2グループとも呼ぶ。
そして、図2に示す例において、ロードバランサ5は、利用者端末11から受信したパケットを、LB−VM31AとLB−VM31Bとに振り分ける。なお、LB−VM31AとLB−VM31Bとに振り分けるパケットの割合は、振分管理装置6が決定し、ロードバランサ5に設定するものであってもよい。
さらに、図2に示す例において、VM管理装置1は、ASM−VM33AまたはASM−VM33Bから新たな仮想マシンの生成または既存の仮想マシンの削除の指示を受信した場合に、新たな仮想マシンの生成または既存の仮想マシンの削除を行う。
[アプリケーションの更新方法(1)]
次に、仮想マシンで実行されるアプリケーションの更新方法について説明を行う。図3及び図4は、アプリケーションの更新方法を説明する図である。
図3に示すAP−VM32Aは、更新前のアプリケーションを実行することにより、利用者に対してサービスを提供している。また、図3に示すロードバランサ5は、LB−VM31Aにのみパケットの振り分けを行っている。すなわち、図3に示す情報処理システム10では、利用者にサービスを提供するための処理を、AP−VM32Aのみが実行している状態である。
そして、事業者は、図3に示すように、例えば、AP−VM32Bに更新後のアプリケーションをインストールする。
その後、図4に示すように、振分管理装置6は、ロードバランサ5によるパケットの振り分け先をLB−VM31AからLB−VM31Bに変更し、LB−VM31Bに対してのみパケットの振り分けを行うように設定を行う。これにより、AP−VM32Bは、LB−VM31Bを介してパケットの振り分けが開始されたことに応じて、更新後のアプリケーションによる処理の実行を開始することが可能になる。すなわち、事業者は、この場合、利用者に対するサービスの提供を停止することなく、アプリケーションの更新を行うことが可能になる。
[アプリケーションの更新方法(2)]
次に、仮想マシンで実行されるアプリケーションの別の更新方法について説明を行う。図5及び図6は、アプリケーションの別の更新方法を説明する図である。
図5に示すロードバランサ5は、LB−VM31A及びLB−VM32Bに対してパケットを振分ける割合を徐々に変更することにより、パケットの振り分け先をLB−VM31AからLB−VM31Bに対して段階的に切り替える。すなわち、図5に示す更新方法では、事業者は、カナリアリリースによってアプリケーションの更新を行う。
また、ASM−VM33Aは、この場合、ロードバランサ5からLB−VM31A(AP−VM32A)に振り分けられるパケットの量の減少に応じて、VM管理装置1にAP−VM32Aの削除を指示する。一方、ASM−VM33Bは、ロードバランサからLB−VM31B(AP−VM32B)に振り分けられるパケットの量の増加に応じて、VM管理装置1にAP−VM32Bの生成を指示する。
すなわち、図5に示すアプリケーションの更新方法では、図4で説明したアプリケーションの更新方法と比較して、アプリケーションの更新時に物理マシン2A及び物理マシン2Bに配備する仮想マシンの数を抑制することが可能になる。これにより、事業者は、アプリケーションの更新に伴うコストを低減させることが可能になる。
ここで、上記のようにカナリアリリースによるアプリケーションの更新を行う場合において、AP−VM32Aが実行する処理をAP−VM32Bに切り替える間に、更新後のアプリケーションにおいて異常が発見される場合がある。この場合、事業者は、AP−VM32AからAP−VM32Bに既に切り替えた処理を、AP−VM32Aに切り戻す必要がある。
しかしながら、カナリアリリースでは、AP−VM32AからAP−VM32Bに対する処理に切り替えに伴って、オートスケール機能によりAP−VM32Aを削除する。そのため、AP−VM32Bに既に切り替えた処理をAP−VM32Aに切り戻す場合、AP−VM32A(処理の切り替えに伴って一部が削除されているAP−VM32A)は、図6に示すように、処理能力を超える処理を実行する必要が生じる場合がある。また、VM管理装置1は、図6に示すように、新たなAP−VM32Aを生成するために、ある程度の時間を要する場合がある。したがって、この場合、更新後のアプリケーションにおいて発見された異常は、利用者に提供するサービスに遅延等の影響を及ぼす可能性がある。
そこで、本実施の形態では、ASM−VM33Aは、ロードバランサ5に対し、所定数のテストパケットを送信する。そして、LB−VM31Aは、所定数のテストパケットのうち、ロードバランサ5から振り分けられたテストパケットの数を取得する。その後、ASM−VM33Aは、取得したテストパケットの数に基づき、AP−VM32Aの削除を行うか否かを判定するための閾値情報(以下、第1閾値情報とも呼ぶ)を更新し、AP−VM32Aの動作状態と第1閾値情報とに基づき、AP−VM32Aの削除を行う。
すなわち、ASM−VM33Aは、テストパケットをロードバランサ5に送信することにより、そのテストパケットをロードバランサ5に振り分けさせる。その後、ASM−VM33Aは、ロードバランサ5が振り分けたテストパケットのうち、LB−VM31Aに送信されたテストパケットの数を計測することで、AP−VM32Aが実行していた処理のうち、他の仮想マシン(例えば、AP−VM32B)に切替えられた処理の割合を取得する。そして、ASM−VM33Aは、他の仮想マシンに切替えられた処理の割合を反映させた第1閾値情報に基づき、AP−VM32Aの削除を行うか否かの判定を行う。
これにより、ASM−VM33Aは、例えば、AP−VM32Aが実行していた処理の一部が他の仮想マシンに切替えられたことに伴って、AP−VM32Aの処理負荷が減少した場合であっても、AP−VM32Aの削除が行われることを抑制することができる。そのため、AP−VM32Aから他の仮想マシンに対して処理の一部が切替えられた後に、更新後のアプリケーションの不具合が発見された場合であっても、AP−VM32Aは、実行すべき処理を実行することが可能になる。そして、事業者は、利用者に提供するサービスへの影響を防ぐことが可能になる。
[情報処理システム10のハードウエア構成]
次に、情報処理システム10のハードウエア構成について説明する。図7は、物理マシン2A及び物理マシン2Bのハードウエア構成を示す図である。
物理マシン2Aは、プロセッサであるCPU201Aと、メモリ202Aと、外部インターフェース(I/Oユニット)203Aと、記憶媒体204Aとを有する。各部は、バス205Aを介して互いに接続される。
記憶媒体204Aは、例えば、記憶媒体204A内のプログラム格納領域(図示しない)に、物理マシン2Aにおいて新たな仮想マシン3の生成または既に生成された仮想マシン3の削除を行うための処理(以下、オートスケール処理とも呼ぶ)等を行うためのプログラム210Aを記憶する。また、記憶媒体204Aは、例えば、オートスケール処理を行う際に用いられる情報を記憶する情報格納領域230A(以下、記憶部230Aとも呼ぶ)を有する。
CPU201Aは、図7に示すように、プログラム210Aの実行時に、プログラム210Aを記憶媒体204Aからメモリ202Aにロードし、プログラム210Aと協働してオートスケール処理を行う。また、外部インターフェース203Aは、VM管理装置1やロードバランサ5と通信を行う。
また、物理マシン2Bは、プロセッサであるCPU201Bと、メモリ202Bと、外部インターフェース(I/Oユニット)203Bと、記憶媒体204Bとを有する。各部は、バス205Bを介して互いに接続される。
記憶媒体204Bは、例えば、記憶媒体204B内のプログラム格納領域(図示しない)に、オートスケール処理等を行うためのプログラム210Bを記憶する。また、記憶媒体204Bは、例えば、オートスケール処理を行う際に用いられる情報を記憶する情報格納領域230B(以下、記憶部230Bとも呼ぶ)を有する。
CPU201Bは、図7に示すように、プログラム210Bの実行時に、プログラム210Bを記憶媒体204Bからメモリ202Bにロードし、プログラム210Bと協働してオートスケール処理を行う。また、外部インターフェース203Bは、VM管理装置1やロードバランサ5と通信を行う。
[情報処理システムの機能]
次に、情報処理システム10の機能について説明する。図8は、物理マシン2Aの機能のブロック図である。また、図9は、情報格納領域230Aに記憶された情報のブロック図である。
物理マシン2AのCPU201Aは、図8に示すように、プログラム210Aと協働することにより、LB−VM31Aの機能として、例えば、パケット入出力部311Aと、パケット振分部312Aと、計測用パケット判定部313Aとして動作する。また、物理マシン2AのCPU201Aは、図8に示すように、プログラム210Aと協働することにより、LB−VM31Aの機能として、例えば、カウント部314Aと、情報書込み部315Aと、情報読み出し部316Aとして動作する。
そして、物理マシン2AのCPU201Aは、図8に示すように、プログラム210Aと協働することにより、ASM−VM33Aの機能として、例えば、パケット入出力部331Aと、増減処理判定部332Aと、テストパケット作成部333Aとして動作する。また、物理マシン2AのCPU201Aは、図8に示すように、プログラム210Aと協働することにより、ASM−VM33Aの機能として、例えば、情報要求パケット作成部334Aと、増減処理制御部335Aと、システム状態判定部336Aとして動作する。
情報格納領域230Aには、図9に示すように、LB−VM31Aが参照する情報として、例えば、カレントカウント情報321Aと、カウント管理情報322Aとが記憶されている。
そして、情報格納領域230Aには、図9に示すように、ASM−VM33Aが参照する情報として、例えば、配備数管理情報341Aと、状態管理情報342Aと、運用手順管理情報343Aとが記憶されている。また、情報格納領域230Aには、図9に示すように、ASM−VM33Aが参照する情報として、例えば、計測比率管理情報344Aと、テストパケット管理情報345Aと、システム状態管理情報346Aとが記憶されている。
初めに、LB−VM31Aの機能について説明を行う。パケット入出力部311Aは、ロードバランサ5やAP−VM32A等との間でパケットの送受信を行う。
パケット振分部312Aは、ロードバランサ5によって振り分けられたパケット(パケット入出力部311Aによって受信されたパケット)を、各AP−VM32Aにそれぞれ振り分ける。そして、パケット振分部312Aは、パケット入出力部311Aに、振り分けたパケットの送信を指示する。パケット振分部312Aは、例えば、ロードバランサ5によって振り分けられたパケットを、各AP−VM32Aに対して均等に振り分けるものであってよい。
計測用パケット判定部313Aは、ロードバランサ5から送信されたパケットが計測用パケットであるか否かを判定する。計測用パケットは、AP−VM32Aの処理割り当てを計測するためのパケットである。具体的に、計測用パケットには、AP−VM32Aの処理割り当てを計測するために、ASM−VM33Aがロードバランサ5に送信するテストパケットが含まれる。また、計測用パケットには、AP−VM32Aの処理割り当てを計測するための情報を取得するために、ASM−VM33AがLB−VM31Aに送信する情報要求パケットが含まれる。
カウント部314Aは、ロードバランサ5から送信されたパケットがテストパケットである場合、カレントカウント情報321Aが示す値をカウントアップする。カレントカウント情報321Aの具体例については後述する。
情報書込み部315Aは、ASM−VM33Aから情報要求パケットを受信した場合に、カレントカウント情報321Aが示す値と現在時刻とをカウント管理情報322Aに書き込む。
情報読み出し部316Aは、ASM−VM33Aから情報要求パケットを受信した場合に、カウント管理情報322Aから最新時刻に対応するパケット数を読み出し、情報要求パケットの返信パケットを作成する。そして、情報読み出し部316Aは、パケット入出力部311Aに、返信パケットの送信を指示する。
次に、ASM−VM33Aの機能について説明を行う。パケット入出力部331Aは、ロードバランサ5やLB−VM31A等との間でパケットの送受信を行う。
増減処理判定部332Aは、配備数管理情報341A、状態管理情報342A及び運用手順管理情報343Aに基づき、新たなAP−VM32Aの生成または既存のAP−VM32Aの削除を行うか否かの判定を行う。
テストパケット作成部333Aは、例えば、増減処理判定部332AがAP−VM32Aの削除を行う旨の判定を行った場合に、テストパケットを作成する。そして、テストパケット作成部333Aは、パケット入出力部331Aに、テストパケットの送信を指示する。
情報要求パケット作成部334Aは、テストパケットをロードバランサ5に送信した後、所定時間(例えば、10秒)が経過した場合に、情報要求パケットを作成する。そして、情報要求パケット作成部334Aは、パケット入出力部331Aに、情報要求パケットの送信を指示する。
増減処理制御部335Aは、増減処理判定部332Aが新たなAP−VM32Aの生成を行う旨の判定を行った場合、パケット入出力部311Aに、新たなAP−VM32Aの生成を指示するパケット(以下、VM生成指示パケットとも呼ぶ)の送信を指示する。
また、増減処理制御部335Aは、増減処理判定部332Aが既存のAP−VM32Aの削除を行う旨の判定を行った場合、テストパケット及び情報要求パケットの送信結果に基づいて既存のAP−VM32Aの削除を行うか否かの判定を行う計測比率確認処理を実行する。計測比率確認処理について後述する。そして、増減処理制御部335Aは、計測比率確認処理において既存のAP−VM32Aの削除を行う旨の判定を行った場合、パケット入出力部331Aに、既存のAP−VM32Aの削除を指示するパケット(以下、VM削除指示パケット)の送信を指示する。
システム状態判定部336Aは、処理の切り替えが現在行われている状態であって、AP−VM32Aが他の仮想マシンの処理の切り替え先の仮想マシンであるか否かを判定する。
計測比率管理情報344A、テストパケット管理情報345A及びシステム状態管理情報346Aについては後述する。
なお、以下、運用手順管理情報343Aは、既存のAP−VM32Aの削除を行うか否かを判定するための第1閾値情報TS1と、新たなAP−VM32Aの生成を行うか否かを判定するための第2閾値情報TS2とを含むものとして説明を行う。
また、以下、物理マシン2BのCPU201Bが、プログラム210Bと協働することにより、物理マシン2AのCPU201Aと同じように動作するものとして説明を行う。また、情報格納領域230Bには、情報格納領域230Aに記憶されている情報と同じ情報が記憶されているものとして説明を行う。
[第1の実施の形態]
次に、第1の実施の形態について説明する。図10は、第1の実施の形態におけるオートスケール処理の概略を示すフローチャート図である。また、図11は、第1の実施の形態におけるオートスケール処理の概略を説明する図である。図11を参照しながら図10のオートスケール処理の概略について説明する。
なお、図10に示すフローチャート図では、物理マシン2Aにおいて既に生成されたAP−VM32Aの削除が行われる場合のオートスケール処理について説明を行う。また、図11においては、図2等と異なる点のみ説明を行う。
ASM−VM33Aは、初めに、テストパケットを送信するタイミング(以下、テストパケット送信タイミングとも呼ぶ)まで待機する(S1のNO)。テストパケット送信タイミングは、例えば、既存のAP−VM32Aの削除を行うか否かの判定を行うタイミングであってよい。
そして、テストパケット送信タイミングになった場合(S1のYES)、ASM−VM33Aは、図11に示すように、ロードバランサ5に対して、所定数のテストパケットを送信する(S2)。すなわち、ASM−VM33Aは、ロードバランサ5に、所定数のテストパケットを複数のグループ(例えば、第1グループ及び第2グループを含む複数のグループ)に向けて送信させる。
その後、LB−VM31Aは、図11に示すように、第1グループがロードバランサ5から受信したテストパケットの数を取得する(S3)。そして、ASM−VM33Aは、S3の処理で取得したテストパケットの数に基づき、AP−VM32Aの削除を行うか否かを判定するための第1閾値情報TS1を更新する(S4)。さらに、ASM−VM33Aは、AP−VM32Aの動作状態と、S4の処理で更新した第1閾値情報TS1とに基づき、AP−VM32Aの削除を行う(S5)。
すなわち、利用者に対してサービスを提供するための処理を第1グループに含まれるAP−VM32Aのみが実行している場合、ロードバランサ5が送信した所定数のテストパケットは、全て第1グループに送信される。そのため、第1グループが所定数のテストパケットの全てを受信することができなくなった場合、ASM−VM33Aは、利用者に対してサービスを提供するための処理の一部が、他のグループ(例えば、第2グループ)に切替えられたと判定することが可能になる。
これにより、事業者は、ロードバランサ5を他の事業者が管理している場合等、ロードバランサ5が各グループに対してパケットを振り分ける割合の情報を取得できない場合であっても、ロードバランサ5が自グループにパケットを振り分ける割合を取得することが可能になる。
そして、ASM−VM33Aは、AP−VM32Aの処理負荷が低下した場合であっても、その処理負荷の低下が処理の切り替えに伴うものである場合には、削除されるAP−VM32Aの台数が抑制されるように、第1閾値情報TS1を更新する。
これにより、AP−VM32Aは、AP−VM32Aから他の仮想マシン(例えば、AP−VM32B)に対して処理の一部が切替えられた後に、更新後のアプリケーションの異常が発見された場合であっても、実行すべき処理を実行することが可能になる。そのため、事業者は、利用者に提供するサービスへの影響を防ぐことが可能になる。
[第1の実施の形態の詳細]
次に、第1の実施の形態の詳細について説明する。図12から図17は、第1の実施の形態におけるオートスケール処理の詳細を説明するフローチャート図である。また、図18から図29は、第1の実施の形態におけるオートスケール処理の詳細を説明する図である。図18から図29を参照しながら、図12から図17のオートスケール処理の詳細を説明する。なお、以下、物理マシン2Aにおいて実行されるオートスケール処理について説明を行う。
[LB−VM31Aでの処理]
初めに、LB−VM31Aにおけるオートスケール処理について説明を行う。LB−VM31Aのパケット入出力部311Aは、ロードバランサ5が振り分けたパケットを受信するまで待機する(S11のNO)。そして、パケットを受信した場合(S11のYES)、LB−VM31Aの計測用パケット判定部313Aは、パケット入出力部311Aが受信したパケットが計測用パケットであるか否かを判定する(S12)。
その結果、受信したパケットが計測用パケットでない場合(S12のNO)、LB−VM31Aのパケット振分部312Aは、S11の処理で受信したパケットの宛先を決定する(S13)。
すなわち、パケット入出力部311Aが受信したパケットが計測用パケットでない場合、その受信したパケットは、利用者がサービスの提供を受けるために利用者端末11を介して送信したパケット(以下、処理要求パケットとも呼ぶ)である。そのため、パケット振分部312Aは、この場合、受信した処理要求パケットの宛先を、AP−VM32Aのうちのいずれかの仮想マシンに決定する。
具体的に、パケット振分部312Aは、この場合、各AP−VM32Aのうち、処理リソース(CPUの稼働率やメモリの使用量)に余裕のある仮想マシンを、処理要求パケットの宛先として決定するものであってよい。これにより、パケット振分部312Aは、各AP−VM32Aに対し、それぞれの処理能力に応じた処理量を実行させることが可能になる。
そして、パケット入出力部311Aは、S11の処理で受信したパケット(処理要求パケット)を、S13の処理で決定したAP−VM32Aに送信する(S14)。その後、パケット入出力部311Aは、ロードバランサ5から次のパケットを受信するまで待機する(S11のNO)。
一方、S11の処理で受信したパケットが計測用パケットである場合(S12のYES)、LB−VM31Aの計測用パケット判定部313Aは、受信した計測用パケットの宛先が自グループであるか否かを判定する(S15)。その結果、受信した計測用パケットの宛先が自グループである場合(S15のYES)、受信した計測用パケットが情報要求パケットであるか否かを判定する(S16)。
そして、受信した計測用パケットが情報要求パケットでない場合、すなわち、受信した計測用パケットがテストパケットである場合(S16のNO)、カウント部314Aは、カレントカウント情報321Aのパケット数をカウントアップする(S17)。カレントカウント情報321Aは、パケット入出力部311Aが受信したテストパケットの数を示す情報である。以下、カレントカウント情報321Aの具体例について説明を行う。
[カレントカウント情報の具体例]
図18は、カレントカウント情報321Aの具体例を説明する図である。図18に示すカレントカウント情報321Aは、カレントカウント情報321Aに含まれる各情報を識別する「項番」と、パケット入出力部311Aが受信したテストパケットの数が設定される「パケット数」とを項目として有する。
具体的に、図18に示すカレントカウント情報321Aにおいて、「項番」が「1」である情報の「パケット数」には「55」が設定されている。そして、図18に示すカレントカウント情報321Aにおいて、例えば、パケット入出力部311Aが新たなテストパケットを受信した場合、「項番」が「1」である情報の「パケット数」には、「56」が設定される。
図12に戻り、S17の処理の後、または、S11の処理で受信した計測用パケットの宛先が自グループでない場合(S15のNO)、計測用パケット判定部313Aは、S11で受信した計測用パケットを破棄する(S18)。すなわち、S11の処理で受信した計測用パケットの宛先が自グループ以外のグループである場合(S15のNO)、LB−VM31Aでは、受信した計測用パケットに基づく処理を行う必要がない。また、S11で受信した計測用パケットが第1グループ宛てのテストパケットである場合において、S17の処理を実行した場合、受信したテストパケットを保存しておく必要はなくなる。そのため、これらの場合、計測用パケット判定部313Aは、S11で受信した計測用パケットの破棄を行う(S18)。その後、パケット入出力部311Aは、ロードバランサ5から次のパケットを受信するまで待機する(S11のNO)。
また、S11の処理で受信した計測用パケットが情報要求パケットである場合(S16のYES)、LB−VM31Aのデータ書き込み部315Aは、図13に示すように、カレントカウント情報321Aのパケット数及び現在時刻に基づき、カウント管理情報322Aを更新する(S21)。カウント管理情報322Aは、パケット入出力部311Aが情報要求パケットを受信した際に、カレントカウント情報321Aに設定されていたパケット数を示す情報である。その後、データ書き込み部315Aは、カレントカウント情報321Aのパケット数に「0」を設定する(S22)。以下、カウント管理情報322Aの具体例について説明を行う。
[カウント管理情報の具体例]
図19及び図20は、カウント管理情報322Aの具体例を説明する図である。図19及び図20に示すカウント管理情報322Aは、カウント管理情報322Aに含まれる各情報を識別する「項番」と、カウント管理情報322Aに情報を設定した時刻を示す「時刻」とを項目として有する。また、図19に示すカウント管理情報322Aは、パケット入出力部311Aが情報要求パケットを受信した際に、カレントカウント情報321Aに設定されていたパケット数を示す「パケット数」を項目として有する。
具体的に、図19に示すカウント管理情報322Aにおいて、「項番」が「1」である情報には、「時刻」として「2015/12/12 10:07:30」が設定されており、「パケット数」として「100」が設定されている。また、「項番」が「2」である情報には、「時刻」として「2015/12/12 10:12:30」が設定されており、「パケット数」として「100」が設定されている。さらに、「項番」が「3」である情報には、「時刻」として「2015/12/12 10:17:30」が設定されており、「パケット数」として「70」が設定されている。図19の他の情報については説明を省略する。
すなわち、図19に示すカウント管理情報322Aの「項番」が「2」である情報は、2015年12月12日10時7分30秒から10時12分30秒までの間に、LB−VM31Aが100個のテストパケットを受信したことを示している。そのため、2015年12月12日10時7分30秒から10時12分30秒までの間に、ロードバランサ5が送信したテストパケットが100個であった場合、ASM−VM33Aは、ロードバランサ5が送信したテストパケットの全てが第1グループに送信されたものと判定できる。したがって、ASM−VM33Aは、この場合、AP−VM32Aが実行していた処理が、他のグル―プの仮想マシン(例えば、AP−VM32B)に切替えられていないものと判定することが可能になる。
一方、図19に示すカウント管理情報322Aの「項番」が「3」である情報は、2015年12月12日10時12分30秒から10時17分30秒までの間に、LB−VM31Aが70個のテストパケットを受信したことを示している。そのため、2015年12月12日10時12分30秒から10時17分30秒までの間に、ロードバランサ5が送信したテストパケットが100個であった場合、ASM−VM33Aは、ロードバランサ5が送信したテストパケットの全てが第1グループに送信されていないものと判定できる。したがって、ASM−VM33Aは、この場合、AP−VM32Aが実行していた処理の一部が、他のグループの仮想マシン(例えば、AP−VM32B)に切替えられているものと判定することが可能になる。
そして、図18に示すカレントカウント情報321Aにおける「項番」が「1」である情報の「パケット数」には「55」が設定されている。そのため、データ書き込み部315Aは、図20の下線部分に示すように、「項番」が「8」である情報として、「時刻」に現在の時刻である「2015/12/12 10:37:13」を設定する。そして、データ書き込み部315Aは、図20の下線部分に示すように、「項番」が「8」である情報として、「パケット数」に、図18に示すカレントカウント情報321Aにおける「項番」が「1」である情報の「パケット数」に設定されている「55」を設定する。
図13に戻り、S22の処理の後、データ書き込み部315Aは、カウント管理情報322Aの最新時刻に対応するパケット数に基づき、返信パケットを作成する(S23)。
具体的に、図20に示すカウント管理情報322Aにおける最新時刻は、「項番」が「8」である情報の「時刻」に設定された「2015/12/12 10:37:13」である。そのため、データ書き込み部315Aは、図20に示すカウント管理情報322Aにおける「項番」が「8」である情報の「パケット数」に設定された「55」を示す情報を含むように、返信パケットを作成する。
そして、パケット入出力部311Aは、S23の処理でデータ書き込み部315Aが作成した返信パケットを、ASM−VM33Aに送信する(S24)。その後、パケット入出力部311Aは、ロードバランサ5から次のパケットを受信するまで待機する(S11のNO)。
[ASM−VM33Aでの処理]
次に、ASM−VM33Aにおけるオートスケール処理について説明を行う。ASM−VM33Aのパケット入出力部331Aは、図14に示すように、AP−VM32Aからアラーム通知を受信するまで待機する(S31のNO)。アラーム通知は、各AP−VM32Aの動作状態を示す値が予め定めた基準を超えた場合に、各AP−VM32AがASM−VM33Aに対して送信する通知である。具体的に、各AP−VM32Aは、動作状態を示す値(例えば、CPUの稼働率やメモリの使用率)が第1閾値TS1以下になった場合に、ASM−VM33Aに対してアラーム通知(以下、この場合のアラーム通知をアラーム下限通知または下限通知とも呼ぶ)を送信する。また、各AP−VM32Aは、動作状態を示す値が第2閾値TS2以上になった場合に、ASM−VM33Aに対してアラーム通知(以下、この場合のアラーム通知をアラーム上限通知または上限通知とも呼ぶ)を送信する。さらに、各AP−VM32Aは、動作状態が第1閾値TS1以下の状態から第1閾値TS1を上回る状態になった場合や、動作状態が第2閾値TS2以上の状態から第2閾値TS2を下回る状態になった場合に、ASM−VM33Aに対してアラーム通知(以下、この場合のアラーム通知をアラーム通常通知または通常通知とも呼ぶ)を送信する。アラーム通知の具体例については後述する。
そして、パケット入出力部331AがAP−VM32Aからアラーム通知を受信した場合(S31のYES)、ASM−VM33Aの増減処理制御部335Aは、S31の処理で受信したアラーム通知を状態管理情報342Aの対象リソース状態に設定する(S32)。状態管理情報342Aは、各AP−VM32Aの動作状態を設定する情報である。以下、状態管理情報342Aの具体例について説明を行う。なお、以下、AP−VM32Aとして、5台の仮想マシン(AP−VM32A(1)、AP−VM32A(2)、AP−VM32A(3)、AP−VM32A(4)及びAP−VM32A(5))が存在するものとして説明を行う。
[状態管理情報の具体例]
図21及び図22は、状態管理情報342Aの具体例を説明する図である。図21及び図22に示す状態管理情報342Aは、状態管理情報342Aに含まれる各情報を識別する「項番」と、各AP−VM32Aを識別する「対象リソース名」と、各AP−VM32Aの状態を示す「対象リソース状態」とを項目として有する。「対象リソース状態」には、AP−VM32Aの動作状態を示す値が第1閾値TS1以下になっていることを示す「アラーム下限」と、AP−VM32Aの動作状態を示す値が第2閾値TS2以上になっていることを示す「アラーム上限」とが設定される。また、「対象リソース状態」には、AP−VM32Aの動作状態を示す値が第1閾値TS1以下にも第2閾値TS2以上にもなっていないことを示す「通常」が設定される。
具体的に、図21に示す状態管理情報342Aにおける「項番」が「1」である情報において、「対象リソース名」には「AP−VM32A(1)」が設定され、「対象リソース状態」には「通常」が設定されている。
そして、例えば、パケット入出力部331AがAP−VM32A(4)から送信されたアラーム下限通知を受信した場合(S31のYES)、増減処理制御部335Aは、図22の下線部分に示すように、「対象リソース名」が「AP−VM32A(4)」である情報の「対象リソース状態」に「アラーム下限」を設定する。
図14に戻り、増減処理判定部332Aは、S31の処理においてパケット入出力部331Aが受信したアラーム通知の種別を判定する(S33)。そして、受信したアラーム通知がアラーム上限通知である場合(S33の上限通知)、増減処理判定部332Aは、各AP−VM32Aが新たな仮想マシンを生成する条件を満たしているか否かを判定する(S34)。具体的に、増減処理判定部332Aは、この場合、状態管理情報342Aを参照する。そして、増減処理判定部332Aは、「対象リソース状態」の全てに「アラーム上限」が設定されている場合、各AP−VM32Aが仮想マシンを生成する条件を満たしていると判定する。
なお、増減処理判定部332Aは、S34の処理において、物理マシン2Aに配備可能な仮想マシンの数を示す配備数管理情報341Aを参照するものであってよい。そして、物理マシン2Aに新たな仮想マシンを作成しても、物理マシン2Aに配備可能な仮想マシンの最大配備数以上にならない場合に、各AP−VM32Aが仮想マシンを生成する条件を満たしていると判定するものであってもよい。以下、配備数管理情報341Aの具体例について説明を行う。
[配備数管理情報の具体例]
図23は、配備数管理情報341Aの具体例を説明する図である。図23に示す配備数管理情報341Aは、配備数管理情報341Aに含まれる各情報を識別する「項番」と、物理マシン2Aにおける仮想マシンの初期配備数を示す「初期配備数」と、最小配備数を示す「最小配備数」と、最大配備数を示す「最大配備数」を項目として有する。
具体的に、図23に示す配備数管理情報341Aにおいて、「項番」が「1」である情報には、「初期配備数」として「1(台)」が設定されており、「最小配備数」として「1(台)」が設定されており、「最大配備数」として「40(台)」が設定されている。
すなわち、物理マシン2Aに既に40(台)の仮想マシンが配備されている場合、増減処理判定部332Aは、状態管理情報342Aにおける「対象リソース状態」の全てに「アラーム上限」が設定されている場合であっても、仮想マシンを生成する条件を満たしていないと判定するものであってよい。
図14に戻り、各AP−VM32Aが仮想マシンを生成する条件を満たしていると判定した場合(S34のYES)、パケット入出力部331Aは、VM管理装置1に対し、新たなAP−VM32Aの生成を指示する(S35)。その後、VM管理装置1は、新たなAP−VM32Aの生成に伴う処理(例えば、新たなAP−VM32Aの生成、新たなAP−VM32Aの起動、新たなAP−VM32Aに対するアプリケーションのインストール、及びLB−VM31Aの設定等)を実行する。なお、各AP−VM32Aが仮想マシンを生成する条件を満たしていないと判定した場合(S34のNO)、S35の処理を実行しない。
そして、S34の処理において、各AP−VM32Aが仮想マシンを生成する条件を満たしていないと判定した場合(S34のNO)、または、S35の処理の後、パケット入出力部311Aは、各AP−VM32Aから次にアラーム通知を受信するまで待機する(S31のNO)。同様に、S33の処理において、受信したアラーム通知がアラーム通常通知である場合(S33の通常通知)、パケット入出力部311Aは、各AP−VM32Aから次にアラーム通知を受信するまで待機する(S31のNO)。
一方、S33の処理において、受信したアラーム通知がアラーム下限通知である場合(S33の下限通知)、増減処理判定部332Aは、各AP−VM32Aが仮想マシンを削除する条件を満たしているか否かを判定する(S36)。具体的に、増減処理判定部332Aは、状態管理情報342Aを参照し、「対象リソース状態」の全てに「アラーム下限」が設定されている場合、各AP−VM32Aが仮想マシンを生成する条件を満たしていると判定する。
なお、増減処理判定部332Aは、S36の処理において、物理マシン2Aに配備可能な仮想マシンの数を示す配備数管理情報341Aを参照するものであってよい。そして、物理マシン2Aに配備されている仮想マシンの削除を行っても、物理マシン2Aに配備可能な仮想マシンの最小配備数以下にならない場合に、各AP−VM32Aが仮想マシンを削除する条件を満たしていると判定するものであってもよい。
すなわち、物理マシン2Aに1(台)の仮想マシンのみが配備されている場合、増減処理判定部332Aは、状態管理情報342Aにおける「対象リソース状態」の全てに「アラーム下限」が設定されている場合であっても、仮想マシンを削除する条件を満たしていないと判定するものであってよい。
そして、S36の処理において、各AP−VM32Aが仮想マシンを削除する条件を満たしていないと判定した場合(S36のNO)、パケット入出力部311Aは、各AP−VM32Aから次にアラーム通知を受信するまで待機する(S31のNO)。
一方、各AP−VM32Aが仮想マシンを削除する条件を満たしていると判定した場合(S36のYES)、増減処理制御部335Aは、図15に示すように、計測比率確認処理が実行中であるか否かを判定する(S41)。計測比率確認処理は、AP−VM32Aの動作状態に応じて第1閾値TS1及び第2閾値TS2を更新する処理である。計測比率確認処理の詳細については後述する。
その結果、計測比率確認処理が実行中であると判定した場合(S41のYES)、増減処理制御部335Aは、実行中の計測比率確認処理を終了する(S42)。そして、パケット入出力部331Aは、LB−VM31Aに情報要求パケットを送信する(S43)。具体的に、情報要求パケット作成部334Aは、S43の処理において、情報要求パケットを作成する。そして、パケット入出力部331Aは、情報要求パケット作成部334Aが作成した情報要求パケットを送信する。
すなわち、後述するように、AP−VM32Aの現在の動作状態に基づく計測比率確認処理が新たに実行される。そのため、増減処理制御部335Aは、S42の処理において、実行中であった計測比率確認処理を終了する。
また、増減処理制御部335Aは、S43の処理において、LB−VM31Aに情報要求パケットを送信することにより、カレントカウント情報321Aのパケット数を「0」に設定させる(S22)。これにより、増減処理制御部335Aは、カウント部314Aに、新たに実行される計測比率確認処理において送信されるテストパケットのうち、パケット入出力部311Aが受信するテストパケットの数をカウントさせることが可能になる。
なお、情報要求パケット作成部334Aは、LB−VM31Aが情報要求パケットと他のパケットとを識別することができるように情報要求パケットを作成する。具体的に、情報要求パケット作成部334Aは、例えば、そのパケットが情報要求パケットであることを示す識別情報を含むように情報要求パケットの作成を行う。
そして、計測比率確認処理が実行されていなかった場合(S41のNO)、または、S42の処理が実行された後、増減処理制御部335Aは、計測比率確認処理の実行を開始する(S44)。以下、計測比率確認処理の詳細について説明を行う。なお、計測比率確認処理は、増減処理判定部332Aが仮想マシンを削除する条件を満たしていると判定した場合以外にも、定期的な時間間隔(例えば、5分間隔)で実行されるものであってもよい。
[計測比率確認処理の詳細]
パケット入出力部331Aは、S51の処理でテストパケット作成部333Aが作成した計測用パケットを、ロードバランサ5に送信する(S51)。具体的に、テストパケット作成部333Aは、S51の処理において、テストパケットを作成する。そして、パケット入出力部331Aは、テストパケット作成部333Aが作成したテストパケットを送信する。
なお、テストパケット作成部333Aは、LB−VM31Aがテストパケットと他のパケットとを識別することができるようにテストパケットを作成する。具体的に、テストパケット作成部333Aは、そのパケットがテストパケットであることを示す識別情報を含むようにテストパケットの作成を行う。
また、テストパケット作成部333Aは、例えば、計測パケットの作成数や送信タイミングに関する情報であるテストパケット管理情報345Aを参照し、テストパケットを作成する。以下、テストパケット管理情報345Aの具体例について説明を行う。
[テストパケット管理情報の具体例]
図24は、テストパケット管理情報345Aの具体例を説明する図である。図24に示すテストパケット管理情報345Aは、テストパケット管理情報345Aに含まれる各情報を識別する「項番」と、増減処理判定部332Aが仮想マシンを削除する条件を満たしていると判定した場合以外に、計測比率確認処理を実行する間隔を設定する「計測間隔」とを項目として有する。また、図24に示すテストパケット管理情報345Aは、計測比率確認処理を実行する毎に作成するテストパケットの数を示す「テストパケット数」と、ASM−VM33Aがロードバランサ5に対して各テストパケットを送信する時間間隔を示す「送信間隔」とを項目として有する。
具体的に、図24に示すテストパケット管理情報345Aにおいて、「項番」が「1」である情報には、「計測間隔」として「5(分)」が設定され、テストパケット数として「100(個)」が設定され、「送信間隔」として「0.2(秒)」が設定されている。
そのため、テストパケット作成部333Aは、例えば、S51の処理において、図24に示すテストパケット管理情報345Aにおける「項番」が「1」である情報の「テストパケット数」に設定された「100(個)」を参照し、100(個)のテストパケットを作成する。
また、図24に示すテストパケット管理情報345Aにおける「項番」が「1」である情報の「送信間隔」には、「0.2(秒)」が設定されている。そのため、パケット入出力部331Aは、この場合、S51の処理でテストパケット作成部333Aが作成した100(個)のテストパケットを、0.2(秒)間隔で送信する。
図16に戻り、パケット入出力部331Aは、S51の処理の所定時間経過後、S51の処理でテストパケット作成部333Aが作成した情報要求パケットをASM−VM33Aに送信する(S52)。具体的に、パケット入出力部331Aは、例えば、S51の処理においてテストパケットの送信を行った後、10(秒)が経過してから情報要求パケットの送信を行う。
その後、増減処理制御部335Aは、LB−VM31Aから返信パケットを受信するまで待機する(S53のNO)。そして、LB−VM31Aから返信パケットを受信した場合(S53のYES)、増減処理制御部335Aは、S53の処理で受信した返信パケットの内容に基づき、計測比率を算出する(S54)。計測比率は、ASM−VM33Aがロードバランサ5に送信したテストパケットの数に対する、LB−VM31Aがロードバランサ5から受信したテストパケットの数の割合である。
具体的に、図20に示すカウント管理情報322Aにおける「項番」が「8」である情報(「時刻」に設定された時刻が最も新しい時刻である情報)の「パケット数」には、「55(個)」が設定されている。そのため、LB−VM31Aのデータ書き込み部315Aは、この場合、LB−VM31Aがロードバランサ5から受信したテストパケットの数が「55(個)」であることを示す情報を含む返信パケットを作成する(S23)。
したがって、増減処理制御部335Aは、この場合、返信パケットに含まれるパケット数である「55(個)」を、LB−VM31Aが送信したテストパケットの数である「100(個)」で除算することにより、計測比率として「55(%)」を算出する。
その後、増減処理制御部335Aは、計測比率管理情報344Aに設定されている計測比率と、S54の処理で算出した計測比率とが異なっているか否か(計測比率が更新されているか否か)を判定する(S55)。以下、計測比率管理情報344Aの具体例について説明を行う。
[計測比率管理情報の具体例]
図25及び図26は、計測比率管理情報344Aの具体例を説明する図である。図25及び図26に示す計測比率管理情報344Aは、計測比率管理情報344Aに含まれる各情報を識別する「項番」と、計測比率が設定される「計測比率」とを項目として有している。具体的に、図25に示す計測比率管理情報344Aにおいて、「項番」が「1」である情報の「計測比率」には「70(%)」が設定されている。
そのため、増減処理制御部335Aは、図25に示す例において、計測比率管理情報344Aにおける「項番」が「1」である情報の「計測比率」に設定された値(70(%))と、S54の処理で算出した計測比率(55(%))とが異なると判定する(S55)。図26に示す計測比率管理情報344Aの説明については後述する。
図16に戻り、計測比率管理情報344Aの計測比率と、S54の処理で算出した計測比率とが異なっていると判定した場合(S55のYES)、増減処理制御部335Aは、S54の処理で算出した計測比率と、運用手順管理情報343Aの基準閾値とに基づき、第1閾値情報TS1または第2閾値情報TS2(以下、これらをまとめてアラーム閾値とも呼ぶ)を算出する(S56)。そして、増減処理制御部335Aは、算出したアラーム閾値を運用手順管理情報343Aに設定する(S56)。運用手順管理情報343Aは、新たな仮想マシンの生成または既存の仮想マシンの削除を行うか否かを判定するために参照される情報である。
なお、増減処理制御部335Aは、S56の処理において、算出したアラーム閾値をAP−VM32Aに設定するものであってよい。具体的に、増減処理制御部335Aは、この場合、例えば、パケット入出力部311Aに、算出したアラーム閾値を示す情報の送信を指示するものであってよい。以下、運用手順管理情報343Aの具体例について説明を行う。
[運用手順管理情報の具体例]
図27から図29は、運用手順管理情報343Aの具体例を説明する図である。図27から図29に示す運用手順管理情報343Aは、運用手順管理情報343Aに含まれる各情報を識別する「項番」と、運用手順の種類を示す「運用手順名」と、運用手順が適用される仮想マシンを示す「対象リソース」とを項目として有する。「運用手順」には、仮想マシンの生成を行う際の運用手順を示す「VM生成」、または、仮想マシンの削除を行う際の運用手順を示す「VM削除」が設定される。
また、図27から図29に示す運用手順管理情報343Aは、各AP−VM32AがASM−VM33Aにアラーム通知を送信するか否かを判定するために用いられる仮想マシンの動作状態を示す「動作状態」を項目として有する。また、図27から図29に示す運用手順管理情報343Aは、AP−VM32Aで実行される処理の切り替えが行われていない場合において、各AP−VM32AがASM−VM33Aにアラーム通知を送信するか否かを判定するための閾値である「基準閾値」を項目として有する。
また、図27から図29に示す運用手順管理情報343Aは、各AP−VM32AがASM−VM33Aにアラーム通知を送信するか否かを判定するために実際に参照する閾値である「アラーム閾値」を項目として有する。さらに、図27から図29に示す運用手順管理情報343Aは、新たな仮想マシンの生成または既存の仮想マシンの削除を行うための条件を示す「動作条件」と、「動作条件」に示す条件が満たされた場合に行われる動作を示す「動作」とを項目として有する。
具体的に、図27に示す運用手順管理情報343Aにおいて、「項番」が「1」である情報には、「運用手順名」として「VM生成」が設定され、「対象リソース」として「AP−VM32A」が設定され、「動作状態」として「CPUの稼働率」が設定されている。また、図27に示す運用手順管理情報343Aにおいて、「項番」が「1」である情報には、「基準閾値」として「80(%)」が設定され、「アラーム閾値」として「80(%)」が設定されている。また、図27に示す運用手順管理情報343Aにおいて、「項番」が「1」である情報には、「動作条件」として「全状態がアラーム上限」が設定され、「動作」として「VM1台生成」が設定されている。
さらに、図27に示す運用手順管理情報343Aにおいて、「項番」が「2」である情報には、「運用手順名」として「VM削除」が設定され、「対象リソース」として「AP−VM32A」が設定され、「動作状態」として「CPUの稼働率」が設定されている。また、図27に示す運用手順管理情報343Aにおいて、「項番」が「2」である情報には、「基準閾値」として「20(%)」が設定され、「アラーム閾値」として「14(%)」が設定されている。また、図27に示す運用手順管理情報343Aにおいて、「項番」が「2」である情報には、「動作条件」として「全状態がアラーム下限」が設定され、「動作」として「VM1台削除」が設定されている。
すなわち、図27に示す運用手順管理情報343Aは、AP−VM32Aに含まれる全仮想マシンのCPUの稼働率が、「項番」が「1」である情報の「アラーム閾値」に設定された値である「80(%)」以上になった場合に、新たな仮想マシンを1台生成する旨の情報が設定されている。また、図27に示す運用手順管理情報343Aは、AP−VM32Aに含まれる全仮想マシンのCPUの稼働率が、「項番」が「2」である情報の「アラーム閾値」に設定された値である「14(%)」以下になった場合に、既存の仮想マシンを1台削除する旨の情報が設定されている。
なお、運用手順管理情報343Aにおいて、「運用手順」が「VM削除」である情報の「アラーム閾値」に設定された情報は、第1閾値情報TS1に対応し、「運用手順」が「VM生成」である情報の「アラーム閾値」に設定された情報は、第2閾値情報TS2に対応する。また、以下、運用手順管理情報343Aにおいて、「運用手順」が「VM削除」である情報の「基準閾値」に設定された情報を、第3閾値情報TS3とも呼び、「運用手順」が「VM生成」である情報の「基準閾値」に設定された情報を、第4閾値情報TS4とも呼ぶ。
そして、計測比率管理情報344Aの計測比率と、S54の処理で算出した計測比率とが異なっている場合、計測比率管理情報344Aは、S56の処理において、例えば、第1閾値情報TS1の算出を行う。
具体的に、増減処理制御部335Aは、例えば、図27に示す運用手順管理情報343Aにおける第3閾値情報TS3である「20(%)」に、S54の処理で算出した計測比率が「55(%)」を乗算した値である「11(%)」を算出する。そして、増減処理制御部335Aは、図28の下線部分に示すように、図27に示す運用手順管理情報343Aにおける第1閾値情報に「11(%)」を設定する。
これにより、増減処理制御部335Aは、AP−VM32Aが実行していた処理の一部が他のグループの仮想マシンに切替えられていることに伴い、AP−VM32Aの処理負荷が低下した際に、第1閾値情報TS1を下げることが可能になる。そのため、増減処理制御部335Aは、AP−VM32Aの処理負荷が低下した場合であっても、削除されるAP−VM32Aの台数を抑制することが可能になる。
したがって、AP−VM32Aから他の仮想マシン(例えば、AP−VM32B)に対して処理の一部が切替えられた後に、更新後のアプリケーションの不具合が発見された場合であっても、AP−VM32Aは、実行すべき処理を実行することが可能になる。そして、事業者は、利用者に提供するサービスへの影響を防ぐことが可能になる。
図16に戻り、増減処理制御部335Aは、S54の処理で算出した計測比率に基づき、計測比率管理情報344Aの計測比率を設定する(S57)。具体的に、S54の処理で算出した計測比率が「55(%)」である場合、増減処理制御部335Aは、図26の下線部分に示すように、「項番」が「1」である情報の「計測比率」に「55(%)」を設定する。
そして、増減処理制御部335Aは、計測比率管理情報344Aの計測比率が更新されたか否かを示す情報である処理結果情報(図示しない)に「更新済」を設定する(S58)。増減処理制御部335Aは、計測比率確認処理が実行される際(S31の処理の前)に、「未更新(初期値)」を処理結果情報に設定するものであってもよい。
なお、計測比率管理情報344Aの計測比率と、S54の処理で算出した計測比率とが同一であると判定した場合(S55のNO)、増減処理制御部335Aは、S56からS58の処理を実行しない。
図15に戻り、処理結果情報が「更新済」である場合(S45のYES)、増減処理制御部335Aは、状態管理情報342Aにおける「対象リソース状態」を全て「通常」に更新する(S46)。すなわち、処理結果情報が「更新済」である場合とは、状態管理情報342Aにおける「対象リソース状態」に設定される情報を決定するために参照する計測比率管理情報344Aの計測比率が更新されている場合である。そのため、増減処理制御部335Aは、状態管理情報342Aの初期化を行う。
その後、増減処理制御部335Aは、処理結果情報に「未更新」を設定し、処理結果情報の初期化を行う(S47)。
一方、処理結果情報が「未更新」である場合(S45のNO)、パケット入出力部331Aは、VM管理装置1に既存のAP−VM32Aの削除を指示する(S48)。その後、VM管理装置1は、既存AP−VM32Aの削除に伴う処理(例えば、削除するAP−VM32Aの決定、LB−VM31Aの設定変更、及び削除するAP−VM32Aの削除等)を実行する。すなわち、処理結果情報が「未更新」である場合とは、状態管理情報342Aにおける「対象リソース状態」に設定される情報を決定するために参照する計測比率管理情報344Aの計測比率が更新されていない場合である。そのため、増減処理制御部335Aは、この場合、状態管理情報342Aの初期化を行わず、状態管理情報342Aに設定されている情報に基づいて、既存のAP−VM32Aの削除を行う。
その後、パケット入出力部311Aは、各AP−VM32Aから次にアラーム通知を受信するまで待機する(S31のNO)。
このように、ASM−VM33Aは、複数のグループにパケットを振り分けるロードバランサ5に対し、所定数のテストパケットを送信する。そして、LB−VM31Aは、複数のグループに含まれる第1グループがロードバランサ5から受信したテストパケットの数を取得する。その後、ASM−VM33Aは、LB−VM31Aが取得したテストパケットの数に基づき、AP−VM32Aの削除を行うか否かを判定するための第1閾値情報を更新する。さらに、ASM−VM33Aは、AP−VM32Aの動作状態と第1閾値情報とに基づき、AP−VM32Aの削除を行う。
これにより、ASM−VM33Aは、AP−VM32Aが実行していた処理の一部が他の仮想マシン(例えば、AP−VM32B)に切替えられたことに伴って、AP−VM32Aの処理負荷が減少した場合であっても、AP−VM32Aが削除されることを抑制することができる。そのため、AP−VM32Aから他の仮想マシンに対して処理の一部が切替えられた後に、更新後のアプリケーションの不具合が発見された場合であっても、AP−VM32Aは、実行すべき処理を実行することが可能になる。そして、事業者は、利用者に提供するサービスへの影響を防ぐことが可能になる。
[AP−VM32Aでの処理]
次に、AP−VM32Aにおけるオートスケール処理について説明を行う。AP−VM32Aは、図17に示すように、それぞれの動作状態を示す値(例えば、CPUの稼働率)を確認するタイミング(以下、動作状態確認タイミングとも呼ぶ)になるまで待機する(S61のNO)。動作状態確認タイミングは、例えば、1分間隔等、定期的なタイミングであってよい。
そして、動作状態確認タイミングになった場合(S61のYES)、AP−VM32Aは、ASM−VM33Aに対してアラーム通知を行う必要があるか否かを判定する(S62)。その結果、ASM−VM33Aに対してアラーム通知を行う必要があると判定した場合(S62のYES)、AP−VM32Aは、ASM−VM33Aにアラーム通知を行う(S63)。一方、ASM−VM33Aに対してアラーム通知を行う必要がないと判定した場合(S62のNO)、S63の処理を実行しない。
具体的に、AP−VM32Aは、例えば、運用手順管理情報343Aを定期的にASM−VM33Aから取得し、動作状態確認タイミングにおいて、取得した運用手順管理情報343Aに含まれる第1閾値情報TS1及び第2閾値情報TS2を参照する。そして、動作状態を示す値が第1閾値情報TS1以下である場合、または、動作状態を示す値が第2閾値情報TS2以上である場合、AP−VM32Aは、ASM−VM33Aに対してアラーム通知を行うものであってよい。
なお、AP−VM32Aは、S56の処理においてASM−VM33Aから送信される情報(第1閾値情報TS1及び第2閾値情報TS2を含む情報)を情報格納領域(図示しない)に記憶するものであってもよい。そして、AP−VM32Aは、S62の処理において、情報格納領域に記憶した情報を参照し、ASM−VM33Aに対してアラーム通知を行う必要があるか否かを判定するものであってもよい。
[第1の実施の形態の変形例]
次に、第1の実施の形態の変形例について説明を行う。第1の実施の形態の変形例における増減処理制御部335Aは、S56の処理において、運用手順管理情報343Aの第1閾値情報TS1に加え、運用手順管理情報343Aの第2閾値情報TS2についても更新を行う。
具体的に、増減処理制御部335Aは、図28に示す運用手順管理情報343Aにおける第4閾値情報TS4である「80(%)」に、S54の処理で算出した計測比率が「55(%)」を乗算した値である「44(%)」を算出する。そして、増減処理制御部335Aは、図29の下線部分に示すように、運用手順管理情報343Aにおける第2閾値情報TS2に「44(%)」を設定する。
すなわち、この場合、AP−VM32Aで実行される処理の切り替えが行われている場合、物理マシン2Aでは、新たなAP−VM32Aがより多く作成されることになる。そのため、AP−VM32Aは、処理の一部を他の仮想マシン(例えば、AP−VM32B)に切替えた後に、更新後のアプリケーションの異常が発見された場合に、実行すべき処理を実行することができる可能性をより高めることが可能になる。そして、事業者は、利用者に提供するサービスへの影響をより防ぐことが可能になる。
[第2の実施の形態]
次に、第2の実施の形態について説明する。図30から図33は、第2の実施の形態におけるオートスケール処理を示すフローチャート図である。また、図34は、第2の実施の形態におけるオートスケール処理を説明する図である。図34を参照しながら図30から図33のオートスケール処理について説明する。
第1の実施の形態における物理マシン2Aは、他のグループの仮想マシンにおいて実行されている処理がAP−VM32Aに切り替えられているのか否かについての判定を行わない。そのため、他のグループの仮想マシンにおいて実行されている処理がAP−VM32Aに切り替えられる場合であっても、物理マシン2Aは、第1の実施の形態で説明したオートスケール処理を実行する。
ここで、AP−VM32Aが処理の切り替え先の仮想マシンである場合、更新後のアプリケーションに異常が発見された場合であっても、AP−VM32Aは、他のグループの仮想マシンの処理を実行しなければならない状況にはならない。そのため、この場合、AP−VM32Aは、必ずしも第1の実施の形態で説明したオートスケール処理を実行し、仮想マシンの削除を抑制する必要はない。
そこで、第2の実施の形態における物理マシン2Aでは、他のグループの仮想マシンにおいて実行されている処理がAP−VM32Aに切り替えられている場合には、第1の実施の形態で説明したオートスケール処理を実行しない。すなわち、この場合、物理マシン2Aでは、第1閾値情報TS1を算出し、運用手順管理情報343Aに設定する処理を行わない。これにより、事業者は、AP−VM32Aの処理の切り替えが行われる際に生成される仮想マシンの数を抑制することが可能になる。以下、第2の実施の形態の詳細について説明を行う。
[第2の実施の形態の詳細]
パケット入出力部331Aは、第1の実施の形態に場合と同様に、AP−VM32Aからアラーム通知を受信するまで待機する(S71のNO)。そして、パケット入出力部331AがAP−VM32Aからアラーム通知を受信した場合(S71のYES)、増減処理制御部335Aは、S71の処理で受信したアラーム通知を状態管理情報342Bの対象リソースに設定する(S72)。
その後、増減処理判定部332Aは、第1の実施の形態と同様に、S71の処理においてパケット入出力部331Aが受信したアラーム通知の種別を判定する(S73)。そして、受信したアラーム通知がアラーム上限通知である場合(S73の上限通知)、増減処理判定部332Aは、各AP−VM32Aが新たな仮想マシンを生成する条件を満たしているか否かを判定する(S74)。
その結果、各AP−VM32Aが仮想マシンを生成する条件を満たしていると判定した場合(S74のYES)、パケット入出力部331Aは、第1の実施の形態と同様に、VM管理装置1に対し、新たなAP−VM32Aの生成を指示する(S75)。その後、VM管理装置1は、新たなAP−VM32Aの生成に伴う処理(例えば、新たなAP−VM32Aの生成、新たなAP−VM32Aの起動、新たなAP−VM32Aに対するアプリケーションのインストール、及びLB−VM31Aの設定等)を実行する。一方、各AP−VM32Aが仮想マシンを生成する条件を満たしていないと判定した場合(S74のNO)、S75の処理を実行しない。
そして、S74の処理において、各AP−VM32Aが仮想マシンを生成する条件を満たしていないと判定した場合(S74のNO)、または、S75の処理の後、パケット入出力部311Aは、各AP−VM32Aから次にアラーム通知を受信するまで待機する(S71のNO)。同様に、S73の処理において、受信したアラーム通知がアラーム通常通知である場合(S73の通常通知)、パケット入出力部311Aは、各AP−VM32Aから次にアラーム通知を受信するまで待機する(S71のNO)。
一方、S73の処理において、受信したアラーム通知がアラーム下限通知である場合(S73の下限通知)、増減処理判定部332Aは、各AP−VM32Aが仮想マシンを削除する条件を満たしているか否かを判定する(S76)。
そして、S76の処理において、各AP−VM32Aが仮想マシンを削除する条件を満たしていないと判定した場合(S76のNO)、パケット入出力部311Aは、各AP−VM32Aから次にアラーム通知を受信するまで待機する(S71のNO)。
一方、各AP−VM32Aが仮想マシンを削除する条件を満たしていると判定した場合(S76のYES)、増減処理制御部335Aは、システム状態管理情報346Aのシステム状態が「usual」であるか否かを判定する(S77)。以下、システム状態管理情報346Aについて説明を行う。
[システム状態管理情報の具体例]
図34は、システム状態管理情報346Aの具体例を説明する図である。図34に示すシステム状態管理情報346Aは、システム状態管理情報346Aに含まれる各情報を識別する「項番」と、AP−VM32Aが切り替え先の仮想マシンであるか否かを示す「システム状態」とを項目として有する。「システム状態」には、AP−VM32Aが切り替え先の仮想マシンであることを示す「new」、または、AP−VM32Aが「new」以外の状態であることを示す「usual」が設定される。具体的に、図34に示すシステム状態管理情報346Aは、「項番」が「1」である情報の「システム状態」には「new」が設定されている。
図30に戻り、システム状態管理情報346Aのシステム状態が「usual」である場合(S77のYES)、増減処理制御部335Aは、図31に示すように、第1の実施の形態と同様に、計測比率確認処理が実行されているか否かを判定する(S81)。その結果、計測比率確認処理が実行されている場合(S81のYES)、増減処理制御部335Aは、計測比率確認処理を終了する(S82)。そして、パケット入出力部331Aは、LB−VM31Aに情報要求パケットを送信する(S83)。そして、計測比率確認処理が実行されていなかった場合(S81のNO)、または、S83の処理が実行された後、増減処理制御部335Aは、計測比率確認処理を実行する(S84)。以下、計測比率確認処理の詳細について説明を行う。
[計測比率確認処理の詳細]
パケット入出力部331Aは、第1の実施の形態と同様に、テストパケット作成部333Aが作成した計測用パケットをロードバランサ5に送信する(S91)。そして、パケット入出力部331Aは、S91の処理の所定時間経過後、情報要求パケット作成部334Aが作成した情報要求パケットをASM−VM33Aに送信する(S92)。
その後、増減処理制御部335Aは、第1の実施の形態と同様に、LB−VM31Aから返信パケットを受信するまで待機する(S93のNO)。そして、LB−VM31Aから返信パケットを受信した場合(S93のYES)、増減処理制御部335Aは、S93の処理で受信した返信パケットの内容に基づき、計測比率を算出する(S94)。
その後、増減処理制御部335Aは、システム状態管理情報346Aのシステム状態が「new」であるか否かを判定する(S95)。そして、システム状態管理情報346Aのシステム状態が「new」である場合(S95のYES)、増減処理制御部335Aは、図33に示すように、AP−VM32Aに対する処理の切り替えが完了したか否かを判定する(S101)。その結果、AP−VM32Aに対する処理の切り替えが完了している場合(S101のYES)、増減処理制御部335Aは、システム状態管理情報346Aのシステム状態に「usual」を設定する(S102)。一方、AP−VM32Aに対する処理の切り替えが完了していない場合(S101のNO)、S102の処理を実行しない。
これにより、増減処理制御部335Aは、AP−VM32Aに対する処理の切り替えが完了している場合、増減処理制御部335Aは、第1グループにおいてオートスケール処理が実行されるように設定を行うことが可能になる。
一方、システム状態管理情報346Aのシステム状態が「usual」である場合(S95のNO)、増減処理制御部335Aは、第1の実施の形態と同様に、計測比率が設定される情報である計測比率管理情報344Aの計測比率と、S94の処理で算出した計測比率とが異なっているか否かを判定する(S96)。
その結果、計測比率管理情報344Aの計測比率と、S94の処理で算出した計測比率とが異なっていると判定した場合(S96のYES)、増減処理制御部335Aは、S94の処理で算出した計測比率と、運用手順管理情報343Aの基準閾値とに基づき、アラーム閾値を算出する(S97)。そして、増減処理制御部335Aは、算出したアラーム閾値を運用手順管理情報343Aに設定する(S97)。
なお、増減処理制御部335Aは、S97の処理において、算出したアラーム閾値をAP−VM32Aに設定するものであってもよい。具体的に、増減処理制御部335Aは、この場合、パケット入出力部311Aに、算出したアラーム閾値を示す情報の送信を指示するものであってもよい。
さらに、増減処理制御部335Aは、S94の処理で算出した計測比率に基づき、計測比率管理情報344Aの計測比率を設定する(S98)。
その後、増減処理制御部335Aは、計測比率管理情報344Aの計測比率が更新されたか否かを示すフラグである処理結果情報(図示しない)に「更新済」を設定する(S99)。なお、計測比率管理情報344Aの計測比率と、S94の処理で算出した計測比率とが同一であると判定した場合(S96のNO)、増減処理制御部335Aは、S97からS99の処理を実行しない。
図31に戻り、処理結果情報が「更新済」である場合(S85のYES)、増減処理制御部335Aは、第1の実施の形態と同様に、状態管理情報342Aにおける「対象リソース状態」を全て「通常」に更新する(S86)。なお、S102の処理の後、または、AP−VM32Aに対する処理の切り替えが完了していない場合(S101のNO)においても、増減処理制御部335Aは、S86の処理を実行する。
その後、増減処理制御部335Aは、第1の実施の形態と同様に、処理結果情報に「未更新」を設定し、処理結果情報の初期化を行う(S87)。
すなわち、増減処理制御部335Aは、AP−VM32Aが処理の切り替え先である場合、S81からS85の処理を実行しない。これにより、増減処理制御部335Aは、AP−VM32Aが処理の切り替え先である場合に、AP−VM32Aにおいて生成されるVMの数を抑制することが可能になる。
一方、処理結果情報が「未更新」である場合(S85のNO)、パケット入出力部331Aは、第1の実施の形態と同様に、VM管理装置1に既存のAP−VM32Aの削除を指示する(S88)。その後、VM管理装置1は、既存AP−VM32Aの削除に伴う処理(例えば、削除するAP−VM32Aの決定、LB−VM31Aの設定変更、及び削除するAP−VM32Aの削除等)を実行する。
また、システム状態管理情報346Aのシステム状態が「new」である場合(S77のYES)においても、増減処理制御部335Aは、S88の処理を実行する。その後、パケット入出力部311Aは、各AP−VM32Aから次にアラーム通知を受信するまで待機する(S71のNO)。
なお、増減処理制御部335Aは、第1の実施の形態の変形例の場合と同様に、S97の処理において、運用手順管理情報343Aの第1閾値情報TS1に加え、運用手順管理情報343Aの第2閾値情報TS2についても更新を行うものであってもよい。
これにより、AP−VM32Aは、処理の一部を他の仮想マシン(例えば、AP−VM32B)に切替えた後に、更新後のアプリケーションの異常が発見された場合に、実行すべき処理を実行することができる可能性をより高めることが可能になる。そのため、事業者は、利用者に提供するサービスへの影響をより防ぐことが可能になる。
以上の実施の形態をまとめると、以下の付記のとおりである。
(付記1)
コンピュータに、
1台以上の仮想マシンをそれぞれ含む複数のグループにパケットを振り分ける負荷分散装置に対し、所定数のテストパケットを送信し、
前記複数のグループに含まれる第1グループが前記負荷分散装置から受信した前記テストパケットの数を取得し、
取得した前記テストパケットの数に基づき、前記第1グループに含まれる第1仮想マシンの削除を行うか否かを判定するための第1閾値情報を更新し、
前記第1仮想マシンの動作状態と前記第1閾値情報とに基づき、前記第1仮想マシンの削除を行う、
処理を実行させることを特徴とするオートスケールプログラム。
(付記2)
付記1において、
前記第1閾値を更新する処理では、前記負荷分散装置が前記所定数のテストパケットの全てを前記第1グループに送信した場合における、前記仮想マシンの削除を行うか否かを判定するための第3閾値情報と、前記所定数に対する前記負荷分散装置が前記第1グループに送信したテストパケットの数の割合とを乗算した値に、前記第1閾値情報を更新する、
ことを特徴とするオートスケールプログラム。
(付記3)
付記1において、
前記第1仮想マシンを削除する処理では、動作状態を示す値が前記第1閾値情報以下である前記第1仮想マシンが1台以上存在する場合に、前記第1仮想マシンを1台以上削除する、
ことを特徴とするオートスケールプログラム。
(付記4)
付記1において、さらに、
取得した前記テストパケットの数に基づき、前記第1グループにおいて前記第1仮想マシンの生成を行うか否かを判定するための第2閾値情報を更新し、
前記第1仮想マシンの動作状態と前記第2閾値情報とに基づき、前記第1仮想マシンの生成を行う、
処理をコンピュータに実行させることを特徴とするオートスケールプログラム。
(付記5)
付記4において、
前記第2閾値を更新する処理では、前記負荷分散装置が前記所定数のテストパケットを前記第1グループに送信した場合における、前記仮想マシンの生成を行うか否かを判定するための第4閾値情報と、前記所定数に対する前記負荷分散装置が前記第1グループに送信したテストパケットの数の割合とを乗算した値に、前記第2閾値情報を更新する、
ことを特徴とするオートスケールプログラム。
(付記6)
付記4において、
前記第1仮想マシンを生成する処理では、動作状態を示す値が前記第2閾値情報以上である前記第1仮想マシンが1台以上存在する場合に、前記第1仮想マシンを1台以上生成する、
ことを特徴とするオートスケールプログラム。
(付記7)
付記3または6において、
前記動作状態を示す値は、前記第1仮想マシンのCPUの稼働率またはメモリの使用率である、
ことを特徴とするオートスケールプログラム。
(付記8)
付記1において、
前記第1仮想マシンは、前記第1仮想マシンが実行する処理を、前記複数のグループに含まれる他のグループの仮想マシンに対して引き継ぐことに伴って、段階的に削除される仮想マシンである、
ことを特徴とするオートスケールプログラム。
(付記9)
1台以上の仮想マシンをそれぞれ含む複数のグループにパケットを振り分ける負荷分散装置に対し、所定数のテストパケットを送信し、
前記複数のグループに含まれる第1グループが前記負荷分散装置から受信した前記テストパケットの数を取得し、
取得した前記テストパケットの数に基づき、前記第1グループに含まれる第1仮想マシンの削除を行うか否かを判定するための第1閾値情報を更新し、
前記第1仮想マシンの動作状態と前記第1閾値情報とに基づき、前記第1仮想マシンの削除を行う、
ことを特徴とするオートスケール方法。
(付記10)
付記9において、
前記第1閾値を更新する工程では、前記負荷分散装置が前記所定数のテストパケットの全てを前記第1グループに送信した場合における、前記仮想マシンの削除を行うか否かを判定するための第3閾値情報と、前記所定数に対する前記負荷分散装置が前記第1グループに送信したテストパケットの数の割合とを乗算した値に、前記第1閾値情報を更新する、
ことを特徴とするオートスケール方法。
(付記11)
付記9において、さらに、
取得した前記テストパケットの数に基づき、前記第1グループにおいて前記第1仮想マシンの生成を行うか否かを判定するための第2閾値情報を更新し、
前記第1仮想マシンの動作状態と前記第2閾値情報とに基づき、前記第1仮想マシンの生成を行う、
ことを特徴とするオートスケール方法。
(付記12)
付記11において、
前記第2閾値を更新する工程では、前記負荷分散装置が前記所定数のテストパケットを前記第1グループに送信した場合における、前記仮想マシンの生成を行うか否かを判定するための第4閾値情報と、前記所定数に対する前記負荷分散装置が前記第1グループに送信したテストパケットの数の割合とを乗算した値に、前記第2閾値情報を更新する、
ことを特徴とするオートスケール方法。
1:VM管理装置 2A:物理マシン
2B:物理マシン 5:ロードバランサ
4:仮想化ソフトウエア 11:利用者端末

Claims (6)

  1. コンピュータに、
    1台以上の仮想マシンをそれぞれ含む複数のグループにパケットを振り分ける負荷分散装置に対し、所定数のテストパケットを送信し、
    前記複数のグループに含まれる第1グループが前記負荷分散装置から受信した前記テストパケットの数を取得し、
    取得した前記テストパケットの数に基づき、前記第1グループに含まれる第1仮想マシンの削除を行うか否かを判定するための第1閾値情報を更新し、
    前記第1仮想マシンの動作状態と前記第1閾値情報とに基づき、前記第1仮想マシンの削除を行う、
    処理を実行させることを特徴とするオートスケールプログラム。
  2. 請求項1において、
    前記第1閾値を更新する処理では、前記負荷分散装置が前記所定数のテストパケットの全てを前記第1グループに送信した場合における、前記仮想マシンの削除を行うか否かを判定するための第3閾値情報と、前記所定数に対する前記負荷分散装置が前記第1グループに送信したテストパケットの数の割合とを乗算した値に、前記第1閾値情報を更新する、
    ことを特徴とするオートスケールプログラム。
  3. 請求項1において、さらに、
    取得した前記テストパケットの数に基づき、前記第1グループにおいて前記第1仮想マシンの生成を行うか否かを判定するための第2閾値情報を更新し、
    前記第1仮想マシンの動作状態と前記第2閾値情報とに基づき、前記第1仮想マシンの生成を行う、
    処理をコンピュータに実行させることを特徴とするオートスケールプログラム。
  4. 請求項3において、
    前記第2閾値を更新する処理では、前記負荷分散装置が前記所定数のテストパケットを前記第1グループに送信した場合における、前記仮想マシンの生成を行うか否かを判定するための第4閾値情報と、前記所定数に対する前記負荷分散装置が前記第1グループに送信したテストパケットの数の割合とを乗算した値に、前記第2閾値情報を更新する、
    ことを特徴とするオートスケールプログラム。
  5. 請求項1において、
    前記第1仮想マシンは、前記第1仮想マシンが実行する処理を、前記複数のグループに含まれる他のグループの仮想マシンに対して引き継ぐことに伴って、段階的に削除される仮想マシンである、
    ことを特徴とするオートスケールプログラム。
  6. 1台以上の仮想マシンをそれぞれ含む複数のグループにパケットを振り分ける負荷分散装置に対し、所定数のテストパケットを送信し、
    前記複数のグループに含まれる第1グループが前記負荷分散装置から受信した前記テストパケットの数を取得し、
    取得した前記テストパケットの数に基づき、前記第1グループに含まれる第1仮想マシンの削除を行うか否かを判定するための第1閾値情報を更新し、
    前記第1仮想マシンの動作状態と前記第1閾値情報とに基づき、前記第1仮想マシンの削除を行う、
    ことを特徴とするオートスケール方法。
JP2015246391A 2015-12-17 2015-12-17 オートスケールプログラム及びオートスケール方法 Pending JP2017111664A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015246391A JP2017111664A (ja) 2015-12-17 2015-12-17 オートスケールプログラム及びオートスケール方法
US15/353,803 US20170180465A1 (en) 2015-12-17 2016-11-17 Method, information processing apparatuses and non-transitory computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015246391A JP2017111664A (ja) 2015-12-17 2015-12-17 オートスケールプログラム及びオートスケール方法

Publications (1)

Publication Number Publication Date
JP2017111664A true JP2017111664A (ja) 2017-06-22

Family

ID=59067252

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015246391A Pending JP2017111664A (ja) 2015-12-17 2015-12-17 オートスケールプログラム及びオートスケール方法

Country Status (2)

Country Link
US (1) US20170180465A1 (ja)
JP (1) JP2017111664A (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11070628B1 (en) * 2016-05-26 2021-07-20 Nutanix, Inc. Efficient scaling of computing resources by accessing distributed storage targets
JP2019117605A (ja) * 2017-12-27 2019-07-18 富士通株式会社 情報処理装置、情報処理システム及び情報処理方法
US10922142B2 (en) 2018-10-31 2021-02-16 Nutanix, Inc. Multi-stage IOPS allocation

Also Published As

Publication number Publication date
US20170180465A1 (en) 2017-06-22

Similar Documents

Publication Publication Date Title
EP3637733B1 (en) Load balancing engine, client, distributed computing system, and load balancing method
US20220329651A1 (en) Apparatus for container orchestration in geographically distributed multi-cloud environment and method using the same
US11088961B2 (en) Monitoring data streams and scaling computing resources based on the data streams
US10977077B2 (en) Computing node job assignment for distribution of scheduling operations
JP7079998B1 (ja) クラスタの容量拡張方法及び装置
US10764132B2 (en) Scale-out association method and apparatus, and system
US12328245B2 (en) Interoperable cloud based media processing using dynamic network interface
JP2017107274A (ja) 仮想マシン増設方法、情報処理装置および仮想マシン増設システム
JP2016103144A (ja) 仮想マシン配備方法、仮想マシン配備プログラム及び仮想マシン配備システム
CN108475207A (zh) 云应用的联合自动缩放
US10956217B2 (en) Technique for optimizing the scaling of an application having a set of virtual machines
US20180101413A1 (en) Control device and control method
CN111064781A (zh) 多容器集群监控数据的采集方法、装置及电子设备
CN118476274A (zh) 在空闲时间关闭o-cloud节点以节省能耗的系统和方法
JP2017111664A (ja) オートスケールプログラム及びオートスケール方法
JP2019086949A (ja) 情報処理装置、情報処理システム及びプログラム
US12204926B2 (en) Virtual migration based on operation status
CN107634978A (zh) 一种资源调度方法及装置
US11494218B2 (en) Server and method for controlling packet transmission
JP6928237B2 (ja) 制御プログラム、制御装置及び制御方法
JP2011124677A (ja) パケット処理装置、パケット振り分け装置、制御プログラム及びパケット分散方法
US9329902B2 (en) Information processing method of controlling variation in a number of processes, storage medium, and information processing device
JP6350207B2 (ja) コンピュータシステム、情報処理装置、リソース割り当て方法及び情報処理装置のプログラム
JP2019215807A (ja) データ制御装置、データ制御方法、およびプログラム
JP6349786B2 (ja) 仮想計算機管理装置、仮想計算機管理方法、及び仮想計算機管理プログラム