(57)【要約】サービスプロバイダネットワークを運用するサービスプロバイダの顧客によって運用される顧客ネットワーク等のネットワークの構成に関するデータが収集され得る。収集されたネットワーク構成データをユーザが追加、削除、もしくは修正することができるように、ユーザインターフェイス等の好適なインターフェイスが提供され得る。そして、収集され、その後修正された可能性のあるネットワーク構成データを使用して、サービスプロバイダネットワークにおいてプライベート仮想ネットワークが作成され得る。プライベート仮想ネットワークは、顧客ネットワークと同一または類似のネットワーク構成を有するように実現され得る。
2016521504.tif 000002
【特許請求の範囲】
【請求項１】
プライベート仮想ネットワークの自動作成のためのコンピュータ実施方法であって、
顧客ネットワーク内の複数のネットワークリソースから、前記顧客ネットワークの構成を記述しているネットワーク構成データを収集し、
収集した前記ネットワーク構成データを使用して、仮想ネットワーク展開テンプレートを作成し、
前記仮想ネットワーク展開テンプレートを利用して前記顧客ネットワークの前記構成と類似している構成を有するプライベート仮想ネットワークをサービスプロバイダネットワークにおいて作成するように構成された展開コンポーネントに対し、前記仮想ネットワーク展開テンプレートを提供する
ためにコンピュータ実施演算を行うステップを含む、コンピュータ実施方法。
【請求項２】
前記仮想ネットワーク展開テンプレートを作成する前に、収集した前記ネットワーク構成データを修正するためのユーザインターフェイスを提供するステップをさらに含む、請求項１に記載のコンピュータ実施方法。
【請求項３】
前記ネットワーク構成データは、前記顧客ネットワーク内の複数のサブネットを定義し、前記ユーザインターフェイスはさらに、前記サービスプロバイダネットワーク内の前記プライベート仮想ネットワークに含めるサブネットの部分集合を選ぶための機能性を提供するように構成される、請求項２に記載のコンピュータ実施方法。
【請求項４】
前記ネットワーク構成データは、さらに前記顧客ネットワーク内の複数のサブネットにより使用されているネットワークアドレスを定義し、前記ユーザインターフェイスはさらに、前記顧客ネットワークで使用されているネットワークアドレスと重複しない、前記プライベート仮想ネットワーク内のサブネットによる使用のためのネットワークアドレスを推薦するように構成される、請求項３に記載のコンピュータ実施方法。
【請求項５】
前記ネットワーク構成データは、
前記顧客ネットワークにより利用されているネットワークアドレス空間を定義するデータと、
前記顧客ネットワーク内の１つ以上のサブネットを定義するデータと、
前記顧客ネットワーク内に存在する１つ以上のネットワークアクセス制御リスト（ＡＣＬ）を定義するデータと、
前記顧客ネットワーク内に存在する１つ以上のルーティングルールを定義するデータと、
前記顧客ネットワーク内に存在する１つ以上のネットワークアドレス変換（ＮＡＴ）インスタンスを定義するデータと、
前記顧客ネットワーク内に存在する１つ以上のインターネットゲートウェイデバイスを定義するデータと
のうちの１つまたは複数を含む、請求項１に記載のコンピュータ実施方法。
【請求項６】
プライベート仮想ネットワークの自動作成のためのコンピュータ実施方法であって、
コンピュータデバイスを第１のネットワーク上で作動させて、前記第１のネットワーク上で作動する複数のネットワークリソースから、前記第１のネットワークの構成を定義するデータを収集し、
前記第１のネットワークの前記構成を定義する前記収集データを利用して前記第１のネットワークの前記構成と類似している構成を有するプライベート仮想ネットワークを第２のネットワークにおいて作成するように構成された、前記第２のネットワーク上で作動するコンポーネントに対し、前記第１のネットワークの前記構成を定義する前記収集データを送信する
ためにコンピュータ実施演算を行うステップを含む、コンピュータ実施方法。
【請求項７】
前記第２のネットワークは、サービスプロバイダネットワークを含み、前記第１のネットワークは、前記サービスプロバイダネットワークを運用するサービスプロバイダの顧客により運用されるネットワークを含む、請求項６に記載のコンピュータ実施方法。
【請求項８】
前記第１のネットワーク上で作動する複数の前記ネットワークリソースは、ネットワークスイッチ、ネットワークルータ、負荷分散デバイス、またはネットワークファイアウォールのうちの１つまたは複数を含む、請求項６に記載のコンピュータ実施方法。
【請求項９】
前記収集データを前記第２のネットワークに対し送信する前に、前記第１のネットワークの前記構成を定義する前記収集データを使用して仮想ネットワーク展開テンプレートを作成するステップをさらに含み、前記第１のネットワークの前記構成を定義する前記収集データを前記第２のネットワーク上で作動する前記コンポーネントに対し送信するステップは、前記仮想ネットワーク展開テンプレートを前記第２のネットワーク上で作動する前記コンポーネントに対し送信することを含み、前記第２のネットワーク上で作動する前記コンポーネントは、前記仮想ネットワーク展開テンプレートを利用して前記第２のネットワークにおいて前記プライベート仮想ネットワークを作成するように構成される、請求項６に記載のコンピュータ実施方法。
【請求項１０】
前記第１のネットワークの前記構成を定義する前記収集データを前記第２のネットワーク上で作動する前記コンポーネントに対し送信する前に、前記第１のネットワークの前記構成を定義する前記データの修正を可能にするように構成されたインターフェイスを提供するステップをさらに含み、前記第１のネットワークは、複数のサブネットを含み、前記インターフェイスはさらに、前記第２のネットワーク内の前記プライベート仮想ネットワークに含める１つ以上の前記サブネットを選択するための機能性を提供するように構成される、請求項６に記載のコンピュータ実施方法。
【請求項１１】
前記インターフェイスはさらに、前記プライベート仮想ネットワーク内のサブネットによる使用のためのネットワークアドレスを推薦するように構成される、請求項１０に記載のコンピュータ実施方法。
【請求項１２】
プライベート仮想ネットワークを作成するためのシステムであって、
第１のネットワーク上で作動する複数のネットワークリソースから、前記第１のネットワークの構成を定義するデータを収集し、
前記第１のネットワークの前記構成を定義する前記収集データを利用して、前記第１のネットワークの前記構成と類似している構成を有するプライベート仮想ネットワークを第２のネットワークにおいて作成する
ように構成された１つ以上のコンピュータを備えたシステム。
【請求項１３】
前記第２のネットワークは、サービスプロバイダネットワークを含み、前記第１のネットワークは、前記サービスプロバイダネットワークを運用するサービスプロバイダの顧客により運用されるネットワークを含む、請求項１２に記載のシステム。
【請求項１４】
前記第１のネットワーク上で作動する複数の前記ネットワークリソースは、ネットワークスイッチ、ネットワークルータ、負荷分散デバイス、またはネットワークファイアウォールのうちの１つまたは複数を含む、請求項１３に記載のシステム。
【請求項１５】
１つ以上のコンピュータはさらに、前記第１のネットワークの前記構成を定義する前記収集データを使用して仮想ネットワーク展開テンプレートを作成し、および、前記仮想ネットワーク展開テンプレートを利用して前記第２のネットワークにおいて前記プライベート仮想ネットワークを作成するように構成される、請求項１４に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サービスプロバイダネットワークにおけるプライベート仮想ネットワーク（ＰＶＮ）の自動作成の技術に関する。
【背景技術】
【０００２】
いくつかのネットワークベースのコンピューティングサービスプロバイダにより、顧客は仮想マシンインスタンス等のコンピューティングリソースを常時または必要に応じて購入及び使用可能である。このようなコンピューティングサービスプロバイダにより顧客は一般的に、仮想マシンインスタンスに加えて他の種類のコンピューティングリソースも購入及び使用可能である。例えば顧客は、ファイル及びブロックデータのストレージリソース、データベースリソース、ネットワーキングリソース、及びその他の種類のコンピューティングリソースへのアクセスと利用権を購入可能である。このようなネットワークベースのコンピューティングサービスの顧客は、これらのコンピューティングリソースを構成要素として使用することで、アプリケーションホスティング、バックアップ及びストレージ、コンテンツ配信、ワールドワイドウェブ（ウェブ）ホスティング、企業情報技術（ＩＴ）ソリューション、データベースサービス等の様々な種類の機能性を提供するカスタムソリューションを作成可能である。
【０００３】
前述のようなサービスプロバイダの顧客または潜在顧客にとって、顧客の既存のネットワーク及びコンピューティングリソースをネットワークベースのコンピューティングサービスに移行するのは、時として困難でありうる。例えば、顧客ネットワークにより実現される機能性及び顧客ネットワーク上のコンピューティングリソースを複製するように、サービスプロバイダネットワークにより提供されるサービスを設定するには多くの手動の技術的努力が必要となり得る。サービスプロバイダネットワークへ移行するのに必要となる技術的努力は費用と時間がかかり、それゆえにある種の顧客がネットワークベースのコンピューティングサービスを使用するにあたって大きな障害となりうる。
【０００４】
本明細書における開示は、これらの検討事項と他の検討事項に関連して示される。
【図面の簡単な説明】
【０００５】
【図１】サービスプロバイダネットワークにおけるプライベート仮想ネットワークの自動作成に関して本明細書に記述される一例示的機構の態様を表すネットワークアーキテクチャ図が、本明細書で開示される一実施形態に従って示される。
【図２】サービスプロバイダネットワークにおけるプライベート仮想ネットワークの自動作成に関する一例示的ルーチンを表すフロー図が、本明細書で開示される一実施形態に従って示される。
【図３】サービスプロバイダネットワークにおけるプライベート仮想ネットワークの自動作成において使用されるネットワークリソースから、ネットワーク構成データを収集する一例示的ルーチンを表すフロー図が、本明細書で開示される一実施形態に従って示される。
【図４】ネットワークリソースから収集されたネットワーク構成データを修正するためのユーザインターフェイスを提供する一例示的ルーチンを表すフロー図が、本明細書で開示される一実施形態に従って示される。
【図５】プライベート仮想ネットワーク及びその他の種類のコンピューティングリソースを実現するための機能性を提供するサービスプロバイダネットワークを含む、本明細書で開示される実施形態の一例示的動作環境を表すシステム及びネットワーク図が、本明細書で開示される一実施形態に従って示される。
【図６】プライベート仮想ネットワークの自動作成に関して本明細書で開示される発想及び技術の態様を実現するデータセンタの一構成を例示するコンピューティングシステム図が、本明細書で開示される一実施形態に従って示される。
【図７】本明細書で示される様々な実施形態の態様を実現するために使用され得るコンピューティングデバイスを実行するための例示的コンピュータハードウェアアーキテクチャを表すコンピュータアーキテクチャ図が示される。
【発明を実施するための形態】
【０００６】
下記の詳細な説明は、サービスプロバイダネットワークにおけるプライベート仮想ネットワーク（ＰＶＮ）の自動作成の技術に関する。ＰＶＮとは、ネットワークベースのコンピューティングサービスプロバイダにより提供されるネットワーク内の論理ネットワークであり、サービスプロバイダの特定の顧客によりプライベートアクセスが可能なネットワークである。サービスプロバイダは、様々なネットワーク仮想化技術を使ってＰＶＮを実現しうる。
【０００７】
ネットワークベースのコンピューティングサービスプロバイダの顧客は、本明細書で記述される技術を使用することで、顧客が運用する他のネットワーク（本明細書では「顧客ネットワーク」と称する）により提供される一部または全ての機能性を複製するＰＶＮを、サービスプロバイダネットワークにおいて迅速にそして簡単に作成可能である。顧客ネットワークにより提供される機能性をサービスプロバイダネットワークにおいて手動で設定するという以前の困難な作業から、このように顧客は解放され得る。
【０００８】
本明細書で示される実施形態に従って、サービスプロバイダネットワークにおけるＰＶＮの自動作成のためのコンピュータ実装機構が開示される。本明細書で開示される機構は、サービスプロバイダが運用するネットワークベースの分散コンピューティング環境（本明細書では「サービスプロバイダネットワーク」と称する）と共に作動しうる。サービスプロバイダネットワークを通して顧客は、仮想マシンインスタンス、データストレージリソース、データベースリソース、ＰＶＮ等のネットワーキングリソース、及びその他の種類のコンピューティングリソースを常時または必要に応じて購入及び使用可能である。
【０００９】
サービスプロバイダは、リソースを作成し使用する顧客に対し、コンピューティングリソースの運用料金を請求しうる。サービスプロバイダはまた様々な購入モデルを使用して、サービスプロバイダが提供するコンピューティングリソースの使用に関して顧客にいくら請求するかを決定しうる。前述のように、このようなサービスプロバイダの顧客は、コンピューティングリソースを構成要素として使用して、アプリケーションホスティング、バックアップ及びストレージ、コンテンツ配信、ウェブホスティング、企業情報技術（ＩＴ）ソリューション、データベースサービス等の様々な種類の機能性を提供するカスタムソリューションを作成可能である。
【００１０】
また前述のように、顧客ネットワークにより実現される機能性及び顧客ネットワーク上の任意のコンピューティングリソースを複製するように、サービスプロバイダネットワークにより提供されるコンポーネント及びサービスを設定することは、コンピューティングサービスプロバイダの顧客には難しいであろう。例えば顧客はオンプレミスの顧客ネットワーク（すなわち顧客が所有及び／または管理する物理的場所において顧客が運用するネットワーク）における物理的サーバコンピュータ、データベースサーバ、及びデータストレージデバイスを運用しているかもしれない。顧客は、これらのコンピューティングリソースの一部または全てにより提供される機能性をサービスプロバイダネットワークに移行することに関心があるかもしれない。しかしながら、顧客ネットワークにより提供される機能性をサービスプロバイダネットワークに複製することは、顧客には難しいであろう。本明細書で開示される様々な実施形態は、これらの検討事項及び他の可能性のある検討事項に対応する。
【００１１】
上記に明示された検討事項の少なくとも一部に対応するために、本明細書で開示される実施形態は、サービスプロバイダネットワークにおけるＰＶＮの自動作成に関するコンピュータ実装機構を提供する。特定の一実装形態において、機構にはネットワーク発見モジュールが含まれる。ネットワーク発見モジュールは、顧客ネットワークで作動するコンピューティングシステム上で実行するように構成されたソフトウェアコンポーネントとして実装され得る。例えばネットワーク発見モジュールは、顧客ネットワークで作動する物理サーバコンピュータまたは仮想マシンインスタンス上で実行しうる。ネットワーク発見モジュールが本明細書で開示される機能性を提供しているように、本明細書で開示される機能性を提供するために特定目的のハードウェアデバイスもまた使用可能である。
【００１２】
ネットワーク発見モジュールは、顧客ネットワーク等のネットワークの構成を定義するデータを収集するように構成される。当機能性を提供するために、ネットワーク発見モジュールは好適なプロトコルを使用して、ネットワーク上のネットワークリソースにより提供される管理インターフェイスにアクセスしうる。例えばネットワーク発見モジュールは、シンプルネットワークマネージメントプロトコル（ＳＮＭＰ）を使用して、ネットワーク上のネットワークリソースにアクセスしネットワーク構成データを取得しうる。ネットワーク上のネットワークリソースからネットワーク構成データを取得するには、他の種類の機構も使用可能である。ネットワークリソースには、ネットワークスイッチ、ネットワークルータ、負荷分散デバイス、ネットワークファイアウォール、ネットワーク管理システム等が含まれるが、これらに限定されない。
【００１３】
ネットワーク発見モジュールにより収集されたネットワーク構成データには、ネットワークの構成の態様を定義するあらゆる種類のデータが含まれ得る。ネットワーク構成データには例えば、顧客ネットワークが使用しているネットワークアドレス空間を定義するデータ、顧客ネットワーク内の一以上のサブネットを定義するデータ、顧客ネットワークに存在する一以上のネットワークアクセス制御リスト（ＡＣＬ）を定義するデータ、顧客ネットワークに存在する一以上のルーティングルールを定義するデータ、顧客ネットワークに存在する一以上のネットワークアドレス変換（ＮＡＴ）インスタンスを定義するデータ、顧客ネットワーク内のファイアウォールを定義するデータ、及び顧客ネットワークに存在する一以上のインターネットゲートウェイデバイスを定義するデータが含まれ得るが、これらに限定されない。ネットワーク発見モジュールはまた、他の種類のネットワークデバイスから他の種類のネットワーク構成データも収集しうる。
【００１４】
ネットワークの構成を記述したネットワーク構成データが収集されると、ネットワーク発見モジュールはまた、収集されたネットワーク構成データをユーザが修正できるユーザインターフェイス（ＵＩ）等の好適なインターフェイスを提供しうる。例えばユーザは、サービスプロバイダネットワーク内のＰＶＮに含める、ネットワークにおいて特定されたネットワークリソースの部分集合または上位集合を選べるが、これに限定されない。特にネットワークが任意のサブネットワーク（サブネット）を含む場合、ユーザはサービスプロバイダネットワークにおいて作成するＰＶＮに含めるサブネットを当該の任意のサブネットから選択可能である。このようにユーザはサービスプロバイダネットワーク内のＰＶＮに含めるサブネットの部分集合を選択可能である。また収集されたネットワーク構成データをユーザが修正できるＡＰＩまたはコマンドラインインターフェイス等の他の種類のインターフェイスも提供される。
【００１５】
ユーザはまたＵＩを使用して、サービスプロバイダネットワーク内のＰＶＮが使用するネットワークアドレスを指定可能である。いくつかの実装形態においてＵＩはまた、サービスプロバイダネットワーク内のＰＶＮが使用可能なネットワークアドレスを推薦するように構成され得る。一実施例としてＵＩは、顧客ネットワーク内で使用されているネットワークアドレスと重複もしくは競合しないＰＶＮのネットワークアドレスを推薦しうる。
【００１６】
ＵＩはまた、他の方法でネットワーク構成データを修正する機能性を提供しうる。例えばユーザは、ＮＡＴインスタンス、ネットワークＡＣＬ、ルーティングルール、ファイアウォール、インターネットゲートウェイ、負荷分散デバイス、及び／または他のネットワーキングリソースを追加、削除、または修正可能である。またＵＩによりユーザは、本明細書で明記されていない他の方法でもネットワーク構成データを修正可能である。さらにネットワーク構成データを修正するためのＵＩ以外のインターフェイスも提供され得る。
【００１７】
ネットワーク構成データに修正がある場合はユーザによる当修正が完了後、ネットワーク構成データを使ってＰＶＮ展開テンプレートが作成され得る。ＰＶＮ展開テンプレートには、サービスプロバイダネットワークにおいて作成されるＰＶＮの構成を記述するデータが含まれる。ＰＶＮ展開テンプレートは例えば、ＰＶＮが使用するネットワークアドレス、ＰＶＮ内のサブネット、ＰＶＮで使用されるネットワークＡＣＬ、ＰＶＮで使用されるルーティングルール、ＰＶＮに実装されるＮＡＴインスタンス、ＰＶＮに実装されるインターネットゲートウェイ及び／またはファイアウォール、及び／またはＰＶＮをサービスプロバイダネットワークに実装する方法を定義する他の種類の情報を指定しうるが、これらに限定されない。
【００１８】
一実施形態においては、ネットワーク発見モジュールがＰＶＮ展開テンプレートを作成する。他の実施形態においては、サービスプロバイダネットワーク内のコンポーネント等の他のコンポーネントが、収集されたネットワーク構成データを使用してＰＶＮ展開テンプレートを作成し得る。いくつかの実装形態においては、ＰＶＮ展開テンプレートを作成せずにネットワーク構成データを直接使用して、サービスプロバイダネットワークにおいてＰＶＮが作成され得る。
【００１９】
仮想ネットワーク展開コンポーネント等のサービスプロバイダネットワーク内のコンポーネントは、ＰＶＮ展開テンプレートを使用してサービスプロバイダネットワークにおけるＰＶＮのインスタンスを生成しうる。代替として、仮想ネットワーク展開コンポーネントは、ネットワーク構成データを直接使用してサービスプロバイダネットワークにおけるＰＶＮのインスタンスを生成しうる。ユーザがネットワーク構成データに行った修正内容に応じて、顧客ネットワークの構成と同一または類似の構成でＰＶＮが作成され得る。このように、顧客ネットワークにより提供される機能性をサービスプロバイダネットワークにより提供されるＰＶＮに手動で設定するという以前の困難な作業から、顧客は解放され得る。
【００２０】
ＰＶＮが作成されると、顧客はＰＶＮに仮想マシンインスタンス及びその他の種類のコンピューティングリソースを追加し始められる。サービスプロバイダネットワークにおけるプライベート仮想ネットワークの自動作成に関する前述の様々なコンポーネント及びプロセスに関する追加の詳細説明は、図１〜７に関連して下記に示される。
【００２１】
本明細書で示される内容は、コンピュータプロセス、コンピュータ制御機器、コンピューティングシステム、またはコンピュータ可読記憶媒体等の製品として実行され得ることは理解されよう。本明細書で記述される内容は、一以上のコンピューティングデバイスで実行されるプログラムモジュールに関する全般の文脈の中で示されるが、当業者は他の種類のプログラムモジュールとの組み合わせにおいてその他の実装形態が実行可能であることを認識するであろう。一般的にプログラムモジュールには、特定のタスクを実行するまたは特定の抽象データ型を実行する、ルーチン、プログラム、コンポーネント、データ構造、及びその他の種類の構造が含まれる。
【００２２】
本明細書に記述される内容の態様は、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラム可能な大衆消費電子製品、小型コンピュータ、メインフレームコンピュータ、手持ち型コンピュータ、携帯情報端末、電子書籍リーダー、携帯電話デバイス、特別目的ハードウェアデバイス、ネットワーク機器等を含む本明細書で記述されるコンピュータシステム構成に限らず、その他のコンピュータシステム構成において、またはその他のコンピュータシステム構成と共に実行され得ることを、当業者はまた理解するであろう。先に略述されたように、本明細書に記述される実施形態は、通信ネットワークを介して接続されている遠隔コンピューティングデバイスによりタスクが実行され得る分散コンピューティング環境において実践され得る。分散コンピューティング環境において、プログラムモジュールはローカル及びリモート両方のメモリストレージデバイスに配置され得る。
【００２３】
以下の詳細説明において、本明細書の一部を形成し、及び例示のため特定の実施形態または実施例を表す添付図面を参照する。本明細書の図面は縮尺通りには描かれていない。複数の図面において、同じ参照番号は同じ要素を示す。
【００２４】
図１は、サービスプロバイダネットワークにおけるＰＶＮの自動作成に関して本明細書に記述される一例示的機構の態様を表すネットワークアーキテクチャ図を示す。先に略述されたように、本明細書で開示される様々な機構は、サービスプロバイダネットワーク１０２と共に作動しうる。サービスプロバイダネットワーク１０２において顧客は、仮想マシンインスタンス、ネットワーキングリソース、ストレージリソース、またはその他の種類のコンピューティングリソースといったコンピューティングリソース１０４Ａ〜１０４Ｎ（本明細書では「リソース１０４」と称する）をサービスプロバイダから常時または必要に応じて購入及び使用することが可能である。
【００２５】
コンピューティングリソース１０４の各種類または構成は、異なるサイズのサービスプロバイダネットワーク１０２を運用するサービスプロバイダから入手可能である。例えばサービスプロバイダは、プロセッサ能力、メインメモリ、ディスクストレージ及びオペレーティングシステムの数多くの異なる構成を有する購入及び使用可能な仮想マシンインスタンスまたはその他の種類のデータ処理リソースを提供しうる。サービスプロバイダはまた、顧客が購入及び使用可能な他の種類のリソース１０４も提供し得る。例えばサービスプロバイダは、負荷分散リソース、ドメインネームサービス（ＤＮＳ）リソース及び本明細書に記述されるＰＶＮ等の仮想ネットワーキングリソースといった、データベースリソース、ファイルまたはブロックデータストレージリソース及び／またはネットワーキングリソース、そして／またはその他の種類のリソースを、常時または必要に応じて提供しうる。
【００２６】
サービスプロバイダネットワーク１０２を運用するサービスプロバイダはまた、リソース１０４を作成し使用する顧客に対しリソース１０４の運用料金を請求しうる。特定のリソース１０４に対する請求料金は、リソース１０４の種類及び／または構成に基づいて決定され得る。また特定のリソース１０４に対する請求料金は、リソース１０４が使用された時間に基づいて決定され得る。例えばデータ処理リソースの場合、仮想マシンインスタンスのように、リソースの使用料金はリソースが使用された時間に基づいて決定され得る。データストレージリソース１０４の場合、保存したデータ量、及び／またはリソースへ転送したデータ量またはリソースから転送したデータ量に基づいてその料金が計算され得る。また他の種類のリソース１０４の料金は、他の考慮事項に基づいて決定され得る。サービスプロバイダはまた様々な購入モデルを使用して、サービスプロバイダが提供するリソース１０４の使用に関して顧客に請求する金額を決定しうる。
【００２７】
前述のリソース１０４は、サービスプロバイダにより運用される一以上のデータセンタによる特定の一実装形態において提供され得る。当業者には既知の通り、データセンタはコンピュータシステム及び関連コンポーネントを収容及び運用するのに使用される設備である。データセンタはまた一般的に、冗長性のある予備電源、通信、冷却、及びセキュリティに関するシステムを含む。データセンタは地理的に異なる場所に配置され、そしてコロケーション設備及び、インターネット等の様々な広域ネットワーク（ＷＡＮ）１１６といった様々な他の設備にも接続され得る。図１に示される環境においてサービスプロバイダは、サービスプロバイダネットワーク１０２内のリソース１０４をその顧客に提供するように構成された一以上のデータセンタを運用しうる。本明細書で開示される機能性を提供するサービスプロバイダネットワーク１０２の実装形態に関する詳細説明は、図５及び６に関連して後述される。
【００２８】
前述の様々なリソース１０４はまた、必要に応じて自動化された形でプロビジョン及びプロビジョン解除され得る。例えば顧客は、仮想マシンのインスタンス等のコンピューティングリソース１０４の新規インスタンスを作成するために、サービスプロバイダネットワーク１０２に要求を送信しうる。このような要求を受けたことに応じて、プロビジョニングコンポーネント（図１に表示せず）またはサービスプロバイダネットワーク１０２内の一以上のその他のコンポーネントは、顧客の要求通りに仮想マシンの新規インスタンスを作成しうる。そして顧客は仮想マシンの新規インスタンスを所望通りに使用することが可能になる。他の種類のコンピューティングリソースも同様にインスタンス化され得る。例えば、更なる詳細説明が後述されるように、仮想ネットワーク展開コンポーネント１２０は、ＰＶＮ等のネットワーキングリソースを展開するように構成されたサービスプロバイダネットワーク１０２内のコンポーネントである。
【００２９】
顧客は仮想マシンインスタンス等のコンピューティングリソース１０４を使用し終えたら、リソース１０４にプロビジョン解除を要求してもよい。これに応じてプロビジョニングコンポーネントまたはサービスプロバイダネットワーク１０２内の他のコンポーネントは、コンピューティングリソース１０４のプロビジョン解除を行い得る。他の種類のコンピューティングリソース１０４もまた同様の方法でプロビジョン及びプロビジョン解除され得る。サービスプロバイダネットワーク１０２はまた、コンピューティングリソース１０４または他の要素に対する要求に基づいてリソース１０４を自動でスケーリング及び／またはデスケーリングする機能性を提供しうる。
【００３０】
図１で示されるように、サービスプロバイダネットワーク１０２を運用するサービスプロバイダの顧客または潜在顧客は、一以上のコンピューティングリソースを含む顧客ネットワーク１０６を運用しうる。サービスプロバイダネットワーク１０２内のコンピューティングリソース１０４と同様に、顧客ネットワーク１０６内のコンピューティングリソースには、データ処理リソース、データストレージリソース、データベースリソース、ネットワーキングリソース１０８Ａ〜１０８Ｃ、及びその他の種類のコンピューティングリソースが含まれ得る。ネットワーキングリソース１０８Ａ〜１０８Ｃには、ネットワークスイッチ、ネットワークルータ、ネットワークファイアウォール、及びその他の種類のネットワークコンポーネントが含まれ得る。
【００３１】
いくつかの実施形態において、顧客ネットワーク１０６はオンプレミスの顧客ネットワークである。先に略述されたように、オンプレミスの顧客ネットワークとは、顧客が所有及び／または管理する物理的場所において顧客が運用するネットワークである。例えば顧客は自分のオフィスまたは他の設備において、顧客ネットワーク１０６を運用しうる。また顧客ネットワーク１０６は、他の実施形態において前述された方法でサービスプロバイダが提供するサービスプロバイダネットワーク１０２に実装され得る。
【００３２】
前述のように、コンピューティングサービスプロバイダの顧客にとって、顧客ネットワーク１０６により提供される機能性を、サービスプロバイダネットワーク１０２に移行することは難しいであろう。例えば図１に示される実施例において、顧客は、顧客ネットワーク１０６で作動するコンピューティングリソースにより提供される機能性をサービスプロバイダネットワーク１０２に移行することに関心があるかもしれない。しかしながら、顧客ネットワーク１０６内のネットワークリソース１０８Ａ〜１０８Ｃにより提供される機能性を提供するように、サービスプロバイダネットワーク１０２においてＰＶＮ１２２を設定し作成することは、顧客には難しいだろう。
【００３３】
コンピューティングサービスプロバイダの潜在顧客がサービスプロバイダネットワーク１０２へ移行するのを手伝うために、本明細書に示される実施形態はネットワーク発見モジュール１１２を使用する。先に略述されたように、ネットワーク発見モジュール１１２は、物理コンピュータまたは仮想マシンインスタンス等の、顧客ネットワーク１０６内のコンピューティングシステム１１０で実行するように構成されたソフトウェアコンポーネントとして実装され得る。いくつかの実施形態において、ネットワーク発見モジュール１１２はサービスプロバイダネットワーク１０２内のコンピューティングシステム上で実行され得る。
【００３４】
顧客ネットワーク１０６がサービスプロバイダネットワーク１０２を利用して実行される場合、ネットワーク発見モジュール１１２がサービスプロバイダネットワーク１０２内のコンピューティングリソース１０４上でも実行され得る。例えば顧客が、あるサービスプロバイダから別のサービスプロバイダへ切換えを検討している場合、サービスプロバイダネットワーク１０２内のコンピューティングリソース１０４上でネットワーク発見モジュール１１２を実行することは価値があるだろう。
【００３５】
ネットワーク発見モジュール１１２が提供する機能性はまた、ハードウェアにおいて、ハードウェアとソフトウェアの組合せにおいて、または他の様式において実装され得る。ネットワーク発見モジュール１１２はバックグラウンドで実行され、そして最小限のコンピューティングリソースを使用するように構成され得る。このようにネットワーク発見モジュール１１２の実行は、同一のコンピューティングシステム１１０で実行される他のプロセスに影響しない。ネットワーク発見モジュール１１２はまた、多数のコンピューティングシステムに渡って分散して実行されるように構成され得る。
【００３６】
先に略論されたように、ネットワーク発見モジュール１１２は、顧客ネットワーク１０６を実現するネットワークリソース１０８Ａ〜１０８Ｃからネットワーク構成データ１１４を収集するように構成される。ネットワークリソース１０８Ａ〜１０８Ｃには、ネットワークスイッチ、ネットワークルータ、ネットワークファイアウォール、ネットワーク管理システム、負荷分散デバイス、及びその他の種類のネットワークコンポーネントが含まれるが、これらに限定されない。ネットワーク構成データ１１４は、顧客ネットワーク１０６の構成の態様を定義する。
【００３７】
ネットワーク構成データ１１４を取得するために、ネットワーク発見モジュール１１２は好適なプロトコルを使用して、顧客ネットワーク１０６上のネットワークリソース１０８Ａ〜１０８Ｃにより提供される管理インターフェイスにアクセスしうる。例えばネットワーク発見モジュール１１２は、ＳＮＭＰまたは他の好適なプロトコルを使用して、顧客ネットワーク１０６上のネットワークリソース１０８Ａ〜１０８Ｃにアクセスしネットワーク構成データ１１４を取得しうる。ネットワーク発見モジュール１１２はまた、これらに限られるものではないが、ＡＰＩ呼出し、コマンドライン呼出し、及びハードウェアデバイスの所有管理ポート等の他の種類の機構を使用して、顧客ネットワーク１０６上のネットワークリソース１０８Ａ〜１０８Ｃからネットワーク構成データ１１４を取得しうる。いくつかの実装形態において、ネットワーク発見モジュール１１２は、インターフェイスで接続して様々なメーカーにより作成されたネットワークデバイスからネットワーク構成データ１１４を取得するように構成されたプラグインプログラムモジュールを使用するように構成される。
【００３８】
ネットワーク発見モジュール１１２により収集されたネットワーク構成データ１１４には、顧客ネットワーク１０６等のネットワークの構成の態様を定義するあらゆる種類のデータが含まれ得る。ネットワーク構成データ１１４には例えば、顧客ネットワーク１０６が使用しているネットワークアドレス空間を定義するデータ、顧客ネットワーク１０６内の一以上のサブネットを定義するデータ、顧客ネットワーク１０６に存在する一以上のネットワークＡＣＬを定義するデータ、顧客ネットワーク１０６に存在する一以上のルーティングルールを定義するデータ、顧客ネットワーク１０６に存在する一以上のＮＡＴインスタンスを定義するデータ、顧客ネットワーク１０６内のファイアウォールを定義するデータ、顧客ネットワーク１０６内の一以上の負荷分散デバイスを定義するデータ、及び顧客ネットワーク１０６に存在する一以上のインターネットゲートウェイデバイスを定義するデータが含まれ得るが、これらに限定されない。ネットワーク発見モジュール１１２はまた、本明細書で明記されていない他の種類のネットワークデバイスから他の種類のネットワーク構成データ１１４を収集しうる。
【００３９】
顧客ネットワーク１０６の構成を記述したネットワーク構成データ１１４が収集されると、ネットワーク発見モジュール１１２はまた、収集されたネットワーク構成データ１１４をユーザが閲覧及び修正できるＵＩ等の好適なインターフェイスを提供しうる。例えばＵＩは収集されたネットワーク構成データ１１４を表示しうる。特にＵＩは、顧客ネットワーク１０６において特定されたサブネット、顧客ネットワーク１０６で使用されているネットワークＡＣＬ、顧客ネットワーク１０６で使用されているクラスレスドメイン間ルーティング（ＣＩＤＲ）範囲、顧客ネットワーク１０６内の任意のＮＡＴインスタンスまたはインターネットゲートウェイデバイス、及び／または他の種類のネットワーク構成データ１１４のリストを表示しうる。
【００４０】
ＵＩはまた、サービスプロバイダネットワーク１０２内のＰＶＮ１２２に含める、顧客ネットワーク１０６において特定されたネットワークリソース１０８Ａ〜１０８Ｃの部分集合または上位集合をユーザが選べる機能性を提供しうる。特に顧客ネットワーク１０６が任意のサブネットを含む場合、ユーザはサービスプロバイダネットワーク１０２において作成するＰＶＮ１２２に含めるサブネットを当該の任意のサブネットから選択可能である。このようにユーザはサービスプロバイダネットワーク１０２内のＰＶＮ１２２に含めるサブネットの部分集合を選択可能である。同様にＵＩは、顧客ネットワーク１０２において作成するＰＶＮ１２２に含める、またはＰＶＮ１２２から除外する他の種類のネットワークリソース１０８Ａ〜１０８Ｃを選択するための機能性も提供しうる。
【００４１】
ユーザはまた、ＵＩまたはネットワーク発見モジュール１１２により提供される他の種類のインターフェイスを使用して、サービスプロバイダネットワーク１０２において作成されるＰＶＮ１２２が使用するネットワークアドレスを変更または指定可能である。いくつかの実装形態においてインターフェイスはまた、サービスプロバイダネットワーク１０２内のＰＶＮ１２２が使用可能なネットワークアドレスを推薦するように構成され得る。一実施例としてＵＩは、顧客ネットワーク１０６内で使用されているネットワークアドレスと重複または競合しない、ＰＶＮ１２２またはＰＶＮ１２２内のサブネットのネットワークアドレスを推薦しうる。
【００４２】
ＵＩはまた、他の方法でネットワーク構成データを修正する機能性も提供しうる。例えばユーザは、ネットワーク構成データ１１４に関して、ＮＡＴインスタンス、負荷分散デバイス、ネットワークＡＣＬ、ルーティングルール、ファイアウォール、インターネットゲートウェイ、及び／または他のネットワーキングリソース１０８を追加、削除、または修正可能である。またＵＩによりユーザは、本明細書で明記されていない他の方法でもネットワーク構成データ１１４を修正可能である。さらにネットワーク構成データを修正するためのＵＩ以外のインターフェイスも提供され得る。
【００４３】
いくつかの実施形態において、前述のＵＩはサービスプロバイダネットワーク１０２内のコンポーネントにより提供される。例えばネットワーク発見モジュール１１２は、サービスプロバイダネットワーク１０２内のコンポーネントへ収集されたネットワーク構成データ１１４を送信しうる。そしてこのコンポーネントは、前述の方法及び／または他の方法でネットワーク構成データ１１４を修正するための好適なＵＩまたは他の種類のインターフェイスを提供しうる。収集されたネットワーク構成データ１１４を修正するために、他のネットワークの他のコンポーネントも使用可能である。
【００４４】
一実施形態において、ネットワーク構成データ１１４に修正がある場合はユーザによる当修正が完了後、ネットワーク構成データ１１４を使ってＰＶＮ展開テンプレート１１８が作成され得る。ＰＶＮ展開テンプレート１１８には、サービスプロバイダネットワーク１０２において作成されるＰＶＮ１２２の構成を記述するデータが含まれる。ＰＶＮ展開テンプレート１１８は例えば、ＰＶＮ１２２が使用するネットワークアドレス、ＰＶＮ１２２内のサブネット、ＰＶＮ１２２で使用されるネットワークＡＣＬ、ＰＶＮ１２２で使用されるルーティングルール、ＰＶＮ１２２に実装されるＮＡＴインスタンス、ＰＶＮ１２２に実装されるインターネットゲートウェイ及び／またはファイアウォール、及び／またはＰＶＮ１２２をサービスプロバイダネットワーク１０２に実装する方法を定義する他の種類の情報を指定しうるが、これらに限定されない。ＰＶＮ展開テンプレート１１８は、ジェイソン（ＪａｖａＳｃｒｉｐｔ  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ（ＪＳＯＮ））または他の好適な言語を使って実現され得る。ＰＶＮ展開テンプレート１１８は、サービスプロバイダネットワーク１０２に作成されたＰＶＮ１２２が顧客ネットワーク１０６の構成と同一または類似の構成を有するように定義され得る。
【００４５】
一実施形態においては、ネットワーク発見モジュール１１２がＰＶＮ展開テンプレート１１８を作成する。他の実施形態においては、サービスプロバイダネットワーク１０２内のコンポーネント等の別のコンポーネントが、収集されたネットワーク構成データ１１４を使用してＰＶＮ展開テンプレート１１８を作成し得る。さらにいくつかの実装形態においては、ＰＶＮ展開テンプレート１１８は作成され得ない。これらの実装形態においては、ＰＶＮ展開テンプレート１１８を最初に作成せずに、収集されたネットワーク構成データ１１４を直接使用して、サービスプロバイダネットワーク１０２においてＰＶＮ１２２が作成され得る。
【００４６】
一実施形態において、仮想ネットワーク展開コンポーネント１２０等のサービスプロバイダネットワーク１０２内のコンポーネントは、ＰＶＮ展開テンプレート１１８を使用してサービスプロバイダネットワーク１０２におけるＰＶＮ１２２のインスタンスを生成しうる。代替として、仮想ネットワーク展開コンポーネント１２０は、ネットワーク構成データ１１４を直接使用してサービスプロバイダネットワーク１０２におけるＰＶＮ１２２のインスタンスを生成しうる。ユーザがネットワーク構成データ１１４に行った修正内容に応じて、顧客ネットワーク１０６の構成と同一または類似の構成でＰＶＮ１２２が作成され得る。このように、顧客ネットワーク１０６を運用する顧客は、顧客ネットワークにより提供される機能性をサービスプロバイダネットワーク１０２により提供されるＰＶＮ１２２に手動で設定するという以前の困難な作業から解放され得る。
【００４７】
ＰＶＮ１２２が作成されると、顧客はＰＶＮ１２２に仮想マシンインスタンス及びその他の種類のコンピューティングリソース１０４を追加し始められる。サービスプロバイダネットワーク１０２におけるＰＶＮ１２２の自動作成に関する前述の様々なコンポーネント及びプロセスに関する追加の詳細説明は、図２〜７に関連して下記に示される。
【００４８】
図２は、サービスプロバイダネットワーク１０２におけるＰＶＮ１２２の自動作成に関する一例示的ルーチン２００を表すフロー図を、本明細書で開示される一実施形態に従って示す。図２及びその他の図に関して本明細書に記述される論理演算処理は、（１）連続するコンピュータ実施動作またはコンピューティングシステム上で作動するプログラムモジュールとして、及び／または（２）相互接続されたマシンの論理回路またはコンピューティングシステム内の回路モジュールとして実行され得ることは理解されよう。本明細書に記述される様々なコンポーネントの実装は、コンピューティングシステムの性能及び他の要件に従って選択可能である。従って本明細書に記述される論理演算処理は、演算処理、構造的デバイス、動作、またはモジュールという様々な形で言及される。これらの演算処理、構造的デバイス、動作、及びモジュールは、ソフトウェア、ファームウェア、特定目的デジタル論理、及びこれらの任意の組合せにおいて実行され得る。図に示され本明細書に記述される演算処理に比べて、より多くの、またはより少ない演算処理が実行され得ることも理解されたい。これらの演算処理は並行して、または本明細書で記述される順序とは異なる順序でも実行され得る。
【００４９】
ルーチン２００は、ネットワーク発見モジュール１１２を顧客ネットワーク１０６内の少なくとも一つのコンピューティングシステム１１０にインストールする演算処理２０２から始まる。例えば前述のようにネットワーク発見モジュール１１２は、顧客ネットワーク１０６に接続された物理コンピュータまたは仮想マシンにインストールされ得る。ネットワーク発見モジュール１１２が顧客ネットワーク１０６に接続されたコンピューティングシステム１１０にインストールされると、ルーチン２００は演算処理２０４へ進む。
【００５０】
演算処理２０４において、ネットワーク発見モジュール１１２が実行され、顧客ネットワーク１０６上の様々なネットワークリソース１０８Ａ〜１０８Ｃからネットワーク構成データ１１４が収集される。前述のようにネットワーク発見モジュール１１２は、ネットワークリソース１０８Ａ〜１０８Ｃが公開する様々な管理インターフェイスにアクセスし、ネットワーク構成データ１１４を取得しうる。当プロセスに関する追加の詳細説明は、図３に関連して下記に示される。
【００５１】
ルーチン２００は演算処理２０４から演算処理２０６へ進む。演算処理２０６において、収集されたネットワーク構成データ１１４を表示し、そして収集されたネットワーク構成データ１１４をユーザが修正できるＵＩまたは他の種類のインターフェイスが、ネットワーク発見モジュール１１２または他のコンポーネントにより提供される。このようなインターフェイスを通じてなされ得る様々な種類の修正に関する詳細は、図４に関連して後述される。
【００５２】
ルーチン２００は演算処理２０６から、ネットワーク構成データ１１４を使用してＰＶＮ展開テンプレート１１８を作成する演算処理２０８へ進む。前述のようにＰＶＮ展開テンプレート１１８には、サービスプロバイダネットワーク１０２において作成されるＰＶＮ１２２の構成を記述するデータが含まれる。また前述のように、全ての実装形態においてＰＶＮ展開テンプレート１１８は作成され得ない。むしろいくつかの実装形態においては、収集され、その後修正された可能性のあるネットワーク構成データ１１４を直接使用して、サービスプロバイダネットワーク１０２におけるＰＶＮ１２２が構成され得る。
【００５３】
演算処理２１０において、ネットワーク発見モジュール１１２がサービスプロバイダネットワーク１０２内の仮想ネットワーク展開コンポーネント１２０へＰＶＮ展開テンプレート１１８を送信する。いくつかの実施形態において、ＰＶＮ展開テンプレート１１８は、サービスプロバイダネットワーク１０２内のサービスまたは他のコンポーネントにより作成され得る。これらの実施形態においては、ネットワーク発見モジュール１１２が仮想ネットワーク展開コンポーネント１２０へＰＶＮ展開テンプレート１１８を送信する必要はないであろう。さらに前述のように、全ての実装形態においてＰＶＮ展開テンプレート１１８は使用されるわけではない。
【００５４】
ルーチン２００は演算処理２１０から、仮想ネットワーク展開コンポーネント１２０がＰＶＮ展開テンプレート１１８を使用してサービスプロバイダネットワーク１０２におけるＰＶＮ１２２を生成する演算処理２１２へ進む。前述のようにＰＶＮ１２２は、顧客ネットワーク１０６と同一または類似の構成を有するように作成され得る。ＰＶＮ１２２が作成されると、仮想プライベートネットワーク（ＶＰＮ）、ネットワーク直接接続を使って、インターネットゲートウェイを介して、または他の方法で、顧客はサービスプロバイダネットワーク１０２内のＰＶＮ１２２にアクセスできる。
【００５５】
ルーチン２００は演算処理２１２から、顧客が新規に作成されたＰＶＮ１２２にコンピューティングリソース１０４を展開しうる演算処理２１４へ進む。例えば顧客はＰＶＮ１２２の運用のために様々な仮想マシンインスタンスを構成しうる。サービスプロバイダネットワーク１０２を運用するサービスプロバイダから入手可能である他の種類のコンピューティングリソース１０４も、類似の方法で、ＰＶＮ１２２上に構成可能である。ルーチン２００は演算処理２１４から演算処理２１６へ進み、終了する。
【００５６】
図３は、サービスプロバイダネットワーク１０２におけるＰＶＮ１２２の自動作成において使用されるネットワークリソース１０８から、ネットワーク構成データ１１４を収集する一例示的ルーチン３００を表すフロー図を、本明細書で開示される一実施形態に従って示す。前述のようにネットワーク発見モジュール１１２は、ネットワークリソース１０８Ａ〜１０８Ｃが公開する様々な管理インターフェイスにアクセスし、ネットワーク構成データ１１４を取得しうる。図３は、収集され得る様々な種類のネットワーク構成データ１１４の態様を例示する。
【００５７】
ルーチン３００は、ネットワーク発見モジュール１１２が顧客ネットワーク１０６内のネットワークリソース１０８Ａ〜１０８Ｃから、顧客ネットワーク１０６が使用しているネットワークアドレス空間のサイズを定義するデータを収集する演算処理３０２から始まる。ルーチン３００はそして、ネットワーク発見モジュール１１２が顧客ネットワーク１０６内のネットワークリソース１０８Ａ〜１０８Ｃから、顧客ネットワーク１０６で定義されている実際のネットワークアドレス等のネットワークアドレス空間を定義するデータを収集する演算処理３０４へ進む。
【００５８】
ルーチン３００はそして演算処理３０４から、ネットワーク発見モジュール１１２が顧客ネットワーク１０６内のネットワークリソース１０８Ａ〜１０８Ｃから、顧客ネットワーク１０６内の任意のサブネットを定義するデータを収集する演算処理３０６へ進む。ルーチン３００はそして、ネットワーク発見モジュール１１２が顧客ネットワーク１０６内のネットワークリソース１０８Ａ〜１０８Ｃから、顧客ネットワーク１０６で使用されている任意のネットワークＡＣＬを定義するデータを収集する演算処理３０８へ進む。
【００５９】
ルーチン３００はそして演算処理３０８から、ネットワーク発見モジュール１１２が顧客ネットワーク１０６内のネットワークリソース１０８Ａ〜１０８Ｃから、顧客ネットワーク１０６で使用されている任意のルーティングルールを定義するデータを収集する演算処理３１０へ進む。ルーチン３００はそして、ネットワーク発見モジュール１１２が顧客ネットワーク１０６内のネットワークリソース１０８Ａ〜１０８Ｃから、顧客ネットワーク１０６で使用されている任意のＮＡＴインスタンスを定義するデータを収集する演算処理３１２へ進む。同様に演算処理３１４においてネットワーク発見モジュール１１２は、顧客ネットワーク１０６内のネットワークリソース１０８Ａ〜１０８Ｃから、顧客ネットワーク１０６で使用されている任意のインターネットゲートウェイを定義するデータを収集する。
【００６０】
ルーチン３００はそして演算処理３１６から、ネットワーク発見モジュール１１２が顧客ネットワーク１０６内のネットワークリソース１０８Ａ〜１０８Ｃから、具体的に前述されていない他の種類のネットワーク構成データ１１４を収集し得る演算処理３１８へ進む。この点において、前述された様々な種類のネットワーク構成データ１１４は単なる例示にすぎず、他の種類のネットワーク構成データ１１４が本明細書で記述される方法で収集及び使用され得ることは理解されよう。ルーチン３００は演算処理３１６から演算処理３１８へ進み、終了する。
【００６１】
図４は、顧客ネットワーク１０６内のネットワークリソース１０８Ａ〜１０８Ｃから収集されたネットワーク構成データ１１４を修正するためのＵＩを提供する一例示的ルーチン４００を表すフロー図を、本明細書で開示される一実施形態に従って示す。概してＵＩについて下記に説明されるが、先に略述されたように、収集されたネットワーク構成データ１１４をユーザが閲覧及び／または修正できるように、他の種類のインターフェイス及び／または機構が提供され得る。
【００６２】
ルーチン４００は、収集されたネットワーク構成データ１１４を表示し得る演算処理４０２から始まる。例えば先に略述されたように、顧客ネットワーク１０６において特定されたサブネット、顧客ネットワークで使用されているネットワークＡＣＬ、顧客ネットワーク１０６で使用されているＣＩＤＲ範囲、顧客ネットワーク１０６内の任意のＮＡＴインスタンスまたはインターネットゲートウェイデバイス、及び他の種類のネットワーク構成データ１１４のリストを含むＵＩが表示され得る。ルーチン４００はそして演算処理４０２から演算処理４０４へ進む。
【００６３】
演算処理４０４において、ユーザがサービスプロバイダネットワーク１０２内のＰＶＮ１２２に含める、顧客ネットワーク１０６において特定されたネットワークリソース１０８の部分集合または上位集合を選べるＵＩが表示される。特にＵＩは、ユーザがサービスプロバイダネットワーク１０２において作成するＰＶＮ１２２に含めるサブネットを選択できる機能性を提供しうる。このようにユーザは、ＰＶＮ１２２に含めるサブネットの部分集合を選択可能である。ＵＩはまた、ＰＶＮ１２２に他のネットワークリソースを含める、またはＰＶＮ１２２から他のネットワークリソースを除外する機能性を提供しうる。
【００６４】
ルーチン４００は演算処理４０４から、サービスプロバイダネットワーク１０２内のＰＶＮ１２２が使用するネットワークアドレスを、ユーザが修正及び／または特定することができるＵＩを提供する演算処理４０６へ進む。前述のようにいくつかの実装形態においてＵＩはまた、サービスプロバイダネットワーク１０２内のＰＶＮ１２２が使用可能なネットワークアドレスを推薦するように構成され得る。一実施例としてＵＩは、顧客ネットワーク１０６内で使用されているＣＩＤＲ範囲と重複または競合しない、ＰＶＮ１２２が使用するネットワークアドレスを推薦しうる。いくつかの実施形態において顧客は、顧客ネットワーク１０６内で使用されているネットワークアドレスと重複する、ＰＶＮ１２２が使用するネットワークアドレスを作成することが可能であることは理解されたい。これらの実装形態において、顧客はプロキシ層または他の機構を使用して、確実にその重複が公開されないようにしうる。これは、例えばテストや他の目的のために顧客ネットワーク１０６の全てまたは一部のネットワークトポロジと同一のＰＶＮ１２２内のネットワークトポロジを作成（アドレス指定も含む）するのに役に立ちうる。
【００６５】
ルーチン４００は演算処理４０６から、ネットワーク構成データ１１４内のネットワークリソース１０８を、ユーザが追加、削除、及び／または修正できるＵＩを提供する演算処理４０８へ進む。例えばユーザは、ネットワーク構成データ１１４においてＮＡＴインスタンス、ファイアウォール、インターネットゲートウェイ、負荷分散デバイス、及び／または他のネットワーキングリソース１０８を追加、削除、及び／または修正可能である。同様に演算処理４０８において、ネットワーク構成データ１１４により指定されるネットワークＡＣＬ及び／またはルーティングルールを、ユーザが追加、削除、及び／または修正できるＵＩが提供され得る。
【００６６】
ルーチン４００は演算処理４１０から、ネットワーク構成データ１１４により指定されるＰＶＮ１２２の構成の他の態様を、ユーザが追加、修正、及び／または削除できるＵＩを提供し得る演算処理４１２へ進む。この点において、具体的に前述されていないＰＶＮ１２２の他の動作態様をユーザが指定できる機能性が提供され得ることは理解されよう。ルーチン４００は演算処理４１２から演算処理４１４へ進み、終了する。
【００６７】
いくつかの実施形態において、ネットワーク発見モジュール１１２はまた他の種類の機能を有するように構成され得る事が理解されよう。例えば一実施形態において、ネットワーク発見モジュール１１２は顧客ネットワーク１０６に存在するファイアウォールルールを発見するように構成されている。ファイアウォールルールは、ネットワークリソース１０８上の好適な管理インターフェイスへの問い合わせ、顧客ネットワーク１０６上のパケットの検出、または他の方法で発見され得る。
【００６８】
一以上のファイアウォールルールが特定されると、ネットワーク発見モジュール１１２はそのファイアウォールルールを特定するデータを、サービスプロバイダネットワーク１０２内の仮想ネットワーク展開コンポーネント１２０または他のコンポーネントへ送信し得る。そしてファイアウォールルールは、仮想マシンインスタンス等のＰＶＮ１２２内のコンピューティングリソース１０４により使用されるセキュリティグループルールに変換され得る。このように顧客ネットワーク１０６において定義されるファイアウォールルールは、特定可能及び、サービスプロバイダネットワーク１０２内のＶＰＮ１２２で使用されるのに好適なセキュリティグループルールに変換可能である。この点において、ネットワーク発見モジュール１１２及び前述の他のコンポーネントはまた、本明細書に明記されていない追加の機能性を有するように構成され得ることは理解されよう。
【００６９】
図５は、ＰＶＮ１２２の自動作成に関する前述の機能性を提供するように構成され得るサービスプロバイダネットワーク１０２を含む、本明細書で開示される実施形態の一例示的動作環境を表すシステム及びネットワーク図を示す。先に略論されたように、サービスプロバイダネットワーク１０２は常時または必要に応じてコンピューティングリソース１０４を提供可能である。サービスプロバイダネットワーク１０２が提供するコンピューティングリソース１０４には、データ処理リソース、データストレージリソース、ネットワーキングリソース、データ通信リソース等、様々な種類のコンピューティングリソース１０４が含まれ得る。
【００７０】
各種類のコンピューティングリソース１０４は汎用的であるか、または多数の特定構成において利用可能でありうる。例えば先に略述されたように、データ処理リソースは、多数の異なる構成において仮想マシンインスタンスとして利用可能である。仮想マシンインスタンスは、ウェブサーバ、アプリケーションサーバ、メディアサーバ、データベースサーバ、及びその他の種類のアプリケーションを実行するように構成され得る。データストレージリソースには、ファイルストレージデバイス、ブロックストレージデバイスなどが含まれ得る。
【００７１】
また先に略述されたように、サービスプロバイダネットワーク１０２が提供するコンピューティングリソース１０４は、一実装形態において一以上のデータセンタ５０２Ａ〜５０２Ｎ（本明細書では「データセンタ５０２」（単数または複数）と称する）により有効化される。データセンタ５０２は、コンピュータシステム及び関連コンポーネントを収容及び運用するのに使用される設備である。データセンタ５０２は一般的に、冗長性のある予備電源、通信、冷却、及びセキュリティに関するシステムを含む。データセンタ５０２はまた、地理的に異なる場所に配置され得る。サービスプロバイダネットワーク１０２におけるＰＶＮ１２２の自動作成に関して本明細書で開示される機能性の態様を実行するデータセンタ５０２の一例示的構成が、図６に関連して後述される。
【００７２】
顧客及びサービスプロバイダネットワーク１０２の他のユーザは、ＷＡＮ１１６を介してサービスプロバイダネットワーク１０２が提供するコンピューティングリソースにアクセスしうる。ＷＡＮ１１６は図５で例示されているが、データセンタ５０２を遠隔の顧客及び他のユーザに接続するために、ローカルエリアネットワーク（ＬＡＮ）、インターネット、または技術的に知られている任意の他のネットワーキングトポロジが使用され得ることは理解されよう。このようなネットワークを組み合わせて使用され得ることも理解されたい。顧客はＶＰＮ、ネットワーク直接接続を使って、インターネットゲートウェイを介して、または他の方法で、ＰＶＮ１２２にアクセスできる。
【００７３】
図６は、サービスプロバイダネットワーク１０２におけるＰＶＮ１２２の自動作成に関して本明細書で開示される発想及び技術の態様を実現するデータセンタ５０２の一構成を例示するコンピューティングシステム図を、本明細書で開示される一実施形態に従って示す。図６に示される例示的データセンタ５０２には、コンピューティングリソース１０４を提供するいくつかのサーバコンピュータ６０２Ａ〜６０２Ｆ（本明細書では「サーバコンピュータ６０２」（単数または複数）と称する）が含まれる。
【００７４】
サーバコンピュータ６０２は、本明細書で記述されるコンピューティングリソースを提供するように好適に構成された標準タワー型またはラックマウント型のサーバコンピュータでありうる。例えば一実装形態において、サーバコンピュータ６０２はコンピューティングリソース１０４Ａ〜１０４Ｎを提供するように構成される。前述のようにコンピューティングリソース１０４には、データ処理リソース、データストレージリソース、データベースリソース、ＰＶＮ等のネットワーキングリソース等がありうる。いくつかのサーバ６０２はまた、リソース１０４をインスタンス化及び／または管理可能なリソースマネージャ６０４を実行するように構成され得る。例えば仮想マシンインスタンスの場合、リソースマネージャ６０４は、例えば単一サーバコンピュータ６０２上の複数の仮想マシンインスタンスの実行を可能にするように構成されたハイパーバイザまたは他の種類のプログラムでありうる。
【００７５】
図６に示されるデータセンタ５０２には、データセンタ５０２の動作を管理する様々なソフトウェアコンポーネントを実行するように確保され得るサーバコンピュータ６０２Ｆ、サーバコンピュータ６０２、及びコンピューティングリソース１０４も含まれる。図１に関連して前述された実施形態等のいくつかの実施形態において、サーバコンピュータ６０２Ｆはまた、仮想ネットワーク展開コンポーネント１２０を実行するように構成され得る。データセンタ５０２内の他のコンピューティングシステムもまた、該当のコンポーネントを実行するために使用可能である。他の構成もまた使用可能である。
【００７６】
図６に示される例示的データセンタ５０２において、サーバコンピュータ６０２Ａ〜６０２Ｆを相互接続するために、好適なＬＡＮ６０６が使用される。ＬＡＮ６０６はまた、図５に例示されるＷＡＮ１１６に接続される。図１〜６に例示される構成及びネットワークトポロジは大いに簡略化されており、本明細書で開示される様々なコンピューティングシステムの相互接続及び前述の機能性の提供のために、さらなるコンピューティングシステム、ネットワーク、及びネットワーキングデバイスが使用され得ることは理解されよう。各データセンタ５０２Ａ〜５０２Ｎ間、各データセンタ５０２内の各サーバコンピュータ６０２Ａ〜６０２Ｆ間、及び潜在的に各データセンタ５０２内のコンピューティングリソース１０４間で、負荷を分散するために、好適な負荷分散デバイスまたはソフトウェアモジュールもまた使用可能である。図６に関連して記述されるデータセンタ５０２は単なる例示にすぎず、他の実装形態が使用可能であることは理解されよう。
【００７７】
図７は、サービスプロバイダネットワーク１０２におけるＰＶＮ１２２の自動展開に関する前述のプログラムコンポーネントを実行可能なコンピュータ７００の例示的コンピュータアーキテクチャ図を示す。図７に示されるコンピュータアーキテクチャは、従来のサーバコンピュータ、ワークステーション、デスクトップ、コンピュータ、ノートパソコン、タブレット、ネットワーク機器、携帯情報端末（ＰＤＡ）、電子書籍リーダー、デジタル携帯電話、または他のコンピューティングデバイスを例示し、及び本明細書に提示されるソフトウェアコンポーネントの任意の態様を実行するのに使用され得る。たとえば図７に示されるコンピュータアーキテクチャは、図１に示され及び前述されるネットワーク発見モジュール１１２または仮想ネットワーク展開コンポーネント１２０を実行するのに使用され得る。
【００７８】
コンピュータ７００は、システムバスまたは他の電気通信経路を介して多数のコンポーネントまたはデバイスが接続され得るプリント回路基板であるベースボード７０２またはマザーボードを含む。一例示的実施形態において、一以上の中央処理装置（ＣＰＵ）７０４がチップセット７０６と共に作動する。ＣＰＵ７０４は、コンピュータ７００の動作に必要な算術及び論理演算処理を行う標準のプログラム可能なプロセッサでありうる。
【００７９】
ＣＰＵ７０４は、個別の物理的一状態と次の状態の区別及び切替えを行うスイッチング素子の操作を通して、個別の物理的一状態から次の状態へ移行し、演算処理を行う。スイッチング素子は一般的に、フリップフロップ回路等の二つのバイナリ状態のうちの一つを維持する電子回路、及び論理ゲート等の一以上の他のスイッチング素子の状態との論理的組合せに基づいて出力状態を提供する電子回路を含み得る。これらの基本的なスイッチング素子を組合せて、レジスタ、加算器・減算器、演算論理装置、浮動小数点演算ユニット等を含むさらに複雑な論理回路を作成してもよい。
【００８０】
チップセット７０６は、ＣＰＵ７０４と、ベースボード７０２上の残りのコンポーネント及びデバイスとの間のインターフェイスを提供する。チップセット７０６は、コンピュータ７００においてメインメモリとして使用されるランダムアクセスメモリ（ＲＡＭ）７０８へのインターフェイスを提供しうる。チップセット７０６はさらに、コンピュータ７００の起動及び様々なコンポーネント及びデバイス間の情報転送を手伝う基本ルーチンを保存するため、読取り専用メモリ（ＲＯＭ）７１０または不揮発性ＲＡＭ（ＮＶＲＡＭ）等のコンピュータ可読記憶媒体へのインターフェイスを提供しうる。ＲＯＭ７１０またはＮＶＲＡＭは、本明細書に記述される実施形態に従って、コンピュータ７００の動作に必要な他のソフトウェアコンポーネントも保存しうる。
【００８１】
コンピュータ７００は、ローカルエリアネットワーク７２０等のネットワークを介して遠隔のコンピューティングデバイス及びコンピュータシステムへ論理接続を使用するネットワーク化された環境において作動しうる。チップセット７０６は、ギガビットイーサネットアダプタ等のＮＩＣ７１２を通してネットワーク接続性を提供する機能性を含み得る。ＮＩＣ７１２はネットワーク７２０を介してコンピュータ７００を他のコンピューティングデバイスに接続できる。コンピュータ７００には、当該コンピュータを他の種類のネットワーク及び遠隔のコンピュータシステムに接続する多数のＮＩＣ７１２が存在し得ることは理解されよう。
【００８２】
コンピュータ７００は、当該コンピュータに不揮発性ストレージを提供する大容量記憶装置７１８に接続され得る。大容量記憶装置７１８は、本明細書でより詳細に記述されるシステムプログラム、アプリケーションプログラム、他のプログラムモジュール、及びデータを記憶しうる。大容量記憶装置７１８は、チップセット７０６に接続されたストレージコントローラ７１４を介してコンピュータ７００に接続され得る。大容量記憶装置７１８は、一以上の物理記憶装置から成りえる。ストレージコントローラ７１４は、コンピュータ及び物理記憶装置間を物理的に接続しデータを転送する、シリアルアタッチドＳＣＳＩ（ＳＡＳ）インターフェイス、シリアルアドバンスドテクノロジアタッチメント（ＳＡＴＡ）インターフェイス、ファイバチャネル（ＦＣ）インターフェイス、または他の種類のインターフェイスを通して物理記憶装置と接続しうる。
【００８３】
コンピュータ７００は、物理記憶装置に保存されている情報を示すように物理記憶装置の物理状態を変更することで、大容量記憶装置７１８にデータを保存しうる。特定の物理状態の変更は、当該記述に関する異なる実装形態において、様々な要因に依存しうる。このような要因の例示としては、物理記憶装置を実装するのに使用された技術、大容量記憶装置７１８は一次ストレージとしての特性を持つか、二次ストレージとしての特性を持つか等があり得るが、これらに限定されない。
【００８４】
例えばコンピュータ７００は、ストレージコントローラ７１４を通して、磁気ディスク装置内の特定位置の磁気特性、光学記憶装置内の特定位置の反射特性または屈折特性、または固体記憶装置内の特定のコンデンサ、トランジスタ、または他の個別のコンポーネントの電気特性を変更する命令を発することで、大容量記憶装置７１８に情報を保存しうる。提示された説明の精神や範囲から逸脱することなく、当該説明を簡易化するためだけに提供された前述の実施例において、他の物理媒体の変更も可能である。コンピュータ７００はさらに、物理記憶装置内の一以上の特定位置の物理状態または特性を検出することで、大容量記憶装置７１８から情報を読み出せる。
【００８５】
前述の大容量記憶装置７１８に加えて、コンピュータ７００は他のコンピュータ可読記憶媒体にアクセス可能であり、プログラムモジュール、データ構造、または他のデータ等の情報を保存及び取得できる。コンピュータ可読記憶媒体は、非一時的データを保存し、かつコンピュータ７００によってアクセスされ得る、利用可能な任意の媒体でありえることは、当業者には理解されよう。
【００８６】
一例としてコンピュータ可読記憶媒体には、任意の方法または技術で実装された揮発性及び不揮発性、着脱式及び非着脱式媒体が含まれ得る。コンピュータ可読記憶媒体には、ＲＡＭ、ＲＯＭ、消去可能プログラム可能ＲＯＭ（ＥＰＲＯＭ）、電気的消去可能プログラム可能ＲＯＭ（ＥＥＰＲＯＭ）、フラッシュメモリまたは他の固定メモリ技術、コンパクトディスクＲＯＭ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、高精細ＤＶＤ（ＨＤ−ＤＶＤ）、ブルーレイまたは他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶デバイス、または所望の情報を非一時的に記憶するのに利用可能な他の任意の媒体が含まれる。
【００８７】
大容量記憶装置７１８は、コンピュータ７００の動作を制御するのに使用されるオペレーティングシステム７３０を保管しうる。一実施形態によれば、オペレーティングシステムはリナックス（ＬＩＮＵＸ）オペレーティングシステムを備える。他の一実施形態によれば、オペレーティングシステムは、マイクロソフト社（ＭＩＣＲＯＳＯＦＴ  Ｃｏｒｐｅｒａｔｉｏｎ）のウィンドウズサーバ（ＷＩＮＤＯＷＳ（登録商標）ＳＥＲＶＥＲ）オペレーティングシステムを備える。さらなる実施形態によれば、オペレーティングシステムはユニックス（ＵＮＩＸ（登録商標））またはソラリス（ＳＯＬＡＲＩＳ）オペレーティングシステムを備えてもよい。他のオペレーティングシステムも使用可能であることは理解されよう。大容量記憶装置７１８は、ネットワーク発見モジュール１１２、仮想ネットワーク展開コンポーネント１２０、及び／または前述の他の任意のソフトウェアコンポーネント及びデータ等の、他のシステムまたはコンピュータ７００に使用されるアプリケーションプログラム及びデータを保管しうる。大容量記憶装置７１８は、本明細書で明確に特定されていない他のプログラム及びデータも保管し得る。
【００８８】
一実施形態において、大容量記憶装置７１８または他のコンピュータ可読記憶媒体は、コンピュータ７００にロードされると、当該コンピュータを汎用コンピューティングシステムから、本明細書に記述される実施形態を実現可能な特定目的コンピュータに変換するコンピュータ実行可能命令で符号化される。これらのコンピュータ実行可能命令は、前述のようにＣＰＵ７０４がどのように状態を移行するかを指定して、コンピュータ７００を変換する。一実施形態によれば、コンピュータ７００は、コンピュータ７００により実行されると図２〜４に関連して前述された様々なルーチンを行うコンピュータ実行可能命令を保存するコンピュータ可読記憶媒体へアクセス可能である。コンピュータ７００には、本明細書に記述される他の任意のコンピュータ実施演算処理を行うコンピュータ可読記憶媒体も含まれ得る。
【００８９】
コンピュータ７００にはまた、キーボード、マウス、タッチパッド、タッチスクリーン、電子スタイラス、または他の種類の入力デバイス等の数多くの入力デバイスからの入力を受信し処理する一以上の入出力コントローラ７１６も含まれ得る。同様に入出力コントローラ７１６は、コンピュータモニタ、平面パネルディスプレイ、デジタルプロジェクタ、プリンタ、プロッタ、または他の種類の出力デバイスに対し出力し得る。コンピュータ７００は図７に示される全てのコンポーネントを含まず、図７に明示されていない他のコンポーネントを含む、または図７に示されるものとは全く異なるアーキテクチャを使用することも可能であることは理解されよう。
【００９０】
上記によれば、サービスプロバイダネットワーク１０２におけるＰＶＮ１２２の自動作成に関する技術が本明細書に提示されたことは理解されよう。さらに本明細書に提示された内容はコンピュータ構造特性、方法論的動作、及びコンピュータ可読媒体に特有の言語で記述されたが、添付の特許請求の範囲の中で定義される発明は、本明細書に記述される特定の特性、動作、または媒体に限られる必要はないことは理解されよう。むしろ特定の特性、動作、及び媒体は、請求項を実現する例示的形態として開示される。
【００９１】
開示の実施形態は以下の項を以って説明され得る。
（第１項）コンピュータ実行可能命令を記憶するコンピュータ可読記憶媒体であって、コンピュータ実行可能命令がコンピュータによって実行されると、コンピュータに、
顧客ネットワーク内の複数のネットワークリソースから、顧客ネットワークの構成を記述するネットワーク構成データを収集し、
収集したネットワーク構成データを使用して仮想ネットワーク展開テンプレートを作成し、
仮想ネットワーク展開テンプレートを使って顧客ネットワークの構成と類似の構成を有するプライベート仮想ネットワークをサービスプロバイダネットワークにおいて作成するように構成された展開コンポーネントに対し、仮想ネットワーク展開テンプレートを提供すること
を実行させる、コンピュータ可読記憶媒体。
【００９２】
（第２項）コンピュータ可読記憶媒体がさらなるコンピュータ実行可能命令を記憶し、コンピュータ実行可能命令がコンピュータにより実行されると、コンピュータに、仮想ネットワーク展開テンプレートを作成する前に、収集したネットワーク構成データを修正するためのユーザインターフェイスを提供することを実行させる、第１項に記載のコンピュータ可読記憶媒体。
【００９３】
（第３項）ネットワーク構成データが顧客ネットワーク内の複数のサブネットを定義し、ユーザインターフェイスがさらにサービスプロバイダネットワーク内のプライベート仮想ネットワークに含めるサブネットの部分集合を選ぶための機能性を提供するように構成される、第２項に記載のコンピュータ可読記憶媒体。
【００９４】
（第４項）ネットワーク構成データがさらに顧客ネットワーク内の複数のサブネットにより使用されているネットワークアドレスを定義し、ユーザインターフェイスがさらに顧客ネットワークで使用されているネットワークアドレスと重複しない、プライベート仮想ネットワーク内のサブネットにより使用可能なネットワークアドレスを推薦するように構成される、第３項に記載のコンピュータ可読記憶媒体。
【００９５】
（第５項）コンピュータ実行可能命令を記憶するコンピュータ可読記憶媒体であって、コンピュータ実行可能命令がコンピュータによって実行されると、コンピュータに、
顧客ネットワークに接続された複数のネットワークリソースと通信することで、複数のネットワークリソースから顧客ネットワークの構成を定義するネットワーク構成データを収集し、
顧客ネットワークの構成を定義するデータを使って顧客ネットワークの構成と類似の構成を有するプライベート仮想ネットワークをサービスプロバイダネットワークにおいて作成するように構成された、サービスプロバイダネットワークで作動する展開コンポーネントに対し、顧客ネットワークの構成を定義するデータを送信すること
を実行させる、コンピュータ可読記憶媒体。
【００９６】
（第６項）構成を定義するデータが仮想ネットワーク展開テンプレートを備える、第５項に記載のコンピュータ可読記憶媒体。
【００９７】
（第７項）顧客ネットワークに接続されたネットワークリソースが一以上のネットワークスイッチ、ネットワークルータ、負荷分散デバイス、またはネットワークファイアウォールを備える、第５項に記載のコンピュータ可読記憶媒体。
【００９８】
（第８項）顧客ネットワークの構成を定義するデータが一以上の
顧客ネットワークにより使用されているネットワークアドレス空間を定義するデータと、
顧客ネットワーク内の一以上のサブネットを定義するデータと、
顧客ネットワーク内に存在する一以上のネットワークアクセス制御リスト（ＡＣＬ）を定義するデータと、
顧客ネットワーク内に存在する一以上のルーティングルールを定義するデータと、
顧客ネットワーク内に存在する一以上のネットワークアドレス変換（ＮＡＴ）インスタンスを定義するデータと、
顧客ネットワーク内に存在する一以上のインターネットゲートウェイデバイスを定義するデータと
を含む、第５項に記載のコンピュータ可読記憶媒体。
【００９９】
（第９項）コンピュータ可読記憶媒体がさらなるコンピュータ実行可能命令を記憶し、コンピュータ実行可能命令がコンピュータにより実行されると、コンピュータに、展開コンポーネントへ顧客ネットワークの構成を定義するデータを送信する前に、顧客ネットワークの構成を定義するデータを修正するためのインターフェイスを提供することを実行させる、第５項に記載のコンピュータ可読記憶媒体。
【０１００】
（第１０項）顧客ネットワークが複数のサブネットを備え、インターフェイスがさらにサービスプロバイダネットワーク内のプライベート仮想ネットワークに含める一以上のサブネットを選ぶための機能性を提供するように構成される、第９項に記載のコンピュータ可読記憶媒体。
【０１０１】
（第１１項）インターフェイスがさらに、顧客ネットワークで使用されているネットワークアドレスと衝突しない、サービスプロバイダネットワーク内のプライベート仮想ネットワークにより使用可能なネットワークアドレスを推薦するように構成される、第１０項に記載のコンピュータ可読記憶媒体。
【０１０２】
（第１２項）プライベート仮想ネットワークの自動作成に関するコンピュータ実施方法であって、
コンピュータデバイスを第一ネットワーク上で作動させ、第一ネットワーク上で作動する複数のネットワークリソースから第一ネットワークの構成を定義するデータを収集し、
収集した第一ネットワークの構成を定義するデータを使って第一ネットワークの構成と類似の構成を有するプライベート仮想ネットワークを第二ネットワークにおいて作成するように構成された、第二ネットワーク上で作動するコンポーネントに対し、収集した第一ネットワークの構成を定義するデータを送信する
コンピュータ実行演算処理を行うことを含むコンピュータ実施方法。
【０１０３】
（第１３項）第二ネットワークがサービスプロバイダネットワークを備える、第１２項に記載のコンピュータ実施方法。
【０１０４】
（第１４項）第一ネットワークが、サービスプロバイダネットワークを運用するサービスプロバイダの顧客により運用されるネットワークを備える、第１３項に記載のコンピュータ実施方法。
【０１０５】
（第１５項）第一ネットワーク上で作動する複数のネットワークリソースが一以上のネットワークスイッチ、ネットワークルータ、負荷分散デバイス、またはネットワークファイアウォールを備える、第１２項に記載のコンピュータ実施方法。
【０１０６】
（第１６項）収集したデータを第二ネットワークに送信する前に、収集した第一ネットワークの構成を定義するデータを使って仮想ネットワーク展開テンプレートを作成することをさらに含む、第１２項に記載のコンピュータ実施方法。
【０１０７】
（第１７項）収集した第一ネットワークの構成を定義するデータを第二ネットワーク上で作動するコンポーネントに対し送信することは、仮想ネットワーク展開テンプレートを第二ネットワーク上で作動するコンポーネントに対し送信することを含み、第二ネットワーク上で作動するコンポーネントが仮想ネットワーク展開テンプレートを使って第二ネットワークにおいてプライベート仮想ネットワークを作成するように構成される、第１６項に記載のコンピュータ実施方法。
【０１０８】
（第１８項）収集した第一ネットワークの構成を定義するデータを第二ネットワーク上で作動するコンポーネントに対し送信する前に、第一ネットワークの構成を定義するデータの修正を可能にするように構成されたインターフェイスを提供することをさらに含む、第１２項に記載のコンピュータ実施方法。
【０１０９】
（第１９項）第一ネットワークが複数のサブネットを備え、インターフェイスがさらに第二ネットワーク内のプライベート仮想ネットワークに含める一以上のサブネットを選ぶための機能性を提供するように構成される、第１８項に記載のコンピュータ実施方法。
【０１１０】
（第２０項）インターフェイスがさらにプライベート仮想ネットワーク内のサブネットにより使用可能なネットワークアドレスを推薦するように構成される、第１９項に記載のコンピュータ実施方法。
【０１１１】
（第２１項）プライベート仮想ネットワークを作成するためのシステムであって、
第一ネットワーク上で作動する複数のネットワークリソースから第一ネットワークの構成を定義するデータを収集し、
収集した第一ネットワークの構成を定義するデータを使って、第一ネットワークの構成と類似の構成を有するプライベート仮想ネットワークを第二ネットワークにおいて作成する
ように構成された一以上のコンピュータを備えるシステム。
【０１１２】
（第２２項）第二ネットワークがサービスプロバイダネットワークを備える、第２１項に記載のシステム。
【０１１３】
（第２３項）第一ネットワークが、サービスプロバイダネットワークを運用するサービスプロバイダの顧客により運用されるネットワークを備える、第２２項に記載のシステム。
【０１１４】
（第２４項）第一ネットワーク上で作動する複数のネットワークリソースが一以上のネットワークスイッチ、ネットワークルータ、負荷分散デバイス、またはネットワークファイアウォールを備える、第２３項に記載のシステム。
【０１１５】
（第２５項）一以上のコンピュータがさらに、収集した第一ネットワークの構成を定義するデータを使って仮想ネットワーク展開テンプレートを作成し、仮想ネットワーク展開テンプレートを使って第二ネットワークにおいてプライベート仮想ネットワークを作成するように構成される、第２４項に記載のシステム。
【０１１６】
前述の内容は例示のためだけに提供されるものであり、限定するものとして解釈されるべきではない。さらに請求される内容は、本開示の任意の部分に記載される一部または全ての欠点を解決する実装形態に限定されない。図示される及び記述される例示的実施形態及びアプリケーションに従うことなく、かつ以下の請求項において示される当発明の真の精神と範囲から外れることなく、本明細書に記述される内容に対し様々な修正と変更が行われうる。
【図１】
2016521504.tif 000003
【図２】
2016521504.tif 000004
【図３】
2016521504.tif 000005
【図４】
2016521504.tif 000006
【図５】
2016521504.tif 000007
【図６】
2016521504.tif 000008
【図７】
2016521504.tif 000009
【国際調査報告】
2016521504.tif 000010