(57)【要約】  プロバイダ定義インターフェイスを使用したクライアント構内リソース制御方法及び装置が説明される。クライアントが登録要求を送信することを可能にするプログラム的インターフェイスセットが実行される。登録要求は、プロバイダネットワークのサービスに対応付けられた別のプログラム的インターフェイスセットを介して出される制御動作要求の対象候補として、プロバイダネットワークの外部のデータセンタに配置されたリソースを指示する。登録要求において指示された特定リソースと、プロバイダネットワークのデータセンタ内に配置された管理リソースとの間にネットワーク接続が確立される。別のプログラム的インターフェイスセットを介して受信された特定制御動作要求に応じて、管理リソースからネットワーク接続を介して特定リソースへ制御命令が送信される。【選択図】図１
2016536721.tif 000002
【特許請求の範囲】
【請求項１】
１以上のコンピューティングデバイスを備えるシステムであって、前記コンピューティングデバイスは、
クライアントがプロバイダネットワークの１以上のネットワークアクセス可能サービスのリソースに対応付けられた制御動作を要求することを可能にする第１プログラム的インターフェイスセットを実行し、
クライアントがリソース登録要求を送信することを可能にする第２プログラム的インターフェイスセットを実行し、前記リソース登録要求は前記第１プログラム的インターフェイスセットを介して受信される制御動作要求のカテゴリの対象候補として前記プロバイダネットワークの外部のデータセンタに配置された１以上のリソースを指示し、制御動作要求の前記カテゴリは前記１以上のネットワークアクセス可能サービスのうち少なくとも特定のネットワークアクセス可能サービスに対応付けられ、
前記プロバイダネットワークの外部の前記データセンタに配置された特定のリソースを指示する特定リソース登録要求を、前記第２プログラム的インターフェイスセットを介して受信し、
前記特定リソースにインストールされた管理ソフトウェアスタックの１以上のモジュールの機能性を検証し、
前記特定リソースにおける前記１以上のモジュールのうちの特定モジュールと、前記プロバイダネットワークのデータセンタ内に配置された管理リソースとの間に安全ネットワーク接続を確立し、
前記第１プログラム的インターフェイスセットを介して受信された制御動作要求の前記カテゴリの特定制御動作要求に応じて、前記管理リソースから前記安全ネットワーク接続を介して前記特定リソースへ制御命令を送信する
ように構成される、前記システム。
【請求項２】
前記特定ネットワークアクセス可能サービスは、仮想化コンピューティングサービス、ブロックレベルストレージサービス、クライアント運用のためのウェブサービスインターフェイスを実行するストレージサービス、データベースサービス、バッチ処理並列コンピューティングサービス、または負荷分散サービスのうちの１つを含む、請求項１に記載のシステム。
【請求項３】
前記プロバイダネットワークは、インフラストラクチャ構成要素セットと可用性プロファイルをそれぞれが有する第１アベイラビリティコンテナと第２アベイラビリティコンテナを含む複数のアベイラビリティコンテナを備え、前記特定リソース登録要求は、別のアベイラビリティコンテナとして、前記プロバイダネットワークの外部の前記データセンタにおける前記特定のリソースを含むリソースの集合を指定する要求を含む、請求項１に記載のシステム。
【請求項４】
前記１以上のコンピューティングデバイスはさらに、
特定物理ネットワークリンクを備えるネットワークパスを介して前記特定リソースへ前記制御命令を送信し、
前記特定リソース宛てのデータ転送動作要求に応じて、前記特定物理ネットワークリンクを備える別のネットワークパスを使用して、前記特定リソースからデータを転送する
ように構成される、請求項１に記載のシステム。
【請求項５】
前記１以上のコンピューティングデバイスはさらに、
前記プロバイダネットワークと、前記プロバイダネットワークの外部の前記データセンタとの間に、制御命令に関連したトラフィック専用の仮想私設ネットワーク（ＶＰＮ）を確立する
ように構成される、請求項４に記載のシステム。
【請求項６】
１以上のコンピューティングデバイスにより、
クライアントがプロバイダネットワークの１以上のネットワークアクセス可能サービスのリソースに対応付けられた制御動作を要求することを可能にする第１プログラム的インターフェイスセットを実行し、
特定のクライアントが登録要求を送信することを可能にする第２プログラム的インターフェイスセットを実行し、前記登録要求は前記第１プログラム的インターフェイスセットを介して出される制御動作要求のカテゴリの対象候補として前記プロバイダネットワークの外部のデータセンタに配置された１以上のリソースを指示し、制御動作要求の前記カテゴリは前記１以上のネットワークアクセス可能サービスのうち特定のネットワークアクセス可能サービスに関し、
前記プロバイダネットワークの外部の前記データセンタに配置された前記１以上のリソースのうちの特定のリソースを指示する特定登録要求を、前記第２プログラム的インターフェイスのうちのプログラム的インターフェイスを介して受信し、
前記特定リソースと、前記プロバイダネットワークのデータセンタ内に配置された管理リソースとの間にネットワーク接続を確立し、
前記第１プログラム的インターフェイスセットを介して受信された制御動作要求の前記カテゴリの特定制御動作要求に応じて、前記管理リソースから前記ネットワーク接続を介して前記特定リソースへ制御命令を送信する
ことを含む方法。
【請求項７】
前記特定ネットワークアクセス可能サービスは、仮想化コンピューティングサービス、ブロックレベルストレージサービス、クライアント運用のためのウェブサービスインターフェイスを実行するオブジェクトストレージサービス、データベースサービス、バッチ処理並列コンピューティングサービス、または負荷分散サービスのうちの１つを含む、請求項６に記載の方法。
【請求項８】
前記プロバイダネットワークは、インフラストラクチャ構成要素セットと可用性プロファイルをそれぞれが有する第１アベイラビリティコンテナと第２アベイラビリティコンテナを含む複数のアベイラビリティコンテナを備え、前記特定制御化外部リソースグループ要求は、別のアベイラビリティコンテナとして、前記プロバイダネットワークの外部の前記データセンタにおけるリソースの集合を指定する要求を含む、請求項６に記載の方法。
【請求項９】
前記１以上のコンピューティングデバイスにより、
特定物理ネットワークリンクを備えるネットワークパスを介して前記特定リソースへ前記制御命令を送信し、
前記特定リソース宛てのデータ転送動作要求の受信に応じて、前記特定物理ネットワークリンクを備える別のネットワークパスを使用して、前記特定リソースからデータを転送する
ことをさらに含む請求項６に記載の方法。
【請求項１０】
前記１以上のコンピューティングデバイスにより、
前記プロバイダネットワークと、前記プロバイダネットワークの外部の前記データセンタとの間に、制御命令に関連したトラフィック専用の仮想私設ネットワーク（ＶＰＮ）を確立する
ことをさらに含む請求項９に記載の方法。
【請求項１１】
前記１以上のコンピューティングデバイスにより、
前記特定クライアント用に確立された仮想私設ゲートウェイを使用して前記ネットワーク接続を確立する
ことをさらに含む請求項６に記載の方法。
【請求項１２】
前記１以上のコンピューティングデバイスにより、
ＩＰＳｅｃ（インターネットプロトコルセキュリティ）、ＴＬＳ（トランスポート層セキュリティ）、またはＳＳＬ（セキュアソケットレイヤ）のうちの１つを使用して前記ネットワーク接続を安全にする
ことをさらに含む請求項６に記載の方法。
【請求項１３】
前記１以上のコンピューティングデバイスにより、
前記プロバイダネットワークの外部の前記データセンタにおける送信先デバイスに対し、前記特定リソースにインストールするべきソフトウェアスタックの１以上のモジュールをインストール可能なバージョンで送信し、
前記管理リソースから前記１以上のモジュールのうちの特定モジュールへ前記ネットワーク接続を確立する
ことをさらに含む請求項６に記載の方法。
【請求項１４】
前記１以上のコンピューティングデバイスにより、
前記特定クライアントから受信した１以上の制御動作要求に応じて、前記特定リソースにおける特定仮想化コンピューティングインスタンスの実行を休止し、
前記プロバイダネットワーク内の別のリソースにおいて、休止した前記仮想化コンピューティングインスタンスを再インスタンス化する
ことをさらに含む請求項６に記載の方法。
【請求項１５】
前記１以上のコンピューティングデバイスにより、
前記プロバイダネットワーク内の構成サービスノードにおいて、前記特定クライアント用に構成する特定アプリケーションの第１構成要素及び第２構成要素の指示を含むアプリケーションスタック構成要求を受信し、前記第１構成要素は前記プロバイダネットワーク内に配置された第１リソースを利用し、前記第２構成要素は前記プロバイダネットワークの外部の前記データセンタに配置された第２リソースを利用し、
前記アプリケーションスタック構成要求に従って、前記構成サービスノードから前記第１リソース及び前記第２リソースに対しそれぞれ構成命令を出す
ことをさらに含む請求項６に記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
多数の企業及び他の組織が、同じ場所に配置された（例えばローカルネットワークの一部として）あるいは地理的に異なる複数の場所に配置された（例えば１以上の私設または公衆の中間ネットワークを介して接続された）コンピューティングシステム等により、自身の業務を支援するため多数のコンピューティングシステムを相互接続するコンピュータネットワークを運用している。例えば、単一の組織が自身のために運用する私設データセンタ、及び顧客にコンピューティングリソースを提供する企業体が運用する公衆データセンタ等、相当数の相互接続されたコンピューティングシステムを収容するデータセンタは今ではもう珍しくない。一部の公衆データセンタ運営者は、様々な顧客が所有するハードウェアに対しネットワークアクセス、電力、安全な設置施設を提供し、一方他の公衆データセンタ運営者は、顧客が利用可能なハードウェアリソースも含む完全なサービス施設を提供する。しかしながら、典型的なデータセンタの規模と範囲が拡大しているので、物理コンピューティングリソースの供給、運営、管理作業は一層複雑化している。
【０００２】
コモディティハードウェアの仮想化技術の出現により、大規模なコンピューティングリソースの管理に関連した恩恵が多様なニーズを持つ多数の顧客に与えられ、様々なコンピューティングリソースが複数の顧客により効率的かつ安全に共有可能となっている。例えば、仮想化技術により、単一の物理コンピューティングマシンが、各ユーザにその単一の物理コンピューティングマシンが提供する１以上の仮想マシンを提供することにより、複数のユーザ間で共有可能になり、当該の仮想マシンは、それぞれ、ユーザに、自分は所定のハードウェアコンピューティングリソースの唯一の操作者及び管理者であると錯覚させる、別個の論理コンピューティングシステムとして作動するソフトウェアシミュレーションでありまた同時に様々な仮想マシン間におけるアプリケーション分離と安全性も提供される。さらに、一部の仮想化技術は、複数の異なる物理コンピューティングシステムにわたる複数の仮想プロセッサを有する単一の仮想マシン等、１以上の物理リソースにわたる仮想リソースを提供可能である。
【０００３】
クライアントが必要に応じて仮想リソースを使用することを可能にするネットワーク運営者は、障害の検出及び障害からの復旧、作業量の増加に伴うインフラストラクチャの拡張等の責務といったアプリケーション管理の多数の様相を簡略化する。しかしながら、一部の企業のＩＴ（情報技術）部門は、特に長い年月存在するレガシーアプリケーション、機密データセットを扱いうるアプリケーション、または競合優位性をもたらす特許技術を利用しうるアプリケーションに関して、そのようなクラウドベースのアーキテクチャに委ねることに消極的でいる。完全にクライアント所有の構内におけるアプリケーションの実行から、完全にクラウドプロバイダのデータセンタにおける同一のアプリケーションの実行への突然の移行は、一部の組織にとって大きすぎる飛躍でありうる。クライアント構内アプリケーションからクラウド環境への移行を緩和するのに役立ちうる技術は、クラウド運営者（収入増加）及びクライアント（費用削減）の両者にとって大きな利益をもたらしうる。
【図面の簡単な説明】
【０００４】
【図１】少なくともいくつかの実施形態による、プロバイダネットワークの内部及び外部のデータセンタにおけるリソースを管理するために共通の制御インターフェイスセットが使用されうるシステムの実施例を示す。
【図２】少なくともいくつかの実施形態による、プロバイダネットワークデータセンタと外部データセンタ間のデータフローパス及び制御フローパスの実施例を示す。
【図３】少なくともいくつかの実施形態による、プロバイダネットワークリソースと外部リソースの組合せに基づく多層アプリケーションの例示的構成を示す。
【図４】少なくともいくつかの実施形態による、クライアントと、クライアント指定リソースを制御動作の対象候補として登録するように構成された登録マネジャとの間の対話の実施例を示す。
【図５】少なくともいくつかの実施形態による、プロバイダ定義制御インターフェイスを介してクライアントデータセンタにおけるリソース制御を実行するために行われうる動作態様を例示するフロー図である。
【図６】少なくともいくつかの実施形態による、制御動作に、クライアント構内リソースとプロバイダネットワークリソース間の予め設定されたデータ経路を使用するために行われうる動作態様を例示するフロー図である。
【図７】少なくともいくつかの実施形態による、プロバイダネットワークリソースと外部リソースの組合せを使用するアプリケーションを構成するために行われうる動作態様を例示するフロー図である。
【図８】少なくともいくつかの実施形態による、プロバイダネットワークの外部にあるデータセンタにおける仮想化リソースを休止させ、プロバイダネットワーク内のリソースを再インスタンス化するために行われうる動作態様を例示するフロー図である。
【図９】少なくともいくつかの実施形態による、プロバイダネットワークサービスが外部データセンタにおけるリソースを含むリソースプールを管理するように構成されたシステムの実施例を示す。
【図１０】図１０ａ及び１０ｂはそれぞれ、少なくともいくつかの実施形態による、プロバイダネットワークから外部データセンタへ拡張する制御プレーンを有するプール化リソースサービスに使用可能な制御フローの２つの選択肢を例示する。
【図１１】少なくともいくつかの実施形態による、プロバイダネットワークの外部にあるデータセンタにおけるリソースプールの種類の実施例を示す。
【図１２】少なくともいくつかの実施形態による、複数のアベイラビリティコンテナにわたりうるプール構成の実施例を示す。
【図１３】少なくともいくつかの実施形態による、プロバイダネットワーク内で実施されるサービスを利用して、プロバイダネットワークの外部の位置にあるプール化リソースの管理を支援するために行われうる動作態様を例示するフロー図である。
【図１４】少なくともいくつかの実施形態による、リソースプール内のリソースの起動状態を変更するために行われうる動作態様を例示するフロー図である。
【図１５】少なくともいくつかの実施形態において使用されうる例示的コンピューティングデバイスを示すブロック図である。
【発明を実施するための形態】
【０００５】
本明細書では、実施形態がいくつかの例示的実施形態及び説明図により説明されるが、実施形態は説明される実施形態または図面に限定されないことを当業者は認識するであろう。図面及びその詳細説明に、実施形態を開示される特定の形態に限定する意図はなく、それとは逆に、添付の請求項で定義される精神と範囲に入る全ての修正、均等物及び代替案を含める意図があることを理解されたい。本明細書で使用される見出しは、本明細書を構成する目的でのみ使用され、説明または請求項の範囲を限定するために用いられることを意図しない。本特許出願を通して使用される用語「〜しうる（英単語の“ｍａｙ”）」は、義務的な意味（すなわち「〜しなければならない」という意味）よりもむしろ許可的な意味（すなわち「〜する可能性がある」という意味）で使用される。同様に英単語“ｉｎｃｌｕｄｅ”、“ｉｎｃｌｕｄｉｎｇ”、及び“ｉｎｃｌｕｄｅｓ”は、含むがそれに限定されないことを意味する。
【０００６】
プロバイダネットワークの外部の構内に配置されたクライアントリソースの管理を援助するためにプロバイダネットワークにおいて実行されるプログラム的制御インターフェイスを使用する方法及び装置の様々な実施形態が説明される。例えば、クライアントのデータセンタにあるクライアントが所有する仮想化ホストは、クライアントがプロバイダネットワークデータセンタに配置されたリソースを管理するのに使用可能な同一の制御インターフェイスセット（例えばウェブベースのコンソールまたは様々な種類のアプリケーションプログラミングインターフェイス（ＡＰＩ））を使用して管理されうる。クライアントが変更を望むのであれば、そのような手法により、最終的にクライアントは非常に容易にアプリケーションをプロバイダネットワークインフラストラクチャに移行可能となりうる。
【０００７】
インターネット及び／または他のネットワークによりアクセス可能な１以上のネットワークアクセス可能サービス（様々な種類のクラウドベースのコンピューティング、ストレージ、またはデータベースのサービス等）を分散クライアントセットに提供するために企業または公的機関等の事業体が構築したネットワークは、本明細書においてプロバイダネットワークと称されうる。本文の残りの部分において、「クライアント」という用語は、所定の通信における通信元または通信先として使用される場合、プロバイダネットワークの少なくとも１つのネットワークアクセス可能サービスをアクセス及び利用可能なエンティティ（組織、複数ユーザ群、または単一ユーザ等）に所有され、管理され、割当てられたコンピューティングデバイス、プロセス、ハードウェアモジュール、またはソフトウェアモジュールのいずれかを指しうる。所定のプロバイダネットワークには、プロバイダにより提供されるインフラストラクチャ及びサービスを実装、設定、及び供給するのに必要な物理及び／または仮想化コンピュータサーバ、１以上のストレージデバイスをそれぞれ有するストレージサーバ、ネットワーク機器等の集合といった、様々なリソースプールを提供する多数のデータセンタ（異なる地域にわたって分散しうる）が含まれうる。その一部が異なるデータセンタまたは異なる地域においてインスタンス化または実行されうる多数の異なるハードウェア及び／またはソフトウェア構成要素は、様々な実施形態において各サービスを実行するために集合的に使用されうる。クライアントは、プロバイダネットワークにおけるリソース及びサービスとの対話を、クライアント所有もしくはクライアント管理の構内すなわちプロバイダネットワークの外部にあるデータセンタに配置されたデバイスから行いうる。クライアント構内または外部データセンタ上のリソースセットは、一括して「クライアントネットワーク」または「クライアント側リソース」と本明細書において称されうる。クライアントネットワーク内の全てのリソースがクライアントに所有される必要はないことに留意されたい。例えば、クライアントがプロバイダネットワークの外部の第３者構内に配置されたリソースをリースしていると、そのようなリースされたリソースもクライアントネットワークの一部とみなされうる。
【０００８】
一般に、プロバイダネットワーク及びそのクライアントの様々な構成要素間を流れるネットワークトラフィックは、データトラフィックと制御トラフィックという２つの大きなカテゴリに分類されうる。データトラフィックには、クライアントデバイスからのＨＴＴＰ（ハイパーテキスト転送プロトコル）要求に応じてプロバイダネットワーク内の仮想化コンピューティングサーバにおいてインスタンス化されたウェブサイトのウェブページコンテンツの転送等、クライアントアプリケーションに関連したネットワーク転送が含まれうる。制御トラフィックには、コントローラデバイスから仮想化コンピューティングサーバへ送信された設定変更命令等、管理タスクに関連したネットワーク転送が含まれうる。安全、パフォーマンス、その他の理由のため、データトラフィックと制御トラフィックは、少なくともいくつかの実装例において出来る限り互いに論理的に隔離された状態に保たれうる（とはいえ下に記載するように、少なくともいくつかの事例において、ネットワーク経路またはリンクは両種のトラフィック用に共有されうる）。従って、いくつかの実施形態において、所定のプロバイダネットワークの少なくともリソース及びインフラストラクチャ構成要素のサブセットは、データトラフィックフロー及び制御トラフィックフローにそれぞれ使用される「データプレーン」及び「制御プレーン」という２つのカテゴリに分類されうる。各プレーンには、例えば、ルータ、ゲートウェイ、スイッチ等のネットワークデバイス、ネットワークリンク、ストレージデバイス、及び／またはサーバを含むいくつかの異なる種類のリソースが含まれうる。
【０００９】
いくつかの実施形態によると、プロバイダネットワークは私設ネットワークサービスを実施し、クライアントがプロバイダネットワーク内に隔離仮想ネットワーク（ＩＶＮ）を確立することを可能にしうる。そのようなＩＶＮは、いくつかの実施形態において「仮想私設クラウド」またはＶＰＣと称されうる。ＩＶＮ内のデバイス用に設定された少なくとも一部のネットワークアドレスは、ＩＶＮの外部において公開または提供されえない。ゆえに、クライアントは、実質的に柔軟なＩＶＮ内のネットワーク構成設定が可能であり、クライアント所有のデータセンタ内に全てが構築されたネットワークに対してクライアントが行いうる管理制御と同様のレベルのネットワーク関連管理制御をＩＶＮに対して実行可能である。少なくともいくつかの実施形態において、クライアントは、クライアントネットワークとＩＶＮ間に私設ゲートウェイを設置可能でありうる、及び／または、仮想私設ネットワーク（ＶＰＮ）プロトコル等の様々な種類のセキュアネットワークプロトコルを使用して、クライアント構内とクライアントのＩＶＮ間の接続を確立可能でありうる。クライアントがＩＶＮを構成している実施形態において、データトラフィックはクライアントネットワークとプロバイダネットワーク内のＩＶＮ間をシームレスかつ安全に流れうるため、プロバイダネットワークのデータプレーンは、クライアントネットワークへ、またはクライアント構内へ論理的に拡張しているとみなされうる。
【００１０】
ＩＶＮの使用によりデータトラフィックフローが緩和されうるが、少なくともいくつかの事例において、クライアントはなお、プロバイダネットワーク内のリソースを管理するのに使用する制御インターフェイスとは異なる制御インターフェイスセットをクライアント構内のリソースに使用する必要がありうる。例えば、ＩＶＮ内の仮想化コンピューティングサーバのインスタンス化または停止等のプロバイダネットワークリソースに対する制御動作をクライアントが要求できるように、ウェブベースの管理コンソールが実行されうるが、クライアントデータセンタ内のコンピューティングサーバをインスタンス化及び停止するのには、別のインターフェイスセットがよく使用されうる。２つの異なる制御インターフェイスセットを使用しなければならない場合、クライアント組織のＩＴスタッフに対する相当な研修費が必要となり、かつアプリケーションをプロバイダネットワークへ移動することに関して大きな抵抗を生み出すであろう。従って、少なくともいくつかの実施形態において、プロバイダネットワーク運営者は、プロバイダネットワーク制御プレーンのクライアントネットワークへの拡張態様に関する解決策を提供しうる。これにより、プロバイダ内部及び外部両方のリソースを管理するのに共通の制御インターフェイスセットが使用可能となる。
【００１１】
そのような一実施形態によると、第１プログラム的インターフェイスセットが実行され、クライアントはプロバイダネットワークの１以上のネットワークアクセス可能サービスのリソースに対応付けられた制御動作を要求可能となりうる。さらに、第２プログラム的インターフェイスセットが実行され、クライアントはリソース登録要求を通して、第１プログラム的インターフェイスセットを介して制御可能とするクライアント側リソースを指示可能となりうる。そのような実施形態において、リソース登録要求は、第１プログラム的インターフェイスセットを介して受信される制御動作要求のカテゴリの対象候補として、プロバイダネットワークの外部にあるデータセンタに配置された１以上のリソースを指示しうる。制御動作要求のカテゴリは、プロバイダネットワークにおいて対応される少なくともいくつかのネットワークアクセス可能サービスに関連付けられうる。実装例に応じて、プロバイダネットワーク内に配置されたリソースで許可された制御動作のカテゴリのサブセットのみが、外部データセンタから登録されるリソース上で対応されうる。例えば、特定のハードウェアまたはソフトウェアに依存するいくつかの種類のセキュリティ関連制御動作はプロバイダネットワーク内でのみ対応可能であり、またはいくつかの種類の再構成動作はプロバイダネットワーク内でのみ対応可能でありうる。いくつかの実施形態において、登録マネジャと称されたプロバイダネットワークの構成要素は、リソース登録要求を受信し応答する責務を担いうる。
【００１２】
外部の（例えばクライアント所有の）データセンタに配置された特定リソースを示すリソース登録要求が受信されると、いくつかの実施形態において、例えばリソースにインストールされた１以上の管理ソフトウェアスタック構成要素と通信することで、特定リソースの１以上の能力が検証されうる。例えば、特定リソースが、１以上の仮想化コンピューティングサーバまたはインスタンスがこれから構成される仮想化ホストを備える場合、登録マネジャは、特定リソースにおける仮想化管理ソフトウェアスタックが、プロバイダネットワークホストにおいて制御動作を開始させるために一般に発行する制御動作要求（コンピューティングインスタンスを開始または停止させる要求等）の種類に応答可能であるかを検証しうる。プロバイダネットワークのプログラム的制御インターフェイスとの互換性の検証に加えて、リソースの別の様相も検証されうる（例えばリソースが所望する作業量レベルに対応可能であるか確証するためにパフォーマンス能力が調べられうる、セキュリティ能力が調べられうる等）。いくつかの実施形態において、仮想化管理ソフトウェアスタックの１以上のモジュール（例えばハイパーバイザ構成要素、または管理オペレーティングシステム構成要素）は、リソースがプロバイダネットワークの制御プレーンを介した制御対象として登録可能になる前に、クライアント側リソースにインストールされる必要がありうる。モジュールは、例えば、プロバイダネットワークの制御インターフェイスとの互換性を確証するため、プロバイダネットワークリソースが監視されるのと同様の方法のリソース監視を可能にするため等、様々な理由で要求されうる。いくつかの実施形態において、モジュールのインストールが、例えばプロバイダネットワークリソースから適切なインストールパッケージをダウンロードして登録要求を出す前に当該パッケージをインストールする等、クライアントにより準備ステップとして行われうる。一実装例において、例えばリソース登録要求に応じて、インストール可能ソフトウェアの送信が、プロバイダネットワークリソースからクライアントデータセンタ内の送信先デバイスに対し開始されうる。いくつかの実施形態において、プロバイダネットワーク運営者のパートナーであるハードウェア及び／またはソフトウェアベンダーは、自身のハードウェア／ソフトウェアスタック内に必要モジュールをバンドルし、これによってクライアントが後でモジュールをインストールしなければならないという負担から解放されうる。従って、少なくともいくつかの実施形態において、登録されるためにクライアント側リソースが追加のソフトウェアインストールステップを行う必要はない、すなわち登録候補は、入手した時点で必要なソフトウェアスタック構成要素がプリインストールされた状態でありうる。少なくともいくつかの事例において、例えば登録要求において特定されたクライアント側リソースがパートナーベンダーからのホストまたはデバイスを備える場合、リソース能力検証は要求されえない。いくつかの実施形態において、プロバイダネットワークの制御プレーンインターフェイスを使用して生成された、制御動作を簡易化するようにクライアント側リソースにインストールされたモジュールは、「制御モジュール」または「制御プレーンモジュール」と称されうる。さらに詳しく下で記載するように、いくつかの事例において、データセンタの外部の施設に配置されたリソースのプールまたはグループは、グループを構成する各リソース上の制御モジュールを要することなく、プロバイダネットワークの制御インターフェイスを使用して管理されうる。例えば、互換性のある制御モジュールと共に構成された単一のアプライアンスは、クライアント側リソースのプールを管理するために使用可能でありうる。
【００１３】
少なくともいくつかの実施形態において、クライアント側リソースと、プロバイダネットワークのデータセンタ内に配置された管理リソースとの間に、安全なネットワーク接続が確立されうる。上述の種類の能力検証が行われるいくつかの実施形態において、そのような接続は検証手順の一部として確立され、一方別の実施形態においては、安全なネットワーク接続は能力検証とは無関係に確立されうる（例えば能力検証の前でも後でも）。例えば、クライアント側リソースを管理するためにサービスＳ１に対応付けられた制御命令が使用される場合、Ｓ１のコントローラノードまたはいくつかの他の管理構成要素は、ＩＰＳｅｃ（インターネットプロトコルセキュリティ）、ＴＬＳ（トランスポート層セキュリティ）、またはＳＳＬ（セキュアソケットレイヤ）等のプロトコルを使用して、クライアント側リソースにおける制御プレーンモジュールへ安全に接続されうる。いくつかの実施形態において、安全な接続のためにプロバイダネットワークにおけるプロキシが使用されうる。例えば、クライアント側リソースと、１以上のプロバイダネットワークサービスのサービス管理ノードとの間のトラフィックは、仲介プロキシを通して流れうる。少なくともいくつかの実施形態において、安全なネットワーク接続のために、プロバイダネットワークとクライアントネットワーク間のデータトラフィックフロー用に既に構成された１以上のネットワークリンク及び／またはデバイスが使用されうる。例えば、クライアントが以前にＩＶＮを構成している場合、ＩＶＮデータトラフィックに使用されているネットワークリンクは、制御トラフィック用の仮想私設ネットワーク（ＶＰＮ）接続にも使用可能である。
【００１４】
いくつかの実施形態において、安全な接続の確立は、実際上プロバイダネットワークの制御プレーンの少なくとも一部をクライアントネットワークへ拡張しうる。その後、クライアントは登録リソースの管理に関連して、プロバイダネットワークのデータセンタ内でインスタンス化された同様のリソースを管理するのに使用可能な同一のインターフェイスセット（例えばコンソールまたはＡＰＩ）を使用して制御動作要求を送信可能でありうる。従って、例えばクライアント側リソースにおいて制御プレーンモジュールをインストール／検証させた制御動作要求のカテゴリに属する特定のクライアント送信制御動作要求に応じて、プロバイダネットワーク内のサービスコントローラノードから適切なクライアント側リソースに対して安全なネットワーク接続を介して、制御命令が送信されうる。管理制御の観点から、制御プレーンが記載さされるように拡張された後、登録済クライアント側リソースが、プロバイダネットワーク内に存在するリソースと見分けのつかない様態（または少なくとも非常に類似した様態）で表示されうる。
【００１５】
少なくともいくつかの実施形態において、上述のようにクライアントが自身のリソースをプロバイダネットワーク定義のインターフェイスを介した制御対象として登録した後、アプリケーションをクライアント構内からプロバイダネットワークへ移動させることははるかに容易になりうる。例えば、共通制御インターフェイスを使用して、クライアントは、クライアント側ホストにおける仮想リソース（クライアントアプリケーションの一部を実行しているコンピューティングサーバ等）を休止または一時停止させて、プロバイダネットワーク内の別のホストにおける仮想リソースを再インスタンス化可能でありうる。
【００１６】
さらに、いくつかの実施形態において、クライアントは、クライアント側リソースとプロバイダネットワークリソースの組合せを使用した複合多層アプリケーションを構成するために、プロバイダネットワークにより実施される構成サービスを使用可能でありうる。例えば、クライアントは、ウェブサーバセット、アプリケーションサーバセット、及びデータベースサーバセットを備える多層ウェブアプリケーションの構成を所望しうる。様々な構成要素を特定するスクリプトまたはテンプレートが、プロバイダネットワークにおける構成サービスノードに送信され、そして構成サービスは、層を成す様々なサーバを取込むのに必要な構成命令を送信しうる。上述の制御プレーン拡張手法を使用して、スクリプトに示されたいくつかのサーバ（例えば１以上のデータベース層サーバ）はクライアント側リソースにおいてインスタンス化され、一方で他（例えば１以上のウェブサーバまたはアプリケーションサーバ）はプロバイダネットワークリソースを使用してインスタンス化されうる。
【００１７】
異なる実施形態において、上述と同様の制御プレーン拡張が、プロバイダネットワークにおいて実施される様々な異なるサービスに使用されうる。例えば、そのような手法はクライアントに、仮想化コンピューティングサービス（例えば仮想化コンピューティングサーバすなわち「コンピューティングインスタンス」を起動、休止、再開、停止する）、仮想化ボリュームに対応するブロックレベル仮想化ストレージサービス、ブロックレベルＡＰＩではなくウェブサービスＡＰＩを介して非構造化ストレージオブジェクトを公開するオブジェクトストレージサービス、データベースサービス、バッチ並列処理サービスを含む様々な種類の並列処理サービス等に対する制御命令を送信することを可能にするために使用されうる。いくつかの実施形態において、クライアント側リソースにインストールされた所定の制御モジュールがいくつかの異なるプロバイダネットワークサービスに関連する管理命令に応答可能であり、一方別の実施形態においては、異なるクライアント側モジュールが異なるサービスに必要とされうる。いくつかの実施形態において、同様にサービスごとにそれぞれの安全接続が、プロバイダネットワーク終端上のサービス管理リソースとクライアントデータセンタにインストールされた制御モジュールとの間に確立される必要があり、一方別の実施形態においては、単一の安全接続がいくつかの異なるサービスに使用されうる。一実施形態によれば、制御プレーン拡張が実行された少なくともいくつかのサービスは、仮想化の使用を必要としえない（よってそのようなサービスに登録されたリソースは仮想化ソフトウェアを必要としえない）。いくつかの実施形態において、リソースのプール（例えばロードバランサのプールまたはキャッシュデバイスのプール）の管理に使用されるサービスの制御動作も、さらに詳しく下に記載されるように、同様の手法を使用して実行されうる。
【００１８】
少なくともいくつかの実施形態において、例えば高可用性、高データ耐久性、及び障害に対する高い回復性を支えるために、プロバイダネットワークのリソースは、複数のプロバイダ定義アベイラビリティコンテナ（ＰＤＡＣ）内に配置されうる。そのような実施形態において、ＰＤＡＣは１以上のデータセンタのうち一部または全てを備え、所定のアベイラビリティコンテナ内の様々な種類の障害が他のアベイラビリティコンテナにおける動作に影響を与えるのを防ぐように設計されうる。従って、例えば特定のＰＤＡＣは、別のＰＤＡＣの障害プロファイル（例えば様々な種類の故障またはエラーの時間に関する確率分布）と関係する見込みのない障害プロファイルを有するハードウェア、ソフトウェア、及びインフラストラクチャ構成要素のセット（電源、配電ユニット、冷却／加熱機器、ネットワーク機器等）を備えうる。各ＰＤＡＣは、複数のＰＤＡＣにわたる障害連鎖を防ぐ隔離特性と共に、それ自体、障害率が非常に低くあるように設計されうる。従って障害を自身の境界内にとどめることが可能な多数のＰＤＡＣの実行は、信頼性と耐久性の高いサービスを支援するのに役立ちうる。例えば一実装例において、同一のデータベーステーブルパーティションのＮ個のレプリカがＮ個の異なるＰＤＡＣにそれぞれ記憶されることで、Ｎ−１個のＰＤＡＣが偶然にも一度に利用不可能な状態になった場合でもパーティションはアクセス可能な状態で残り、完全停止の確立をほぼゼロにまで低減する。少なくともいくつかの実施形態において、地理的に分散されたプロバイダネットワークのリソースは、各地域がいくつかのＰＤＡＣを有し、かつ各ＰＤＡＣが１以上のデータセンタの一部または全てを備える地域階層に編成されうる。
【００１９】
上述のような制御プレーン拡張へのリソース登録が対応されたいくつかの実施形態において、クライアントは、クライアント定義アベイラビリティコンテナ（ＣＤＡＣ）に登録済リソースのグループを割当可能でありうる。従って、１以上のサービスに対応付けられたプロバイダネットワーク制御プレーンが拡張した２つのデータセンタをクライアントが有する場合、１つのデータセンタ内の登録済リソース集合は第１のＣＤＡＣの構成リソースとして指定され、一方第２のデータセンタ内の登録済リソース集合は第２のＣＤＡＣの構成リソースとして指定されうる。少なくともいくつかの実施形態において、クライアントは、プロバイダネットワークがＰＤＡＣに関して準拠する同一の可用性及び障害抑制要件を、ＣＤＡＣに関して準拠する必要がない可能性がある。そのような実施形態において、クライアントは代わりに、クライアントのデータセンタにおいてクライアントが既に使用している既存の回復性及び障害抑制ポリシーを使用しうる、またはクライアントのＣＤＡＣに関して新たな要件またはポリシーを定義しうる。サービスの特定リソースを起動または設定する場所を指定する時、いくつかの実施形態において、クライアントは、対象ＰＤＡＣまたは対象ＣＤＡＣのいずれかを指示する、またはサービスによるＰＤＡＣまたはＣＤＡＣの選択を許可することが可能でありうる。少なくともいくつかは複数の異なるクライアントエンティティまたは組織に割当てられたリソースを含みうるＰＤＡＣと対照的に、ＣＤＡＣは、少なくともいくつかの実施形態において、単一のクライアントエンティティまたは組織による使用専用でありうる。別の実施形態においては、複数のクライアントエンティティが、同一のＣＤＡＣへのアクセスを共有しうる。
【００２０】
少なくとも一実施形態によると、プロバイダネットワーク内で対応される一部のネットワークアクセス可能サービスは、単なる個別のリソースではなくリソースのプールを管理するのに使用されうる。例えば、一実施形態において、１以上のアプリケーションに対応付けられたロードバランサのプールの構成ロードバランサを、作業量に基づいて動的に起動及び停止することが可能な柔軟な負荷分散サービスが実行されうる。同様に、別の実施形態において、インスタンス化キャッシュの数が必要に応じて調整されうる分散キャッシュサービスが実行されうる。一実施形態において、個別のクライアント側リソースに関して前述された登録ベースの制御プレーン拡張技術に加えて、またはその代わりに、追加レベルの制御プレーン拡張に対応することで、クライアント側リソースの特定プールをプロバイダネットワークの制御プレーンインターフェイスを使用して管理することが可能になりうる。さらに詳しく下に記載されるように、少なくともいくつかの実施形態において、クライアント側プールのリソースに、追加の制御モジュールをインストールする等の修正を行う必要はない。代わりに、そのような実施形態において、クライアントデータセンタ内に構成された専用アプライアンスは、例えばＶＰＮまたは前述と同様の他の技術を使用して、プロバイダネットワーク内のプール化リソースサービスの管理ノードに安全に接続可能な制御プレーンモジュールを提供しうる。アプライアンスは、一方の側のサービス管理ノードと、もう一方のクライアント側リソースプール構成リソースとの間の仲介として機能しうる。そのような実施形態において、未修正のクライアント側リソースのプールは、クライアントの観点から、プロバイダネットワークサービスの制御命令を使用して制御可能なように構成されうる。いくつかの実施形態において、下にも記載されるように、少なくともいくつかのクライアント側プール構成リソースには、別のプロバイダネットワークサービス用に実行されるインターフェイスを介して既に制御可能である登録済みリソースが含まれうる。従って、例えば、クライアントデータセンタに配置されたＮ個のロードバランサのプールは、負荷分散サービスＬＢＳに対応付けられたプログラム的インターフェイスを介して制御されるように構成され、それと同時に、Ｎ個のロードバランサの少なくともあるサブセットは、仮想化コンピューティングサービスＶＣＳのプログラム的インターフェイスを使用して制御されるように構成されたコンピューティングインスタンスを使用して実行されうる。
【００２１】
クライアントがリソースのプールを管理するのを手伝うために実施されるネットワークアクセス可能サービスは、本明細書において一括して、プール化リソースサービスと称されうる。様々な実施形態において、プール化リソースサービスの実施例には、負荷分散サービス、分散キャッシュサービス、リソース動員サービス（例えばクライアントのアプリケーションセットに関してスピンアップされるコンピューティングインスタンスの数を必要に応じて自動で調整するサービス）、セキュリティアーティファクト生成サービス（例えば専門ハードウェアまたはソフトウェアセキュリティモジュールの集合を使用して、暗号キー、証明書等をオンデマンドで生成するサービス）、ネットワークアドレス発見サービス（例えばネームサーバノードの集合を使用してアドレス解決クエリに応答するサービス）、及び分散データベースサービス（要求に基づいて起動データベースインスタンスの数を増加または減少させるサービス）が含まれうる。
【００２２】
様々な実施形態において、例えば測定または予想された作業量、クライアント予算枠等の様々な判定基準に基づいたプール構成リソースの起動及び停止は、プール化リソースサービスの中核機能のうちの１つを表しうる。いくつかの実施形態において、そのようなサービスのクライアントは、１以上のプログラム的インターフェイスを介して、プロバイダネットワーク内のプール構成リソースの起動状態の変更につながる要求を含む様々な種類の設定要求を送信可能でありうる。特定の種類の設定要求（プールインスタンス化要求もしくはプール拡張要求、またはより一般的にプール管理要求と称されうる）により、クライアントはまた、特定プール内のリソース起動状態をプール化リソースサービスにより管理させるクライアント側リソース（すなわち、プロバイダネットワークの外部に配置されたリソース）も指示可能でありうる。安全なネットワーク接続（例えばＳＳＬ、ＴＬＳ、またはＩＰＳｅｃを使用）が、プロバイダネットワーク内に配置されたプール化リソースサービスの管理リソースから、クライアント側位置（例えばクライアントのデータセンタ）におけるプール化リソースサービスのためにインスタンス化された制御モジュールまで確立されうる。クライアントにより指示されたリソース起動基準に基づいて、様々なクライアント側リソースがプール化リソースサービスにより起動及び停止されうる。様々な実施形態において、クライアントはまた、起動可能またはプール内含有可能なプール構成リソースの最小及び最大数、プール構成リソースの識別情報（例えばネットワークアドレス）等、リソースプールに関する様々なパラメータを、プログラム的インターフェイスを使用して指示しうる。
【００２３】
いくつかの実装例において、上述のように、拡張制御プレーンを実行しクライアント側リソースプールのリソースを管理するために、クライアント側位置に専用アプライアンスがインスタンス化されうる。アプライアンスにインストールされた制御モジュールは、プロバイダネットワーク内の制御プレーン構成要素と、クライアントネットワーク内のプール化リソースとの間のソフトウェア仲介とみなされうる。様々な実施形態において、クライアント側リソースの起動、休止、停止、または他の設定変更を行うのに、例えば簡易ネットワーク管理プロトコル（ＳＮＭＰ）またはＵＤＰ（ユーザデータグラムプロトコル）を含む任意の好適なプロトコルが使用されうる。いくつかの実施形態において、サービス管理構成要素（例えばプロバイダネットワーク内に配置されたサービスコントローラ）とアプライアンス間の通信は、ＪＭＸ（ジャバ（商標）マネジメントエクステンションアーキテクチャ）等の業界標準に従ってフォーマットされうる。別の実施形態においては、そのような専用アプライアンスは使用されず、代りにプール化リソースサービスと互換性のある制御プレーンモジュールが少なくともいくつかのプール構成リソースにインストールされうる。少なくともいくつかの実施形態において、一部のクライアント側プール構成リソースには１以上のプロバイダネットワークサービスに対応付けられた制御モジュールがインストール済みであり、他のクライアント側プール構成リソースにはインストールされていないハイブリッド手法が対応されうる。いくつかの実装例において、複数のサービス（例えば負荷分散サービスと仮想化コンピューティングサービス、または、データベースサービスとキャッシュサービスとストレージサービス）に対応付けられた制御モジュールは、同一のクライアント側リソースにインストールされうる。いくつかの実施形態において、制御プレーン拡張技術を使用して管理されるリソースのプールは、クライアント側リソースとプロバイダネットワークリソースの両者を含むため、リソースプールはデータセンタの境界またはアベイラビリティコンテナの境界を横断しうる。
【００２４】
例示的システム環境
図１は、少なくともいくつかの実施形態による、プロバイダネットワークの内部及び外部のデータセンタにおけるリソースを管理するために共通の制御インターフェイスセットが使用されうるシステム１００の実施例を示す。示されるように、システム１００は、プロバイダネットワーク１０１内及び外部ネットワーク１５１（例えばクライアント所有、クライアント管理、または第３者のネットワーク）に配置された様々なリソースセットを備える。プロバイダネットワークには、複数のプロバイダ定義アベイラビリティコンテナ（ＰＤＡＣ）１０２（ＰＤＡＣ１０２Ａ及び１０２Ｂ等）が含まれうる。各ＰＤＡＣは、１以上のデータセンタの一部または全てを備え、そして各ＰＤＡＣのインフラストラクチャ構成要素（電源、冷却、ネットワーク、及びセキュリティ関連構成要素等）は、１つのＰＤＡＣ内の障害が他のＰＤＡＣにおける動作に影響を与える確率がとても低くあるように、設計及び隔離されうる。すなわち、各ＰＤＡＣは、他のＰＤＡＣの可用性プロファイルとは無関係の独自の可用性プロファイルを有しうる。
【００２５】
描かれた実施形態において、プロバイダネットワークの１以上のネットワークアクセス可能サービスに対応付けられた共通制御プレーンインターフェイス１５０のセットは、クライアント１７０によりプロバイダネットワークのリソース宛ての制御動作要求１９０（例えば様々な種類の設定／管理要求）を送信するのに使用されうる。様々なクライアント１７０は、プロバイダネットワークのＰＤＡＣ内の論理及び／または物理リソースのそれぞれのセット（例えばリソースセット１１０Ａ、１１０Ｂ、１１０Ｆまたは１１０Ｇ）への管理アクセスが許可されうる。クライアント用リソースにおいて実施されている特定サービス、及びクライアントの管理許可に応じて、そのようなクライアントはリソース宛ての制御動作要求１９０のいくつかのカテゴリを、それぞれ共通制御プレーンインターフェイス１５０を介して発行しうる。プロバイダネットワーク内において、制御動作要求は、命令１９２Ａ及び１９２Ｂ等の制御命令１９２に変換されうる。いくつかの実施形態において、１以上のネットワークエンドポイント（例えばウェブアクセス可能コンソール、またはエンドポイントデバイスに対応付けられたネットワークアドレスセット）は、クライアント１７０から制御動作要求１９０を受信するため、かつ当該要求に応答するために公開されうる。従って、プロバイダネットワークの制御プレーンは、そのようなエンドポイントと、プロバイダネットワーク１０１内の管理動作または設定管理専用の他のデバイス（図１に図示せず）と、並びに制御関連ネットワーク転送に使用されるプログラム的インターフェイス及びネットワークパスとを備えうる。
【００２６】
描かれた実施形態において、クライアントは、例えば外部ネットワーク１５１内に配置された様々なリソースを、共通制御プレーンインターフェイス１５０を介して受信される制御動作要求の少なくともいくつかのカテゴリの対象候補として登録することで、プロバイダネットワークの制御プレーンの拡張を要求可能でありうる。例えば、クライアント１７０は、リソースセット１５４Ａ内の１以上のリソースをプロバイダネットワークのサービスＳ１に対応付けられたカテゴリＣ１の制御動作の対象として設定したいことを示すリソース登録要求を、特定のプログラミングインターフェイスを介して登録マネジャ１８０へ送信しうる。別のリソース登録要求は、リソースセット１５４Ｂのリソースを、サービスＳ２のカテゴリＣ２の制御動作の対象候補として示しうる。いくつかの実装例において、制御動作（いくつかのサービスに対応付けられている可能性あり）の複数のリソースセット及び複数の要求カテゴリは、単一のリソース登録要求において示されうる。いくつかの実施形態において、所定のサービスＳ１に関して外部ネットワーク１５１におけるリソースで対応される制御動作要求のカテゴリは、プロバイダネットワーク１０１内のリソースで対応される制御動作のカテゴリと完全に重複しない可能性がある。例えば、クライアント側リソースに使用されるハードウェア及び／またはソフトウェアスタックは、プロバイダネットワークリソースでサポートされる全ての種類の設定動作を実行不可能でありうる。別の実施形態において、所定のサービスに関してプロバイダネットワークリソースで対応される全ての種類の作業動作要求は、プロバイダネットワークの外部の登録済リソースにおいても対応されうる。
【００２７】
少なくともいくつかの実施形態において、制御命令が正しく実行されるために、プロバイダネットワークサービスと互換性のある制御モジュールがインストールされる必要がありうる（例えば登録済リソース自体に、または外部ネットワーク１５１内の他のデバイス／アプライアンス上に）。例えば、仮想化コンピューティングサービスに対応付けられた制御命令の場合、仮想化管理ソフトウェアスタックの１以上のそのような制御モジュール（例えばハイパーバイザ、または管理タスク用に指定されたオペレーティングシステムインスタンス）がインストールされる必要がありうる。さらに、少なくともいくつかの実施形態において、制御モジュールと、プロバイダネットワーク１０１内に配置された管理リソース（例えばサービスコントローラ）との間に、安全なネットワーク接続が確立される必要がありうる。少なくともいくつかの実装例において、登録が完成したものとみなされるために、制御モジュールの機能と安全なネットワーク接続が検証される必要がありうる。クライアント側リソースが登録マネジャ１８０により正しく登録された後、クライアントはインターフェイス１５０を介して登録済リソース宛ての制御動作要求を送信し、対応する内部制御命令１９２Ｃがクライアント側登録済リソース宛てに出されうる。図１において登録マネジャ１８０は単一エンティティとして示されるが、様々な実施形態において、登録マネジャの機能はプロバイダネットワークの複数のハードウェア及び／またはソフトウェア構成要素を使用して実行され、しかも一部の構成要素は他の構成要素とは異なるデータセンタまたはアベイラビリティコンテナに配置されうることに留意されたい。
【００２８】
描かれた実施形態において、プロバイダネットワークの拡張された制御プレーンに特定リソースを登録することに加え、クライアント１７０はあるクライアント側リソース集合をアベイラビリティコンテナの構成リソースとして指定することも要請しうる。従って、例えば登録済リソースセット１５４Ａ及び１５４Ｂは、クライアント定義アベイラビリティコンテナ（ＣＤＡＣ）１５２の構成リソースとして指定される。少なくともいくつかの実施形態において、クライアント１７０は、プロバイダネットワークがＰＤＡＣに使用する可用性抑制及び障害回復ポリシーとは異なる可用性抑制及び障害回復ポリシーをＣＤＡＣに対して実施しうる。例えば、クライアントはプロバイダネットワークが対応するのと同じデータ耐久性または耐障害性レベルに対応する義務がない可能性がある。少なくともいくつかの実施形態において、一部の種類の制御動作（仮想化コンピューティングサービスに対応付けられたコンピューティングインスタンスを起動させる要求等）に関して、制御動作の要求者により対象アベイラビリティコンテナ（例えばその内部でコンピューティングインスタンスが起動されるアベイラビリティコンテナ）が選択される必要がありうる。いくつかのそのような実施形態において、ＰＤＡＣ及びＣＤＡＣは、そのような制御動作に関して同等に取り扱われうる。例えば、クライアントは対象ＰＤＡＣ１０２または対象ＣＤＡＣ１５２を所望に応じて特定可能でありうる。いくつかの実施形態において、所定クライアント１７０は、それぞれが自身の可用性プロファイル及びポリシーを有する複数のＣＤＡＣ１５２を構成可能でありうる。
【００２９】
描かれた実施形態において、外部ネットワーク１５１には登録済リソースセット（１５４Ａ及び１５４Ｂ等）及び未登録リソースセット（１５８Ａ及び１５８Ｂ等）の両方が含まれうる。すなわち、プロバイダネットワークにより対応される必要がなく、そのため「クライアント特定」または「非共有」と本明細書において称されうる制御プレーンインターフェイス１６６が一部のクライアント側リソースに対して使用されうる。外部ネットワーク１５１内の登録済リソースを管理するために、制御動作要求が共通制御プレーンインターフェイス１５０を使用して送信され、そして未登録リソースを管理するために、クライアント特定制御動作要求１９５がクライアント特定または非共有インターフェイス１６６等の別の制御インターフェイスを介して送信されうる。クライアント特定制御動作要求１６６は、未登録リソース宛ての制御命令１９７に変換されうる。図１に示されるハイブリッド手法を使用することにより、クライアント１７０は、クライアント特定または非共有制御インターフェイスを使用してクライアントリソースのあるサブセットを管理する能力を維持しながら、クライアントリソースの別のサブセットに対して共通のプロバイダ定義制御インターフェイスセットを使用するという利点を得られうる。一部のクライアントは、例えば、機密性の高いアプリケーションに対するプロバイダネットワークの使用への漸進的な移行を試みる準備ができるまで、未登録リソースセット１５４Ａ及び１５４Ｂを機密性の高いアプリケーションに対し使用することを所望しうる。移行は、登録済リソースセットにおいてアプリケーションをまず実行して共通の制御インターフェイス１５０セットの使用時に遭遇する任意の問題が解消されることを確証し、そして最終的にアプリケーションをプロバイダネットワークへ移動させることを伴いうる。
【００３０】
データ及び制御用共有ネットワークリンク
少なくともいくつかの実施形態において、クライアントデータセンタとプロバイダネットワーク間のデータ転送用に設定されたネットワークパスは、例えば制御トラフィック用に設定された仮想私設ネットワーク（ＶＰＮ）接続を使用して、制御プレーンネットワーク転送用にも設定可能でありうる。すなわち、単一または複数の同一のネットワークリンクは、プロバイダネットワークとクライアント側データセンタ間のデータフロー及び制御フローの両者に関して共有されうる。図２は、少なくともいくつかの実施形態による、プロバイダネットワークデータセンタと外部データセンタ間のデータフローパス及び制御フローパスの実施例を示す。描かれた実施形態において、隔離仮想ネットワーク（ＩＶＮ）２２１は、プロバイダネットワーク１０１のクライアントＣ１用リソースのサブセットを使用して構成されている。プロバイダネットワーク１０１は、一部は他のＩＶＮ内に含まれえない他のクライアントのリソース２２５も含みうる。前述のように、ＩＶＮは、プロバイダネットワーク１０１の他のリソース（他のＩＶＮを含む）から論理的に隔離されうる。クライアントＣ１はＩＶＮ２２１内で、ＩＰアドレス範囲の選択、サブネットの作成、ルーティングテーブル及びゲートウェイの構成、セキュリティ設定等の様々な種類のネットワーク関連設定動作を、データセンタ２４０等のクライアント自身の施設内のネットワーク上で可能でありうる同様のレベルの柔軟性を伴って実行可能である。ＩＶＮ２１１とクライアントＣ１のデータセンタ２４０間のデータフローパス２６６は確立済みでありうる。データフローパス２６６には、Ｃ１のトラフィック用に設定された仮想私設ゲートウェイ２３０、並びにクライアントデータセンタ２４０に対応付けられたルータ２３２が含まれうる。描かれた実施形態において、データフローパス２６６には、ＩＶＮ２２１と仮想私設ゲートウェイ２３０間のネットワークリンク２３１Ａ、仮想私設ゲートウェイ２３０とルータ２３２間のリンク２３４、及びクライアントデータセンタ２４０内のリンク２３６Ａ、２３６Ｂ、２３６Ｃが含まれうる。
【００３１】
描かれた実施形態において、プロバイダネットワークの制御インターフェイスを使用してクライアントＣ１により送信される制御動作要求は、様々なサービス制御プレーンノード２０５により処理されうる。例えば、仮想化コンピューティングサービスに関連した制御動作はノード２１４により処理され、ストレージサービスに関連した制御動作はノード２１５により処理され、負荷分散サービスまたは分散キャッシュサービス等のプール化リソースサービスに関連した制御動作はノード２１３により処理され、スタック構成サービスに関連した制御ノードはノード２１２により処理されうる。所定のサービスに対応付けられた制御プレーンノードは、本明細書において「サービスコントローラ」または単に「コントローラ」と称されうる。スタック構成サービス及び様々なプール化リソースサービスに関する追加詳細は、下記に提供される。
【００３２】
描かれた実施形態において、前述のクライアント側リソース登録機能を使用して、クライアントＣ１はデータセンタ２４０におけるいくつかのリソースを、プロバイダネットワーク１０１の制御インターフェイスを介した制御対象の候補として登録済みでありうる。示されるように、仮想化コンピューティングホスト２５２、ストレージアプライアンス２５６、及びプール化リソースアプライアンス２６０はそれぞれ、描かれた実施例において、プロバイダネットワーク内で実施される対応サービスに使用されるインターフェイスを介した制御対象として登録済みでありうる。描かれた実施形態において、登録済リソースにはそれぞれ、対応する制御プレーンモジュール（本明細書にて単に制御モジュールとも称されうる）のセットをインストール済でありうる。例えば、登録済仮想化コンピューティングホスト２５２は制御モジュール２５４（例えば仮想化管理ソフトウェアスタック内に取込まれたモジュール、または管理目的でホスト上に構成されたオペレーティングシステムインスタンス）を備え、登録済ストレージアプライアンス２５６は制御モジュール２５８を備え、そして登録済プール化リソースアプライアンス２６０は制御モジュール２６２を備えうる。いくつかの実施形態において、制御モジュールは、クライアントデータセンタにリソースを供給する責任のあるベンダーによりプリインストールされうる。別の実施形態において、モジュールはプロバイダネットワークからインストールされうる。例えばインストールパッケージがプロバイダネットワークからクライアントネットワークへ送信されうる。描かれた実施形態において、プロバイダネットワーク１０１内に配置された制御プレーンノード２０５と、クライアントデータセンタ２４０内の登録済リソースにインストールされた制御プレーンモジュールとの間に、安全な制御フローパス２６８が確立されうる。クライアント側制御プレーンモジュールとプロバイダネットワーク間の接続を安全にするために、ＴＬＳ、ＳＳＬ、またはＩＰＳｅｃ等の暗号ベースプロトコルが使用されうる。いくつかの実施形態において、制御フローパスにはＩＰＳｅｃプロキシ等のセキュアプロキシ２１０が含まれうる。示されるように、データフローパス２６６に使用される少なくともいくつかのネットワークリンク（例えばリンク２３４、２３６Ａ、２３６Ｂ、２３６Ｃ）は、制御フローパス２６８によっても共有されうる。少なくともいくつかの実施形態において、様々な種類のＶＰＮプロトコル等の様々なネットワーク隔離技術のいずれかを使用して、制御トラフィックはデータトラフィックから隔離された状態に保たれうる。
【００３３】
図２に描かれた実施形態において、クライアントＣ１が別のリソース（例えば現在未登録のリソース２７７のうちの１つ）の登録を所望する場合、登録マネジャ１８０（図示せず）が、当該リソースが適切な制御プレーンモジュールを有しているか検証し、かつクライアント側リソース上の制御プレーンモジュールとプロバイダネットワーク内の好適な制御コントローラとの間に安全な接続を確立する責務を担いうる。描かれた実施形態において、クライアントＣ１がリソースの登録解除を所望する場合、登録マネジャ１８０は、安全な接続を終了し（他のサービスに対応付けられた制御トラフィックに共有されている場合を除き）、そして場合によってはリソースにおける制御モジュールがアンインストールされうる。
【００３４】
クライアント側リソースとプロバイダネットワークリソースを組み合わせるアプリケーションスタック
上述の技術を使用してプロバイダネットワークの制御プレーンが１度拡張されると、新たな種類のアプリケーション構成が実行可能となりうる。例えば、アプリケーションホスティングに関して、クライアントデータセンタにおける登録済リソースは、プロバイダネットワーク内に配置されたリソースに非常に類似したやり方で処理されうる。図３は、少なくともいくつかの実施形態による、プロバイダネットワークリソースと外部リソースの組合せに基づく多層アプリケーションの例示的構成を示す。示されるように、クライアント１７０は、プロバイダネットワークにより実施されるスタック構成サービスの制御ノード２１２へ、アプリケーションスタック構成スクリプト３６６を送信しうる。次にスタック構成サービス制御ノード２１２は、スクリプトに指示されたリソースに対し要求された構成命令３８８を送信することで、要求された構成を実行しうる。
【００３５】
描かれた実施例において、クライアントＣ１はデータセンタ２４０内に配置されたデータベースリソースと、プロバイダネットワーク１０１内に配置されたアプリケーションサーバリソース及びウェブサーバリソースを組み合わせて、単一の多層アプリケーションを構成することに決定している。従って、例えばデータベース管理システムのインスタンスが生成された２つのデータベースサーバホスト３５２Ａ及び３５２Ｂは、プロバイダネットワークの拡張された制御プレーンに登録されている。データベースサーバホスト３５２はそれぞれ、例えばデータベースサーバホスト３５２Ａ上に仮想化管理スタック３５４Ａ及びデータベースサーバホスト３５２Ｂ上に仮想化管理スタック３５４Ｂというように、各自の仮想化管理スタック３５４を有しうる。描かれた実施形態において、登録済データベースサーバ上の仮想化管理スタックは、プロバイダネットワーク内のホストにインストールされた仮想化管理スタックの全ての構成要素を含みえないため、「縮小」仮想化管理スタックと称されうる。例えば、プロバイダネットワーク内のＣ１のＩＶＮ２２１において、アプリケーションサーバホスト３２２Ａには完全な仮想化管理スタック３１４Ａがインストール済みであり、そしてウェブサーバホスト３１２Ａには完全な仮想化管理スタック３２４Ａがインストール済みでありうる。いくつかの実施形態において、例えば、完全仮想化管理スタックには、クライアントデータセンタ内では必ずしも有用とは言えない様々なモジュールが含まれうる。例えば、プロバイダネットワークリソースに関して使用ベースの請求額を決定するのに使用され、そのためクライアントネットワークにおいては必要とされない課金関連モジュール、プロバイダネットワーク内でのみ実施される監視サービスと対話する必要のある監視モジュール等がある。一実装例において、クライアント側リソースが登録されたリソース制御動作のカテゴリを実行するのに必要となる最小モジュールセットのみがクライアント側リソースにおいて展開されうるため、クライアント側制御プレーンモジュールに必要なインストール場所及び実行時リソースが削減される。前述のように、少なくともいくつかの実施形態において、ハードウェア及び／またはソフトウェアベンダーは、クライアントデータセンタに配置されたリソース上に必要な制御プレーンモジュールをプリインストールするために、プロバイダネットワーク運営者と協働しうる。
【００３６】
スタック構成サービスノードによりスクリプト３６６が処理され、かつ対応する構成命令３８８が正しく完了した後に、多層アプリケーションはユーザからの作業要求にアクセス可能となりうる。アプリケーションに使用されるいくつかのリソースはクライアントデータセンタに配置され、一方他のリソースはプロバイダネットワークに配置されているという事実は、クライアントＣ１だけでなくユーザの観点からも明らかではない場合がある。描かれた構成におけるアプリケーションがしばらくの間実行された後、いくつかの実施形態において、クライアントＣ１は、例えばＣ１のクライアント側位置にあるデータベースインスタンスを休止させてプロバイダネットワークリソースにて再インスタンス化することによって、データベースインスタンスをプロバイダネットワークにも移行しうる。同様の手法が別のクライアント側リソースにも適用され、例えば別のアプリケーションに使用される仮想化コンピューティングインスタンスは、クライアントデータセンタにおける登録済ホストへ移動され、そして最終的にはプロバイダネットワークにおけるホストへ移動されうる。
【００３７】
登録対話
図４は、少なくともいくつかの実施形態による、クライアントと、クライアント指定リソースを制御動作の対象候補として登録するように構成された登録マネジャ１８０との間の対話の実施例を示す。示されるように、クライアント１７０は、登録マネジャ１８０に登録要求４１１を送信しうる。登録要求には、候補リソースリスト４１３並びに、候補リソースへの制御パス用に安全な接続を確立するために使用可能な接続性情報も示されうる。接続性情報には、例えば、クライアントが既に確立済みの隔離仮想ネットワーク（そのデータワークパスは制御パスとも共有可能でありうる）の指示、制御パスに使用可能なゲートウェイ、ルータ等の様々なネットワークデバイスの識別、接続に使用する特定プロトコル（例えばＳＳＬ対ＴＬＳ対ＩＰＳｅｃ）、ＶＰＮを制御トラフィック用に構成するべきか否か等の情報が含まれうる。いくつかの実装例において、登録要求は、候補リソースごとに、該当リソースにおいて対応されるべき特定のプロバイダネットワークサービスも示しうる。例えば一部のリソースはコンピューティングインスタンス用の仮想ホストとして、別のリソースはデータベース管理サーバインスタンス用の仮想ホストとして、別のリソースはブロックストレージボリューム用の仮想ホストとして等、指定されうる。
【００３８】
描かれた実施形態において、登録マネジャ１８０は、登録要求４１１に応じて、登録候補における制御ソフトウェアモジュールの１以上の能力を検証する責務を担いうる。例えば、候補リソースが、コンピューティングインスタンスがこれから構成される仮想ホストを備える場合、登録マネジャは、当該ホストにインストールされた仮想化管理ソフトウェアスタックが所望する特性（例えば所望のオペレーティングシステムバージョン、所望のパフォーマンス能力等）を有するコンピューティングインスタンスを生成可能か否か判定する必要がありうる。同様に、リソースのうちの１つをＳＮＭＰ等のプロトコルを使用してクライアント側プール化リソースの起動／停止を実行するように登録する場合（より詳しくは下記に説明）、登録マネジャ１８０は、そのようなリソースにおける制御モジュールがプロバイダネットワークプール化リソースサービスコントローラからの命令に応じてＳＮＭＰメッセージを送信可能であることを確証する必要がありうる。例えば、様々なプロバイダネットワークサービスのために登録済リソースにおいて対応されるべき制御動作のカテゴリに応じて、登録候補における様々な別の能力（例えばパフォーマンス能力、セキュリティ能力等）及び制御モジュールの機能が、異なる実施形態において検証される必要がありうる。
【００３９】
図４に示される実施形態において、登録マネジャ１８０は、能力検証マネジャ４２０等の仲介に検証要求４１５を送信しうる。今度は能力検証マネジャ４２０が、例えば候補リソースが制御命令に応じて所望する機能を実行可能か否か調べるために、候補リソース４５５において１以上のテスト４６２を行いうる。当該テスト４６２の結果は検証応答４２２の形で、登録マネジャ１８０へ提供されうる。検証応答が肯定的である場合、例えば候補リソース４５５が所望する機能を実行可能であると判明した場合、登録マネジャ１８０はクライアントに対し、候補リソースは正しく登録されたことを示す登録肯定応答４７０を送信しうる。いくつかの実施形態において、登録マネジャ１８０と候補リソース４５５間に仲介は必要なく、任意の検証関連動作が登録マネジャ１８０自体で行われうる。いくつかの実施形態において、リソース能力の検証は全く必要なく、登録マネジャ１８０はさらなる調査や分析を行うことなく、登録要求に指示された候補を登録しうる。
【００４０】
リソースが登録された後、クライアントは、プロバイダネットワークの制御インターフェイスを介して送信された制御動作要求を使用して、登録済リソースを管理しうる。例えば、コンピューティングインスタンスがクライアント側登録済リソースに構成され、ストレージボリュームがクライアント側ストレージデバイスに設定され、クライアント側ロードバランサのプールがアプリケーションに割当てられ作業量の変化に応じて起動または停止されうること等が挙げられる。いくつかの実施形態において、クライアント１７０はクライアント側リソースの登録を解除しうる（すなわち、プロバイダネットワーク制御インターフェイスを介して以前に登録されたリソースの制御能力を無効にする）。描かれた実施形態において、例えば、登録を解除するリソースのリスト４８３を特定する登録解除要求４８１を登録マネジャ１８０へ送信しうる。これに応じて、登録マネジャ１８０は特定されたリソースに対して設定された安全接続を閉じ、登録解除確認応答４８５をクライアントへ返信しうる。いくつかの実装例において、登録解除されたリソースにおいて１以上の制御モジュールがアンインストールされうる。前述のように、少なくともいくつかの実施形態において、登録マネジャ１８０は、複数のハードウェア及び／またはソフトウェア構成要素を備えうる。
【００４１】
プロバイダネットワークサービス制御プレーンの拡張方法
図５は、少なくともいくつかの実施形態による、プロバイダ定義制御インターフェイスを介してクライアントデータセンタにおけるリソース制御を実行するために行われうる動作態様を例示するフロー図である。要素５０１に示されるように、プロバイダネットワークは、様々なネットワークアクセス可能サービスが実施されるプロバイダネットワークリソース宛てにクライアントが制御動作要求を送信する（及び制御動作要求に対する応答を受信する）ことを可能にする、ＡＰＩ、ウェブベースコンソール、コマンドラインツール、またはグラフィカルユーザインターフェイス等のプログラム的制御インターフェイスセットを実行しうる。
【００４２】
例えばプロバイダネットワークの制御プレーンをクライアントデータセンタへ論理的に拡張することで、プロバイダネットワークの制御インターフェイスを使用して管理する候補リソースをクライアントが指示することを可能にする登録インターフェイスセットも実行されうる（要素５０４）。クライアントは、リソースセットと、リソースを登録する１以上のサービスに対応付けられた制御動作のカテゴリとを指示するリソース登録要求を、例えば登録マネジャ１８０に対し登録インターフェイスを介して送信しうる。プロバイダネットワークの外部に配置された所定のリソースＲを特定サービスＳに登録することを指示するそのような登録要求が受信されうる（すなわち、サービスＳに対応付けられ、プロバイダネットワークの制御インターフェイスを介して送信される制御動作要求は、Ｒに送信される命令をもたらす）（要素５０７）。仮想化コンピューティングサービスのコンピューティングインスタンスまたは分散データサービスのデータベースインスタンスが起動されうるホスト、ブロックレベルボリュームまたは他の種類のストレージオブジェクトが作成されうるストレージデバイス等、様々な異なる種類のリソースが異なる実施形態において登録候補になりうる。
【００４３】
描かれた実施形態において、登録要求に応じて登録マネジャは、リソースＲがサービスＳに関連する必要な機能を実行可能か検証しうる（要素５１０）。いくつかの事例において、例えば登録マネジャにより、または登録マネジャの代理を務める仲介により、機能性を検証するために候補リソースにおいてテストが行われうる。候補リソースが要件を満たすと判明した場合、当該候補リソースは要求通りに登録されうる。続いて、Ｒ宛ての制御動作要求が、プロバイダネットワークの制御インターフェイスを介して、例えばプロバイダネットワークの制御エンドポイント宛てのコンソールまたはＡＰＩ呼出しを介して受信されると、対応する制御命令がＲへ送信されうる（要素５１４）。いくつかの実装例において、例えば全ての候補リソースが同一の能力を有し、いずれの所定のリソースが対応する機能に関して不明確な点がない場合、リソースＲの能力の検証は必要とされえない。
【００４４】
図２の文脈において前述のように、いくつかの実施形態において、ネットワークリンクまたはパスは、データ用及び制御用に共有されうる。図６は、少なくともいくつかの実施形態による、制御動作に、クライアント構内リソースとプロバイダネットワークリソース間の予め設定されたデータ経路を使用するために行われうる動作態様を例示するフロー図である。要素６０１に示されるように、描かれた実施形態において、（ａ）クライアント用にプロバイダネットワークリソースを使用して構成された隔離仮想ネットワーク（ＩＶＮ）と（ｂ）プロバイダネットワークの外部のデータセンタにおけるあるクライアントリソースセットとの間に、専用データ経路が最初に確立されうる。例えば、データ経路は、外部リソース用に構成されたルータと、ＩＶＮ用に構成されたプロバイダネットワークゲートウェイ（クライアント用に構成された仮想私設ゲートウェイ等）との間の１以上のネットワークリンクを使用して接続を確立することを伴いうる。
【００４５】
データ経路が設定された後のある時点に、クライアントはプロバイダネットワークの制御プレーン機能を外部データセンタへ拡張することを所望しうる。従って、クライアントは、外部データセンタに配置された１以上のリソースを、プロバイダネットワークの制御インターフェイス、エンドポイント、またはプロバイダネットワーク制御プレーンに対応付けられた他のリソースを介した制御対象として登録することを指示する登録要求を送信しうる（要素６０４）。描かれた実施形態において、プロバイダネットワークの管理または制御ノード（プロバイダネットワークの１以上のネットワークアクセス可能サービスに対応付けられ、かつプロバイダネットワーク内に配置された）と、外部データセンタ内にインストールされた１以上の制御モジュール（例えば登録済リソース自体に、または登録済リソースへネットワーク接続を介してリンクされたデバイス上にインストールされた）との間に、安全制御プレーン仮想接続（ＶＰＮ接続等）が確立されうる。要素６０７に示されるように、データ経路に使用されていた少なくとも１つのネットワークリンクは、安全制御プレーン仮想接続に再利用されうる。接続を安全にするために、ＴＬＳ、ＳＳＬ、またはＩＰｓｅｃ等の任意の適切なセキュアネットワークプロトコルが使用されうる。いくつかの実施形態において、図２に示されるように、プロバイダネットワーク側において、例えばサービスコントローラとゲートウェイ間に、プロキシが使用されうる。
【００４６】
リソースが登録され、かつ安全接続が確立された後、例えばクライアントが出した制御動作要求に応じて、登録済リソースに対する制御命令が、安全接続を使用してデータセンタ内の管理ソースから出されうる（要素６１０）。少なくともいくつかの実施形態において、データ及び制御目的でのネットワークリンク、経路、または他のネットワークリソースの共有には、図６に示されるように最初にデータ経路を設定することを必要としないことに留意されたい。代わりに、いくつかのそのような実施形態において、まず安全制御プレーン接続が確立され、しかもその後にデータ経路が確立されるという場合もありうる。少なくとも一実施形態において、データ及び制御トラフィック用に共有されるネットワークリンクまたはパスのために、ＩＶＮが構成される必要はない。様々な実施形態において、任意の所望する仕組みを使用して、データトラフィックが制御トラフィックから隔離されうる。
【００４７】
前述のように、少なくともいくつかの実施形態において、プロバイダネットワークはアプリケーションスタック構成サービスを実行し、そしてそのようなサービスは、少なくともいくつかの実施形態において、プロバイダネットワークリソース並びにクライアント側リソースの混合を使用するアプリケーションを構成するのに使用されうる。図７は、少なくともいくつかの実施形態による、プロバイダネットワークリソースと外部リソースの組合せを使用するアプリケーションを構成するために行われうる動作態様を例示するフロー図である。要素７０１に示されるように、スタック構成サービスの制御ノード等のプロバイダネットワークの制御プレーンリソースに対してアプリケーションスタック構成要求をクライアントが送信することを可能にするために、プログラム的インターフェイスセット（ＡＰＩ、コマンドラインツール、ウェブベースインターフェイス、またはグラフィカルユーザインターフェイス等）が実行されうる。スタック構成要求には、例えば必要となるコンピューティングリソースの種類と数、構成要素のために設定されるべき物理ストレージリソースの量と種類等、多層アプリケーションの様々な構成要素の構成要件を記載するスクリプトまたはテンプレートが含まれうる。
【００４８】
所定のアプリケーションがプロバイダネットワークデータセンタまたはアベイラビリティコンテナ内の少なくとも１つのリソースと、プロバイダネットワークの外部に配置され（例えばクライアントデータセンタまたはクライアント定義アベイラビリティコンテナに配置され）、かつプロバイダネットワークの制御プレーンを介して制御命令を受信するように登録された少なくとも１つのリソースとを使用することを指示する特定のアプリケーションスタック構成要求が、プログラム的インターフェイスのうちの１つを介して受信されうる（要素７０４）。そのような要求に応じて、アプリケーションスタック構成サービスは、プロバイダネットワークの内部及び外部の適切なリソースに対し、対応する構成命令セットを送信しうる（要素７０７）。構成命令が完了した後、少なくともいくつかの実施形態において、アプリケーションの構成要素間の機能及び接続性が検証され（要素７１０）、そしてアプリケーションが正しく構成されたことをクライアントに知らせるために「アプリケーション構成完了」メッセージ等の表示が提供されうる。１以上の構成命令が失敗した場合、いくつかの実装例において、正しく構成されたアプリケーションスタックの任意の残余分は構成されず、クライアントは適宜通知される。
【００４９】
クライアントが本明細書に説明される制御プレーン拡張を使用して所定のアプリケーションを実行するクライアント側リソースを登録し、かつプロバイダネットワークの制御インターフェイスの使用をある程度体験した後、ある時点でクライアントは、プロバイダネットワークリソースの使用へ移行することを所望しうる。いくつかの事例において、プロバイダネットワークの様々なネットワークアクセス可能サービスにより対応される仮想化リソースをシームレスに一時停止及び再開を行う能力が、そのような移行に使用されうる。図８は、少なくともいくつかの実施形態による、プロバイダネットワークの外部にあるデータセンタにおける仮想化リソースを休止させ、プロバイダネットワーク内のリソースを再インスタンス化するために行われうる動作態様を例示するフロー図である。要素８０１に示されるように、登録済クライアント側リソースにおいて現在インスタンス化された仮想化リソースインスタンスＲＩ１を休止する（例えば仮想化リソースインスタンスＲＩ１の状態を保存、及び仮想化リソースインスタンスＲＩ１の実行を一時停止する）要求が、プロバイダネットワーク制御プレーンエンドポイント（仮想化コンピューティングサービスに対応付けられた管理コンソール等）を介して受信されうる。その後、ＲＩ１の状態情報を保存しＲＩ１の現在の実行を休止するために、例えば登録済リソースにおいて稼働している仮想化管理ソフトウェアスタックのモジュールに対し、１以上の制御命令が安全接続を介して出されうる（要素８０４）。
【００５０】
プロバイダネットワーク内のホストにおいて休止させたインスタンスＲＩ１を再インスタンス化する要求が、エンドポイントにおいて受信されうる（要素８０７）。プロバイダネットワークのデータセンタに配置された仮想化ホストが特定され、そして保存された状態情報が仮想化ホストへ送信されうる（要素８１０）。状態情報を使用して、ＲＩ１はプロバイダネットワーク内の仮想化ホストにおいて起動されうる（要素８１３）。クライアントの観点からは、プロバイダネットワーク内のＲＩ１を使用して現在実行されているアプリケーションは、外部データセンタ内にインスタンス化されたＲＩ１を使用して以前実行されたアプリケーションと、ほとんど、または全く見分けのつかない状態で表示されうる。
【００５１】
プロバイダ定義制御インターフェイスを使用したプール化クライアント側リソースの管理
いくつかの実施形態において、プロバイダネットワークの制御プレーンは、外部データセンタにおけるインフラストラクチャへいくつかの論理的または階層的レベルに拡張されうる。例えば、１つのレベルでは、外部データセンタの個別の登録済リソース（仮想化ホストまたはストレージデバイス等）は、例えば個別のリソースにおける仮想化管理スタック内に含まれるモジュールを使用してプロバイダ定義インターフェイスから制御されうる。別のレベルでは、外部データセンタにおけるリソースのグループまたはプールの階層は、グループ化リソース自体に任意の追加モジュールをインストールすることを必ずしも要することなく、プロバイダネットワークインターフェイスと互換性のある制御モジュールがインストールされた単一のアプライアンスまたはデバイスから制御されうる。例えば、負荷分散サービスがプロバイダネットワークにより対応される一実施形態において、外部データセンタには、外部データセンタ内に配置されたアプライアンスを使用して管理可能であり、かつ安全な接続を介して負荷分散サービスに接続可能な仮想または物理ロードバランサのプールが含まれうる。負荷分散サービスのプログラム的インターフェイスを介して受信されたクライアント要求に応じて、プロバイダネットワーク内に配置されたサービスコントローラから命令が、安全接続を介してアプライアンスへ送信されうる。例えば、アプライアンスは、アプリケーションの作業量が増加すると所定のクライアント側アプリケーションに割当てられたロードバランサをより多く起動させ、作業量が減少するといくつかのロードバランサの停止または再割当てを行う等する。少なくともいくつかの実施形態において、プール化リソース自体をプロバイダネットワークの制御プレーン拡張に適応させる修正が行われる必要がないように、アプライアンスがプール化リソースに出す命令にはＳＮＭＰ等の業界標準プロトコルが使用されうる。同様のアプライアンスまたはデバイスは、分散キャッシュサービス、分散データベースサービス、ネットワークアドレス発見サービス等の他の種類のプール化リソースサービス用にも設定されうる。いくつかの実施形態において、プロバイダネットワーク内に配置されたサービス管理構成要素（例えばサービスコントローラ）とアプライアンス間の通信は、ＪＭＸ（ジャバ（商標）マネジメントエクステンションアーキテクチャ）等の業界標準に従ってフォーマットされうる。
【００５２】
図９は、少なくともいくつかの実施形態による、プロバイダネットワークサービス（当事例では負荷分散サービス）が外部データセンタにおけるリソースを含むリソースプールを管理するように構成されたシステムの実施例を示す。プロバイダネットワークデータセンタ９９０及び外部（例えばクライアント所有の）データセンタ９９２の２つのデータセンタにおけるエンティティが示される。描かれた実施形態において、プロバイダネットワーク内で、複数の仮想または物理ロードバランサ９０５（例えばロードバランサ９０５Ａ、９０５Ｂ、９０５Ｇ）を含むロードバランサプール９２２Ａは、負荷分散サービスのコントローラ９０２の援助を介して管理される。例えば、負荷分散型インスタンスプール９２０のコンピューティングインスタンスにおいて実行される特定のアプリケーションに対するクライアント作業量を、負荷分散基準またはポリシーのあるセットに従って分配するように割当てられたプール９２２Ａの一部のロードバランサは、任意の時点で起動状態でありうる。従って、ロードバランサ９０５Ａ及び９０５Ｂは、作業要求９２５Ａ（クライアント１７０からデータプレーンインターフェイス９１９Ａを介して受信された要求９８３Ａに対応）を、負荷分散型インスタンスプール９２０の仮想化ホスト９３０Ａ及び９３０Ｂにおいてインスタンス化されたコンピューティングインスタンス９１０Ａ、９１０Ｂ、９１０Ｃ、９１０Ｄ間に分配するために起動している。ロードバランサ９０５Ｇ等のプール９２２Ａの他のロードバランサは、休止状態でありうる（例えばアプリケーションに未割当のため）。個々のロードバランサ９０５を起動状態から休止状態へ、またはその逆に変更する、ロードバランサを異なるアプリケーションへ再割当てを行う、またはロードバランサプール９２２Ａにおけるロードバランサの数を変更する等、ロードバランサプール９２２Ａの様々な態様を管理するために、制御命令９８４Ａがコントローラ９０２により出されうる。
【００５３】
図９に描かれた実施形態において、負荷分散サービスコントローラ９０２と、外部データセンタ９９２に配置されたアプライアンス９７５にインストールされた制御モジュール９７７間に、安全ネットワーク接続が確立されている。いくつかの事例において、例えば異なるアプライアンスが異なるサービスに必要とされうるように、アプライアンス９７５は単一のプロバイダネットワークサービス専用でありうる。少なくとも一実施形態において、クライアントは、あるサービスに対するアプライアンス９７５として機能するクライアントネットワーク内のホストを指示し、そして、例えばプロバイダネットワークから取得した、またはプロバイダネットワークのサービスコントローラにより送信されたパッケージを使用して、当該ホストに適切な制御モジュール９７７がインストールされうる。クライアントデータセンタは、あるクライアントアプリケーションセットに宛てられた作業量を分配するように構成可能な複数の仮想または物理クライアントロードバランサ（ＣＬＢ）９０６を含む別のロードバランサプール９２２Ｂを備える。例えば、クライアント１７０は、ホスト９２６Ａ及び９２６Ｂにおいてインスタンス化されたクライアント定義リソース（ＣＤＲ）９１１Ａ、９１１Ｂ、９１１Ｒ、９１１Ｓにより実行される１以上のアプリケーションに対する作業要求９８３Ｂを送信しうる。コントローラ９０２の指示に従ってアプライアンス９７５が出した命令９８４Ｂに応じて起動したロードバランサ９０６のサブセット（例えば９０６Ａ及び９０６Ｂ）により、クライアント送信作業要求がＣＤＲ９１１に分配されうる（矢印９２５Ｂにより示されるように）。ロードバランサプール９２２Ｂには、ＣＬＢ９０６Ｑ等の任意の時点で休止または未割当て状態のクライアントロードバランサもいくつか含まれうる。
【００５４】
図９に描かれた実施形態において、クライアント１７０は、共通制御プレーンインターフェイスセット１５０を介して、負荷分散サービスに対する様々な種類の制御動作要求９８７（例えば管理対象とするクライアント側ロードバランサセットの指定要求、管理対象とするプロバイダネットワークロードバランサセットの指定要求）を送信しうる。負荷分散サービスコントローラ９０２は、クライアント動作要求９８７に対応する命令を生成しうる。クライアント要求９８７の特質及び目標に応じて、一部のコントローラ命令はプロバイダネットワーク内を対象とし（例えば命令９８４Ａ）、一方他の命令は外部データセンタを対象としうる（例えばアプライアンス９７５にクライアント側ロードバランサプールの構成ロードバランサへ命令９８４Ｂを送信させるアプライアンス９７５宛ての命令９８１）。外部ネットワーク内で、ロードバランサ自体は、プロバイダネットワーク内のロードバランサが使用するのと同一の技術（または同じ種類のハードウェアまたはソフトウェア）を使用する必要がない可能性があることに留意されたい。従って、例えば所定のクライアントは、ベンダーＶ１が製造したハードウェアロードバランサ９０６を使用することを選び、一方プロバイダネットワークの負荷分散サービスでは、ベンダーＶ２により製造された、またはプロバイダネットワークにカスタムで実装された別の種類のロードバランサ９０５が使用されうる。プロバイダネットワーク内のロードバランサ９０５に対し出された命令の種類は、プロバイダネットワーク外のロードバランサ９０６に対し出された命令の種類とは異なり、例えば別のプロトコルが使用されうる、または別のポリシーセットが使用されうる。
【００５５】
少なくともいくつかの実施形態において、クライアントは、プロバイダネットワーク制御インターフェイスの１つのセットを介して制御対象とする個別のクライアント側リソースを登録し、並びにプロバイダネットワーク制御インターフェイスの別のセットを介して制御対象とするクライアント側リソースのプールも登録しうる。例えば、図９に示される実施形態において、一部または全てのＣＤＲ９１１は、それ自体がプロバイダネットワークの仮想化コンピューティングサービスに対応付けられたインターフェイスを介して制御されるように登録され、一方アプライアンス９７５及び／またはロードバランサ９０６は、プロバイダネットワークの負荷分散サービスに対応付けられたインターフェイスを介して制御されるように登録されうる。
【００５６】
異なる実施形態において、リソースの起動状態を（例えば所定のロードバランサ、キャッシュインスタンス、またはデータベースインスタンスが起動しているか休止しているか、起動している場合は、それが割当てられた特定クライアントまたはアプリケーションに対して）管理するために、プロバイダネットワーク内に設定された様々な種類のプール化リソースサービスに対し、それぞれのプログラム的制御インターフェイスセットが実行されうる。クライアントはそのようなインターフェイスを介して、プール化リソースサービスに対する構成要求を送信し、そしてクライアント要求はコントローラ９０２と同様のサービス管理リソースにより適切な命令に変換されうる。少なくともいくつかの実施形態において、クライアントはプログラム的インターフェイス（複数可）を使用して、特定のプール内のリソース起動状態を対応サービスにより管理する１以上のリソース（プロバイダネットワーク内またはプロバイダネットワーク外の位置のリソース）を指示するプール管理要求を送信しうる。例えば、一実装例において、プール管理要求は、プール識別子（例えば「アプリケーションＡ負荷分散プール」）、既にプール構成リソースである、またはプール構成リソースとなるクライアント側リソースセット（例えば「：ＬＢ３４０５Ａ．ドメイン名．ｃｏｍ（ＩＰアドレスＡ．Ｂ．Ｃ．１）」、「：ＬＢ３４０５Ｂ．ドメイン名．ｃｏｍ（ＩＰアドレスＡ．Ｂ．Ｃ．５）」等）、そして任意で、リソース起動／停止基準、最大プールサイズ、最小プールサイズ、または任意の時点で起動させるプールリソースの数に対する最小最大制約といったパラメータを指示しうる。プロバイダネットワーク内に配置されたサービスのコントローラまたは同様の管理リソースから、プロバイダネットワークの外部にあるデータセンタにおけるサービス用にインスタンス化された制御モジュール（モジュール９７７等）へ安全ネットワーク接続が確立され、要するにサービスに関する制御プレーンが拡張される。
【００５７】
少なくともいくつかの実施形態において、クライアント作業要求９８３等の１以上の種類の作業要求に応えるために、プール管理要求において指示された少なくとも１つのリソース起動基準に従って、いくつかのリソース（クライアント側リソースまたはプロバイダネットワークリソース）が、制御モジュールを介して起動されうる。特定のサービスに応じて、異なる種類のリソース起動状態変更統御基準がクライアントにより特定されうる。例えば、負荷分散サービスの事例において、ある時間帯Ｔにおいて既存のロードバランサのＣＰＵ使用レベルがＸ％を越える場合、クライアントは新たなロードバランサの起動を所望し、そしてある時間帯において平均ＣＰＵ使用レベルがｙ％を下回る場合、クライアントはロードバランサの停止を所望しうる。同様に、分散キャッシュサービスに関して、アプリケーションのキャッシュミス率が閾値を超える場合、またはキャッシュの補助ストレージデバイスのあるセットにおけるＩ／Ｏ作業量が閾値を超えて増加する場合、追加キャッシュが起動されうる、または既存のキャッシュインスタンスのサイズが増加されうる。他のサービス特定起動状態変更基準は、ネットワークアドレス発見サービス（このサービスのリソースはＤＮＳノードと同様の機能を提供しうる）、自動リソース動員サービス（例えば測定または予想された作業量レベルにより、必要に応じてアプリケーションに対しコンピューティングインスタンスまたはストレージインスタンスを自動で追加するサービス）、分散データベースサービス（特定起動基準に基づいて新たなデータベースインスタンスがスピンアップされうるサービス）、または必要に応じて暗号鍵または証明書等のセキュリティアイテムを生成するように設計されたノードを有するサービス等、様々なプール化リソースサービスに使用されうる。少なくとも一実施形態において、プール構成リソースとして既に設定されたリソースに対する起動状態変更に加えて、または代わって、クライアントは、クライアントネットワークもしくはプロバイダネットワークの他のエンティティもしくはサービスからの追加ホストを要求することで、または既存のプール構成リソースを他のタスクに再割当てすることで特定プールを拡張または縮小する制御動作要求を出しうる。そのような実施形態において、プールサイズに調整を加える際、クライアント側制御モジュールは、最大または最小プールサイズ限度等の予め特定されたプールサイズ制約（もしあれば）に従う必要がありうる。
【００５８】
図１０ａ及び１０ｂはそれぞれ、少なくともいくつかの実施形態による、プロバイダネットワークから外部データセンタへ拡張する制御プレーンを有するプール化リソースサービスに使用可能な制御フローの２つの選択肢を例示する。図１０ａ（及び図９にも）に示されるように、一手法において、プロバイダネットワークデータセンタ９９０におけるプール化リソースサービスコントローラ１００２と、外部データセンタ９５１に配置された専用アプライアンス９７５における制御モジュール９７７との間に、安全接続（例えばＳＳＬ、ＴＬＳ，ＩＰｓｅｃ、またはその他の好適なプロトコルを使用した安全接続）が確立されうる。図１０ａに描かれた実施形態において、共通ネットワークリンク１０５６は、データトラフィック及び制御トラフィック用に共有されうる。プロバイダネットワークリソースプール１０１８（例えば図２に示されたＩＶＮ２２１と同様のクライアント用に構築された隔離仮想ネットワーク内のリソースプール）とクライアント側リソースプール１０２８との間に、制御トラフィックが流れるネットワークリンク１０５６を少なくとも一部のデータトラフィックも流れるデータフローパス１０５１が確立されうる。例えば、制御トラフィックは、ＶＰＮを使用してデータトラフィックから隔離されうる。クライアントデータセンタ９９２内において、アプライアンス９７５は、例えばサービスコントローラ１００２から命令を受信し、当該命令をクライアント側リソースプールの構成リソースにより理解可能な命令１０６６へ変換する等、サービスコントローラ１００２とクライアント側リソースプール間の仲介として機能しうる。図１０ａに例示された手法において、追加モジュールがクライアント側リソースプール１０２８内のリソースにインストールまたは含まれる必要はない。
【００５９】
プロバイダネットワーク制御プレーンを拡張する別の手法が図１０ｂに例示される。ここでは、制御モジュール９７７Ａ及び９７７Ｂがそれぞれプールリソース１０１１Ａ及び１０１１Ｂにインストールまたは構成され、その結果プール化リソースサービスコントローラ１００２はアプライアンス９７５等の仲介を必要としえない。代りに、コントローラ１００２は、プールリソースにおけるモジュール９７７Ａ及び９７７Ｂと直接通信しうる。繰返しになるが、描かれた実施形態において、共通ネットワークリンク１０５６は図１０ａの事例のようにデータトラフィック及び制御トラフィックの両方に使用されうる。いくつかの実施形態において、所定のクライアントは同一の外部データセンタ内におけるいくつかのプール化リソースサービスそれぞれのプログラム的制御インターフェイスの使用を所望すると、図１０ａに示された手法が使用される場合、そのようなサービスはそれぞれ、クライアントデータセンタに配置された少なくとも１つの専用アプライアンスを必要としうる。アプライアンス費用を控えるために、いくつかの実施形態において、クライアントは、制御モジュール９７７をインストール／構成する経費は発生するが専用アプライアンスを必要としない図１０ｂに示される代替的手法を選びうる。いくつかの実施形態において、単一のアプライアンスが、複数のプール化リソースサービスのために共有されうる。少なくとも一実施形態において、いくつかのプール化リソースが制御モジュール９７７を有し、かつアプライアンスが別のプール化リソースサブセットに使用される、図１０ａ及び１０ｂの両方の態様を組み合わせたハイブリッド手法が使用されうる。
【００６０】
リソースプール実施例
上述のように、少なくともいくつかの実施形態において、プロバイダネットワーク制御インターフェイスを使用して管理されるクライアント側プール内のいくつかのリソース自体は、別のプロバイダネットワーク制御インターフェイスセットを介して制御されるように登録可能でありうる。その結果、そのような実施形態において、クライアント側リソースプールはそれ自体、登録済及び未登録プール構成リソースのいくつかの組合せを備えうる。図１１は、少なくともいくつかの実施形態による、プロバイダネットワークの外部にあるデータセンタにおけるリソースプール１０２８の種類の実施例を示す。示されるように、クライアント側リソースプール１０２８Ａは、サービスＳ１に対応付けられた制御インターフェイスにそれぞれ登録され、かつＳ１に対応付けられた各自の制御モジュール１１７７をそれぞれが備えるリソース１１５２Ａ及び１１５２Ｂを備え、従って、Ｓ１のプログラム的制御インターフェイスに従ってフォーマットされた命令を実行可能である。例えば、いくつかの実施形態において、リソース１１５２Ａ及び１１５２Ｂはそれぞれ仮想ホストを備え、Ｓ１は仮想化コンピューティングサービスでありえ、そしてモジュール１１７７Ａ及び１１７７Ｂはそれぞれ仮想化管理ソフトウェアスタックの要素を備えうる。プール化リソースサービスＳ２（負荷分散サービス等）に対応付けられた制御モジュール９７７は、制御／設定命令１１５６（起動／停止命令等）を登録済リソース１１５２Ａ及び１１５２Ｂに送信するように構成されうる。
【００６１】
プール１０２８Ａ等の一部のクライアント側リソースプールは全て登録済リソースで構成される一方、１０２８Ｂ等の他のクライアント側リソースプールは、サービスＳ１（またはプロバイダネットワークの任意の他のサービス）に対応付けられた制御モジュールを全く有さない１１６２Ａ及び１１６２Ｂ等の未登録リソースを備えうる。そのような未登録リソースは、プロバイダネットワークサービスのプログラム的制御インターフェイスに従ってフォーマットされた命令を実施不可能でありうる。第３カテゴリのリソースプールは、登録済リソース（Ｓ１制御モジュール１１７７Ｋを有するリソース１１５２Ｋ等）と未登録リソース（リソース１１６２Ｍ等）の両方を備えうる。いくつかの事例において、所定のプール化リソースは、いくつかのサービスの制御モジュールを備え、これにより各サービスに対応付けられた制御命令を受信するように登録されうる。描かれた実施形態において、プール化リソースサービスＳ２に対応付けられた制御モジュール９７７は、登録済プール化リソース及び未登録プール化リソースの両方と同等に効果的に通信するように構成されうる。
【００６２】
図１２は、少なくともいくつかの実施形態による、複数のアベイラビリティコンテナにわたりうるプール構成の実施例を示す。示されるように、描かれた実施形態において、プロバイダネットワーク１０１はプロバイダ定義アベイラビリティコンテナ（ＰＤＡＣ）１０２Ａ及び１０２Ｂを備え、一方クライアントネットワーク１５１はクライアント定義アベイラビリティコンテナ１５２Ａ、１５２Ｂを備える。アプライアンス９７５は、クライアント送信制御動作要求に応じて、プール化リソースへ対応する制御命令（リソース起動命令及び停止命令等）を送信するように構成されうる。描かれた実施形態において、いくつかの異なる種類のリソースプールは、アプライアンス９７５を介して設定及び管理されうる。例えば、プール１２０２Ａ等のいくつかのプールは、クライアントネットワーク１５１内に配置されたリソース（ＣＤＡＣ１５２Ａにおけるリソースセット１２２０Ａ等）、並びにプロバイダネットワーク１０１内に配置されたリソース（ＰＤＡＣ１０２Ｂにおけるリソースセット１１０Ｆ等）を備えうる。１２０２Ｂ等のプールは、複数のＰＤＡＣ内のリソース（例えばＰＤＡＣ１０２Ａ及び１０２Ｂにおけるリソースセット１１０Ｂ及び１１０Ｇ）を備えうる。プール１２０２Ｃは所定のＰＤＡＣに限ったリソースセット１１０Ｃを備え、プール１２０２Ｅ及び１２０２ＦはＣＤＡＣ１５２Ａ及び１５２Ｂ内のリソースセット１２２０Ｃ及び１２２０Ｍをそれぞれ備えうる。プール１２０２Ｄ等のアプライアンス９７５を介して制御されるいくつかのリソースプールは、複数のＣＤＡＣのそれぞれのリソースセット（ＣＤＡＣ１５２Ａ及び１５２Ｂのそれぞれのリソースセット１２２０Ｂ及び１２２０Ｌ等）を備えうる。描かれた実施形態において、アプライアンスに追加された制御モジュールを介して管理されるプール化リソースは、上述のような制御トラフィックの安全接続が確立可能な限りアプライアンス自体の位置とは関係なく、任意の組合せのアベイラビリティコンテナまたはデータセンタに属しうる。
【００６３】
クライアント側プール化リソースの制御方法
図１３は、少なくともいくつかの実施形態による、プロバイダネットワーク内で実施されるサービスを利用して、プロバイダネットワークの外部の位置にあるプール化リソースの管理を支援するために行われうる動作態様を例示するフロー図である。要素１３０１に示されるように、プール化リソースを管理するために（例えばプール内のリソースの起動／停止を管理、及び／またはプールに対しリソースを追加／削除するために）プロバイダネットワークに確立されたネットワークアクセス可能サービスに対し、クライアントが設定要求を送信できるようにするプログラムインターフェイスセットが実行されうる。そのようなサービスの実施例には、例えば、負荷分散サービス、分散キャッシュサービス、分散データベース、ネットワークアドレス発見サービス等が含まれうる。
【００６４】
特定プール内のリソース状態をサービスにより管理するリソースセットを指示するプール管理要求が受信されうる（要素１３０４）。描かれた実施形態において、少なくとも１つのリソースは、プロバイダネットワークの外部のデータセンタ（例えばクライアント所有データセンタ）に配置されうる。プール管理要求には、例えば追加リソースを起動させる時を判定するために記録するパフォーマンス測定の種類、及び状態変更のトリガーとして機能する測定の特定値等、リソースの起動状態を変更するのに使用される様々基準またはルールも含まれうる。
【００６５】
プロバイダネットワーク内に配置されたサービス制御ノード等のサービスの管理構成要素と、外部データセンタに配置された制御モジュール（例えばサービス専用のアプライアンスにおける、または１以上のプール化リソース上の制御モジュール）との間に、安全ネットワーク接続が確立されうる（要素１３０７）。接続を安全にするために、ＳＳＬ、ＴＬＳ、またはＩＰｓｅｃ等の任意の適切なプロトコル（複数可）が使用されうる。いくつかの実施形態において、安全ネットワーク接続は、プロバイダネットワークと外部データセンタの間のデータトラフィックにも使用される１以上のリンク等のネットワークリソースを使用しうる。制御モジュールは、例えばプロバイダネットワーク運営者のパートナーベンダーにより、アプライアンス上または他のデバイス上にプリインストール済でありうる、または必要に応じてプロバイダネットワークからインストールパッケージを転送することによりインストールされうる。プール管理要求により指示された基準に基づいて、適切な設定命令（例えば起動命令）が、管理構成要素から制御モジュール（複数可）を介して、外部データセンタに配置されたプールの選ばれたリソースに対し送信されうる（要素１３１０）。いくつかの実施形態において、設定命令は、ＳＮＭＰ等の様々な標準ベースのプロトコルのいずれかに従ってフォーマットされうる。
【００６６】
図１４は、少なくともいくつかの実施形態による、リソースプール内のリソースの起動状態を変更するために行われうる動作態様を例示するフロー図である。要素１４０１に示されるように、１以上のＰＤＡＣにおけるプロバイダネットワークリソース及び／または１以上のＣＤＡＣにおけるクライアント所有リソースを含むプール内のリソースを起動／停止するのに使用されるメトリックの情報源セットが特定されうる。そのような情報源には、例えば、リソース自体に配置されたパフォーマンスモニタまたはツール、アプリケーション動作及び応答性を遠隔で監視するツール、及び／または様々な種類のログが含まれうる。ある時間帯において、特定されたメトリックが情報源から収集されうる（要素１４０４）。
【００６７】
例えば１以上のリソースを起動、停止、または再割当てするべきか等、一部または全てのプールリソースの起動状態に対して任意の変更を行うべきか否かに関して、メトリックを使用して判定が行われうる。そのような起動状態変更が行われる場合（要素１４０７にて判定）、状態変更の対象となる特定のリソースが指定されうる（要素１４１０）。例えばプロバイダネットワークの外部のデバイスにインストールされた制御モジュールから対象リソースに対して、適切な設定命令が送信されうる（要素１４１３）。さらに、いくつかの実施形態において、次の時間間隔に監視されるリソースセットが修正されうる。それから次の時間帯の監視が開始され、要素１４０４以降に対応する動作が繰り返されうる。起動状態変更が必要であるとみなされなかった場合も（同様に要素１４０７にて判定）、要素１４０４以降に対応する動作は次の時間間隔において繰り返されうる。
【００６８】
様々な実施形態において、フロー図５、６、７、８、１３、１４に例示されていない他の動作が、プロバイダネットワークから外部ネットワークへの制御プレーン拡張を支援するために実行されうる、しかも示された動作の一部は実行されない、または異なる順序で、もしくは順次ではなく同時に実行されうることに留意されたい。
【００６９】
活用事例
プロバイダネットワークの外部のクライアント側位置に配置されたリソースを包含するためにプログラム的制御インターフェイスの及ぶ範囲を拡張する上述の技術は、いくつかのシナリオにおいて有益でありうる。例えば、クラウドベースのアプリケーションの人気が高くなっているが、クラウド操作に関する企業ＩＴスタッフの経験不足に少なくとも一部起因して、数多くの企業アプリケーションはクライアント側リソースに制限され続けている。ＩＴスタッフがプロバイダネットワークにより対応される制御インターフェイスを使いながら、自身のデータセンタ内の自身のアプリケーションを実行し続けることを可能にすることは、より完全なクラウドベースのアプリケーションを試してみることに対するスタッフの抵抗を打開するのに役立ちうる。アプリケーションスタック構成自動化サービス等、クライアントの要求に応じてプロバイダネットワーク内に時を経て構築された数々のサービスはまた、クライアント側アプリケーションのアプリケーション管理の複雑さも軽減しうる。リソースの配置位置に関係なくプール化リソースを透過的に管理する能力により、作業量レベルが増大するにつれてアプリケーションを効果的に拡大することが可能となりうる。アプリケーションをプロバイダネットワークリソースに転送する簡易化された技術（例えばクライアント側で稼働しているインスタンスを休止し、プロバイダネットワーク内に当該インスタンスを再インスタンス化すること）は、低いリスクでＩＴ費用の削減もしうる。
【００７０】
例示的コンピュータシステム
少なくともいくつかの実施形態において、登録マネジャ、登録済及び未登録リソース、様々なプロバイダネットワークサービスに対応付けられたコントローラ及びアプライアンス等の管理ノード、及び制御パスとデータパスの他の要素を実行する技術を含む、本明細書で説明される１以上の技術の一部または全てを実施するサーバは、１以上のコンピュータアクセス可能媒体を含む、またはそのような媒体にアクセスするように構成された汎用コンピュータシステムを含みうる。図１５は、そのような汎用コンピューティングデバイス３０００を示す。例示された実施形態において、コンピューティングデバイス３０００は、入出力（Ｉ／Ｏ）インターフェイス３０３０を介してシステムメモリ３０２０に接続された１以上のプロセッサ３０１０を含む。コンピューティングデバイス３０００はさらに、Ｉ／Ｏインターフェイス３０３０に接続されたネットワークインターフェイス３０４０を含む。
【００７１】
様々な実施形態において、コンピューティングデバイス３０００は、１つのプロセッサ３０１０を含むユニプロセッサシステム、またはいくつか（例えば２つ、４つ、８つもしくは別の好適な個数）のプロセッサ３０１０を含むマルチプロセッサシステムでありうる。プロセッサ３０１０は、命令を実行可能な任意の好適なプロセッサでありうる。例えば、様々な実施形態において、プロセッサ３０１０は、様々な命令セットアーキテクチャ（ＩＳＡ）、例えばｘ８６、ＰｏｗｅｒＰＣ、ＳＰＡＲＣ、ＭＩＰＳ‐ＩＳＡ、またはその他の好適なＩＳＡ等のいずれかを実施する汎用または組込みプロセッサでありうる。マルチプロセッサシステムにおいて、それぞれのプロセッサ３０１０は一般に、必ずではないが、同一のＩＳＡを実施しうる。いくつかの実装例において、従来のプロセッサの代わりに、または従来のプロセッサに加えて、グラフィック処理ユニット（ＧＰＵ）が使用されうる。
【００７２】
システムメモリ３０２０は、プロセッサ３０１０（複数可）がアクセス可能な命令とデータとを記憶するように構成されうる。様々な実施形態において、システムメモリ３０２０は、静的ランダムアクセスメモリ（ＳＲＡＭ）、同期式動的ＲＡＭ（ＳＤＲＡＭ）、不揮発性／フラッシュメモリ、またはその他の種類のメモリ等、任意の好適なメモリ技術を使用して実行されうる。例示された実施形態において、上述の方法、技術、及びデータ等、１以上の所望する機能を実行するプログラム命令及びデータは、システムメモリ３０２０内にコード３０２５及びデータ３０２６として記憶されることが示される。
【００７３】
一実施形態において、Ｉ／Ｏインターフェイス３０３０は、プロセッサ３０１０と、システムメモリ３０２０と、データオブジェクトパーティションの物理レプリカを記憶するのに使用される様々な種類の永続的及び／または揮発性ストレージデバイス等のネットワークインターフェイス３０４０もしくは他の周辺インターフェイスを含む任意の周辺デバイスとの間のＩ／Ｏトラフィックをデバイス内で調整するように構成されうる。いくつかの実施形態において、Ｉ／Ｏインターフェイス３０３０は、１つの構成要素（例えばシステムメモリ３０２０）からのデータ信号を、別の構成要素（例えばプロセッサ３０１０）が使用するのに好適な形式に変換するために必要な任意のプロトコル、タイミング、または他のデータ変換を行いうる。いくつかの実施形態において、Ｉ／Ｏインターフェイス３０３０には、例えば周辺構成要素相互接続（ＰＣＩ）バス規格または汎用シリアルバス（ＵＳＢ）規格の変形等、様々な種類の周辺バスを介して取り付けられるデバイスのサポートが含まれうる。いくつかの実施形態において、Ｉ／Ｏインターフェイス３０３０の機能は、例えばノースブリッジとサウスブリッジといった２つ以上の別々の構成要素に分割されうる。また、いくつかの実施形態において、システムメモリ３０２０に対するインターフェイス等、一部または全てのＩ／Ｏインターフェイス３０３０の機能は、プロセッサ３０１０に直接取込まれうる。
【００７４】
ネットワークインターフェイス３０４０は、例えば図１から図１４において例示されたように、コンピューティングデバイス３０００と、他のコンピュータシステムまたはデバイス等、ネットワーク３０５０（複数可）に接続された他のデバイス３０６０との間においてデータ交換可能なように構成されうる。様々な実施形態において、ネットワークインターフェイス３０４０は、例えばイーサネット（登録商標）ネットワークの類の任意の好適な有線または無線汎用データネットワークを介した通信に対応しうる。さらに、ネットワークインターフェイス３０４０は、アナログ音声ネットワークまたはデジタルファイバ通信ネットワーク等の電気通信／電話ネットワークを介した、またはファイバチャネルＳＡＮ等のストレージエリアネットワークを介した、またはその他の好適な種類のネットワーク及び／またはプロトコルを介した、通信に対応しうる。
【００７５】
いくつかの実施形態において、システムメモリ３０２０は、対応方法及び装置の実施形態を実行するために、図１から図１４において前述されたようなプログラム命令及びデータを記憶するように構成されたコンピュータアクセス可能媒体の一実施形態でありうる。しかしながら、別の実施形態において、プログラム命令及び／またはデータは、異なる種類のコンピュータアクセス可能媒体上で受信され、送信され、記憶されうる。一般に、コンピュータアクセス可能媒体には、例えば入Ｉ／Ｏインターフェイス３０３０を介してコンピューティングデバイス３０００に接続されるディスクまたはＤＶＤ／ＣＤといった磁気媒体または光学式媒体等の非一時的記憶媒体及びメモリ媒体が含まれうる。非一時的コンピュータアクセス可能記憶媒体には、コンピューティングデバイス３０００のいくつかの実施形態にシステムメモリ３０２０または別の種類のメモリとして含まれうるＲＡＭ（例えばＳＤＲＡＭ、ＤＤＲ  ＳＤＲＡＭ、ＲＤＲＡＭ、ＳＲＡＭ等）、ＲＯＭ等の任意の揮発性または不揮発性媒体も含まれうる。さらに、コンピュータアクセス可能媒体には、送信媒体すなわち信号が含まれ、そのような信号にはネットワーク及び／または無線リンク等の通信媒体を介して伝達される電気、電磁、またはデジタル信号等があり、当該信号伝達はネットワークインターフェイス３０４０を介して実行されうる。図１５に例示されるような多重コンピューティングデバイスの一部または全ては、様々な実施形態において説明された機能を実行するために使用されうる。例えば、様々な異なるデバイス及びサーバ上で稼働するソフトウェア構成要素は、協働して機能を提供しうる。いくつかの実施形態において、説明された機能の一部は、汎用コンピュータシステムを使用して実行されるのに加えて、または代わって、ストレージデバイス、ネットワークデバイス、または専用コンピュータシステムを使用して実行されうる。本明細書で使用される「コンピューティングデバイス」という用語は、少なくとも全てのこの種類のデバイスに言及し、かつこの種類のデバイスに限定されない。
【００７６】
結論
様々な実施形態はさらに、コンピュータアクセス可能媒体に関する上述の説明に従って実行される命令及び／またはデータの受信、送信、または記憶処理を含みうる。一般に、コンピュータアクセス可能媒体には、磁気媒体または光学式媒体等の記憶媒体もしくはメモリ媒体が含まれうる。例えば、ディスクまたはＤＶＤ／ＣＤ‐ＲＯＭと、ＲＡＭ（例えばＳＤＲＡＭ、ＤＤＲ、ＲＤＲＡＭ、ＳＲＡＭ等）、ＲＯＭ等の揮発性または不揮発性媒体と、並びに送信媒体すなわちネットワーク及び／または無線リンク等の通信媒体を介して伝達される電気、電磁、またはデジタル信号等の信号とが含まれうる。
【００７７】
本明細書で例示及び記述された様々な方法は、方法の例示的実施形態を表す。方法は、ソフトウェア、ハードウェア、またはこれらの組合せにおいて実行されうる。方法の順序は変更され、そして様々な要素が追加、並替、結合、省略、修正等されうる。
【００７８】
本開示の恩恵を受ける当業者に明らかであろう様々な修正及び変更を行うことが可能である。本明細書には全てのそのような修正及び変更を包含することを意図しており、従って上述の説明も制限的な意味ではなく例示的な意味としてみなされるものとする。
【００７９】
本開示の実施形態は以下の項を以って説明することができる。
（第１項）
１以上のコンピューティングデバイスを備えるシステムであって、コンピューティングデバイスは、
クライアントがプロバイダネットワークの１以上のネットワークアクセス可能サービスのリソースに対応付けられた制御動作を要求することを可能にする第１プログラム的インターフェイスセットを実行し、
クライアントがリソース登録要求を送信することを可能にする第２プログラム的インターフェイスセットを実行し、リソース登録要求は第１プログラム的インターフェイスセットを介して受信された制御動作要求のカテゴリの対象候補としてプロバイダネットワークの外部のデータセンタに配置された１以上のリソースを指示し、制御動作要求のカテゴリは１以上のネットワークアクセス可能サービスのうち少なくとも特定のネットワークアクセス可能サービスに対応付けられ、
プロバイダネットワークの外部のデータセンタに配置された特定のリソースを指示する特定リソース登録要求を、第２プログラム的インターフェイスセットを介して受信し、
特定リソースにインストールされた管理ソフトウェアスタックの１以上のモジュールの機能性を検証し、
特定リソースにおける１以上のモジュールのうちの特定モジュールと、プロバイダネットワークのデータセンタ内に配置された管理リソースとの間に安全ネットワーク接続を確立し、
第１プログラム的インターフェイスセットを介して受信された制御動作要求のカテゴリの特定制御動作要求に応じて、管理リソースから安全ネットワーク接続を介して特定リソースへ制御命令を送信する
ように構成される、システム。
（第２項）
特定ネットワークアクセス可能サービスは、仮想化コンピューティングサービス、ブロックレベルストレージサービス、クライアント運用のためのウェブサービスインターフェイスを実行するストレージサービス、データベースサービス、バッチ処理並列コンピューティングサービス、または負荷分散サービスのうちの１つを含む、第１項に記載のシステム。
（第３項）
プロバイダネットワークは、インフラストラクチャ構成要素セットと可用性プロファイルをそれぞれが有する第１アベイラビリティコンテナと第２アベイラビリティコンテナを含む複数のアベイラビリティコンテナを備え、特定リソース登録要求は、別のアベイラビリティコンテナとして、プロバイダネットワークの外部のデータセンタにおける特定のリソースを含むリソースの集合を指定する要求を含む、第１項に記載のシステム。
（第４項）
１以上のコンピューティングデバイスはさらに、
特定物理ネットワークリンクを備えるネットワークパスを介して特定リソースへ制御命令を送信し、
特定リソース宛てのデータ転送動作要求に応じて、特定物理ネットワークリンクを備える別のネットワークパスを使用して、特定リソースからデータを転送する
ように構成される、第１項に記載のシステム。
（第５項）
１以上のコンピューティングデバイスはさらに、
プロバイダネットワークと、プロバイダネットワークの外部のデータセンタとの間に、制御命令に関連したトラフィック専用の仮想私設ネットワーク（ＶＰＮ）を確立する
ように構成される、第４項に記載のシステム。
（第６項）
１以上のコンピューティングデバイスにより、
クライアントがプロバイダネットワークの１以上のネットワークアクセス可能サービスのリソースに対応付けられた制御動作を要求することを可能にする第１プログラム的インターフェイスセットを実行し、
特定のクライアントが登録要求を送信することを可能にする第２プログラム的インターフェイスセットを実行し、登録要求は第１プログラム的インターフェイスセットを介して出される制御動作要求のカテゴリの対象候補としてプロバイダネットワークの外部のデータセンタに配置された１以上のリソースを指示し、制御動作要求のカテゴリは１以上のネットワークアクセス可能サービスのうち特定のネットワークアクセス可能サービスに関し、
プロバイダネットワークの外部のデータセンタに配置された１以上のリソースのうちの特定のリソースを指示する特定登録要求を、第２プログラム的インターフェイスのうちのプログラム的インターフェイスを介して受信し、
特定リソースと、プロバイダネットワークのデータセンタ内に配置された管理リソースとの間にネットワーク接続を確立し、
第１プログラム的インターフェイスセットを介して受信された制御動作要求のカテゴリの特定制御動作要求に応じて、管理リソースからネットワーク接続を介して特定リソースへ制御命令を送信する
ことを含む方法。
（第７項）
特定ネットワークアクセス可能サービスは、仮想化コンピューティングサービス、ブロックレベルストレージサービス、クライアント運用のためのウェブサービスインターフェイスを実行するオブジェクトストレージサービス、データベースサービス、バッチ処理並列コンピューティングサービス、または負荷分散サービスのうちの１つを含む、第６項に記載の方法。
（第８項）
プロバイダネットワークは、インフラストラクチャ構成要素セットと可用性プロファイルをそれぞれが有する第１アベイラビリティコンテナと第２アベイラビリティコンテナを含む複数のアベイラビリティコンテナを備え、特定制御化外部リソースグループ要求は、別のアベイラビリティコンテナとして、プロバイダネットワークの外部のデータセンタにおけるリソースの集合を指定する要求を含む、第６項に記載の方法。
（第９項）
１以上のコンピューティングデバイスにより、
特定物理ネットワークリンクを備えるネットワークパスを介して特定リソースへ制御命令を送信し、
特定リソース宛てのデータ転送動作要求の受信に応じて、特定物理ネットワークリンクを備える別のネットワークパスを使用して、特定リソースからデータを転送する
ことをさらに含む第６項に記載の方法。
（第１０項）
１以上のコンピューティングデバイスにより、
プロバイダネットワークと、プロバイダネットワークの外部のデータセンタとの間に、制御命令に関連したトラフィック専用の仮想私設ネットワーク（ＶＰＮ）を確立する
ことをさらに含む第９項に記載の方法。
（第１１項）
１以上のコンピューティングデバイスにより、
特定クライアント用に確立された仮想私設ゲートウェイを使用してネットワーク接続を確立する
ことをさらに含む第６項に記載の方法。
（第１２項）
１以上のコンピューティングデバイスにより、
ＩＰＳｅｃ（インターネットプロトコルセキュリティ）、ＴＬＳ（トランスポート層セキュリティ）、またはＳＳＬ（セキュアソケットレイヤ）のうちの１つを使用してネットワーク接続を安全にする
ことをさらに含む第６項に記載の方法。
（第１３項）
１以上のコンピューティングデバイスにより、
プロバイダネットワークの外部のデータセンタにおける送信先デバイスに対し、特定リソースにインストールするべきソフトウェアスタックの１以上のモジュールをインストール可能なバージョンで送信し、
管理リソースから１以上のモジュールのうちの特定モジュールへネットワーク接続を確立する
ことをさらに含む第６項に記載の方法。
（第１４項）
１以上のコンピューティングデバイスにより、
特定クライアントから受信した１以上の制御動作要求に応じて、特定リソースにおける特定仮想化コンピューティングインスタンスの実行を休止し、
プロバイダネットワーク内の別のリソースにおいて、休止した仮想化コンピューティングインスタンスを再インスタンス化する
ことをさらに含む第６項に記載の方法。
（第１５項）
１以上のコンピューティングデバイスにより、
プロバイダネットワーク内の構成サービスノードにおいて、特定クライアント用に構成する特定アプリケーションの第１構成要素及び第２構成要素の指示を含むアプリケーションスタック構成要求を受信し、第１構成要素はプロバイダネットワーク内に配置された第１リソースを利用し、第２構成要素はプロバイダネットワークの外部のデータセンタに配置された第２リソースを利用し、
アプリケーションスタック構成要求に従って、構成サービスノードから第１リソース及び第２リソースに対しそれぞれ構成命令を出す
ことをさらに含む第６項に記載の方法。
（第１６項）
プログラム命令を記憶する非一時的コンピュータアクセス可能記憶媒体であって、プログラム命令が１以上のプロセッサ上で実行されると、
クライアントが登録要求を送信することを可能にする第１プログラム的インターフェイスセットを実行し、登録要求はプロバイダネットワークのネットワークアクセス可能サービスに対応付けられた別のプログラム的インターフェイスセットを介して出される制御動作要求のカテゴリの対象候補としてプロバイダネットワークの外部のデータセンタに配置された１以上のリソースを指示し、
特定登録要求において指示された特定リソースと、プロバイダネットワークのデータセンタ内に配置された管理リソースとの間にネットワーク接続を確立し、
別のプログラム的インターフェイスセットを介して受信された制御動作要求のカテゴリの特定制御動作要求に応じて、管理リソースからネットワーク接続を介して特定リソースへ制御命令を送信する、
非一時的コンピュータアクセス可能記憶媒体。
（第１７項）
ネットワークアクセス可能サービスは、仮想化コンピューティングサービス、ブロックレベルストレージサービス、クライアント運用のためのウェブサービスインターフェイスを実行するオブジェクトストレージサービス、データベースサービス、バッチ処理並列コンピューティングサービス、または負荷分散サービスのうちの１つを含む、第１６項に記載の非一時的コンピュータアクセス可能記憶媒体。
（第１８項）
プロバイダネットワークは、インフラストラクチャ構成要素セットと可用性プロファイルをそれぞれが有する第１アベイラビリティコンテナと第２アベイラビリティコンテナを含む複数のアベイラビリティコンテナを備え、特定登録要求は、別のアベイラビリティコンテナとして、プロバイダネットワークの外部のデータセンタにおけるリソースの集合を指定する要求を含む、第１６項に記載の非一時的コンピュータアクセス可能記憶媒体。
（第１９項）
１以上のプロセッサ上で命令が実行されると、
プロバイダネットワークと、プロバイダネットワークの外部のデータセンタとの間に、制御命令に関連したトラフィック専用の仮想私設ネットワーク（ＶＰＮ）を確立する、
第１６項に記載の非一時的コンピュータアクセス可能記憶媒体。
（第２０項）
特定リソースは、仮想化コンピューティングリソースホスト、ストレージアプライアンス、負荷分散アプライアンスのうち少なくとも１つを備える、
第１６項に記載の非一時的コンピュータアクセス可能記憶媒体。
【図１】
2016536721.tif 000003
【図２】
2016536721.tif 000004
【図３】
2016536721.tif 000005
【図４】
2016536721.tif 000006
【図５】
2016536721.tif 000007
【図６】
2016536721.tif 000008
【図７】
2016536721.tif 000009
【図８】
2016536721.tif 000010
【図９】
2016536721.tif 000011
【図１０ａ】
2016536721.tif 000012
【図１０ｂ】
2016536721.tif 000013
【図１１】
2016536721.tif 000014
【図１２】
2016536721.tif 000015
【図１３】
2016536721.tif 000016
【図１４】
2016536721.tif 000017
【図１５】
2016536721.tif 000018
【国際調査報告】
2016536721.tif 000019