JP2018088114A - 管理システム、および制御方法 - Google Patents

管理システム、および制御方法 Download PDF

Info

Publication number
JP2018088114A
JP2018088114A JP2016230824A JP2016230824A JP2018088114A JP 2018088114 A JP2018088114 A JP 2018088114A JP 2016230824 A JP2016230824 A JP 2016230824A JP 2016230824 A JP2016230824 A JP 2016230824A JP 2018088114 A JP2018088114 A JP 2018088114A
Authority
JP
Japan
Prior art keywords
processing environment
request
load balancer
environment
virtual machine
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.)
Granted
Application number
JP2016230824A
Other languages
English (en)
Other versions
JP6783638B2 (ja
Inventor
祐貴 白河
Yuki Shirakawa
祐貴 白河
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2016230824A priority Critical patent/JP6783638B2/ja
Priority to US15/821,115 priority patent/US20180150336A1/en
Priority to CN201711221208.6A priority patent/CN108124000A/zh
Publication of JP2018088114A publication Critical patent/JP2018088114A/ja
Application granted granted Critical
Publication of JP6783638B2 publication Critical patent/JP6783638B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5033Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering data affinity
    • 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/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • 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/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】 クライアント環境の設定により、クライアントからのリクエストが第1の処理環境の装置に送信された場合であっても、該リクエストを第2の処理環境の仮想マシンで処理させることを可能とする。【解決手段】 管理システムは、負荷分散装置から、いずれの仮想マシンにリクエストを転送させるかを管理し、クライアントからのリクエストを受け付ける装置についての設定が、第1の処理環境の負荷分散装置から第2の処理環境の装置に変更された際に、前記第1の処理環境の負荷分散装置から前記第2の処理環境の仮想マシンにリクエストを転送させるよう管理し、かつ、前記第1の処理環境の負荷分散装置から前記第1の処理環境の仮想マシンにリクエストを転送させないよう管理する。【選択図】 図5

Description

本発明は、仮想マシンと負荷分散装置を含む処理環境を管理する管理システム、および制御方法に関する。
近年、アプリケーションや仮想マシン、ストレージなどのコンピュータリソースをユーザが必要なときに必要な分だけ利用できるクラウドサービスが増えてきた。このようなクラウドサービスは、SaaS、PaaS、IaaSなどと呼ばれ、クラウドサービスベンダが提供するアプリケーションやコンピュータリソースをユーザが独自に組み合わせて使用することができる。ユーザはクラウド上にシステムを構成することで、自身がサービスベンダとなり、エンドユーザにサービスを提供することができる。クラウドサービスベンダはユーザが利用したアプリケーションやコンピュータリソースの量に応じて課金する仕組みとなっている。
従来、システムを構築する際には提供する機能やサービスの規模を考慮した上でシステム構成を決定し、アプリケーションを動作させるためのコンピュータリソースを選定する必要があった。サービスを運用していく過程でシステム構成を変更したい場合や、システムへの負荷やパフォーマンスを考慮してマシンスペックを上げたい場合は、コンピュータリソースを変更・追加する必要がある。しかし、稼働中の環境においてコンピュータリソースを変更・追加することは容易ではなく、既存コンピュータリソースへの設定ファイルやプログラムのデプロイメントとシステムの切り戻しを考慮して停止時間を設けていた。
停止時間を設けなければならないことや作業中のオペレーションミスなどを改善するために、近年は、Blue−Greenデプロイメントと呼ばれるシステムバージョンアップの方法が利用されている。ここで、システムのバージョンアップとは、例えば、システム内の仮想マシンで実行されるアプリケーションのバージョンアップが含まれる。バージョンアップ後のシステムは、提供できる機能が追加されたり、管理するデータの種類や形式が変更されたりする。ここで、仮想マシンとは、仮想化技術によって、サーバーを物理的な構成にとらわれずに論理的な単位で分割し、それぞれが独立したオペレーティングシステムをもって動作する論理的なコンピューターである。
ここで、Blue−Greenデプロイメントによるシステムバージョンアップの方法を説明する。まず、クラウドサービス上で、クライアントからのリクエストを受け付ける設定が行われている装置(ロードバランサ、仮想マシン)の属する処理環境が、本番環境として機能している。処理環境は、少なくとも、リクエストを処理する1以上の仮想マシンと、それらにリクエストを分散させる負荷分散装置として機能するロードバランサとを有する。そこで、処理環境をバージョンアップさせたい場合に、現行のバージョンの処理環境とは異なる、バージョンアップ後の処理環境をクラウドサービス上に更に構築する。その後、バージョンアップさせたいタイミングになったら、クライアントからのリクエストを受け付ける装置についての設定の変更などを行い、本番環境として機能させる処理環境を切り替える。この切り替えによって、システムのバージョンアップが実現される。ここで、接続先を切り替える方法としては、サービス提供者が管理するDNS(Domain Name System)サーバーのDNSレコードが記載された設定ファイルを書き換えるという方法などがある。
特許文献1には、Blue−Greenデプロイメントによるシステムバージョンアップの方法が記載されている。
特開2016−115333号公報
上述したBlue−Greenデプロイメントの実行によって、本番環境として機能する処理環境が切り替えられたにも関わらず、旧本番環境の負荷分散装置がクライアントからのリクエストを受け付けてしまうことがある。例えば、クライアント環境の設定として、クライアントのローカルネットワーク環境にあるDNSサーバーの更新が遅れていたり、クライアントのキャッシュサーバーなどで古いDNSキャッシュを保持し続けていたりする場合がある。そのような場合に、クライアントがリクエストを送信する際に、古いDNSレコードが名前解決に使用される。すると、本番環境として機能する処理環境が切り替えられたにも関わらず、クライアントからのリクエストは、旧本番環境(第1の処理環境)が受け付けることとなり、現在の本番環境(第2の処理環境)で処理されなくなってしまう。つまり、バージョンアップ後のサービスがクライアントへ提供されなくなってしまう。また、Blue−Greenデプロイメントが実行された直後に、新しいバージョンの処理環境(第1の処理環境)での異常発生により本番環境を古いバージョンの処理環境(第2の処理環境)に戻した場合においても、同様である。
本発明は、クライアント環境の設定により、クライアントからのリクエストが第1の処理環境の装置に送信された場合であっても、該リクエストを第2の処理環境の仮想マシンで処理させることを可能とするための仕組みを提供することを目的とする。
上記課題を解決するために、本発明は、クライアントからのリクエストを処理可能な複数の仮想マシンと、前記複数の仮想マシンにリクエストを転送する負荷分散装置とを少なくとも備える複数の処理環境を管理する管理システムであって、負荷分散装置から、いずれの仮想マシンにリクエストを転送させるかを管理する管理手段を有し、前記管理手段は、クライアントからのリクエストを受け付ける装置についての設定が、第1の処理環境の負荷分散装置から前記第1の処理環境とは別の第2の処理環境の装置に変更された際に、前記第1の処理環境の負荷分散装置から前記第2の処理環境の仮想マシンにリクエストを転送させるよう管理し、かつ、前記第1の処理環境の負荷分散装置から前記第1の処理環境の仮想マシンにリクエストを転送させないよう管理することを特徴とする。
本発明によれば、クライアント環境の設定により、クライアントからのリクエストが第1の処理環境の装置に送信された場合であっても、該リクエストを第2の処理環境の仮想マシンで処理させることが可能となる。
ネットワークシステム構成の一例を示す図 情報処理機能を有するハードウェアの構成例を示す図 クラウドシステムの構成例を示す図 コンピュータリソースの設定値を管理するテーブルの一例を示す図 Blue−Greenデプロイメント実行後のクラウドシステムの構成例を示す図 デプロイ処理の手順例を示すフローチャート 実施例2のクラウドシステムの構成例を示す図 処理環境のバージョン管理テーブルの例を示す図 バージョン管理テーブルの更新の手順例を示すフローチャート 旧Blueのコンピュータリソースの削除処理の手順例を示すフローチャート
以下、本発明を実施するための最良の形態について図面を用いて説明する。
(実施例1)
図1は、本発明の実施形態に係るネットワークシステム構成の一例を示す図である。情報処理装置104は、光回線などでプロバイダ103と通信し、プロバイダ103を介してインターネット102と繋がるPC(Personal Computer)やプリンター、複合機などである。情報処理端末107は基地局106と無線で通信し、コアネットワーク105を介してインターネット102と繋がる端末で、例えばタブレットやスマートフォン、ノートPCなどである。情報処理端末107には、無線通信機能を備えたデスクトップPCやプリンターなども含まれる。サーバー101は、インターネット102を介し、各情報処理端末にWebページやWeb APIを提供するクラウドシステムとして機能する。本実施例のクラウドシステムは、IaaSやPaaSなどのクラウドサービスによって提供されるプラットフォームやリソースを利用して構築される、ネットワークデバイスやそれらを保有する顧客を管理するためのサービスを提供するシステムである。なお、複数台のサーバー101によってクラウドシステムが構築されてもよい。
図2は、サーバー101、情報処理装置104、情報処理端末107、およびクラウドシステムが構築されるデータセンター上に存在するサーバーコンピューターなどの情報処理機能を有するハードウェアの構成例を示す図である。
入出力インターフェース201は、ディスプレイ、キーボード、マウス、タッチパネル、ボタンなどによる、情報や信号の入出力を行う。なお、これらのハードウェアを備えないコンピューターは、リモートデスクトップやリモートシェルなどにより、他のコンピューターから接続・操作することも可能である。ネットワークインターフェース202は、LANなどのネットワークに接続して、他のコンピューターやネットワーク機器との通信を行う。ROM204には、組込済みプログラムおよびデータが記録されている。RAM205は、一時メモリ領域である。二次記憶装置206は、HDDやフラッシュメモリに代表されるような記憶装置である。CPU203は、ROM204、RAM205、二次記憶装置206などから読み込んだプログラムを実行する。各部は、内部バス207を介して接続されている。サーバー101などは、ROM204に格納されているプログラムを実行するCPU203を備え、内部バス207を介して各部を総括的に制御する。
図3は、クラウドシステムの構成例を示す図である。図3(a)は、クラウドシステムの全体構成の一例を示す図である。301はサービスを提供するために必要なコンピュータリソースから構成されるクラウドシステムである。302はクラウドシステム301で管理するサービスを利用する情報処理装置104、情報処理端末107などの情報処理機能を有するクライアントである。
310は、ロードバランサ311、仮想マシン312、キュー313および仮想マシン314を含む処理環境である。処理環境310は、クライアント302からのリクエストを受け付ける設定がDNS(Domain Name System)サーバー340によって行われている。DNSサーバー340の設定において、クライアントからのリクエストを受け付ける設定が行われている装置(ロードバランサ、仮想マシンなど)の属する処理環境を、以下では、Blue環境または本番環境と呼ぶ。311はBlue環境のロードバランサ(負荷分散装置)であり、クライアント302からのリクエストを受け付ける。なお、ロードバランサはリクエストの分散先である仮想マシンに対して、ヘルスチェックを定期的に実行しているものとする。ヘルスチェックでは、仮想マシンが正常に稼働しているか、仮想マシンと通信可能であるかなどの確認が行われる。312はロードバランサ311によるリクエストの転送先であり、転送されたリクエストを処理可能な仮想マシン(以下VMと呼ぶ)である。ここで、仮想マシンとは、仮想化技術によって、サーバーを物理的な構成にとらわれずに論理的な単位で分割し、それぞれが独立したオペレーティングシステムをもって動作する論理的なコンピューターである。VM312は、単位時間あたりのリクエスト数やVM312自身のリソースの使用率に応じて自動的にスケールアウトする設定がなされていてもよい。
313は、VM312が処理依頼を示すデータを格納するキューである。314はキューに格納されるデータ(タスク、メッセージなどとも呼ばれる)を定期的に取得して処理するVMである。VM314はキュー313の存在により、通常はVM312のように自動的にスケールアウトされる設定を行われない。ただし、キュー313に格納されるデータを規定時間内に処理できない場合や、キュー313自身が定期的にVM314に対してデキューを行う場合などには、自動的にスケールアウトする設定がなされていてもよい。
320は、Blue−Greenデプロイメントの実行後に本番環境となる処理環境である。320内のVMでは、310内のVMと比べて、バージョンアップされたアプリケーションが動作する。Blue−Greenデプロイメントの実行後に本番環境となる処理環境を、以下では、Green環境と呼ぶ。321はGreen環境のロードバランサであり、322はロードバランサ321によるリクエストの分散先となるVMである。VM322は、Blue環境のVM312と比較して、バージョンアップされたアプリケーションが動作している。323は、VM322が処理依頼を示すデータを格納するキューである。324はキューに格納されるデータを定期的に取得して処理するVMである。VM324は、Blue環境のVM314と比較して、バージョンアップされたアプリケーションが動作している。Green環境には、通常はクライアント302からリクエストが送信されることはない。ただし、テスト目的などで、クライアント302やシステム管理部360などがGreen環境のエンドポイントを指定してリクエストを送信した場合は、Blue環境と同様に処理を実行することも可能である。
上述したように、Blue環境310とGreen環境320はそれぞれ、基本的には同じ構成を備えている。ただしバージョンアップに伴い、Green環境は、Blue環境と比較して、コンピュータリソースの数やスペックないしはアプリケーションロジックが変更されている。
ここで、クラウドサービスを利用して構築されるシステムは、比較的短期間でバージョンアップを繰り返すことが多く、一日に数十回、数百回とバージョンアップされる場合もある。そのような場合においても、Blue−Greenデプロイメントを行うことにより、サービス提供者はコンピュータリソースの変更やアプリケーションのバージョンアップも無停止かつ容易に行うことができる。また、サービスは止まることがないため、クライアントはサービス側の変更を意識することなく、継続的にサービスを利用することができる。
接続先の切り替えでは、FQDN(Fully Qualified Domain Name)を変更せずに、外部リクエストの接続先が新たな本番環境へ切り替わるように設定ファイルが書き換えられる。クライアントは、更新されたDNSレコードをもとに名前解決を行うため、FQDNの変更を行うことなく新しい本番環境へリクエストを送信することができる。しかしながら、サービス提供者が管理するDNSサーバーでTTL(Time to Live)を設定していたとしても、エンドユーザの階層上にあるDNSサーバーの更新間隔が必ずしも保証されるわけではない。例えば、クライアントのローカルネットワーク環境にある特定のDNSサーバーで更新が遅れていたり、クライアントのキャッシュサーバーなどでDNSキャッシュを保持し続けていたりする場合に、更新前の古いDNSレコードが名前解決に使用される。したがって、クライアントからのリクエストは、新しいバージョンである現在の本番環境ではなく、古いバージョンである旧本番環境で処理されてしまう。
図3(a)の説明に戻る。330はBlue環境310やGreen環境320が使用するデータストアである。データストア330は、冗長化目的で複数配置されていたり、システムの特性により異なる種類のデータストアが複数配置されていたりしてもよい。なお、図3ではBlue環境とGreen環境でデータストアを共有しているが、それぞれの処理環境ごとにデータストアが配置されていてもよい。340はDNSレコードなどが記載された設定ファイルとして、ドメイン情報やクラウドシステム301内の各エンドポイントの紐付け情報を管理するDNSサーバーである。後述するリソース管理部350がDNSサーバー340の設定ファイルを書き換えることで、Blue環境とGreen環境を切り替えるBlue−Greenデプロイメントを実現している。具体的にはリソース管理部350が、ロードバランサ311、321のエンドポイントをクラウドシステム301で管理するサービスの正式なFQDNに紐付けるようにDNSサーバー340の設定ファイルを書き換えることで処理環境の切り替えを行っている。
図3(b)は、リソース管理部の構成の一例を示す図である。350は、クラウドシステム301内のコンピュータリソースの監視や操作を行うためのリソース管理部で、クラウドサービスベンダによって提供される機能である。351は、処理環境やデータストアなどのコンピュータリソースを生成する機能を有するリソース生成部である。352は、DNSサーバー340の設定ファイル(後述する図4(a))を更新する機能を有する設定値更新部である。設定値更新部352は、システム管理部360のリソース操作部361から指示を受けて、DNSサーバー340の設定ファイルを直接書き換えたり、各コンピュータリソースが提供するAPIを呼び出したりすることによって設定値の更新を行う。353はクラウドシステム301内のコンピュータリソースの状態やアクセスログ、動作ログを監視する機能を有するリソース監視部である。354はクラウドシステム301内のコンピュータリソースを削除する機能を有するリソース削除部である。リソース削除部354は、予め削除処理をスケジューラに登録しておくことで、定期的に不要なコンピュータリソースを削除するように設定されていてもよい。
図3(c)は、システム管理部の構成の一例を示す図である。360は、クラウドシステム301内の各コンピュータリソースを操作するためにリソース管理部350に対して指示を出すシステム管理部である。システム管理部360は、本実施例の管理システムとして機能し、クラウドシステム301を管理するシステム開発者によって作成される。システム管理部360は、DNSサーバー340、リソース管理部350および管理用データストア370と通信可能である。361は、クラウドシステム301を管理するシステム開発者の開発PCなどからリクエストを受け付け、クラウドシステム301のコンピュータリソースを操作するために前述したリソース管理部350の各部に対して指示を出すリソース操作部である。リソース操作部361は、各処理環境の構成情報を管理するテーブル(後述する図4(b))や、各処理環境のロードバランサの設定情報を管理するテーブル(後述する図4(c))などを管理する。362は、各処理環境の動作・通信確認を行うためのテスト用リクエストを処理環境に送信する機能を有するアプリケーションテスト部である。アプリケーションテスト部362(以下、テスト部362)は、クラウドシステム301を管理するサービス提供者が予め作成したテストを管理用データストア370などに配置しておく。テスト部362は、テストを実行する際にテストツールなどを用いてテスト用リクエストを任意の処理環境に対して送信する。また、テスト部362はリソース管理部350を介して、ロードバランサ311、321からVM312、322に対してヘルスチェックを実行する指示を出すことも可能である。370はリソース操作部361の指示を記した管理用プログラムや処理環境310、320のアプリケーションプログラム、アクセスログなどのクラウドシステム301内で使用・生成されるデータを格納する管理用のデータストアである。
図4は、コンピュータリソースの設定値を管理するテーブルの一例を示す図である。後述するが、図4の各テーブルの設定値は、図5のDNSサーバー340および処理環境510、520の状態に関係する。また、本実施例では、テーブルのようなマトリクス形式で設定値を管理しているが、JSONのようなキーバリュー形式の設定ファイルとして管理することも可能である。
図4(a)で示す400は、DNSサーバー340のDNSレコードが記載された設定ファイルである。設定ファイル400は、DNSサーバー340で保持される。クライアント302は設定ファイル400をもとに名前解決を行う。401はクライアント302がBlue環境310にリクエストを送信する際の宛先となるホスト名を示している。402はDNSレコードのレコードタイプを示している。403は401で設定されているホスト名に紐付けるエンドポイントの宛先を示している。404は各DNSレコードが有効である期間を示すTTLである。405は各レコードが有効であるか無効であるかを示している。
図4(b)で示す410は、各処理環境の構成情報を管理するテーブルである。テーブル410は、管理用データストア370で保持される。リソース生成部351や設定値更新部352、リソース削除部354により処理環境および処理環境内のコンピュータリソースが生成、更新、削除された場合に、リソース操作部361により管理テーブル410は更新される。411は処理環境のシステムバージョンを示している。システムバージョンはリソース生成部351により処理環境が生成された際に発行される処理環境を区別するためのユニークなIDである。412はロードバランサ311、321などのクライアント302からアクセス可能な外部公開されているロードバランサを示すユニークなIDである。413はVM312、322などの処理環境のフロントエンドサーバーに該当するVMを示すユニークなIDである。414はキュー313、323などの処理環境のキューに該当するキューを示すユニークなIDである。415はVM314や324などの処理環境のバックエンドサーバーやバッチサーバーに該当するVMを示すユニークなIDである。
416は、処理環境内のロードバランサがリクエストを転送する対象となるVMを示す設定値である。処理環境内のロードバランサは、416で示すVMのいずれかにリクエストを転送する。416の設定値は、Blue−Green切り替え後に、リソース操作部361により更新される。管理テーブル410では、1行目(“SYSTEM VERSION”が20160101−000000の行)の処理環境は、412に記載のロードバランサでリクエストを受けた後、416に設定されたVMにリクエストを転送することを示している。管理テーブル410の1行目の処理環境では、412に記載のロードバランサは管理テーブル410の2行目の処理環境に記載の413のVMに対してリクエストを転送している。管理テーブル410の2行目の処理環境では、416が“myself”であるため、他の処理環境のVMではなく、同じ処理環境のVMにリクエストを転送していることを示す。つまり、管理テーブル410で、ロードバランサ412と、リクエストの転送先となるVM416との対応付けが管理されている。
つまり、ここでは、1行目の処理環境が旧本番環境で、2行目の処理環境が現在の本番環境であり、旧本番環境のロードバランサから本番環境のVMにリクエストが転送されることを示している。また、本番環境のロードバランサは、従来通り、本番環境のVMにリクエストを転送する。なお、テーブル410は処理環境のシステム構成によってテーブル定義が変わるため、処理環境構成情報を管理するテーブルはテーブル410のテーブル定義に限定するわけではない。
図4(c)で示す420は、各処理環境のロードバランサの設定情報を管理するテーブルである。テーブル420は、管理用データストア370で保持される。リソース生成部351や設定値更新部352、リソース削除部354によりロードバランサが生成、更新、削除された場合に、リソース操作部361によりテーブル420が更新される。421はロードバランサ311、321などのクライアント302からアクセス可能な外部公開されているロードバランサを示すユニークなIDであり、412と対応している。422はロードバランサのエンドポイントを示す値であり、DNS名やIPアドレスが設定されている。423はロードバランサのファイアウォールの設定値を示している。ファイアウォールの設定値423には通信を許可するプロトコルやポート、インバウンド、アウトバウンドのルールなどが記載されている。424はヘルスチェックの設定値を示している。ヘルスチェックの設定値424には、ヘルスチェックで送信するリクエストの宛先やポート番号、ヘルスチェックが正常であるためのルールなどが記載されている。ファイアウォールの設定値423やヘルスチェックの設定値424は、図4のようにテーブル420には設定ファイルを指定してもよいし、直接値を設定してもよい。
図5は、Blue−Greenデプロイメト実行後の処理環境の構成例を示す図である。Blue−Greenデプロイメント実行後とは、設定値更新部352が設定ファイル400を書き換えることで、クラウドシステム301で管理するサービスの正式なFQDNとロードバランサのDNS名などの紐付けを切り替えた後のことを意味する。Blue−Greenデプロイメントのことを、以下では単に切り替えと呼ぶ。
502は、切り替え後にクライアントのネットワーク環境でDNSキャッシュが更新されないなどが原因で、旧処理環境にリクエストを送信し続けるクライアントである。503は、切り替え後に正しく新処理環境にリクエストを送信するクライアントである。510は切り替え後の旧処理環境である。以下旧処理環境のことを旧Blue環境とも呼ぶ。一方、520は新処理環境であり、以下Blue環境とも呼ぶ。旧Blue環境は切り替え後も稼働している。
前述した通り、図4の管理テーブル410の1行目の処理環境と旧Blue環境510の処理環境は対応している。511は旧Blue環境のロードバランサであり、管理テーブル410の1行目の処理環境の412と対応している。切り替え後であっても旧Blue環境は稼働し続けているため、ロードバランサ511はクライアント502からのリクエストを受け付ける。切り替え後、リソース操作部361は、ロードバランサ511からVM522にリクエストを転送させるようにロードバランサ511の設定値を更新する。さらに、リソース操作部361は、ロードバランサ511からVM512にリクエストを転送させないようにロードバランサ511の設定値を更新する。このとき、管理テーブル410の1行目(旧Blue環境510の処理環境構成情報)の416には管理テーブル410の2行目(Blue環境520の処理環境構成情報)の413(VM522)が設定値としてリソース操作部361により更新される。この更新により、旧Blue環境510のエンドポイントであるロードバランサ511がクライアント502からリクエストを受けた場合でも、実際のリクエストの転送先はVM522であるため、Blue環境にリクエストを転送する。なお、VM512、キュー513、VM514は稼働しているため、新規にリクエストが転送されることはないが、処理中のリクエストは正常に処理される。520は切り替え後の新処理環境であり、前述した通りBlue環境に相当する処理環境である。Blue環境は、クラウドシステム301で管理するサービスの正式なFQDNと紐付いたロードバランサ521を有する処理環境である。
また、図4の管理テーブル410の2行目の処理環境とBlue環境520の処理環境は対応している。521はBlue環境のロードバランサである。ロードバランサ521は、切り替え後にクライアントのネットワーク環境でDNSキャッシュが更新され、正しく送信されたリクエストを受け付けるロードバランサである。ロードバランサ521は、旧BlueリクエストをVM522に転送し、その後、キュー523、VM524へと処理を渡していく。Blue環境520では旧Blue環境510とは違い、クライアント503からのリクエストを他の処理環境に転送する必要がないため、管理テーブル410は更新されない。
なお、旧Blue環境510のロードバランサ511がクライアントからのリクエストを受け付けた際に、送信元となるクライアントにエラーを返すなどして、クライアントに新しいDNSレコードを取得させるといったことも考えられる。ただし、クラウドシステム301にアクセスする全てのクライアントにそのような仕組みを設ける必要がある。
図6は、デプロイ処理の手順例を示すフローチャートである。図6のフローチャートに示す処理は、システム管理部360により実行される。すなわち、図6のフローチャートの処理は、データセンター上のサーバーコンピューターのCPU203が、ROM204または二次記憶装置206に記録されたプログラムを読み出して実行することにより実現される。
S601では、リソース操作部361が、リソース生成部351に対してGreen環境の構築を指示する。Green環境が構築されると、テーブル410および420に各種コンピュータリソースの情報が追加される。S602では、リソース操作部361が、設定値更新部352に対して、Blue−Green切り替えの実行を指示する。具体的には、DNSサーバー340の設定ファイルが更新されることで、クラウドシステムの外部にいるクライアントからのリクエストを受け付けるロードバランサが変更される。S603では、リソース操作部361が、設定値更新部352に問い合わせて、正常に切り替えが行われたことが確認された場合はS604を実行し、正常に切り替えが行われなかったことが確認された場合は、本フローチャートの処理を終了する。S604ではテスト部362がBlue環境520に対して動作・通信確認テストを行うなどして正常に稼働しているか確認する。テスト部362は、Blue環境520が正常に稼働していると判断した場合はS605を実行し、正常に稼働していないと判断した場合はS610を実行する。
S605では、リソース操作部361が、旧Blue環境510のロードバランサ511とBlue環境520のVM522とを対応付けるようにテーブル410を更新する。具体的には、管理テーブル410の1行目の416に、管理テーブル410の2行目の413のVMが、リクエストの転送先の候補として追加される。この対応付けが行われた時点では、旧Blue環境510のロードバランサ511からBlue環境520のVM522へのヘルスチェックが完了していないため、クライアント502からのリクエストはBlue環境520のVM522に転送されない。S606ではテスト部362が、旧Blue環境510のロードバランサ511に、S605で追加したBlue環境520のVM522に対してヘルスチェックを行うように指示する。ヘルスチェックでは、仮想マシンが正常に稼働しているか、仮想マシンと通信可能であるかなどの確認が行われる。なお、旧Blue環境510のロードバランサ511からBlue環境520のVM522へのヘルスチェックを実行する際に、旧Blue環境510とBlue環境520でロードバランサの設定値に差異があり、ヘルスチェックが失敗する可能性がある。従って、テスト部362は、テーブル420の情報をもとにBlue環境520のロードバランサ521の設定値を旧Blue環境510のロードバランサ511に適用した上でヘルスチェックの実行指示を出してもよい。S607ではテスト部362がS606で実行したヘルスチェックの結果に基づき、Blue環境520のVM522にリクエストを転送可能であると確認された場合はS608を実行し、転送可能でないと確認された場合はS612を実行する。なお、ヘルスチェックに失敗した場合も、テスト部362はS612を実行する。
S608ではリソース操作部361が、旧Blue環境510のロードバランサ511に対して、クライアント502からのリクエストをS605で追加したBlue環境520のVM522へ転送するように指示する。S609ではリソース操作部361は、クライアント502からのリクエストが旧Blue環境のVMに転送されないように、旧Blue環境510のロードバランサ511とVM512との対応付けを解除するようにテーブル410を更新する。すなわち、リソース操作部361が、管理テーブル410の1行目の処理環境の413、414、415に設定された値を削除したり、あるいは取り外しフラグを付与したりするなどして、管理テーブル410を更新する。ロードバランサ511の設定で、ロードバランサ511からリクエストの分散先であるVM512への通信を閉塞できる場合は、ロードバランサ511とVM512との対応付けを解除せず、通信を閉塞するだけでもよい。通信を閉塞する場合においても同様に、リソース操作部361が管理テーブル410の413、414、415の設定値を更新する。その後、本デプロイ処理を終了する。
S610ではリソース操作部361は、設定値更新部352に対して、S602で実行した設定ファイル400の更新を再度実行し、Blue環境520から旧Blue環境510へ切り戻すよう指示する。S611ではリソース操作部361は、切り戻しにより旧Blue環境になった処理環境520のロードバランサ521に、切り戻しによりBlue環境になった処理環境510のVM512を、追加するようにテーブル410を更新する。なお、S611の時点では、クライアントからのリクエストはVM512にはまだ転送されない。
S612ではリソース操作部361は、Blue環境のVMと旧Blue環境の外部公開しているロードバランサとの対応付けを解除するようにテーブル410を再度更新し、デプロイ処理を終了する。なお、ヘルスチェックが不要である場合は、S606およびS607を省略して、S608に処理を進めてもよい。また、S608でリソース操作部361がロードバランサ511に対する指示を行わずに、図4(b)のテーブルで対応付けが行われたことに応じて、ロードバランサ511がVM522へリクエストを転送してもよい。
本実施例で説明したように、処理環境520がクライアントからのリクエストを受け付ける設定がDNSサーバーのレコードで保持されている場合であっても、処理環境510のロードバランサがクライアントからのリクエストを受け付けることがある。その場合に、本実施例では、システム管理部360が、処理環境510のロードバランサと処理環境520の仮想マシンとの対応付けを行い、かつ、処理環境510のロードバランサと処理環境510の仮想マシンとの対応付けを解除した。本実施例により、DNSサーバーで本番環境として設定されていない処理環境の負荷分散装置が受け付けたリクエストを、本番環境として設定されている処理環境の仮想マシンで処理することが可能となる。
(実施例2)
実施例1では切り替え後のBlue環境と旧Blue環境の2つの環境に対して、ロードバランサからVMにリクエストを転送するための設定値の更新フローを説明した。しかし、処理環境のバージョンアップが頻繁に行われる場合、並存する環境は2つに限られない。バージョンアップごとに処理環境を作成して、不要になった処理環境を削除するというデプロイメント手法がしばしば用いられる。つまり、Blue−Greenデプロイメントにおいて接続先の切り替えが完了し、システムに問題がないことが確認できた場合には、旧本番環境は不要となるため旧本番環境を削除することも可能である。そのような場合においても実施例1で説明した同様の理由で、古い処理環境にリクエストを送信し続けるクライアントは存在するため、クライアントのリクエスト送信先を最新バージョンの処理環境に向ける必要がある。実施例2では実施例1の応用例として、本番環境ではない処理環境が複数存在する場合の処理環境の管理方法について説明する。
図7は、切り替え後に処理環境が3以上存在する場合のクラウドシステム構成例を示す図である。702と703は実施例1と同様に、クライアントのネットワーク環境でDNSキャッシュが更新されないなどが原因で、旧処理環境にリクエストを送信し続けるクライアントである。クライアント703は旧Blue環境720にリクエストを送信し、クライアント702は旧Blueより更に古い処理環境(旧々Blueと呼ぶ)710にリクエストを送信するクライアントである。クライアント704はクラウドシステム301で管理するサービスの正式なFQDNと紐付いたロードバランサ731を有するBlue環境730にリクエストを送信するクライアントである。切り替え後、リソース操作部361は、ロードバランサ711、721からVM732にリクエストを転送するようにロードバランサ711と721の設定値を更新する。それと共に、リソース操作部361は、ロードバランサ711からはVM712に、ロードバランサ721からはVM722にリクエストを転送しないようにロードバランサ711と721設定値を更新する。
図8は、処理環境の管理テーブルを処理工程ごとに示した図である。800は処理環境をバージョンごとに管理するための管理テーブルである。管理テーブル800は、図4の管理テーブル410を拡張したテーブルを想定しているが、新たに用意したテーブルでもよい。管理テーブル800は、管理用データストア370で保持されて、デプロイメント中の各工程においてリソース操作部361により更新される。
801は処理環境のバージョンを示しており、図4の411に対応する。802は外部公開しているロードバランサをユニークなIDで示したものであり、412に相当する。803は外部公開しているロードバランサ711、721、731などがリクエストを転送する先のMVを示しており、図4の416に対応する。804は処理環境のシステムモードを示している。本実施例では説明の便宜上“old blue”, “blue”, “green”, “waiting old blue”, “switch back”の5つのシステムモードを定義した。“old blue”は過去にBlue環境として稼働していた処理環境である。“blue”は、Blue環境として稼働している処理環境であり、実施例1で説明したような他の処理環境のロードバランサからのリクエストの転送先であるVMを有する処理環境である。“green”は、Green環境として稼働している処理環境であり、“blue”の処理環境にリクエストを転送しない唯一の処理環境である。“waiting old blue”は、過去にBlue環境であったが、切り戻しがある場合に再度Blue環境になり得る処理環境であり、前回“blue”であった処理環境が切り替えにより“waiting old blue”となる。“waiting old blue”は、所定期間が経過した後、“blue”が正常稼働していると判断された後に、“old blue”になる。所定期間としては、1週間から1か月程度の期間が想定される。“switch back”は、Blue環境で異常が発生した際などに、切り戻されて再度Blue環境になった処理環境である。805はシステムモードが変更された際のシステムモード更新日時を示している。
図8(a)はGreen環境を構築してから切り替え前までの管理テーブル800である。図8(b)は切り替え後から“blue”が正常に稼働していると判断されるまでの管理テーブル800である。図8(c)は“blue”が正常に稼働していると判断されず、切り戻しを行った後の管理テーブル800の例である。具体的には、後述する図9のS902後の状態が図8(a)、S905後の状態が図8(b)、S913後の状態が図8(c)に対応している。
図9は処理環境の管理テーブルを用いた一連のデプロイメント処理の手順例を示すフローチャートである。すなわち、図9のフローチャートの処理は、データセンター上のサーバーコンピューターのCPU203が、ROM204または二次記憶装置206に記録されたプログラムを読み出して実行することにより実現される。
S901では、リソース操作部361が、S601と同様にリソース生成部351に対してGreen環境の構築の指示を行う。S902では、リソース操作部361は、S901で構築されたGreen環境を管理テーブル800に追加する。S903は、リソース操作部361が、S602と同様に切り替えを指示する。S904では、正常に切り替えが実行されたか確認を行い、正常に切り替えられた場合はS905を実行し、正常に切り替えられなかった場合はデプロイメント処理を終了する。
S905では、リソース操作部361は、管理テーブル800の各環境の情報を更新する。まず、リソース操作部361はシステムモード802が“blue”である処理環境を“waiting old blue”に、“green”である処理環境を“blue”に更新する。次に、リソース操作部361は、システムモード802が更新された処理環境のシステムモード更新日時805を更新する。最後に、リソース操作部361は、システムモードが“old blue”,“waiting old”に更新された処理環境のロードバランサのリクエストの転送先のVMを“blue”のVMに更新する。S906ではシステムモード802が“blue”の処理環境が正常に稼働しているかどうかが確認され、正常に稼働している場合はS907を実行し、正常に稼働していない場合はS912を実行する。正常に稼働しているかどうかは、テスト部362が実行したテストをパスしたことや、一定時間経過後、一定リクエスト処理後にエラーが発生しなかったこと、などを基準に判断される。
S907では、リソース操作部361はシステムモード802が“waiting old blue”の処理環境を“old blue”に変更すると共に、システムモード更新日時805を更新する。S908ではテスト部362およびリソース操作部361は、システムモード802が“old blue”のロードバランサと、リクエストの転送先としての“blue”のVMとの対応付けを行う。さらにテスト部362は、ヘルスチェックを実行するように指示する。S909では、S607と同様にヘルスチェックの結果に基づき、テスト部362は、“blue”のVMへリクエストを転送可能であると確認された場合はS910を実行し、転送可能でないと確認された場合はS915を実行する。なお、ヘルスチェックに失敗した場合も、テスト部362はS915を実行する。
S910ではリソース操作部361は、S909にてヘルスチェックが成功したロードバランサとVMの組に対して、ロードバランサからVMにリクエストを転送するように指示する。S911ではリソース操作部361は、管理テーブル800の情報をもとに、システムモード802が“old blue”および“switch back”の処理環境のロードバランサと自身の環境のVMとの対応付けを解除する。なお、S609と同様に、リソース操作部361は、ロードバランサとVMとの対応付けを解除するのではなく、通信を閉塞するだけでもよい。
S912では、リソース操作部361はS610と同様に切り戻しを実行する。このとき、切り戻した結果Blue環境になるのは、システムモード802が“waiting old blue”である処理環境である。S913では、まず、リソース操作部361はシステムモード802が“waiting old blue”であった処理環境を“blue”に、“blue”であった処理環境が“switch back”になるように管理テーブル800を更新する。次に、リソース操作部361はシステムモード802を変更した処理環境のシステムモード更新日時805を更新する。最後に、リソース操作部361はロードバランサからのリクエストの転送先VMを“blue”の処理環境VMに設定する。S914ではテスト部362およびリソース操作部361は、切り戻された処理環境(この時点で“switch back”)のロードバランサに、切り戻した処理環境(この時点で“blue”)のVMを追加し、ヘルスチェックを実行する。
S915ではリソース操作部361は、ヘルスチェックに失敗した“old blue”と“switch back”の処理環境のロードバランサとリクエストの転送先である“blue”のVMとの対応付けを解除する。
前述した通り、バージョンアップの頻度が高いサービスの場合、旧Blue環境を残し続けることも可能であるが、運用コストが高くなるため、不要な処理環境は削除するのが望ましい。クライアントがアクセス可能な外部公開しているロードバランサをのみを残し、ロードバランサ配下のコンピュータリソースを条件に応じて削除する方法を説明する。
図10は旧Blue環境のリソースの削除処理の手順例を示すフローチャートである。S1001では、リソース監視部353は、システムモード802が、“old blue”の処理環境の各種コンピュータリソースの使用状況、アクセスログ、動作ログなどをリソース監視部353が監視する。S1002では、リソース監視部353は、システムモード802が“old blue”の処理環境の外部公開されているロードバランサ以外のコンピュータリソースの使用状況を確認する。リソース監視部353は、サーバーに一定時間以上アクセスが無いか、キューにデータがないかなどの条件で判断を行い、条件を満たすと判断した場合はS1003を実行する。そうでない場合は再度時間をおいてリソース監視部353がコンピュータリソースの使用状況やログを確認する。S1003ではシステムモード802が“old blue”の処理環境の外部公開されているロードバランサ以外のコンピュータリソースを削除する。S1004ではシステムモード802が“old blue”の処理環境の外部公開されているロードバランサのアクセスログを確認する。一定時間以上アクセスログが確認できない場合は、S1005を実行し、一定時間以内にアクセスログがある場合は再度時間をおいてリソース監視部353がロードバランサのアクセスログを確認する。S1005ではシステムモード802が“old blue”の処理環境の外部公開されているロードバランサを削除する。
なお、S1003において、旧Blue環境のキューにメッセージがまだ残っている場合には、旧Blue環境のVM722のみを削除して、旧Blue環境のキューおよびキュー内のメッセージを処理するVMを削除しないようにしてもよい。
本実施例では、クラウドシステム内に処理環境が3つ並存する場合に、システム管理部360は、DNSサーバーで本番環境として設定されていない処理環境の負荷分散装置と、本番環境として設定されている処理環境の仮想マシンとを対応付けた。さらに、システム管理部360は、本番環境として設定されていない処理環境の仮想マシンを削除した。本実施例により、DNSサーバーで本番環境として設定されていない処理環境の負荷分散装置が受け付けたリクエストを、本番環境として設定されている処理環境の仮想マシンで処理することが可能となる。
(他の実施例)
本発明は、上述した実施形態を適宜組み合わせることにより構成された装置あるいはシステムやその方法も含まれるものとする。
ここで、本発明は、上述した実施形態の機能を実現する1つ以上のソフトウェア(プログラム)を実行する主体となる装置あるいはシステムである。また、その装置あるいはシステムで実行される上述した実施形態を実現するための方法も本発明の1つである。また、そのプログラムは、ネットワークまたは各種記憶媒体を介してシステムあるいは装置に供給され、そのシステムあるいは装置の1つ以上のコンピューター(CPUやMPU等)によりそのプログラムが読み出され、実行される。つまり、本発明の1つとして、さらにそのプログラム自体、あるいは当該プログラムを格納したコンピューターにより読み取り可能な各種記憶媒体も含むものとする。また、上述した実施形態の機能を実現する回路(例えば、ASIC)によっても、本発明は実現可能である。
101 サーバー
203 CPU
301 クラウドシステム
360 システム管理部
361 リソース操作部

Claims (11)

  1. クライアントからのリクエストを処理可能な複数の仮想マシンと、前記複数の仮想マシンにリクエストを転送する負荷分散装置とを少なくとも備える複数の処理環境を管理する管理システムであって、
    負荷分散装置から、いずれの仮想マシンにリクエストを転送させるかを管理する管理手段を有し、
    前記管理手段は、クライアントからのリクエストを受け付ける装置についての設定が、第1の処理環境の負荷分散装置から前記第1の処理環境とは別の第2の処理環境の装置に変更された際に、前記第1の処理環境の負荷分散装置から前記第2の処理環境の仮想マシンにリクエストを転送させるよう管理し、かつ、前記第1の処理環境の負荷分散装置から前記第1の処理環境の仮想マシンにリクエストを転送させないよう管理することを特徴とする管理システム。
  2. 負荷分散装置から、転送先の候補となる仮想マシンへリクエストを転送可能であるか否かの確認を、前記負荷分散装置に対して指示する第1の指示手段を有し、
    前記指示に基づき、前記第1の処理環境の負荷分散装置から前記第2の処理環境の仮想マシンへリクエストを転送可能であると確認された際に、前記第1の処理環境の負荷分散装置が受け付けたリクエストが前記第2の処理環境の仮想マシンに転送されることを特徴とする請求項1に記載の管理システム。
  3. 前記管理手段は、前記第1の指示手段の指示に基づき、前記第1の処理環境の負荷分散装置から前記第2の処理環境の仮想マシンへリクエストを転送可能であると確認された際に、前記第1の処理環境の負荷分散装置から前記第1の処理環境の仮想マシンにリクエストを転送させないように管理することを特徴とする請求項2に記載の管理システム。
  4. クライアントからのリクエストを受け付ける装置についての設定は、前記管理システムがアクセス可能なDNS(Domain Name System)サーバーで保持されることを特徴とする請求項1乃至3のいずれか1項に記載の管理システム。
  5. 仮想マシンの生成または削除を実行するリソース管理部に対して指示を行う第2の指示手段を有し、
    前記第2の指示手段は、クライアントからのリクエストを受け付ける装置についての設定が、前記第1の処理環境の負荷分散装置から前記第2の処理環境の装置に変更されてから第1の所定期間が経過した際に、前記第1の処理環境の仮想マシンを削除するための指示を前記リソース管理部に対して行うことを特徴とする請求項1乃至4のいずれか1項に記載の管理システム。
  6. 前記第2の指示手段は、前記リソース管理部に対して、負荷分散装置の生成または削除の指示を更に行うことが可能であり、
    前記第2の指示手段は、クライアントからのリクエストを受け付ける装置についての設定が、前記第1の処理環境の負荷分散装置から前記第2の処理環境の装置に変更されてから前記第1の所定期間よりも長い第2の所定期間が経過した際に、前記第1の処理環境の負荷分散装置を削除するための指示を前記リソース管理部に対して行うことを特徴とする請求項5に記載の管理システム。
  7. 前記第2の指示手段は、クライアントからのリクエストを受け付ける装置についての設定が、前記第1の処理環境の負荷分散装置から前記第2の処理環境の装置に変更されてから前記第2の所定期間が経過した際に、前記第1の処理環境の負荷分散装置がクライアントからのリクエストを受け付けていない場合には、前記第1の処理環境の負荷分散装置を削除するための指示を前記リソース管理部に対して行うことを特徴とする請求項6に記載の管理システム。
  8. 前記第2の処理環境の仮想マシンで動作するアプリケーションのバージョンは、前記第1の処理環境の仮想マシンで動作するアプリケーションのバージョンよりも新しいことを特徴とする請求項1乃至7のいずれか1項に記載の管理システム。
  9. 前記第1の処理環境は複数存在することを特徴とする請求項8に記載の管理システム。
  10. 前記管理手段は、クライアントからのリクエストを受け付ける装置についての設定が、前記第1の処理環境の負荷分散装置から前記第2の処理環境の装置に変更された後、更に前記第1の処理環境の負荷分散装置へ変更された際に、
    前記第1の処理環境の負荷分散装置から前記第1の処理環境の仮想マシンにリクエストを転送させるよう管理し、前記第1の処理環境の負荷分散装置から前記第2の処理環境の仮想マシンにリクエストを転送させないよう管理し、前記第2の処理環境の負荷分散装置から前記第1の処理環境の仮想マシンにリクエストを転送させるよう管理し、かつ、前記第2の処理環境の負荷分散装置から前記第2の処理環境の仮想マシンにリクエストを転送させないよう管理することを特徴とする請求項1乃至8のいずれか1項に記載の管理システム。
  11. クライアントからのリクエストを処理可能な複数の仮想マシンと、前記複数の仮想マシンにリクエストを転送する負荷分散装置とを少なくとも備える複数の処理環境を管理する管理システムの制御方法であって、
    負荷分散装置からいずれの仮想マシンにリクエストを転送させるかを管理する管理工程を有し、
    前記管理工程では、クライアントからのリクエストを受け付ける装置についての設定が、第1の処理環境の負荷分散装置から前記第1の処理環境とは別の第2の処理環境の装置に変更された際に、前記第1の処理環境の負荷分散装置から前記第2の処理環境の仮想マシンにリクエストが転送されるよう管理され、かつ、前記第1の処理環境の負荷分散装置から前記第1の処理環境の仮想マシンにリクエストが転送されないよう管理されることを特徴とする制御方法。
JP2016230824A 2016-11-29 2016-11-29 管理システム、および制御方法 Active JP6783638B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2016230824A JP6783638B2 (ja) 2016-11-29 2016-11-29 管理システム、および制御方法
US15/821,115 US20180150336A1 (en) 2016-11-29 2017-11-22 Management system and control method
CN201711221208.6A CN108124000A (zh) 2016-11-29 2017-11-29 管理系统及控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016230824A JP6783638B2 (ja) 2016-11-29 2016-11-29 管理システム、および制御方法

Publications (2)

Publication Number Publication Date
JP2018088114A true JP2018088114A (ja) 2018-06-07
JP6783638B2 JP6783638B2 (ja) 2020-11-11

Family

ID=62190832

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016230824A Active JP6783638B2 (ja) 2016-11-29 2016-11-29 管理システム、および制御方法

Country Status (3)

Country Link
US (1) US20180150336A1 (ja)
JP (1) JP6783638B2 (ja)
CN (1) CN108124000A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11184431B2 (en) 2019-08-30 2021-11-23 Canon Kabushiki Kaisha System and control method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015108930A (ja) * 2013-12-04 2015-06-11 株式会社野村総合研究所 正副システム間の切替方法
JP2016115333A (ja) * 2014-12-16 2016-06-23 キヤノン株式会社 管理システムおよび管理システムの制御方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8631403B2 (en) * 2010-01-04 2014-01-14 Vmware, Inc. Method and system for managing tasks by dynamically scaling centralized virtual center in virtual infrastructure
US8799419B1 (en) * 2010-08-16 2014-08-05 Juniper Networks, Inc. Configuration update on virtual control plane
CN102437938B (zh) * 2012-01-09 2013-11-13 北京邮电大学 面向大规模网络监测的虚拟化部署系统和方法
WO2014014477A1 (en) * 2012-07-20 2014-01-23 Hewlett-Packard Development Company, L.P. Migrating applications between networks
GB2510874B (en) * 2013-02-15 2020-09-16 Ncr Corp Server system supporting remotely managed IT services
US9471356B2 (en) * 2013-06-12 2016-10-18 Dell Products L.P. Systems and methods for providing VLAN-independent gateways in a network virtualization overlay implementation
US9465855B2 (en) * 2013-10-22 2016-10-11 International Business Machines Corporation Maintaining two-site configuration for workload availability between sites at unlimited distances for products and services
US9619218B2 (en) * 2014-06-03 2017-04-11 Red Hat, Inc. Setup of management system in a virtualization system
EP3447968A1 (en) * 2014-11-17 2019-02-27 Huawei Technologies Co., Ltd. Method for migrating service of data center, apparatus, and system
CN105335234A (zh) * 2015-10-29 2016-02-17 贵州电网有限责任公司电力调度控制中心 一种虚拟机即时迁移方法
US10374828B2 (en) * 2015-12-18 2019-08-06 Cisco Technology, Inc. Service-specific, performance-based routing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015108930A (ja) * 2013-12-04 2015-06-11 株式会社野村総合研究所 正副システム間の切替方法
JP2016115333A (ja) * 2014-12-16 2016-06-23 キヤノン株式会社 管理システムおよび管理システムの制御方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11184431B2 (en) 2019-08-30 2021-11-23 Canon Kabushiki Kaisha System and control method

Also Published As

Publication number Publication date
CN108124000A (zh) 2018-06-05
US20180150336A1 (en) 2018-05-31
JP6783638B2 (ja) 2020-11-11

Similar Documents

Publication Publication Date Title
US11157304B2 (en) System for peering container clusters running on different container orchestration systems
US11509729B2 (en) Field service management mobile offline synchronization
CN107506258B (zh) 用于数据备份的方法和设备
CN102202078B (zh) 一种用于配置服务器场的多个异类角色的方法和系统
US20130290952A1 (en) Copying Virtual Machine Templates To Cloud Regions
US10970107B2 (en) Discovery of hyper-converged infrastructure
JP5627187B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP7069672B2 (ja) アプリケーションの更新方法およびプログラム
CN116018788A (zh) 为动态发现的对等体或网络功能配置服务网格联网资源
US11483255B2 (en) Systems and methods for virtual session connection using component-based connection leases
US11080041B1 (en) Operating system management for virtual workspaces
US20210286745A1 (en) DISCOVERY CONTROLLER REGISTRATION OF NON-VOLATILE MEMORY EXPRESS (NVMe) ELEMENTS IN AN NVME-OVER-FABRICS (NVMe-oF) SYSTEM
CN111614490A (zh) 基于顶级容器集群对托管容器集群的管理系统及方法
CN103297493A (zh) 有分区意识服务质量特征
US8543680B2 (en) Migrating device management between object managers
EP3868070A1 (en) System and method for automated information technology services management
JP2016018339A (ja) システム、及びシステムの制御方法
US10824588B2 (en) Remote document conversion and viewing systems and methods
JP6783638B2 (ja) 管理システム、および制御方法
JP7305626B2 (ja) ローカルネットワークにおけるプリントサービスのサービスとしてのソフトウェア配置
JP2013109640A (ja) コンピュータリソース提供装置、コンピュータリソース提供方法
CN114072768A (zh) 用于桥接数据库架构的控制器
JP2014216817A (ja) 情報端末管理システム
JP2018124894A (ja) アプリケーションサーバ、その方法及びプログラム
JP7334260B2 (ja) 複数のデータ構造を管理するための通信装置、通信方法、コンピュータプログラム、非一時的な記憶媒体および通信システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191128

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200909

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200923

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201022

R151 Written notification of patent or utility model registration

Ref document number: 6783638

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151