(57)【特許請求の範囲】
【請求項１】
１つまたは複数のコンピューティングデバイスが、
ネットワークエンティティレジストリにおいて、複数のネットワークトラフィックコントローラにおいて実施される各１つまたは複数のネットワークトラフィックポリシー内に含まれるネットワークエンティティハンドルのためのネットワークアドレス情報を、それぞれが指定する、複数のネットワークエンティティエントリを保持することと、
所与のネットワークエンティティエントリについて、前記所与のネットワークエンティティエントリ内に指定された前記ネットワークアドレス情報を、前記ネットワークエンティティハンドルを含むネットワークトラフィックポリシーを実施するネットワークトラフィックコントローラのサブセットのうちのネットワークトラフィックコントローラに、前記ネットワークトラフィックポリシーを前記所与のネットワークエンティティエントリ内に指定された前記ネットワークアドレス情報にしたがって実施するために、提供することと、
を実行すること、
を備え、
前記複数のネットワークトラフィックコントローラの各々は、プロバイダネットワーク内の１つまたは複数のアドレス可能要素のための各ネットワークトラフィックポリシーを実施する、方法。
【請求項２】
前記所与のネットワークエンティティエントリ内に指定された前記ネットワークアドレス情報を、ネットワークトラフィックコントローラの前記サブセットのうちの前記ネットワークトラフィックコントローラに、前記提供することが、
要求を、前記ネットワークエンティティハンドルを含む前記各１つまたは複数のネットワークトラフィックポリシーを実施するネットワークトラフィックコントローラの前記サブセットのうちの前記ネットワークトラフィックコントローラの各々から、受信することと、
ネットワークトラフィックコントローラの前記サブセットのうちの前記ネットワークトラフィックコントローラからの各要求に応答して、前記所与のネットワークエンティティエントリの前記ネットワークアドレス情報を、前記要求を行っているネットワークトラフィックコントローラに、送信することと、
を備える、請求項１に記載の方法。
【請求項３】
前記所与のネットワークエンティティエントリ内に指定された前記ネットワークアドレス情報を、ネットワークトラフィックコントローラの前記サブセットのうちの前記ネットワークトラフィックコントローラに、前記提供することが、
前記ネットワークエンティティハンドルを含む前記各１つまたは複数のネットワークトラフィックポリシーを実施するネットワークトラフィックコントローラの前記サブセットのうちの前記ネットワークトラフィックコントローラの各々を、特定することと、
前記所与のネットワークエンティティエントリの前記ネットワークアドレス情報を、ネットワークトラフィックコントローラの前記サブセットのうちの前記特定されたネットワークトラフィックコントローラに、送信することと、
を備える、請求項１に記載の方法。
【請求項４】
前記所与のネットワークエンティティエントリを更新するための要求を受信することと、
前記要求を受信したことに応答して、
前記所与のネットワークエンティティエントリを、前記更新要求にしたがって更新することと、
前記所与のネットワークエンティティエントリ内に指定された前記ネットワークアドレス情報を、ネットワークトラフィックコントローラの前記サブセットのうちの前記ネットワークトラフィックコントローラに、前記提供することを、実行することと、
をさらに備える、請求項１〜３のいずれか一項に記載の方法。
【請求項５】
前記所与のネットワークエンティティエントリ内に指定された前記ネットワークアドレス情報を、ネットワークトラフィックコントローラの前記サブセットのうちの前記ネットワークトラフィックコントローラに、前記提供することが、前記更新されたネットワークエンティティエントリのための展開スケジュールにしたがって実行されて、前記ネットワークエンティティハンドルを含む前記ネットワークトラフィックポリシーが、前記プロバイダネットワーク内の前記１つまたは複数のアドレス可能要素のうちの少なくとも１つのアドレス可能要素のために、前記プロバイダネットワーク内の前記１つまたは複数のアドレス可能要素のうちの他のアドレス可能要素とは異なる時間において、実施されるようにする、請求項４に記載の方法。
【請求項６】
前記所与のネットワークエンティティエントリを更新するための前記要求が、前記所与のネットワークエンティティエントリのネットワークエンティティエントリオーナーから受信されず、
前記要求を受信したことに応答して、
前記ネットワークエンティティエントリオーナーからの、前記所与のネットワークエンティティエントリに対する前記更新の許可を要求することと、
前記所与のネットワークエンティティエントリに対する前記更新のための許可を、前記ネットワークエンティティエントリオーナーから取得したことに応答して、前記所与のネットワークエンティティエントリを前記更新することと、前記所与のネットワークエンティティエントリ内に指定された前記ネットワークアドレス情報を前記提供することと、を実行することと、
をさらに備える、請求項４に記載の方法。
【請求項７】
前記所与のネットワークエンティティエントリを更新するための前記要求が、前記所与のネットワークエンティティエントリのネットワークエンティティエントリオーナーから受信されず、
前記要求を受信したことに応答して、
前記ネットワークエンティティエントリオーナーからの、前記所与のネットワークエンティティエントリに対する前記更新の許可を、要求することと、
前記所与のネットワークエンティティエントリに対する前記更新のための許可を、前記ネットワークエンティティエントリオーナーから取得できなかったことに応答して、前記ネットワークエンティティハンドルを含む前記ネットワークトラフィックポリシーを実施するネットワークトラフィックコントローラの前記サブセットのうちの前記ネットワークトラフィックコントローラに、前記ネットワークエンティティハンドルのための以前のネットワークアドレス情報を実施することを指示することと、
をさらに備える、請求項４に記載の方法。
【請求項８】
前記複数のネットワークエンティティエントリのうちの他のネットワークエンティティエントリを更新するための要求を受信することであって、前記他のエンティティネットワークエンティティエントリが、静的ネットワークエンティティエントリとして保持される、受信することと、
前記静的ネットワークエンティティエントリに対する前記更新要求を受信したことに応答して、前記更新要求を拒否することと、
をさらに備える、請求項１〜７のいずれか一項に記載の方法。
【請求項９】
前記プロバイダネットワークが、仮想コンピューティングリソースプロバイダであり、前記プロバイダネットワーク内の前記アドレス可能要素が、コンピュートインスタンスであり、前記ネットワークトラフィックコントローラが、それぞれ、それらのために前記ネットワークトラフィックコントローラが各ネットワークトラフィックポリシーを実施する、前記１つまたは複数のコンピュートインスタンスもまた実装する異なる仮想化ホスト上に実装され、前記各ネットワークトラフィックポリシーの各々が、複数のセキュリティグループのうちの特定のセキュリティグループのメンバのために実施され、前記１つまたは複数のコンピュートインスタンスが、前記複数のセキュリティグループのうちの１つまたは複数のセキュリティグループのメンバである、請求項１〜８のいずれか一項に記載の方法。
【請求項１０】
１つまたは複数のコンピューティングデバイスを備え、前記１つまたは複数のコンピューティングデバイスが、１つまたは複数のメモリに連結された１つまたは複数のプロセッサを含み、前記１つまたは複数のメモリがプログラム命令を格納し、前記プログラム命令は、前記１つまたは複数のコンピューティングデバイスによって実行されると、前記１つまたは複数のコンピューティングデバイスに、
ネットワークエンティティレジストリにおいて、複数のネットワークトラフィックコントローラにおいて実施される各１つまたは複数のネットワークトラフィックポリシー内に含まれるネットワークエンティティハンドルのためのネットワークアドレス情報を、それぞれが指定する、複数のネットワークエンティティエントリを保持することと、
前記複数のネットワークエンティティエントリのうちの特定の１つを更新するための要求を受信することと、
前記要求を受信したことに応答して、
前記特定のネットワークエンティティエントリを、前記更新要求にしたがって更新することと、
を行わせ、
前記複数のネットワークトラフィックコントローラの各々は、プロバイダネットワーク内の１つまたは複数のアドレス可能要素のための各ネットワークトラフィックポリシーを実施し、
前記複数のネットワークトラフィックコントローラのサブセットは、前記特定のネットワークエンティティエントリ内に指定された、前記ネットワークアドレス情報のための、ネットワークエンティティハンドルを含むネットワークトラフィックポリシーを実施し、
前記プログラム命令は、前記１つまたは複数のコンピューティングデバイスによって実行されると、前記１つまたは複数のコンピューティングデバイスに、さらに、
前記更新ネットワークエンティティエントリ内に指定された前記ネットワークアドレス情報を、前記ネットワークエンティティハンドルを含む前記各１つまたは複数のネットワークトラフィックポリシーを実施するネットワークトラフィックコントローラの前記サブセットのうちのネットワークトラフィックコントローラに、前記各１つまたは複数のネットワークトラフィックポリシーを前記更新ネットワークエンティティエントリ内に指定された前記ネットワークアドレス情報に従って実施するために、提供すること、
を行わせる、システム。
【請求項１１】
前記更新ネットワークエンティティエントリ内に指定された前記ネットワークアドレス情報を、前記ネットワークエンティティハンドルを含む前記各１つまたは複数のネットワークトラフィックポリシーを実施するネットワークトラフィックコントローラの前記サブセットのうちの前記ネットワークトラフィックコントローラに、前記提供することにおいて、前記プログラム命令が、前記１つまたは複数のコンピューティングデバイスに、
要求を、前記ネットワークエンティティハンドルを含む前記各１つまたは複数のネットワークトラフィックポリシーを実施するネットワークトラフィックコントローラの前記サブセットのうちの前記ネットワークトラフィックコントローラの各々から、受信することと、
ネットワークトラフィックコントローラの前記サブセットのうちの前記ネットワークトラフィックコントローラからの各要求に応答して、前記更新ネットワークエンティティエントリの前記ネットワークアドレス情報を、前記要求を行っているネットワークトラフィックコントローラに、送信することと、
をさらに行わせる、請求項１０に記載のシステム。
【請求項１２】
前記更新ネットワークエンティティエントリ内に指定された前記ネットワークアドレス情報を、前記ネットワークエンティティハンドルを含む前記各１つまたは複数のネットワークトラフィックポリシーを実施するネットワークトラフィックコントローラの前記サブセットのうちの前記ネットワークトラフィックコントローラに、前記提供することにおいて、前記プログラム命令が、前記１つまたは複数のコンピューティングデバイスに、
前記ネットワークエンティティハンドルを含む前記各１つまたは複数のネットワークトラフィックポリシーを実施するネットワークトラフィックコントローラの前記サブセットのうちの前記ネットワークトラフィックコントローラの各々を、特定することと、
前記更新ネットワークエンティティエントリの前記ネットワークアドレス情報を、ネットワークトラフィックコントローラの前記サブセットのうちの前記特定されたネットワークトラフィックコントローラに、送信することと、
をさらに行わせる、請求項１０に記載のシステム。
【請求項１３】
前記プログラム命令が、前記１つまたは複数のコンピューティングデバイスに、
前記ネットワークトラフィックコントローラを前記特定することを実行する前に、登録要求を、前記ネットワークエンティティハンドルを含む前記各１つまたは複数のネットワークトラフィックポリシーを実施するネットワークトラフィックコントローラの前記サブセットのうちの前記ネットワークトラフィックコントローラから、受信すること、
をさらに行わせ、
前記ネットワークトラフィックコントローラを前記特定することが、前記登録要求に少なくとも部分的に基づいている、請求項１２に記載のシステム。
【請求項１４】
前記更新ネットワークエンティティエントリが、前記特定のネットワークエンティティエントリの仮のバージョンであり、前記プログラム命令が、前記１つまたは複数のコンピューティングデバイスに、
前記特定のネットワークエンティティエントリの前記仮のバージョンのための期間の失効により、前記更新ネットワークエンティティエントリによって記述された前記各１つまたは複数のネットワークトラフィックポリシーに関連する前記１つまたは複数のネットワークトラフィック制御に、前記ネットワークエンティティエントリの以前のバージョンを実施することを指示すること、
をさらに行わせる、請求項１０〜１３のいずれか一項に記載のシステム。
【請求項１５】
前記特定のネットワークエンティティエントリを更新するための前記要求が、前記特定のネットワークエンティティエントリのネットワークエンティティエントリオーナーから受信されず、前記プログラム命令が、前記１つまたは複数のコンピューティングデバイスに、
前記要求を受信したことに応答して、
前記ネットワークエンティティエントリオーナーからの、前記特定のネットワークエンティティエントリに対する前記更新の許可を要求することと、
前記特定のネットワークエンティティエントリに対する前記更新のための許可を、前記ネットワークエンティティエントリオーナーから取得したことに応答して、前記特定のネットワークエンティティエントリの前記更新を実行することと、前記更新ネットワークエンティティエントリ内に指定された前記ネットワークアドレス情報を前記提供することと、を行うことと、
をさらに行わせる、請求項１０〜１４のいずれか一項に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
商品ハードウェアのための仮想化技術の出現は、多様なニーズを有する多くの顧客のための大規模コンピューティングリソースを管理することに関して利点を提供し、さまざまなコンピューティングリソースを、複数の顧客が効果的に、安全に共有することを可能にしている。たとえば、仮想化技術は、１つの物理的なコンピューティングマシンを複数のユーザ間で共有することを、各ユーザに、１つの物理的なコンピューティングマシンによってホストされている１つまたは複数の仮想マシンを提供することによって可能にすることができ、各そのような仮想マシンは、明らかな論理コンピューティングシステムとして動作しているソフトウェアシミュレーションであり、それは、ユーザに、彼らが所与のハードウェアコンピューティングリソースの唯一の操作者及び管理者である、という錯覚を与え、一方で、また、さまざまな仮想マシン間のアプリケーション隔離とセキュリティとを提供する。別の例としては、仮想化技術は、データストレージハードウェアを複数のユーザ間で共有することを、各ユーザに、複数のデータストレージデバイスに渡って分散され得る仮想化データストアを提供することによって可能にすることができ、各そのような仮想化データストアは、ユーザに、彼らがデータストレージリソースの唯一の操作者及び管理者である、という錯覚を与える、明らかな論理的データストアとして動作している。
【０００２】
仮想化技術は、クライアントシステムまたはクライアントデバイスのための、多くの異なる種類のサービスを作成し、または異なる機能を実行するために、利用され得る。たとえば、仮想マシンを使用して、電子商取引プラットフォームなどの、外部顧客のためのネットワークベースのサービスを実装することができる。また、仮想マシンを使用して、企業の内部ネットワークの一部として実装された情報技術（ＩＴ）サービスなどの、内部顧客のためのサービスまたはツールを実装することができる。したがって、仮想マシンを活用して実行されるサービスまたは機能によって提供される、さまざまな機能またはタスクを実行するために、ネットワークトラフィックを、これらの仮想マシンに向かわせることができる。許可されたアクセスまたは制御されたアクセスが、仮想マシンで受信するネットワークトラフィックに対して実施されることを保証するために、仮想マシンへのネットワークトラフィックと、仮想マシンからのネットワークトラフィックとの両方を制御する、ネットワークトラフィックポリシーを用いることができる。仮想マシンが動作するネットワーク環境が変化し得るために、ネットワークトラフィックポリシーは、それに応じて変化することができる。しかしながら、その数が多くなり得、または少なくなり得る、多様なセットの仮想マシンのためのトラフィックポリシーを管理することは、複数の変更をネットワークトラフィックポリシーに実装する時、重荷であると判明し得る。
【図面の簡単な説明】
【０００３】
【図１】いくつかの実施形態による、ネットワーク内の、ネットワークエンティティレジストリと複数のネットワークエンティティとを示した図である。
【図２】いくつかの実施形態による、ネットワークエンティティレジストリ内のネットワークエンティティエントリの更新を示したデータフロー図である。
【図３】いくつかの実施形態による、ネットワークエンティティエントリと、ネットワークエンティティハンドルを含むネットワークトラフィックポリシーと、セキュリティグループと、の実施例を示したブロック図である。
【図４】いくつかの実施形態による、ネットワークトラフィックコントローラにおいて実施されるネットワークトラフィックポリシー内に含まれるネットワークエンティティハンドルのためのネットワークエンティティレジストリを実装する、仮想コンピューティングリソースプロバイダを示したブロック図である。
【図５】いくつかの実施形態による、仮想化ホストのためのネットワークトラフィックコントローラによるネットワークトラフィック処理を示したブロック図である。
【図６】いくつかの実施形態による、ネットワークエンティティエントリオーナーと、ネットワークエンティティエントリ変更者と、ネットワークエンティティレジストリと、の間の相互作用を示したブロック図である。
【図７】いくつかの実施形態による、トラフィックソースと、ネットワークトラフィックコントローラと、ネットワークエンティティレジストリとの間の相互作用を示したブロック図である。
【図８】いくつかの実施形態による、プロバイダネットワークに対して実施されるネットワークトラフィックポリシー内に含まれるネットワークエンティティハンドルのためのネットワークエンティティレジストリを実装するための、さまざまな方法と手法とを示したハイレベルフローチャートである。
【図９】いくつかの実施形態による、ネットワークエンティティエントリに対する変更の許可をネットワークエンティティエントリオーナーから取得するための、さまざまな方法と手法とを示したハイレベルフローチャートである。
【図１０】いくつかの実施形態による、ネットワークエンティティハンドルのためのネットワークアドレス情報を受信するネットワークトラフィックコントローラを、ネットワークエンティティレジストリ内のネットワークエンティティエントリに登録するための、さまざまな方法と手法とを示したハイレベルフローチャートである。
【図１１】いくつかの実施形態による、更新ネットワークエンティティエントリのための指定のネットワークアドレス情報を取得するための、さまざまな方法と手法とを示したハイレベルフローチャートである。
【図１２】いくつかの実施形態による、例示的なコンピューティングシステムを示したブロック図である。
【発明を実施するための形態】
【０００４】
実施形態を、本明細書では、いくつかの実施形態と例示的な図面とのための一例として説明したが、実施形態が、説明する実施形態または図面に限定されない、ということを当業者は認識する。図面及びその説明が、実施形態を開示する特定の形態に限定することを意図せず、反対に、意図することは、添付の特許請求の範囲によって定める精神と範囲との中に含まれる、すべての変更物と同等物と代替物とを含むことである、ということを理解すべきである。本明細書で使用する見出しは、構成目的だけのためであり、本明細書または特許請求の範囲を限定するために使用されることを意図していない。本出願を通して使用する、「できる」という言葉は、強制的な意味（つまり、〜しなければならないことを意味する）ではなく、許可的な意味（つまり、〜を行う潜在力を有することを意味する）で使用されている。同様に、「含む（ｉｎｃｌｕｄｅ）」、「含む（ｉｎｃｌｕｄｉｎｇ）」、及び「含む（ｉｎｃｌｕｄｅｓ）」という言葉は、それに限定することではなく、含むことを意味する。
【０００５】
本明細書で説明するシステム及び方法は、いくつかの実施形態による、プロバイダネットワークに対して実施されるネットワークトラフィックポリシー内に含まれるネットワークエンティティハンドルのための、ネットワークエンティティレジストリを実装することができる。プロバイダネットワークは、クライアント、操作者、または他の顧客に、１つまたは複数のコンピューティングリソースへのアクセス及び／またはその制御を提供することができる。これらのリソースは、ネットワークを介した通信のために構成された、さまざまな種類のコンピューティングシステムまたはデバイスを含むことができる。たとえば、いくつかの実施形態では、プロバイダネットワークは、仮想コンピューティングリソースを、クライアント、ユーザ、または他の種類の顧客に、リザーブドコンピュートインスタンス（たとえば、ユーザに、彼らが所与のハードウェアコンピューティングリソースの唯一の操作者及び管理者である、という錯覚を与える、明らかな論理コンピューティングシステムとして動作している仮想マシン）という形態で、提供することができる。プロバイダネットワークのクライアントは、（コンピュートインスタンスなどの）１つまたは複数のコンピュートリソースを予約して（つまり、購入または買って）、さまざまな機能、サービス、手法、及び／またはアプリケーションを実行することができる。これらの機能、サービス、手法、及び／またはアプリケーションを実行することの一部として、ネットワークトラフィックを、異なるコンピュートリソースにおいて、許可し、禁止し、または管理することができる。たとえば、電子商取引ウェブサイトのための認証サービスを提供する複数のサーバなどのコンピュートリソースのセットは、特定のインターネットプロトコル（ＩＰ）アドレスのセットからのネットワークトラフィックのみを受け取ることができる。このような制約、許可、禁止、または他のネットワークトラフィック制御は、ネットワークトラフィックポリシー内に記述され得る（たとえば、「ＩＰアドレスＹからのポートＸ上のトラフィックを許可する」。プロバイダのクライアントは、ネットワークトラフィックポリシーが複数のコンピュートリソースに対しても同様に実施されるように、ネットワークトラフィックポリシーを構成して、複数のコンピュートリソースのためのセキュリティグループを構成することができる。セキュリティグループは、複数のネットワークトラフィック制御ポリシーを適用することができ、ネットワークトラフィック制御ポリシーは、１つまたは複数のネットワークフロー制御ポリシーを有することができる。
【０００６】
コンピューティングリソースを活用するプロバイダのクライアントは、新しいリソースを取得することができる柔軟性を利用することができる。たとえば、仮想コンピュートリソースは、急成長しているウェブサービスを実装するプロバイダのクライアントためなどの、需要を満たすように迅速に大きさを変更し得る。コンピュートインスタンスの数が増加するにつれて、異なるセキュリティポリシーとセキュリティグループとを管理することは、複雑で、時間のかかるものになり得る。たとえば、コンピュートインスタンスは、複数の異なるセキュリティグループに属することができ、それらの各々は、複数の異なるネットワークトラフィックポリシーを実施することができる。ネットワークトラフィックポリシーに対する各変更のための各セキュリティグループを手作業で更新することは、プロバイダのクライアントにとってコストがかかると判明し得、変わりゆくネットワークトラフィック条件に対して迅速に反応するためのネットワークトラフィックポリシー内の変更を、許可しないことがある。
【０００７】
図１は、いくつかの実施形態による、ネットワーク内の、ネットワークエンティティレジストリと複数のネットワークエンティティとを示した図である。ネットワークトラフィックポリシー、及びそれらに関連するセキュリティグループは、いくつかの実施形態では、すべての影響を受けるグループまたはポリシーを手作業で変更することなく、更新され得る。たとえば、ネットワークトラフィックポリシーは、ネットワークエンティティレジストリ内に保持されている、ネットワークエンティティエントリに対するネットワークエンティティハンドルを含むことができる。図１に示した通り、さまざまな実施形態では、プロバイダネットワーク１００は、ネットワークエンティティレジストリ１２０を実装して、異なるネットワークエンティティのためのエントリを、プロバイダネットワーク１００内部とプロバイダネットワーク１００外部との両方で、保持することができる。ネットワークエンティティは、一般に、データを他のコンピューティングシステムまたはデバイスに送信することができる、またはデータを他のコンピューティングシステムまたはデバイスから受信することができる（つまり、ネットワークトラフィック）、１つまたは複数の異なるコンピューティングシステムまたはデバイスであってよい。ネットワークエンティティは、特定のホストを識別することができる１つのＩＰアドレスとして、（ＩＰアドレスとマスクとを含むことができる）ネットワークのサブネットを識別することができるＩＰアドレスの範囲として、異なるＩＰアドレスに変換され得るドメインまたはホスト名として、仮想プライベートネットワーク（ＶＰＮ）などのさまざまなネットワーク機構のためのエンドポイントとして、セキュリティグループによって定義される異なるエンティティから成るグループとして、または特定のエンティティを見つける際に使用される任意の他の情報として、識別され得るが、これらに限定されない。さまざまな実施形態では、ネットワークエンティティは、任意の、または関連していないアドレス可能な要素に見え得る。ネットワークエンティティのエントリは、いくつかの実施形態では、ネットワークエンティティレジストリ１２０内に保持され得、エンティティのためのネットワークアドレス情報またはネットワーク位置情報と、ハンドル名または識別子と、を含むことができる。いくつかの実施形態では、ネットワークエントリのさまざまな部分のバージョン番号及び／または１つまたは複数の以前のバージョン（たとえば、ネットワークアドレス情報）などの、ネットワークエンティティエントリのための他の情報を、また、保持することができる。ネットワークエンティティエントリの展開スケジュール（たとえば、いつ及び／またはどのようにネットワークアドレス情報を提供するか）を、保持することができる。いくつかの実施形態では、ネットワークエンティティレジストリ１２０は、また、特定のネットワークエンティティエントリへのハンドルを含むネットワークトラフィックポリシーを実施する、ネットワークトラフィックコントローラまたは他のシステム、構成要素、またはデバイスを記述した情報を、保持することができる。
【０００８】
たとえば、ネットワークエンティティ１８２は、１つのシステム（またはコンピューティングデバイスから成るシステムまたはネットワークのためのエンドポイント）であってよい。たとえば、ネットワークエンティティレジストリは、アドレス可能要素１２２ａのＩＰアドレスなどの、ネットワークエンティティ１８２のためのネットワークアドレス情報を指定する、ネットワークエンティティ１８２のエントリを保持することができる。ネットワークトラフィックコントローラ１２２ｂは、ネットワークアドレス可能要素１２２ａへのアクセスと、ネットワークアドレス可能要素１２２ａからのアクセスとを、プロバイダネットワーク１００を介して提供するように構成され得る。別の実施例では、ネットワークエンティティ１８４は、複数のアドレス可能要素１２４ａとアドレス可能要素１２６ａとを、（それらの各ネットワークトラフィックコントローラ１２４ｂとネットワークトラフィックコントローラ１２６ｂと共に）含むことができる。ネットワークエンティティ１８４のためのネットワークアドレス情報は、ＩＰアドレスの範囲を含むことができ、または識別ネットワークエンティティ１８４を、サブネットとして特定することができる。エントリをまた、アドレス可能要素から成るグループであるネットワークエンティティのために保持することができ、アドレス可能要素は、（ネットワークエンティティ１８４のためサブネットと）同じサブネットのメンバであるかもしれず、そうでないかもしれない。たとえば、ネットワークエンティティ１７４は、複数のアドレス可能要素１３２ａ、１３４ａ、及び１３６ａ（と、それらの各ネットワークトラフィックコントローラ１３２ｂ、１３４ｂ、及び１３６ｂと）を含むセキュリティグループであってよく、複数のアドレス可能要素は、共通のネットワークトラフィックポリシーを実施するように共に関連付けられ得る。アドレス可能要素１３２ａは、他のコンピューティングシステムまたはデバイスから成るネットワークへのエンドポイントであってよく、一方で、アドレス可能要素１３４ａ及びアドレス可能要素１３６ａは、１つのコンピューティングシステムへのアドレス可能要素であってよい。ネットワークエンティティは、可変の数及び／または大きさを含むことができる。たとえば、ネットワークエンティティ１７２は、ネットワークエンティティ１７４よりもアドレス可能要素が１つ少ない（アドレス可能要素１４２ａ及びアドレス可能要素１４４ａ、及びそれらの各ネットワークトラフィックコントローラ１４２ｂ及び１４４ｂ）セキュリティグループである。プロバイダネットワーク１００の外部のネットワークエンティティは、また、対応するエントリを、ネットワークエンティティレジストリ１２０内に有することができ、それは、外部エンティティからのネットワークトラフィック１１０が、プロバイダネットワーク１００内のさまざまなリソースに向けられ得るからである。
【０００９】
さまざまな実施形態では、ネットワークエンティティレジストリ１２０は、プロバイダネットワークのためのネットワークトラフィックポリシーを管理するためのサービスの一部として実装され得る。たとえば、ネットワークエンティティレジストリは、セキュリティグループ管理サービスの一部として実装され得、セキュリティグループ管理サービスは、プロバイダネットワークのリソースのために確立されたセキュリティグループのためのネットワークトラフィックポリシーを、管理または調整することができる。セキュリティグループ管理サービスは、地図サービスまたは他の経路構成要素またはサービスなどの他のサービスと通信して、ネットワークエンティティエントリのための指定ネットワークアドレス情報を、ネットワークトラフィック制御ポリシーを実施する他のシステムに提供することができる。アドレス可能要素に隣接して例示されているが、ネットワークトラフィックコントローラは、いくつかの実施形態では、アドレス可能要素へのネットワークトラフィックがそれを通って流れる別のシステムまたはデバイス上に配置され得る。
【００１０】
図２は、いくつかの実施形態による、ネットワークエンティティレジストリ内でのネットワークエンティティエントリの作成及び／または更新を示したデータフロー図である。新しいネットワークエンティティは登録され、及び／またはネットワークエンティティエントリ２７２に対する更新は、（セキュリティグループ管理サービス２１０の一部として実装されているとして例示された）ネットワークエンティティレジストリ２２０で受信される。更新に対応する変更は、ネットワークエンティティレジストリ２２０の各エントリ内で作成され、新しいエンティティエントリが作成される。データベースまたは他のストレージスキームなどの、さまざまな異なる構造化データストアを使用して、ネットワークエンティティエントリを格納することができる。いくつかの実施形態では、認証と許可との資格及び／または手順は、新しいネットワークエンティティの登録またはネットワークエンティティエントリの更新を許可する前に、満たされ得る。
【００１１】
更新ネットワークエンティティエントリ（または新しいネットワークエンティティエントリ）については、ネットワークエンティティエントリ内に指定されたネットワークアドレス情報は、ネットワークエンティティエントリ２８２へのハンドル（たとえば、ハンドルＩＤまたは他のハンドル参照）を含むネットワークトラフィック制御ポリシーを実施するネットワークトラフィックコントローラに、提供され得る。ネットワークアドレス情報は、ネットワークトラフィックコントローラに、異なる方法で提供され得る。たとえば、いくつかの実施形態では、プッシュ手法を実装して、更新または新しいエントリが受信または保持された時に、ネットワークエンティティエントリのためのネットワークアドレス情報を、ネットワークトラフィックコントローラに送信することができる。たとえば、セキュリティグループ管理サービス２１０は、特定のセキュリティグループに関連するネットワークトラフィックポリシーに関連する情報と、特定のセキュリティグループのメンバーシップとを、保持することができる。したがって、セキュリティグループＡ２４２のためのネットワークトラフィックコントローラ２５２は、セキュリティグループ管理サービス２１０内で記述され、一覧にされ、またはインデックスを付けられ得、ネットワークエンティティエントリのためのネットワークアドレス情報は、このメンバーシップ情報に基づいて識別されたネットワークトラフィックコントローラ２５２に送信され得る。同様に、セキュリティグループＢ２４４及びセキュリティグループＣ、２４６については、セキュリティグループ管理サービス２１０に、セキュリティグループＢを実施するネットワークトラフィックコントローラ２５４と、セキュリティグループＣを実施するネットワークトラフィックコントローラ２５６と、を識別することを可能にするメンバーシップ情報が、保持され得る。代替的に、いくつかの実施形態では、ネットワークトラフィックコントローラ２５２、ネットワークトラフィックコントローラ２５４、及びネットワークトラフィックコントローラ２５６は、（たとえば、ポーリング動作を使用して）各ネットワークエンティティハンドルのための、新しいネットワークエンティティエントリまたは更新ネットワークエンティティエントリのネットワークアドレス情報を、要求することができる。さまざまな実施形態では、ネットワークトラフィックコントローラ２５２、ネットワークトラフィックコントローラ２５４、及びネットワークトラフィックコントローラ２５６は、プロバイダネットワーク内でネットワークトラフィックポリシーを実施する、多数のネットワークトラフィックコントローラのサブセットであってよい。たとえば、新しいネットワークエンティティエントリまたは更新ネットワークエンティティエントリのためのネットワークエンティティハンドルを含まないネットワークトラフィックポリシーを実施する、それらのネットワークトラフィックコントローラは、さまざまな実施形態では、ネットワークアドレス情報２８２を受信しないかもしれない。
【００１２】
上記で説明した通り、ネットワークトラフィックポリシーは、ネットワークエンティティレジストリ内に保持された、ネットワークエンティティエントリへのネットワークエンティティハンドルを含むことができる。図３は、いくつかの実施形態による、ネットワークエンティティエントリと、ネットワークエンティティハンドルを含むネットワークトラフィックポリシーと、セキュリティグループと、の実施例を示したブロック図である。ネットワークエンティティレジストリ３１０は、エントリ３３０、エントリ３３２、及びエントリ３３４などの、複数のネットワークエンティティエントリを保持する。各ネットワークエンティティエントリは、ＩＰアドレス、ＩＰアドレスの範囲、マスク、及び、ネットワークエンティティを特定する及び／またはそれと通信するための、さまざまな他の形態のネットワークアドレス情報などの、ネットワークエンティティのためのネットワークアドレス情報を含むことができる。ネットワークエンティティエントリは、また、ハンドル参照または識別子などの、ハンドルを含むことができ、ハンドルは、ネットワークトラフィックポリシーのためのネットワークアドレス情報を指定するネットワークエンティティエントリを示すために、ネットワークトラフィックポリシー内に含まれ得る。いくつかの実施形態では、特定のバージョンのネットワークエンティティエントリを識別するバージョン識別子（たとえば、バージョン番号またはタイムスタンプ）を、保持することができる。いくつかの実施形態では、複数の以前のバージョンのエンティティエントリを、現在のエンティティエントリに加えて保持することができ、以前のバージョンのエンティティエントリは、たとえば、変更を元に戻すために、ネットワークトラフィックコントローラに提供され得る。
【００１３】
ネットワークトラフィックポリシーは、多数の異なる種類のネットワークトラフィック制御を実装することができる。たとえば、いくつかのネットワークトラフィックポリシーは、トラフィックを許可または禁止するように構成され得る。ネットワークトラフィックポリシー３４４ａは、ネットワークエンティティハンドル３４０から入ってくる、ポート９８７６上のＴＣＰトラフィックを許可する。一方、ネットワークトラフィックポリシー３４４ｂは、ネットワークエンティティハンドル３４４に出ていく、ポート４４３上のＴＣＰトラフィックを許可する。また、ネットワークトラフィックポリシーを使用して、スロットル制限トラフィックなどの、ネットワークトラフィックポリシー３４６ａで例示したネットワークフロー制御を実施して、ネットワークトラフィックポリシー３４６ｂでのように、トラフィックを特定の順序で扱い、またはトラフィックを特定の方法で格納することができる。いくつかの実施形態では、ネットワーク帯域幅調整を、ネットワークエンティティハンドルを含むネットワークトラフィックポリシーを使用して行うことができる。特定のプロトコル、ポート、及び／またはトラフィックの種類などの、さまざまな異なる種類の属性または情報を、ネットワークトラフィックポリシー内に含むことができる。図１で上述した通り、ネットワークエンティティは、複数のシステムまたはデバイス、サブネット、ＶＰＮのためのエンドポイント、ゲートウェイ、または他のセキュリティ機構と、複数のネットワークエンティティのセキュリティグループなどのグループと、を含むことができる。したがって、ネットワークトラフィックポリシーは、これらのエンティティからのトラフィックを制御するように、多数の異なる方法で構成され得、したがって、ネットワークトラフィックポリシーの先の実施例は、限定することを意図していない。
【００１４】
ネットワークエンティティハンドルは、ネットワークエンティティハンドルが参照する特定のネットワークエンティティエントリ内の指定ネットワークアドレス情報を用いて、拡張され得る。たとえば、ネットワークエンティティハンドル３４０が「ｂｏｂ＿ｎｅｔｗｏｒｋ」というハンドル参照を有する場合、ハンドル「ｂｏｂ＿ｎｅｔｗｏｒｋ」を含むネットワークエンティティエントリ３３０は、ネットワークトラフィックポリシー３４４ａとネットワークトラフィックポリシー３４６ｂとを実施するために、ネットワークアドレス情報を指定して、ハンドル３４０を拡張することができる。同様に、ネットワークエンティティハンドルは、エンティティ２ＡＢＹ１などのＩＤを有することができ、ＩＤも、また、ネットワークエンティティエントリ３４４内に含まれている。
【００１５】
いくつかの実施形態では、ネットワークトラフィックポリシーを、特定のセキュリティグループと関連付け、特定のセキュリティグループのメンバである、または特定セキュリティグループに関連する、すべてのコンピューティングリソースに実施することができる。たとえば、ネットワークトラフィックポリシー３４４ａ及びネットワークトラフィックポリシー３４４ｂは、両方とも、セキュリティグループ３０２ａのメンバであるコンピューティングリソースに実施されている。同様に、ネットワークトラフィックポリシー３４６ａ及びネットワークトラフィックポリシー３４６ｂは、両方とも、セキュリティグループ３０２ｂのメンバであるコンピューティングリソースまたはセキュリティグループ３０２ｂに関連するコンピューティングリソースに実施されている。コンピューティングリソースは、いくつかの実施形態では、複数のセキュリティグループに関連付けられ得る。したがって、特定のコンピュートインスタンスなどの特定のコンピューティングリソースは、セキュリティグループ３０２ａとセキュリティグループ３０２ｂとのメンバであってよい。
【００１６】
先の説明が、限定することを意図せず、単に、プロバイダネットワークとネットワークエンティティレジストリとネットワークトラフィックポリシーとの実施例として提供されている、ということに留意すること。さまざまな他の構成要素が、ネットワークエンティティエントリのためのハンドルを含むネットワークトラフィックポリシーを実施することにおいて、相互作用し、または補助することができる。
【００１７】
本明細書は、次に、仮想コンピューティングリソースプロバイダの概要を含み、仮想コンピューティングリソースプロバイダは、プロバイダネットワークに対して実施されるネットワークトラフィックポリシー内に含まれる、ネットワークエンティティハンドルのためのネットワークエンティティレジストリを実装することができる。次いで、仮想コンピューティングリソースプロバイダのさまざまな実施例を説明し、それらには、異なる構成要素／モジュール、または仮想コンピューティングリソースプロバイダを実装することの一部として用いられ得る構成要素／モジュールの構成、が含まれる。次いで、プロバイダネットワークに対して実施されるネットワークトラフィックポリシー内に含まれる、ネットワークエンティティハンドルのためのネットワークエンティティレジストリを実装するための、多数の異なる方法及び手法が説明され、それらの一部を、添付のフローチャートに例示する。最後に、さまざまな構成要素、モジュール、システム、デバイス、及び／またはノードを実装することができる、例示的なコンピューティングシステムの説明を提供する。さまざまな実施例を、本明細書を通して提供する。
【００１８】
図４は、いくつかの実施形態による、ネットワークトラフィックコントローラにおいて実施されるネットワークトラフィックポリシー内に含まれる、ネットワークエンティティハンドルのためのネットワークエンティティレジストリを実装する、仮想コンピューティングリソースプロバイダを示したブロック図である。プロバイダネットワーク４００は、企業または公的組織などのエンティティによって、インターネット及び／または他のネットワークを介してアクセス可能な（さまざまな種類のクラウドベースの計算またはストレージなどの）１つまたは複数のサービスを、クライアント４５０に提供するために、設定され得る。プロバイダネットワーク４００は、プロバイダネットワーク４００によって提供されるインフラストラクチャとサービスとを実装し、分散させるために必要な、物理的コンピュータサーバ及び／または仮想コンピュータサーバから成る集合などのさまざまなリソースプールをホストしている多数のデータセンタ、ストレージデバイス、ネットワーキング装置など、を含むことができる。いくつかの実施形態では、プロバイダネットワーク３００は、コンピューティングリソースを提供することができる。これらのコンピューティングリソースは、いくつかの実施形態では、クライアントに、仮想または物理的なコンピュートインスタンスまたはストレージインスタンスなどの、「インスタンス」４２４と呼ばれる単位で提供され得る。
【００１９】
仮想コンピュートインスタンス４２４は、たとえば、（ＣＰＵの種類及び数と、メインメモリの大きさ、などとを示すことによって指定され得る）指定の計算能力と、指定のソフトウェアスタック（たとえば、同様にハイパーバイザ上で動くことができる特定のバージョンのオペレーティングシステム）と、を有する、１つまたは複数のサーバを備えることができる。多数の異なる種類のコンピューティングデバイスを、単体で、または組み合わせて、使用して、プロバイダネットワーク４００のコンピュートインスタンス４２４を、異なる実施形態で実装することができ、それらには、汎用または特殊用途のコンピュータサーバと、ストレージデバイスと、ネットワークデバイスなどが含まれる。いくつかの実施形態では、インスタンスのクライアント４５０または他の任意の他のユーザは、ネットワークトラフィックを、コンピュートインスタンス４２４に向けるように構成（及び／または許可）され得る。
【００２０】
コンピュートインスタンス４２４は、クライアント４５０のアプリケーションを、たとえば、クライアント４５０がインスタンス４２４にアクセスする必要なしに実行するのに適切な、アプリケーションサーバインスタンス、Ｊａｖａ（商標）仮想マシン（ＪＶＭ）、汎用または特殊用途オペレーティングシステム、Ｒｕｂｙ，Ｐｅｒｌ，Ｐｙｔｈｏｎ、Ｃ、Ｃ＋＋などのさまざななインタープリタ型言語またはコンパイル型言語をサポートするプラットフォーム、または高性能コンピューティングプラットフォーム）などの、さまざまな異なるプラットフォームを運営し、または実装することができる。いくつかの実施形態では、コンピュートインスタンスは、予想される稼働率に基づいて、異なる種類または構成を有する。特定のコンピュートインスタンスの稼働率は、そのインスタンスが予約されている時間の合計量に対する、そのインスタンスが作動している時間の量の割合として定義され得る。稼働率を、また、いくつかの実施形態では、利用と呼ぶことができる。クライアントが、コンピュートインスタンスを、そのインスタンスが予約されている時間のうちの比較的小さな割合（たとえば、１年間の予約のうちの３０％〜３５％）で使用することを予期する場合、クライアントは、インスタンスを、低稼働率インスタンスとして予約するように決定し、関連価格ポリシーに従って、割引時間使用料を支払うことができる。クライアントが、インスタンスがほとんどの時間で作動していることを要求する定常状態作業負荷を有すると予期する場合、クライアントは、高稼働率インスタンスを予約し、より低い時間使用料を潜在的に払うことができるが、いくつかの実施形態では、時間料金は、価格ポリシーに従って、実際の使用時間の量に関わらず、予約期間全体に対して課金され得る。価格ポリシーに従った中稼働率インスタンスの選択肢も、いくつかの実施形態では支持され得、そこでは、前払いコスト及び時間毎のコストは、対応する高稼働率コストと低稼働率コストとの間になる。
【００２１】
コンピュートインスタンス構成は、また、数値計算アプリケーション（たとえば、高トラフィックウェブアプリケーション、広告サービス、バッチ処理、ビデオ符号化、分散分析、高エネルギー物理、ゲノム分析、及び計算流体力学）のための計算作業負荷、グラフィックを駆使する作業負荷（たとえば、ゲームストリーミング、３Ｄアプリケーションストリーミング、サーバ側グラフィック作業負荷、レンダリング、財務モデリング、及び工学的設計）、メモリを駆使する作業負荷（たとえば、高性能データベース、分散メモリキャッシュ、インメモリ分析、ゲノムアセンブリ及び分析）、及びストレージ最適化作業負荷（たとえば、データウェアハウスジング、及びクラスタファイルシステム）などの、汎用または特殊用途を有するコンピュートインスタンスを含む。仮想ＣＰＵコアの具体的な数などのコンピュートインスタンスの大きさ、メモリ、キャッシュ、ストレージ、及び任意の他の性能特性。コンピュートインスタンスの構成は、また、それらの場所、特定のデータセンタ内、利用可能ゾーン、地域、場所、など．．．、及び（予約コンピュートインスタンスの場合）予約期間の長さを含むことができる。
【００２２】
さまざまな実施形態では、コンピュートインスタンスを、１つまたは複数の異なるセキュリティグループに関連付けることができる。上述した通り、セキュリティグループは、ネットワークトラフィックのための１つまたは複数のネットワークトラフィックポリシーを、セキュリティグループのメンバにおいて実施することができる。セキュリティグループ内のメンバーシップは、コンピュートインスタンスの物理的な場所または実装形態に関連していないことがある。セキュリティグループレジェンド４８２は、セキュリティグループ内のメンバーシップを表示するために使用される、さまざまな異なるシェーディングを例示している。たとえば、同じ仮想化ホスト４２０ａ上に実装された、コンピュートインスタンス４２４ａ１、コンピュートインスタンス４２４ａ２、コンピュートインスタンス４２４ａ３、及びコンピュートインスタンス４２４ａ４は、異なるセキュリティグループＡとＢとＣとに属することができる。セキュリティグループＢのための、インスタンス４２４ｂ１、インスタンス４２４ｂ４、及びインスタンス４２４ｎ３などの、他のグループメンバは、異なる物理的な位置で実装される。同様に、セキュリティグループＡのための、インスタンス４２４ａ１、インスタンス４２４ａ３、インスタンス４２４ｂ２、及びインスタンス４２４ｎ２、及びセキュリティグループＣのための、インスタンス４２４ａ２、インスタンス４２４ｂ３、インスタンス４２４ｃ１、及びインスタンス４２４ｎ４は、また、異なって配置される。特定のセキュリティグループのメンバまたは関連の数は、変化し得、この先の説明及び例示は、特定のセキュリティグループ内のグループメンバの数に関して、限定することを意図していない。各セキュリティグループＡ、Ｂ、及びＣは、各ネットワークトラフィックポリシーを、それぞれのメンバインスタンスに対して実施することができる。いくつかの実施形態では、各セキュリティグループ内の１つまたは複数のネットワークトラフィックポリシーは、（図２に関して上記で説明したものと）同じネットワークエンティティハンドルを含むことができる。先の説明は、限定することを意図せず、単に、プロバイダネットワーク４００によって提供されるコンピュートインスタンス４２４について可能な、多くの異なる構成を例示している。
【００２３】
図４に示した通り、仮想化ホスト４２０ａ、４２０ｂから４２０ｎなどの仮想化ホスト４２０は、いくつかの実施形態では、複数のコンピュートインスタンス４２４を実装及び／または管理することができ、図１２に関連して以下に説明するコンピューティングシステム２０００などの、１つまたは複数のコンピューティングデバイスであってよい。仮想化ホスト３２０は、仮想化管理モジュール４２２ａ、４２２ｂから４２２ｎなどの仮想化管理モジュール４２２を含むことができ、仮想化管理モジュール４２２は、多数の異なる、クライアントがアクセス可能な仮想マシンまたはコンピュートインスタンス４２４を、インスタンス化または管理することができる。仮想化管理モジュール４２２は、たとえば、ハイパーバイザと、いくつかの実施形態では「ドメイン−ゼロ」オペレーティングシステムまたは「ｄｏｍ０」オペレーティングシステムと呼ばれ得る、オペレーティングシステムの管理インスタンスと、を含むことができる。ｄｏｍ０オペレーティングシステムは、コンピュートインスタンス４２４がそのために動いているクライアントによって、アクセス可能でないことがあるが、代わりに、ネットワークプロバイダのさまざなな管理動作または制御プレーン動作に対して責任を負うことができ、それらには、コンピュートインスタンス４２４に向けられたネットワークトラフィック、またはコンピュートインスタンス４２４からのネットワークトラフィックを扱うこと、が含まれる。
【００２４】
図４に示した通り、仮想化管理モジュール４２２は、ネットワークトラフィックコントローラ４２６ａ、４２６ｂから４２６ｎなどの、ネットワークトラフィックコントローラ４２６を含むことができる。ネットワークトラフィックコントローラ４２６は、コンピュートインスタンス４２４のセキュリティグループ関連に基づいて実施され得るものなど、コンピュートインスタンス４２４のためのさまざまなネットワークトラフィックポリシーを実施するように構成され得る。図５は、いくつかの実施形態による、仮想化ホストのためのネットワークトラフィックコントローラによって処理されるネットワークトラフィックを示したブロック図である。上述した通り、仮想化ホスト５０２は、複数のコンピュートインスタンス５２０ａ、５２０ｂ、５２０ｃから５２０ｎを実装することができる。仮想化ホスト５０２は、また、仮想化管理モジュール５２２とネットワークトラフィックコントローラ５１６とを実装することができる。コンピュートインスタンス５２０のためのネットワークトラフィック５００は、ネットワークトラフィックコントローラ５１６において、他のネットワークエンティティからのインバウンドネットワークトラフィックとして、またはコンピュートインスタンス５２０からのアウトバウンドネットワークトラフィックとしてのいずれかで、受信され得る。受信した特定のネットワークトラフィックについて、ネットワークトラフィック制御５１６は、ポリシー５１８ａ、５１８ｂ、及び／または５１８ｎなどの、適用する特定のネットワークトラフィックポリシーを特定することができる。たとえば、経路指定テーブルまたは他のメタデータを使用して、特定のインスタンス５２０のネットワークトラフィックポリシーを特定することができる。ネットワークトラフィックポリシーをネットワークトラフィックに適用して、ポリシーに従って、ネットワークトラフィックを許可し、拒否し、制限し、限定するなどができる。ポリシー内に含まれるネットワークエンティティハンドルを拡張して、ポリシー内のネットワークエンティティハンドルによって、図６〜図１１に関して以下で説明するさまざまな手法にしたがって参照される、ネットワークエンティティのためのネットワークアドレス情報を、適用することができる。いくつかの実施形態では、ネットワークトラフィックコントローラ５１６は、セキュリティグループ管理サービス４４０及び／またはネットワークエンティティレジストリ４４２からの、指定ネットワークアドレス情報を、要求することができる。いくつかの実施形態では、ネットワークトラフィックコントローラは、ネットワークエンティティハンドルのために受信した、複数のバージョンのネットワークアドレス情報を保持することができ、セキュリティグループ管理サービス４４０またはレジストリ４４２からの命令に従って、または自己決定に基づいて、バージョン間で戻ることができる。
【００２５】
仮想化ホスト４２０によって実装されていると例示しているが、いくつかの実施形態では、ネットワークトラフィックコントローラ４２６は、異なるシステム上またはコンピューティングデバイス上などに、仮想化ホスト４２０とは別に実装され得る。ネットワークトラフィックコントローラ４２６は、特定のアドレス可能要素（たとえば、インスタンス４２４）のためのネットワークトラフィックが、それを通ってその目的地（つまり、トラフィック経路中）に到達するために移動する必要があり得る場所ならどこにでも、実装され得る。したがって、図４と図５とのネットワークトラフィックコントローラの先の説明及び例示は、限定することを意図していない。
【００２６】
図４に戻り、プロバイダネットワーク４００は、セキュリティグループ管理サービス４４０を、さまざまな実施形態で実装して、ネットワークエンティティレジストリ４４２内のネットワークエンティティエントリ内で指定されるネットワークアドレス情報を、ネットワークトラフィックコントローラ４２６及び／または地図サービス４３０に、図６〜図１１で以下に説明するさまざまな手法にしたがって提供することなどによって、セキュリティグループの更新または変更を管理することができる。セキュリティグループ管理サービス４４０は、図１２に関連して以下に説明するコンピューティングシステム２０００などの、１つまたは複数のノード、サービス、システム、またはデバイスによって実装され得る。セキュリティグループ管理サービスは、いくつかの実施形態では、ネットワークトラフィックコントローラ４２６と、コンピュートインスタンス４２４と、セキュリティグループと、ネットワークトラフィックポリシーと、特定のネットワークエンティティハンドルと、の間の地図情報を保持することができる。いくつかの実施形態では、ネットワークトラフィックコントローラ４２６は、ネットワークエンティティエントリに関する更新または通知を受信するために、リスナーを登録し、またはセキュリティグループ管理サービス４４０を有する特定のネットワークエンティティエントリとの関係を示すことができる。
【００２７】
さまざまな実施形態では、セキュリティグループ管理サービス４４０は、ネットワークエンティティレジストリ４４２を実装することができる。図１〜図３に関して上記で説明した通り、ネットワークエンティティレジストリ４４２は、ネットワークエンティティのためのネットワークエンティティエントリを保持するように構成され得、それらには、ネットワークアドレス情報と、ネットワークエンティティハンドルと、バージョン識別子、他のバージョンのネットワークエンティティエントリ、及び／またはネットワークエンティティエントリの展開またはスケジュールなどの他の情報と、が含まれる。ネットワークエンティティレジストリ４４２は、データベース、インデックス、構造化データストア、ネットワークエンティティエントリを保持するための他のスキームとして実装され得る。いくつかの実施形態では、関連は、また、保持されたネットワークトラフィックポリシーであってよく、それには、各ネットワークエンティティハンドル、及び／またはネットワークセキュリティグループ関連が含まれる。
【００２８】
内部ネットワーク４１０は、仮想化ホスト４２０、地図サービス４３０、セキュリティグループ管理サービス４４０、及び外部ネットワーク４６０（たとえば、インターネット）などの、プロバイダネットワーク４００の異なる構成要素間にネットワーキングリンクを確立するために必要な、ハードウェア（たとえば、モデム、ルータ、スイッチ、ロードバランサ、プロキシサーバ、など）と、ソフトウェア（たとえば、プロトコルスタック、会計ソフトウェア、ファイヤーウォール／セキュリティソフトウェア、など）と、を含むことができる。いくつかの実施形態では、プロバイダネットワーク４００は、インターネットプロトコル（ＩＰ）トンネリング技術を用いて、オーバーレイネットワークを提供することができ、オーバーレイネットワークを経由して、カプセル化されたパケットが、トンネルを使用して、内部ネットワーク４１０を通過することができる。ＩＰトンネリング技術は、オーバーレイネットワークをネットワーク４１０上に作成するための地図及びカプセル化システムを提供することができ、オーバーレイ層と内部ネットワーク１１０層とのための別のネームスペースを提供することができる。オーバーレイ層内のパケットを、（たとえば、地図サービス４３０によって提供される）地図ディレクトリに対して確認して、それらのトンネル目標を何にすべきかを判断することができる。ＩＰトンネリング技術は、仮想ネットワークトポロジーを提供し、クライアント４５０に提示されるインターフェースを、オーバーレイネットワークに付けて、クライアント４５０がパケットを送信したいＩＰアドレスを提供した時に、ＩＰオーバーレイアドレスがどこであるかを知っている地図サービス（たとえば、地図サービス１３０）と通信することによって、ＩＰアドレスが、仮想空間内で実行されるようにすることができる。いくつかの実施形態では、地図サービス４３０は、ネットワークトラフィック制御ポリシーを、さまざまなネットワークトラフィックコントローラ４２６に、実施のために提供することができる。そのような実施形態では、地図サービス４３０は、ネットワークトラフィックポリシー内に含まれているネットワークエンティティハンドルのためのネットワークアドレス情報へのアクセスを取得することができ、またはそれを与えられ得、ネットワークアドレス情報を、ネットワークトラフィックコントローラ４２６に、実施のために提供することができる。さまざまな実施形態では、地図サービス４３０は、ネットワークエンティティハンドルを拡張するために、ネットワークトラフィックポリシーのためのネットワークアドレス情報を受信することができる。拡張ネットワークエンティティハンドルは、次いで、地図サービス４３０によって、各ネットワークトラフィックコントローラに提供され得、各ネットワークトラフィックコントローラは、ネットワークエンティティハンドルを含むネットワークトラフィックポリシーを実施することができる。
【００２９】
クライアント４５０は、要求をネットワークプロバイダ４００に提出するように構成可能な任意の種類のクライアントを、包含することができる。たとえば、所与のクライアント４５０は、適切なバージョンのウェブブラウザを含むことができ、またはウェブブラウザによって提供される実行環境への拡張として、またはその内部で、実行するように構成された、プラグインモジュールまたは他の種類のコードモジュールを含むことができる。代替的に、クライアント４５０は、データベースアプリケーション（またはそれのユーザインターフェース）、メディアアプリケーション、オフィスアプリケーション、またはコンピュートインスタンス４２４を利用してさまざまな動作を実行することができる任意の他のアプリケーションを包含することができる。いくつかの実施形態では、そのようなアプリケーションは、ネットワークベースのサービス要求を、全種類のネットワークベースのデータに対する完全なブラウザサービスを実装する必要なしに、生成し、処理するための（たとえば、適切なバージョンのハイパーテキスト転送プロトコル（ＨＴＴＰ）のための）十分なプロトコルサポートを含むことができる。いくつかの実施形態では、クライアント４５０は、ネットワークベースのサービス要求を、Ｒｅｐｒｅｓｅｎｔａｔｉｏｎａｌ  Ｓｔａｔｅ  Ｔｒａｎｓｆｅｒ（ＲＥＳＴ）型ネットワークベースのサービスアーキテクチャ、文書ベースまたはメッセージベースのネットワークベースのサービスアーキテクチャ、または他の適切なネットワークベースのサービスアーキテクチャに従って、生成するように構成され得る。いくつかの実施形態では、クライアント４５０（たとえば、計算クライアント）は、コンピュートインスタンス４２４へのアクセスを、コンピュートインスタンス４２４によって提供される計算リソースを活用する、クライアント４２４上に実装されたアプリケーションにとってはトランスペアレントな方法で、提供するように構成され得る。
【００３０】
クライアント４５０は、ネットワークベースのサービス要求を、プロバイダネットワーク４００に、外部ネットワーク４６０を介して伝えることができる。さまざまな実施形態では、外部ネットワーク４６０は、クライアント４５０とプロバイダネットワーク４００との間のネットワークベースの通信を確立するために必要な、ネットワーキングハードウェアとプロトコルとの任意の適切な組み合わせを包含することができる。たとえば、ネットワーク４６０は、一般に、インターネットを集合的に実装する、さまざまな電気通信ネットワークとサービスプロバイダとを包含することができる。ネットワーク４６０は、また、ローカルエリアネットワーク（ＬＡＮ）または広域ネットワーク（ＷＡＮ）などのプライベートネットワークと、公共またはプライベートの無線ネットワークとを含むことができる。たとえば、所与のクライアント４５０及びプロバイダネットワーク４００の両方は、自身の内部ネットワークを有する企業内に、それぞれ設定され得る。そのような実施形態では、ネットワーク４６０は、所与のクライアント４５０とインターネットとの間と、インターネットとプロバイダネットワーク４００との間と、にネットワーキングリンクを確立するために必要な、ハードウェア（たとえば、モデム、ルータ、スイッチ、ロードバランサ、プロキシサーバ、など）と、ソフトウェア（たとえば、プロトコルスタック、会計ソフトウェア、ファイヤーウォール／セキュリティソフトウェア、など）とを含むことができる。いくつかの実施形態では、クライアント４５０は、プロバイダネットワーク４００と、公共のインターネットではなくプライベートネットワークを使用して、通信することができる、ということに留意する。
【００３１】
図６は、いくつかの実施形態による、ネットワークエンティティエントリオーナーとネットワークエンティティエントリ変更者とネットワークエンティティレジストリとの間の相互作用を示したブロック図である。ネットワークエンティティレジストリ４４２（またはセキュリティグループ管理サービス４４０）は、プログラムの（たとえば、ＡＰＩ）またはグラフィックのインターフェースなどのインターフェース６００を実装することができ、それを介して、要求を、ネットワークエンティティレジストリ４００に対して行うことができる。コンピュートインスタンスを活用するプロバイダネットワーク４００のクライアントであり得るネットワークエンティティエントリオーナー６０２、またはさまざまなアプリケーション、サービス、または機能を実装するプロバイダネットワークの他のコンピュートリソース、または信頼されているネットワークエンティティエントリプロバイダは、ネットワークエンティティエントリを、ネットワークエンティティレジストリ４４２に登録する６１０ことができる。ネットワークエンティティレジストリ４４２は、登録要求を、（たとえば、有効な識別または認証資格が要求内に含まれている場合、受け入れることができる。いくつかの実施形態では、不適切なまたは許可されていない作成要求または更新要求は、要求者に返送されるエラーメッセージを生成することができる。たとえば、いくつかの実施形態では、いくつかのネットワークエンティティエントリは、静的である。静的ネットワークエンティティエントリを更新するための要求は、静的ネットワークエンティティエントリを更新するための要求のエラーまたは拒否を返すことができる。いくつかの実施形態では、ネットワークエンティティエントリ（及び／またはエントリのための指定ネットワークアドレス情報）の通知は、エントリへのハンドルを含むネットワークトラフィックポリシーを実施するネットワークトラフィックコントローラ６０６に、提供６２０され得る。
【００３２】
いくつかの実施形態では、（ネットワークエンティティエントリのオーナーではないことがある）ネットワークエンティティエントリ変更者６０４は、更新要求６３０を、ネットワークエンティティレジストリ４４２に送信して、特定のネットワークエンティティエントリを更新することができる。いくつかの実施形態では、更新に対する許可は、６４０で示す通り、ネットワークエンティティエントリオーナー６０２からの要求更新許可によって、取得され得る。ネットワークエンティティエントリオーナー６０２から許可６５０が受信された場合など、許可された場合、更新ネットワークエンティティエントリ（及び／または更新エントリのための指定ネットワークアドレス情報）の通知は、エントリへのハンドルを含むネットワークトラフィックポリシーを実施するネットワークトラフィックコントローラ６０６に、提供６６０され得る。いくつかの実施形態では、許可が取得されなかった場合、以前のバージョンのエントリが、レジストリ４４２で使えるようにされ得、またはネットワークアドレス情報を受信したかもしれないという指示が、ネットワークトラフィックコントローラに、ネットワークエンティティエントリのための異なるバージョンのネットワークアドレス情報に戻るまたはそれを取得するために、送信され得る。ネットワークエンティティエントリ６３０の更新または変更は、いくつかの実施形態では、（たとえば、指定有効性期間またはデフォルトの有効性期間を有して）一時的であり得る。更新許可６５０は、いくつかの実施形態では、この場合もやはり一時的な更新または永久的な変更のいずれかとしての変更の再許可であってよい。
【００３３】
図７は、いくつかの実施形態による、トラフィックソースとネットワークトラフィックコントローラとネットワークエンティティレジストリとの間の相互作用を示したブロック図である。ネットワークトラフィックコントローラ７６０は、ネットワークエンティティハンドルを含むネットワークトラフィックポリシーを含む、（図５に関連して上記で説明した）ネットワークトラフィックポリシーを、実施することができる。ネットワークトラフィックコントローラ７６０は、ネットワークトラフィックコントローラ７６０によって実施されるネットワークトラフィックポリシー内に含まれるハンドルに関連するネットワークアドレス情報を、（図６に関連して上記で説明した）ネットワークエンティティレジストリインターフェース６００を介して、ネットワークエンティティレジストリ４４２から受信することができる。（コンピュートインスタンスから外部目的地に出て来るトラフィック、または特定のコンピュートインスタンスのためにインバウンドで受信したトラフィックであり得る）トラフィックソース７５０から受信したネットワークトラフィック７００は、評価され得る。ネットワークエンティティハンドルを含むポリシーは、ネットワークエンティティレジストリ４４２内のネットワークエンティティの現在のエントリのための指定ネットワークアドレス情報を、適用７０４され得る。変更、更新、または修正がネットワークエンティティエントリに発生した場合、更新エントリのためのネットワークアドレス情報は、ネットワークエンティティレジストリ４４２から、ネットワークトラフィックコントローラ７６０に、提供７４０され得る。たとえば、新しいバージョンのエントリが利用可能であるという通知が、コントローラ７６０に送信され得る。コントローラ７６０は、その後、新しいバージョンのエントリのための指定ネットワークアドレス情報を、要求することができる。代替的に、いくつかの実施形態では、コントローラ７６０は、コントローラ７６０で実施されるネットワークポリシー内に含まれるハンドルのための新しいバージョンのエントリについて、レジストリ４４２を、定期的に（または非周期的に）ポーリングすることができる。いくつかの実施形態では、更新ネットワークエンティティエントリのためのネットワークアドレス情報は、更新が行われた時に、ネットワークトラフィックコントローラ７６０にプッシュされ得る。更新ネットワークエンティティエントリに関連するネットワークアドレス情報７４０が提供されると、コントローラ７６０で受信したネットワークトラフィック７２０は、その後、評価され、７２２で示す通り、ネットワークトラフィックポリシーは、更新エントリのための指定ネットワークアドレス情報を適用される。
【００３４】
図４〜図７に関連して上記で説明した、プロバイダネットワークのために実施されるネットワークトラフィックポリシー内に含まれるネットワークエンティティハンドルのためのネットワークエンティティレジストリを実装することの実施例が、プロバイダネットワークによって提供される仮想コンピューティングリソースに関して提供された。さまざまな他の種類または構成のプロバイダネットワークは、これらの手法を実装することができる。たとえば、そのためのセキュリティグループ及びネットワークトラフィックポリシーが実装される他の仮想コンピューティングリソースは、たとえば、ネットワークエンティティレジストリを実装することができる。たとえば、仮想ブロックストレージボリュームは、個々のストレージボリュームに向けられたネットワークトラフィックポリシーを実施することができる。図８は、いくつかの実施形態による、プロバイダネットワークのために実施されるネットワークトラフィックポリシー内に含まれるネットワークエンティティハンドルのためのネットワークエンティティレジストリを実装するための、さまざまな方法と手法とを示したハイレベルフローチャートである。これらの手法を、図４〜図７に関して上記で説明した仮想コンピューティングリソースプロバイダのさまざまな構成要素、または他のプロバイダネットワーク構成要素を使用して、実装することができる。
【００３５】
８１０で示す通り、複数のネットワークエンティティエントリは、ネットワークエンティティレジストリにおいて、保持され得、複数のネットワークエンティティエントリは、それぞれが、プロバイダネットワークトラフィックコントローラにおいて実施されるネットワークトラフィックポリシー内に含まれるネットワークエンティティハンドルのためのネットワークアドレス情報を、プロバイダネットワーク内のアドレス可能要素のために、指定する。上述した通り、アドレス可能要素は、いくつかの実施形態では、プロバイダネットワーク内のコンピューティングリソースまたは他のデバイスであってよく、それは、そのために１つまたは複数のネットワークトラフィックポリシーがネットワークトラフィックコントローラによって実施され得る、ネットワークトラフィックを送受信する。ネットワークエンティティレジストリは、（図３に関して上述した）エントリを保持することができ、エントリは、ＩＰアドレス、ＩＰアドレスの範囲、マスク、及びネットワークエンティティを特定する及び／またはそれと通信するためのさまざまな他の形態のネットワークアドレス情報などの、ネットワークエンティティのためのネットワークアドレス情報を含む。ネットワークエンティティエントリは、また、ハンドル参照またはハンドル識別子などのハンドルを含むことができ、ハンドルは、ネットワークトラフィックポリシーのためのネットワークアドレス情報を指定するネットワークエンティティエントリを示すために、ネットワークトラフィックポリシー内に含まれ得る。いくつかの実施形態では、特定のバージョンのネットワークエンティティエントリを特定するバージョン識別子（たとえば、バージョン番号またはタイムスタンプ）が、保持され得る。いくつかの実施形態では、複数の以前のバージョンのエンティティエントリが、現在のエンティティエントリに加えて保持され得る。
【００３６】
８２０に示す通り、いくつかの実施形態では、特定のネットワークエンティティエントリを更新するための要求が、受信され得る。たとえば、更新要求は、エントリ内のネットワークアドレス情報を変更（たとえば、新しいＩＰアドレスを追加、ＩＰアドレスの範囲を変更、異なるサブネットを追加または新しいサブネットに交換）すること、ネットワークエンティティエントリのための展開情報を（たとえば、ネットワークトラフィックコントローラに）変更すること、またはネットワークエンティティエントリへの他の変更を望み得る。いくつかの実施形態では、さまざまな認証チェックまたはプロトコルを実行することができる。たとえば、要求者の識別を確認することができ、また、更新を実行するための許可を判断することができる。要求を受信したことに応答して、特定のネットワークエンティティエントリは、８３０に示す通り、要求にしたがって更新され得る。
【００３７】
８４０に示す通り、更新ネットワークエントリ内で指定されたネットワークアドレス情報は、プロバイダネットワーク内のネットワークトラフィックコントローラに提供され得、ネットワークトラフィックコントローラは、更新ネットワークエンティティエントリのためのネットワークエンティティハンドルを含むネットワークトラフィックポリシーを、実施する。たとえば、複数のネットワークトラフィック制御ポリシーは、複数のネットワークトラフィックコントローラによって実装され得る。これらのネットワークトラフィックコントローラのサブセットは、更新された特定のネットワークエンティティエントリへのハンドルを含むネットワークトラフィックポリシーを、実施することができる。したがって、指定ネットワークアドレス情報は、さまざまな実施形態では、ネットワークトラフィックコントローラのサブセットのうちのネットワークトラフィックコントローラに提供され得る。ネットワークトラフィック情報は、いくつかの実施形態では、ネットワークトラフィックコントローラに直接提供されないことがある。代わりに、ネットワークトラフィック情報は、中間システムまたはデバイスに提供され得、中間システムまたはデバイスは、最終的に、ネットワークトラフィックコントローラにネットワークトラフィック情報を提供することができる。たとえば、地図サービスまたは他のシステムは、ネットワークエンティティハンドルのためのネットワークアドレス情報を登録し、受信することができ、ネットワークエンティティハンドルを含むポリシーを実施するネットワークトラフィックコントローラを、更新されたエントリのためのネットワークアドレス情報を用いて、更新／提供／送信／再構成することができる。
【００３８】
新しいネットワークエンティティエントリまたはネットワークエンティティエントリに対する更新は、少なくともいくつかの実施形態では、ネットワークアドレス情報をネットワークトラフィックコントローラに提供するために、実行される必要がない。したがって、いくつかの実施形態では、要素８２０及び要素８３０は、実行されないかもしれず、代わりに、所与のネットワークエンティティエントリについて、ネットワークアドレス情報が、エントリを含むネットワークトラフィックポリシーを実施するネットワークトラフィックコントローラのサブセットに、提供され得る。上記または以下に説明するプッシュ型またはプル型などの、ネットワーク情報を提供するためのさまざまな手法も、また、適用され得る。たとえば、異なるネットワークエンティティエントリのためのネットワークアドレス情報は、ネットワークアドレス情報が変更されていない場合でさえも、ネットワークトラフィックコントローラに、定期的に送信され得る。
【００３９】
いくつかの実施形態では、ネットワークエンティティエントリの更新は、一時的であってよい。たとえば、更新要求は、ネットワークエンティティエントリに対する更新の持続時間を指定することができる。エントリのための期間の失効により、いくつかの実施形態では、ネットワークエンティティエントリは、以前のバージョンのエントリに戻ることができる。いくつかのネットワークエンティティエントリは、静的または不変であってよく、したがって、いくつかの実施形態では、更新されないことがある（が、それらは、削除され得、及び／または静的ネットワークハンドルを含むネットワークトラフィックポリシーは、削除され得る）。
【００４０】
ネットワークアドレス情報は、ネットワークトラフィックコントローラに、さまざまな方法で提供され得る。いくつかの実施形態では、更新された特定のネットワークエンティティエントリへのハンドルを含むネットワークトラフィックポリシーを実施するネットワークトラフィックコントローラが、特定され得る。たとえば、ネットワークトラフィックコントローラは、特定のネットワークエンティティハンドルを、ネットワークエンティティレジストリにおいて登録し、またはネットワークエンティティレジストリにおける特定のネットワークエンティティハンドルに対する更新を要求することができる。この登録情報に基づいて、特定のネットワークエンティティエントリのためのネットワークトラフィックコントローラが、特定され得る。いくつかの実施形態では、ネットワークトラフィックエンティティコントローラは、ネットワークエンティティエントリのための新しいバージョンのネットワークアドレス情報を、（たとえば、ポーリング動作の一部として）要求することができる。ネットワークアドレス情報は、また、ネットワークトラフィックコントローラに、展開スケジュールにしたがって提供され得る。たとえば、データセンタＡ内に配置されたコンピュートインスタンスのために実装されたネットワークトラフィックコントローラは、新しいバージョンのためのネットワークアドレス情報を、ネットワークアドレス情報がデータセンタＢ内に配置されたコンピュートインスタンスに提供される２時間前に、提供され得る。いくつかの実施形態では、ランダム化された展開スケジュールを実装して、ネットワークエンティティエントリを更新することによるネットワークの機能停止または他の問題を、ランダムにネットワークトラフィックを妨害し、妨害を取り除くことによって、シミュレーションすることができる。
【００４１】
ネットワークエンティティエントリを、いくつかの実施形態では、作成し、登録し、更新し、または多くの異なるエンティティによって変更することができる。コンピューティングリソースを所有し、制御し、構成し、または管理する、プロバイダネットワークのクライアントまたは他のユーザは、いくつかの実施形態では、セキュリティグループ及び／またはセキュリティグループのためのネットワークトラフィックポリシーと、ネットワークトラフィックポリシー内に含まれるハンドルのためのネットワークエンティティエントリとを、設定または関連させることができる。たとえば、ウェブサービス（たとえば、コンテンツ配信サービス）の開発者またはプロバイダは、複数のコンピュートインスタンスと、ウェブサービスのコンピュートインスタンスに向けられたさまざまな種類のネットワークトラフィックを扱うための付随ネットワークトラフィックポリシーを有する、１つまたは複数のセキュリティグループに関連する異なるインスタンスと、を活用することができる。開発者は、また、第三者（または他のエンティティ）に権限を与えて、ウェブサービスのためのネットワークエンティティエントリを更新または再構成することができる。たとえば、コンテンツ配信サービスが、他のサービスに、そのサイト（たとえば、ソーシャルメディアサービス）に接続すること、またはアップロードすることを許可する場合、コンテンツ配信サービスは、信頼できるソーシャルメディアサービスに権限を与えて、ハンドルへのトラフィックを許可するネットワークトラフィックポリシー内に含まれるネットワークエンティティハンドルによって参照されるネットワークエンティティエントリを、更新することができる。さまざまな認証手法を使用して、ネットワークエンティティエントリオーナーではない（たとえば、関連ネットワークフロー制御ポリシーがポリシーオブジェクトに関連付けられるコンピュートインスタンスのオーナーではない）他のエンティティを、委任及び／または許可することができる。図９は、いくつかの実施形態による、ネットワークエンティティエントリに対する更新の許可を、ネットワークエンティティエントリオーナーから取得するための、さまざまな方法と手法とを示したハイレベルフローチャートである。
【００４２】
９１０に示す通り、ネットワークエンティティエントリオーナーからではないネットワークエンティティエントリに対する更新要求が、受信され得る。さまざまな実施形態では、更新要求は、さまざまな認証資格（たとえば、識別トークン）及び／または許可資格を含むことができる。更新要求は、いくつかの実施形態では、ネットワークエンティティエントリオーナーからではない、これらの資格または他の資格に少なくとも部分的に基づいて、判断され得る。要求は、適用する予定のネットワークエンティティエントリに対する変更（たとえば、追加で許可されたＩＰアドレスまたは異なるＩＰアドレス）を含むことができる。更新要求は、図４に関連して上記で説明したレジストリ４４２などのレジストリにおいて、ネットワークエンティティエントリを登録し、作成し、及び／または変更するためのＡＰＩインターフェースなどのインターフェースにしたがって、フォーマットされ、受信され得る。いくつかの実施形態では、ネットワークエンティティエントリに対する更新は、（図８に関連して上記で説明したさまざまな手法によって述べられるものなどの）ネットワークエンティティエントリのための、ネットワークエンティティハンドルを含むネットワークトラフィックポリシーを実施するネットワークトラフィックコントローラに対して、実行され、提供され得る。更新ネットワークエンティティエントリは、加えて、いくつかの実施形態では、一時的または未承認として記され得る。ネットワークエンティティエントリに対する未承認の変更は、追加的な承認機構を引き起こすことができる。
【００４３】
たとえば、９２０に示す通り、ネットワークエンティティエントリに対する更新の許可は、いくつかの実施形態では、ネットワークエンティティエントリオーナーから要求され得る。上述した通り、ネットワークエンティティエントリを記述するメタデータは、ネットワークエンティティエントリオーナーの識別、望ましい連絡方法、事前に許可または承認されたポリシーオブジェクトに対する更新、またはネットワークエンティティエントリを実装または更新するための便利な他の情報、を含むことができる。許可は、メッセージをセキュリティグループ管理サービスインターフェースを介してポリシーオブジェクトオーナーに送信することによって、要求され得る。たとえば、仮想コンピューティングリソースプロバイダのクライアントとして、ネットワークエンティティエントリオーナーは、コントロールパネルなどのグラフィカルユーザインターフェースへのアクセスを有することができ、それに対して、指示、警告、またはネットワークエンティティエントリオーナーに許可要求について通知する他の方法が、通信され得る。いくつかの実施形態では、望ましい通知方法または連絡方法は、事前に、セキュリティグループ管理サービスに提供され得、それは、電子メール、テキストメッセージ、または電話が、特定のアカウントまたは電話番号に向けられるように示されている、ということを示すことができる。許可要求内に含まれているものは、変更を説明する情報と、ネットワークエンティティエントリを変更するエンティティの識別と、であってよい。許可は、それを介して許可要求が行われたものと同じ通信方法、または異なる通信方法を使用して、提供され得る。いくつかの実施形態では、許可要求は、変更自体への変更、またはネットワークエンティティエントリの実装形態、スケジュール、または実施に対する変更を含むことができる。
【００４４】
要素９３０からの肯定的な退去によって示す通り、許可が取得された場合、いくつかの実施形態では、９４０に示す通り、更新ネットワークエンティティエントリのためのネットワークアドレス情報が、保持され得る。たとえば、いくつかの実施形態では、ネットワークエンティティエントリの変更を永久的にするために、更新ネットワークエンティティエントリを、承認済として記すことができ、または未承認の変更のリストから削除することができる。要素９３０からの否定的な退去によって示す通り、許可が取得されなかった（たとえば、特定の期間内に、または否定的または承認されていない応答が受信された）場合、９５０に示す通り、ネットワークエンティティエントリ内に指定された以前のバージョンのネットワークアドレス情報を実施するという指示が、（たとえば、ネットワークトラフィックコントローラに）提供され得る。
【００４５】
図１０は、いくつかの実施形態による、ネットワークエンティティエントリへのネットワークエンティティハンドルのためのネットワークアドレス情報を受信するネットワークトラフィックコントローラを、ネットワークエンティティレジストリに登録するための、さまざまな方法と手法とを示したハイレベルフローチャートである。１０１０に示す通り、登録要求は、ネットワークエンティティエントリのためのハンドルを含むネットワークトラフィックポリシーを実施するネットワークトラフィックコントローラのためのネットワークエンティティレジストリに、送信され得る。たとえば、登録要求は、更新が実行された時に、更新ネットワークエンティティエントリのための指定ネットワークアドレス情報をネットワークトラフィックコントローラに送信するための要求を含むことによって、（または更新が実行されたことをネットワークトラフィックコントローラに単に通知すること）など、ネットワークエンティティエントリに対する更新を受信するための通知機構または更新機構を指定することができる。示す通り、１０２０では、いくつかの実施形態では、指定ネットワークアドレス情報は、ネットワークトラフィックコントローラにおいて、ネットワークエンティティレジストリから受信され得る。この指定された情報は、いくつかの実施形態では、（場合により、ネットワークエンティティエントリのためのネットワークエンティティハンドルのための以前のバージョンのネットワークアドレス情報と共に）ローカルに格納され得る。１０３０に示す通り、ネットワークトラフィックは、トラフィックコントローラにおいて受信され得、ネットワークエンティティエントリのためのネットワークエンティティハンドルを含むネットワークトラフィックポリシーが、特定され得る。特定されたネットワークトラフィックポリシーを実施して、１０４０に示す通り、ネットワークエンティティハンドルのために受信した指定ネットワークアドレス情報を使用して、ネットワークトラフィックポリシーを実施するようにすることができる（たとえば、ネットワークアドレス情報が、「１２１．１３３．１３０．０１」として特定する「Ｂｏｂ＿ｎｅｔｗｏｒｋ」をブロックまたは許可する）。
【００４６】
上述した通り、いくつかの実施形態では、ネットワークトラフィックコントローラは、更新ネットワークエンティティエントリのためのネットワークアドレス情報を要求することができる。図１１は、いくつかの実施形態による、更新ネットワークエンティティエントリのための指定ネットワークアドレス情報を取得するための、さまざまな方法と手法とを示したハイレベルフローチャートである。１１１０に示す通り、いくつかの実施形態では、ネットワークトラフィックコントローラにおいて実施されるネットワークトラフィックポリシー内に含まれるネットワークエンティティハンドルのための更新ネットワークアドレス情報に対する要求が、ネットワークエンティティレジストリに送信され得る。たとえば、要求は、ネットワークエンティティエントリのバージョン番号を含むことができる。より大きなバージョン番号がネットワークエンティティレジストリにおいて利用可能な場合、更新ネットワークアドレス情報が提供され得る。１１２０からの肯定的な退去によって示す通り、更新ネットワークアドレス情報が提供された場合、１１３０に示す通り、指定ネットワークアドレス情報を使用して、ネットワークエンティティエントリのための、ネットワークエンティティハンドルを含むネットワークトラフィックポリシーを実施することができる。しかしながら、更新が受信されなかった場合、またはネットワークエンティティレジストリからの応答が受信されなかった場合、１１１０に示す通り、更新ネットワークアドレス情報に対する他の要求を送信する前に、１１２２に示す通り、ポーリング期間を経過させることが許され得る。
【００４７】
本開始の実施形態を、以下の条項を考慮して説明することができる。
第１項
プロバイダネットワークを実装する複数のコンピュートノードであって、前記プロバイダネットワークが、複数のネットワークトラフィックコントローラを実装し、前記複数のネットワークトラフィックコントローラの各々が、前記プロバイダネットワーク内の１つまたは複数のアドレス可能要素のための各ネットワークトラフィックポリシーを実施する、複数のコンピュートノードと、
前記複数のネットワークトラフィックコントローラにおいて実施される前記複数のネットワークトラフィックポリシーのうちの各１つまたは複数のネットワークトラフィックポリシー内に含まれるネットワークエンティティハンドルのためのネットワークアドレス情報を、それぞれが指定する、複数のネットワークエンティティエントリを保持することと、
前記複数のネットワークエンティティエントリのうちの特定の１つを更新するための要求を受信することと、
前記要求を受信したことに応答して、
前記特定のネットワークエンティティエントリを、前記更新要求にしたがって更新することであって、前記複数のネットワークトラフィックコントローラのサブセットが、前記特定のネットワークエンティティエントリ内に指定された、前記ネットワークアドレス情報のためのネットワークエンティティハンドルを含むネットワークトラフィックポリシーを実施する、更新することと、
前記更新ネットワークエンティティエントリ内に指定された前記ネットワークアドレス情報を、前記ネットワークエンティティハンドルを含む前記各１つまたは複数のネットワークトラフィックポリシーを実施するネットワークトラフィックコントローラの前記サブセットのうちのネットワークトラフィックコントローラに、前記各１つまたは複数のネットワークトラフィックポリシーを前記更新ネットワークエンティティエントリ内に指定された前記ネットワークアドレス情報に従って実施するために、提供することと、
を行うように構成された、ネットワークエンティティレジストリと、
を備える、システム。
第２項
前記更新ネットワークエンティティエントリ内に指定された前記ネットワークアドレス情報を、前記ネットワークエンティティハンドルを含む前記各１つまたは複数のネットワークトラフィックポリシーを実施するネットワークトラフィックコントローラの前記サブセットのうちのネットワークトラフィックコントローラに、提供するために、前記ネットワークエンティティレジストリが、
要求を、前記ネットワークエンティティハンドルを含む前記各１つまたは複数のネットワークトラフィックポリシーを実施するネットワークトラフィックコントローラの前記サブセットのうちの前記ネットワークトラフィックコントローラの各々から、受信することと、
ネットワークトラフィックコントローラの前記サブセットのうちの前記ネットワークトラフィックコントローラからの各要求に応答して、前記更新ネットワークエンティティエントリの前記ネットワークアドレス情報を、前記要求を行っているネットワークトラフィックコントローラに送信することと、
を行うように構成されている、第１項に記載のシステム。
第３項
前記更新ネットワークエンティティエントリ内に指定された前記ネットワークアドレス情報を、前記ネットワークエンティティハンドルを含む前記各１つまたは複数のネットワークトラフィックポリシーを実施するネットワークトラフィックコントローラの前記サブセットのうちのネットワークトラフィックコントローラに、提供するために、前記ネットワークエンティティレジストリが、
前記ネットワークエンティティハンドルを含む前記各１つまたは複数のネットワークトラフィックポリシーを実施するネットワークトラフィックコントローラの前記サブセットのうちの前記ネットワークトラフィックコントローラの各々を特定することと、
前記更新ネットワークエンティティエントリの前記ネットワークアドレス情報を、ネットワークトラフィックコントローラの前記サブセットのうちの前記特定されたネットワークトラフィックコントローラに、送信することと、
を行うように構成されている、第１項に記載のシステム。
第４項
前記プロバイダネットワークが、仮想コンピューティングリソースプロバイダであり、前記プロバイダネットワーク内の前記アドレス可能要素が、コンピュートインスタンスであり、前記ネットワークトラフィックコントローラが、それぞれ、それらのために前記ネットワークトラフィックコントローラが各ネットワークトラフィックポリシーを実施する、前記１つまたは複数のコンピュートインスタンスもまた実装する異なる仮想化ホスト上に実装され、前記各ネットワークトラフィックポリシーの各々が、複数のセキュリティグループのうちの特定のセキュリティグループのメンバのために実施され、前記１つまたは複数のコンピュートインスタンスが、前記複数のセキュリティグループのうちの１つまたは複数のセキュリティグループのメンバである、第１項に記載のシステム。
第５項
１つまたは複数のコンピューティングデバイスによって、
ネットワークエンティティレジストリにおいて、複数のネットワークトラフィックコントローラにおいて実施される各１つまたは複数のネットワークトラフィックポリシー内に含まれるネットワークエンティティハンドルのためのネットワークアドレス情報をそれぞれが指定する、複数のネットワークエンティティエントリを保持することであって、前記複数のネットワークトラフィックコントローラの各々が、プロバイダネットワーク内の１つまたは複数のアドレス可能要素のための各ネットワークトラフィックポリシーを実施する、保持することと、
所与のネットワークエンティティエントリについて、前記所与のネットワークエンティティエントリ内に指定された前記ネットワークアドレス情報を、前記ネットワークエンティティハンドルを含むネットワークトラフィックポリシーを実施するネットワークトラフィックコントローラのサブセットのうちのネットワークトラフィックコントローラに、前記ネットワークトラフィックポリシーを前記所与のネットワークエンティティエントリ内に指定された前記ネットワークアドレス情報にしたがって実施するために、提供することと、
を実行すること、
を備える、方法。
第６項
前記所与のネットワークエンティティエントリ内に指定された前記ネットワークアドレス情報を、ネットワークトラフィックコントローラの前記サブセットのうちの前記ネットワークトラフィックコントローラに、前記提供することが、
要求を、前記ネットワークエンティティハンドルを含む前記各１つまたは複数のネットワークトラフィックポリシーを実施するネットワークトラフィックコントローラの前記サブセットのうちの前記ネットワークトラフィックコントローラの各々から、受信することと、
ネットワークトラフィックコントローラの前記サブセットのうちの前記ネットワークトラフィックコントローラからの各要求に応答して、前記所与のネットワークエンティティエントリの前記ネットワークアドレス情報を、前記要求を行っているネットワークトラフィックコントローラに送信することと、
を備える、第５項に記載の方法。
第７項
前記所与のネットワークエンティティエントリ内に指定された前記ネットワークアドレス情報を、ネットワークトラフィックコントローラの前記サブセットのうちの前記ネットワークトラフィックコントローラに、前記提供することが、
前記ネットワークエンティティハンドルを含む前記各１つまたは複数のネットワークトラフィックポリシーを実施するネットワークトラフィックコントローラの前記サブセットのうちの前記ネットワークトラフィックコントローラの各々を、特定することと、
前記所与のネットワークエンティティエントリの前記ネットワークアドレス情報を、ネットワークトラフィックコントローラの前記サブセットのうちの前記特定されたネットワークトラフィックコントローラに、送信することと、
を備える、第５項に記載の方法。
第８項
前記所与のネットワークエンティティエントリ内に指定された前記ネットワークアドレス情報を、ネットワークトラフィックコントローラの前記サブセットのうちの前記ネットワークトラフィックコントローラに、前記提供することが、前記更新ネットワークエンティティエントリのための展開スケジュールにしたがって実行されて、前記ネットワークエンティティハンドルを含む前記ネットワークトラフィックポリシーが、前記プロバイダネットワーク内の前記１つまたは複数のアドレス可能要素のうちの少なくとも１つのアドレス可能要素のために、前記プロバイダネットワーク内の前記１つまたは複数のアドレス可能要素のうちの他のアドレス可能要素とは異なる時間において、実施されるようにする、第５項に記載の方法。
第９項
前記所与のネットワークエンティティエントリを更新するための要求を受信することと、
前記要求を受信したことに応答して、
前記所与のネットワークエンティティエントリを、前記更新要求にしたがって更新することと、
前記所与のネットワークエンティティエントリ内に指定された前記ネットワークアドレス情報を、ネットワークトラフィックコントローラの前記サブセットのうちの前記ネットワークトラフィックコントローラに、前記提供することを実行することと、
をさらに備える、第５項に記載の方法。
第１０項
前記所与のネットワークエンティティエントリを更新するための前記要求が、前記所与のネットワークエンティティエントリのネットワークエンティティエントリオーナーから受信されず、
前記要求を受信したことに応答して、
前記ネットワークエンティティエントリオーナーからの、前記所与のネットワークエンティティエントリに対する前記更新の許可を要求することと、
前記所与のネットワークエンティティエントリに対する前記更新のための許可を、前記ネットワークエンティティエントリオーナーから取得したことに応答して、前記所与のネットワークエンティティエントリを前記更新することと、前記所与のネットワークエンティティエントリ内に指定された前記ネットワークアドレス情報を前記提供することと、を実行することと、
をさらに備える、第９項に記載の方法。
第１１項
前記所与のネットワークエンティティエントリを更新するための前記要求が、前記所与のネットワークエンティティエントリのネットワークエンティティエントリオーナーから受信されず、
前記要求を受信したことに応答して、
前記ネットワークエンティティオブジェクトエントリからの、前記所与のネットワークエンティティエントリに対する前記更新の許可を、要求することと、
前記所与のネットワークエンティティエントリに対する前記更新のための許可を、前記ネットワークエンティティエントリオーナーから取得できなかったことに応答して、前記ネットワークエンティティハンドルを含む前記ネットワークトラフィックポリシーを実施するネットワークトラフィックコントローラの前記サブセットのうちの前記ネットワークトラフィックコントローラに、前記ネットワークエンティティハンドルのための以前のネットワークアドレス情報を実施することを指示することと、
をさらに備える、第９項に記載の方法。
第１２項
前記複数のネットワークエンティティエントリのうちの他のネットワークエンティティエントリを更新するための要求を受信することであって、前記他のエンティティネットワークエンティティエントリが、静的ネットワークエンティティエントリとして保持される、受信することと、
前記静的ネットワークエンティティエントリに対する前記更新要求を受信したことに応答して、前記更新要求を拒否することと、
をさらに備える、第５項に記載の方法。
第１３項
前記プロバイダネットワークが、仮想コンピューティングリソースプロバイダであり、前記プロバイダネットワーク内の前記アドレス可能要素が、コンピュートインスタンスであり、前記ネットワークトラフィックコントローラが、それぞれ、それらのために前記ネットワークトラフィックコントローラが各ネットワークトラフィックポリシーを実施する、前記１つまたは複数のコンピュートインスタンスもまた実装する異なる仮想化ホスト上に実装され、前記各ネットワークトラフィックポリシーの各々が、複数のセキュリティグループのうちの特定のセキュリティグループのメンバのために実施され、前記１つまたは複数のコンピュートインスタンスが、前記複数のセキュリティグループのうちの１つまたは複数のセキュリティグループのメンバである、第５項に記載の方法。
第１４項
１つまたは複数のコンピューティングデバイスによって実行されると、前記１つまたは複数のコンピューティングデバイスに、
ネットワークエンティティレジストリにおいて、複数のネットワークトラフィックコントローラにおいて実施される各１つまたは複数のネットワークトラフィックポリシー内に含まれるネットワークエンティティハンドルのためのネットワークアドレス情報をそれぞれが指定する複数のネットワークエンティティエントリを保持することであって、前記複数のネットワークトラフィックコントローラの各々が、プロバイダネットワーク内の１つまたは複数のアドレス可能要素のための各ネットワークトラフィックポリシーを実施する、保持することと、
前記複数のネットワークエンティティエントリのうちの特定の１つを更新するための要求を受信することと、
前記要求を受信したことに応答して、
前記特定のネットワークエンティティエントリを、前記更新要求にしたがって更新することであって、前記複数のネットワークトラフィックコントローラのサブセットが、前記特定のネットワークエンティティエントリ内に指定された前記ネットワークアドレス情報のための、ネットワークエンティティハンドルを含むネットワークトラフィックポリシーを実施する、更新することと、
前記更新ネットワークエンティティエントリ内に指定された前記ネットワークアドレス情報を、前記ネットワークエンティティハンドルを含む前記各１つまたは複数のネットワークトラフィックポリシーを実施するネットワークトラフィックコントローラの前記サブセットのうちのネットワークトラフィックコントローラに、前記各１つまたは複数のネットワークトラフィックポリシーを前記更新ネットワークエンティティエントリ内に指定された前記ネットワークアドレス情報にしたがって実施するために、提供することと、
を実装することを行わせるプログラム命令を格納する、非一時的な、コンピュータ可読ストレージ媒体。
第１５項
前記更新ネットワークエンティティエントリ内に指定された前記ネットワークアドレス情報を、前記ネットワークエンティティハンドルを含む前記各１つまたは複数のネットワークトラフィックポリシーを実施するネットワークトラフィックコントローラの前記サブセットのうちの前記ネットワークトラフィックコントローラに、前記提供することにおいて、前記プログラム命令が、前記１つまたは複数のコンピューティングデバイスに、
要求を、前記ネットワークエンティティハンドルを含む前記各１つまたは複数のネットワークトラフィックポリシーを実施するネットワークトラフィックコントローラの前記サブセットのうちの前記ネットワークトラフィックコントローラの各々から、受信することと、
ネットワークトラフィックコントローラの前記サブセットのうちの前記ネットワークトラフィックコントローラからの各要求に応答して、前記更新ネットワークエンティティエントリの前記ネットワークアドレス情報を、前記要求を行っているネットワークトラフィックコントローラに、送信することと、
を実装することをさらに行わせる、第１４項に記載の非一時的な，コンピュータ可読ストレージ媒体。
第１６項
前記更新ネットワークエンティティエントリ内に指定された前記ネットワークアドレス情報を、前記ネットワークエンティティハンドルを含む前記各１つまたは複数のネットワークトラフィックポリシーを実施するネットワークトラフィックコントローラの前記サブセットのうちの前記ネットワークトラフィックコントローラに、前記提供することにおいて、前記プログラム命令が、前記１つまたは複数のコンピューティングデバイスに、
前記ネットワークエンティティハンドルを含む前記各１つまたは複数のネットワークトラフィックポリシーを実施するネットワークトラフィックコントローラの前記サブセットのうちの前記ネットワークトラフィックコントローラの各々を、特定することと、
前記更新ネットワークエンティティエントリの前記ネットワークアドレス情報を、ネットワークトラフィックコントローラの前記サブセットのうちの前記特定されたネットワークトラフィックコントローラに、送信することと、
を実装することをさらに行わせる、第１４項に記載の非一時的な、コンピュータ可読ストレージ媒体。
第１７項
前記プログラム命令が、前記１つまたは複数のコンピューティングデバイスに、
前記ネットワークトラフィックコントローラを前記特定することを実行する前に、登録要求を、前記ネットワークエンティティハンドルを含む前記各１つまたは複数のネットワークトラフィックポリシーを実施するネットワークトラフィックコントローラの前記サブセットのうちの前記ネットワークトラフィックコントローラから、受信すること、
を実装することをさらに行わせ、
前記ネットワークトラフィックコントローラを前記特定することが、前記登録要求に、少なくとも部分的に基づいている、
第１６項に記載の非一時的な，コンピュータ可読ストレージ媒体。
第１８項
前記特定のネットワークエンティティオブジェクトの前記更新バージョンが、前記特定のネットワークエンティティオブジェクトの仮のバージョンであり、前記プログラム命令が、前記１つまたは複数のコンピューティングデバイスに、
前記特定のネットワークエンティティオブジェクトの前記仮のバージョンのための期間の失効により、前記ネットワークエンティティオブジェクトの前記更新バージョンによって記述された、前記各１つまたは複数のネットワークトラフィックポリシーに関連する前記１つまたは複数のネットワークトラフィック制御に、前記ネットワークエンティティオブジェクトの以前のバージョンを実施することを示すこと、
を実装することを行わせる、第１４項に記載の非一時的な、コンピュータ可読ストレージ媒体。
第１９項
前記特定のネットワークエンティティオブジェクトを更新するための前記要求が、前記特定のネットワークエンティティオブジェクトのネットワークエンティティオブジェクトオーナーから受信されず、前記プログラム命令が、前記１つまたは複数のコンピューティングデバイスに、
前記要求を受信したことに応答して、
前記ネットワークエンティティオブジェクトオーナーからの、前記特定のネットワークエンティティオブジェクトに対する前記更新の許可を、要求することと、
前記特定のネットワークエンティティオブジェクトに対する前記更新のための許可を、前記ネットワークエンティティオブジェクトオーナーから取得したことに応答して、前記特定のネットワークエンティティオブジェクトの前記更新バージョンを前記作成することと、前記ネットワークエンティティオブジェクトの前記更新バージョンを前記提供することと、を実行することと、
を実装することをさらに行わせる、第１４項に記載の非一時的な、コンピュータ可読ストレージ媒体。
第２０項
前記プロバイダネットワークが、仮想コンピューティングリソースプロバイダであり、前記プロバイダネットワーク内の前記アドレス可能要素が、コンピュートインスタンスであり、前記ネットワークトラフィックコントローラが、それぞれ、それらのために前記ネットワークトラフィックコントローラが各ネットワークトラフィックポリシーを実施する、前記１つまたは複数のコンピュートインスタンスもまた実装する異なる仮想化ホスト上に実装され、前記各ネットワークトラフィックポリシーの各々が、複数のセキュリティグループのうちの特定のセキュリティグループのメンバのために実施され、前記１つまたは複数のコンピュートインスタンスが、前記複数のセキュリティグループのうちの１つまたは複数のセキュリティグループのメンバである、第１４項に記載の非一時的な、コンピュータ可読ストレージ媒体。
【００４８】
本明細書で説明した方法は、さまざまな実施形態では、ハードウェアとソフトウェアとの任意の組み合わせによって実装され得る。たとえば、一実施形態では、方法を、プロセッサに連結されたコンピュータ可読ストレージ媒体上に格納されたプログラム命令を実行する１つまたは複数のプロセッサを含むコンピュータシステム（たとえば、図１２のコンピュータシステム）によって、実装することができる。プログラム命令は、本明細書で説明する機能（たとえば、本明細書で説明する仮想コンピューティングリソースプロバイダを実装する、さまざまなサーバと他の構成要素との機能）を実装するように構成され得る。図に例示し、本明細書で説明したさまざまな方法は、方法の例示的な実施形態を表すものである。任意の方法の順序を変更することができ、さまざまな要素を、追加し、順番を変更し、組み合わせ、省略し、変更すること、などができる。
【００４９】
本明細書で説明した、仮想コンピューティングリソースのためのセキュリティグループポリシーを動的に更新するためのセキュリティグループ管理の実施形態を、さまざまな他のデバイスと相互作用することができる、１つまたは複数のコンピュータシステム上で実行することができる。図１２は、さまざまな実施形態による、例示的なコンピュータシステムを示したブロック図である。たとえば、コンピュータシステム２０００は、異なる実施形態では、コンピュートクラスタのノード、分散キー値データストア、及び／またはクライアントを実装するように構成され得る。コンピュータシステム２０００は、さまざまな種類のデバイスのうちの任意のものであってよく、それには、パーソナルコンピュータシステム、デスクトップコンピュータ、ラップトップコンピュータまたはノートパソコン、メインフレームコンピュータシステム、携帯型コンピュータ、ワークステーション、ネットワークコンピュータ、消費者デバイス、アプリケーションサーバ、ストレージデバイス、電話、携帯電話、または一般的な任意の種類のコンピューティングデバイスが含まれるが、これらに限定されない。
【００５０】
コンピュータシステム２０００は、システムメモリ２０２０に入力／出力（Ｉ／Ｏ）インターフェース２０３０を介して連結された、１つまたは複数のプロセッサ２０１０（それらのうちの任意のものは、シングルスレッドまたはマルチスレッドであり得る、複数のコアを含むことができる）を含む。コンピュータシステム２０００は、さらに、Ｉ／Ｏインターフェース２０３０に連結されたネットワークインターフェース２０４０を含む。さまざまな実施形態では、コンピュータシステム２０００は、１つのプロセッサ２０１０を含む単一プロセッサシステム、またはいくつかのプロセッサ２０１０（たとえば、２つ、４つ、８つ、または他の適切な数）を含むマルチプロセッサシステムであってよい。プロセッサ２０１０は、命令を実行することができる、任意の適切なプロセッサであってよい。たとえば、さまざまな実施形態では、プロセッサ２０１０は、ｘ８６、ＰｏｗｅｒＰＣ、ＳＰＡＲＣ、またはＭＩＰＳ  ＩＳＡ、または任意の他の適切なＩＳＡなどの、さまざまな命令セットアーキテクチャ（ＩＳＡ）のうちの任意のものを実装する、汎用プロセッサまたは組込みプロセッサであってよい。マルチプロセッサシステムでは、プロセッサ２０１０の各々は、通常、しかし必ずしもでないが、同じＩＳＡを実装することができる。コンピュータシステム２０００は、また、他のシステム及び／または構成要素との、通信ネットワーク（たとえば、インターネット、ＬＡＮ、など）を介した通信のための、１つまたは複数のネットワーク通信デバイス（たとえば、ネットワークインターフェース２０４０）を含む。たとえば、システム２０００上で動いているクライアントアプリケーションは、ネットワークインターフェース２０４０を使用して、本明細書で説明した、データウェアハウスシステムの構成要素のうちの１つまたは複数のものを実装する、単一サーバ上またはサーバのクラスタ上で動いているサーバアプリケーションと通信することができる。他の実施例では、コンピュータシステム２０００上で動いているサーバアプリケーションのインスタンスは、ネットワークインターフェース２０４０を使用して、他のコンピュータシステム（たとえば、コンピュータシステム２０９０）上に実装され得るサーバアプリケーション（または他のサーバアプリケーション）の他のインスタンスと通信することができる。
【００５１】
例示の実施形態では、コンピュータシステム２０００は、また、１つまたは複数の永久ストレージデバイス２０６０、及び／または１つまたは複数のＩ／Ｏデバイス２０８０を含む。さまざまな実施形態では、永久ストレージデバイス２０６０は、ディスクドライブ、テープドライブ、半導体メモリ、他のマスストレージデバイス、または任意の他の永久ストレージデバイスに対応することができる。コンピュータシステム２０００（または分散アプリケーションまたはその上で動いているオペレーティングシステム）は、命令及び／またはデータを、要望に応じて、永久ストレージデバイス２０６０内に格納することができ、格納された命令及び／またはデータを、必要に応じて、取り出すことができる。たとえば、いくつかの実施形態では、コンピュータシステム２０００は、ストレージシステムサーバノードをホストすることができ、永久ストレージ２０６０は、そのサーバノードに取り付けられたＳＳＤを含むことができる。
【００５２】
コンピュータシステム２０００は、プロセッサ（複数可）２０１０によってアクセス可能な命令とデータとを格納するように構成された、１つまたは複数のシステムメモリ２０２０を含む。さまざまな実施形態では、システムメモリ２０２０は、任意の適切なメモリ技術（たとえば、キャッシュ、静的ランダムアクセスメモリ（ＳＲＡＭ）、ＤＲＡＭ、ＲＤＲＡＭ、ＥＤＯ  ＲＡＭ、ＤＤＲ  １０  ＲＡＭ、同時性ダイナミックＲＡＭ（ＳＤＲＡＭ）、Ｒａｍｂｕｓ  ＲＡＭ、ＥＥＰＲＯＭ、非揮発性／フラッシュ型メモリ、または任意の他の種類のメモリのうちの１つまたは複数）を使用して、実装され得る。システムメモリ２０２０は、本明細書で説明する方法と手法とを実装するために、プロセッサ（複数可）２０１０によって実行可能なプログラム命令２０２５を含むことができる。さまざまな実施形態では、プログラム命令２０２５は、プラットフォーム固有のバイナリ、Ｊａｖａ（商標）のバイトコードなどの任意のインタープリタ型言語、またはＣ／Ｃ＋＋、Ｊａｖａ（商標）、などの任意の他の言語で、またはこれらの任意の組み合わせで、符号化され得る。たとえば、例示の実施形態では、プログラム命令２０２５は、異なる実施形態では、仮想コンピューティングリソースプロバイダネットワークの機能を実装するために実行可能なプログラム命令を含む。いくつかの実施形態では、プログラム命令２０２５は、複数の別々のクライアント、サーバノード、及び／または他の構成要素を実装することができる。
【００５３】
いくつかの実施形態では、プログラム命令２０２５は、（図示しない）オペレーティングシステムを実装するために実行可能な命令を含むことができ、オペレーティングシステムは、ＵＮＩＸ（登録商標）、ＬＩＮＵＸ、Ｓｏｌａｒｉｓ（商標）、ＭａｃＯＳ（商標）、Ｗｉｎｄｏｗｓ（商標）、などの、さまざまなオペレーティングシステムのうちの任意のものであってよい。プログラム命令２０２５のうちの任意のもの、または全部は、その上に格納した命令を有する非一時的なコンピュータ可読ストレージ媒体を含むことができる、コンピュータプログラム製品またはソフトウェアとして提供され得、命令を使用して、プロセスをさまざまな実施形態にしたがって実行するための、コンピュータシステム（または他の電子デバイス）をプログラムすることができる。非一時的なコンピュータ可読ストレージ媒体は、マシン（たとえば、コンピュータ）によって可読な形態の情報（たとえば、ソフトウェア、処理アプリケーション）を格納するための任意の機構を含むことができる。一般的に言えば、非一時的なコンピュータアクセス可能媒体は、磁気媒体または光媒体、たとえば、コンピュータシステム２０００にＩ／Ｏインターフェース２０３０を介して連結されたディスクまたはＤＶＤ／ＣＤ−ＲＯＭなどの、コンピュータ可読ストレージメディアまたはメモリメディアを含むことができる。非一時的なコンピュータ可読ストレージ媒体は、また、コンピュータシステム２０００のいくつかの実施形態では、システムメモリ２０２０または他の種類のメモリとして含まれ得る、ＲＡＭ（たとえば、ＳＤＲＡＭ、ＤＤＲ  ＳＤＲＡＭ、ＲＤＲＡＭ、ＳＲＡＭ、など）、ＲＯＭ、などの、任意の揮発性メディアまたは非揮発性メディアを含むことができる。他の実施形態では、プログラム命令は、ネットワークインターフェース２０４０を介して実装され得るものなど、ネットワーク及び／または無線リンクなどの通信媒体を介して伝達される、光、音、または他の形態の伝播信号（たとえば、搬送波、赤外線信号、デジタル信号、など）を使用して通信され得る。
【００５４】
いくつかの実施形態では、システムメモリ２０２０は、本明細書で説明した通りに構成され得るデータストア２０４５を含むことができる。一般に、システムメモリ２０２０（たとえば、システムメモリ２０２０内のデータストア２０４５）、永久ストレージ２０６０、及び／または遠隔ストレージ２０７０は、データブロック、データブロックの複製、データブロック及び／またはそれらの状態に関連するメタデータ、構成情報、及び／または本明細書で説明した方法と手法とを実装する際に使用可能な任意の他の情報を、格納することができる。
【００５５】
一実施形態では、Ｉ／Ｏインターフェース２０３０は、ネットワークインターフェース２０４０または他の周辺インターフェースを通るものを含む、システム内のプロセッサ２０１０とシステムメモリ２０２０と任意の周辺デバイスとの間のＩ／Ｏトラフィックを調整するように構成され得る。いくつかの実施形態では、Ｉ／Ｏインターフェース２０３０は、任意の必要なプロトコルデータ、タイミングデータ、または他のデータの変換を実行して、１つの構成要素（たとえば、システムメモリ２０２０）からのデータ信号を、他の構成要素（たとえば、プロセッサ２０１０）による使用に適切な形式に変換することができる。いくつかの実施形態では、Ｉ／Ｏインターフェース２０３０は、たとえば、Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ（ＰＣＩ）バス規格、またはＵｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ  （ＵＳＢ）規格の異形などの、さまざまな種類の周辺バスを通して取り付けられたデバイスのためのサポートを含むことができる。いくつかの実施形態では、Ｉ／Ｏインターフェース２０３０の機能を、たとえば、北ブリッジと南ブリッジなどの、２つ以上の別々の構成要素に分けることができる。また、いくつかの実施形態では、システムメモリ２０２０へのインターフェースなどのＩ／Ｏインターフェース２０３０の機能の一部または全部を、プロセッサ２０１０内に直接組み込むことができる。
【００５６】
ネットワークインターフェース２０４０は、データを、コンピュータシステム２０００と、たとえば、（１つまたは複数のストレージシステムサーバノード、データベースエンジンヘッドノード、及び／または本明細書で説明したデータベースシステムのクライアントを実装することができる）他のコンピュータシステム２０９０などの、ネットワークに繋がっている他のデバイスと、の間で交換することを可能にするように構成され得る。加えて、ネットワークインターフェース２０４０は、コンピュータシステム２０００と、さまざまなＩ／Ｏデバイス２０５０及び／または遠隔ストレージ２０７０と、の間の通信を可能にするように構成され得る。入力／出力デバイス２０５０は、いくつかの実施形態では、１つまたは複数の、ディスプレイ端末、キーボード、キーパッド、タッチパッド、スキャンデバイス、音声または光学的認識デバイス、または１つまたは複数のコンピュータシステム２０００によるデータの入力または取り出しに適切な任意の他のデバイス、を含むことができる。複数の入力／出力デバイス２０５０は、コンピュータシステム２０００内に存在することができ、またはコンピュータシステム２０００を含む分散システムのさまざまなノード上に分散され得る。いくつかの実施形態では、同様の入力／出力デバイスは、コンピュータシステム２０００とは別であってよく、コンピュータシステム２０００を含む分散システムの１つまたは複数のノードと、ネットワークインターフェース２０４０を介してなど、有線通信または無線通信を通して相互作用することができる。ネットワークインターフェース２０４０は、一般に、１つまたは複数の無線ネットワーキングプロトコル（たとえば、Ｗｉ−Ｆｉ／ＩＥＥＥ  ８０２．１１、または他の無線ネットワーキング規格）をサポートすることができる。しかしながら、さまざまな実施形態では、ネットワークインターフェース２０４０は、通信を、たとえば、他の種類のイーサネット（登録商標）ネットワークなどの任意の適切な有線または無線の一般データネットワークを介して、サポートすることができる。加えて、ネットワークインターフェース２０４０は、通信を、アナログ音声ネットワークまたはデジタルファイバ通信ネットワークなどの電気通信ネットワーク／電話通信ネットワークを介して、またはファイバチャネルＳＡＮなどのストレージエリアネットワークを介して、または任意の他の適切な種類のネットワーク及び／またはプロトコルを介して、サポートすることができる。さまざまな実施形態では、コンピュータシステム２０００は、図１２に例示したものよりも多い、少ない、またはそれとは異なる構成要素（たとえば、ディスプレイ、ビデオカード、オーディオカード、周辺デバイス、ＡＴＭインターフェースなどの他のネットワークインターフェース、イーサネットインターフェース、フレームリレーインターフェース、など）を含むことができる。
【００５７】
本明細書で説明した分散システム実施形態のうちの任意のもの、またはそれらの構成要素のうちの任意のものは、１つまたは複数のネットワークベースのサービスとして実装され得る、ということに留意する。たとえば、コンピューティングサービス内のコンピュートクラスタは、コンピューティングサービス及び／または本明細書で説明した分散コンピューティングシステムを用いる他の種類のサービスを、クライアントに、ネットワークベースのサービスとして提示することができる。いくつかの実施形態では、ネットワークベースのサービスは、相互運用可能なマシン同士のネットワークを介した相互作用をサポートするように設計されたソフトウェアシステム及び／またはハードウェアシステムによって、実装され得る。ネットワークベースのサービスは、Ｗｅｂ  Ｓｅｒｖｉｃｅｓ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ（ＷＳＤＬ）などのマシン処理可能な形式で記述されたインターフェースを有することができる。他のシステムは、ネットワークベースのサービスと、ネットワークベースのサービスのインターフェースの記述によって指示される方法で、相互作用し得る。たとえば、ネットワークベースのサービスは、他のシステムが引き起こすことができるさまざまな動作を定義することができ、他のシステムがさまざまな動作を要求する時に従うことを期待され得る、特定のアプリケーションプログラミングインターフェース（ＡＰＩ）を定義することができる。
【００５８】
さまざまな実施形態では、ネットワークベースのサービスは、ネットワークベースのサービス要求に関連するパラメータ及び／またはデータを含むメッセージの使用を通して、要求または引き起こされ得る。そのようなメッセージは、拡張マークアップ言語（ＸＭＬ）などの特定のマークアップ言語にしたがってフォーマットされ得、及び／またはシンプルオブジェクトアクセスプロトコル（ＳＯＡＰ）などのプロトコルを使用してカプセル化され得る。ネットワークベースのサービス要求を実行するために、ネットワークベースのサービスのクライアントは、要求を含むメッセージを作り、メッセージを、ネットワークベースのサービスに対応するアドレス可能なエンドポイント（たとえば、統一資源位置指定子（ＵＲＬ））に、ハイパーテキスト転送プロトコル（ＨＴＴＰ）などのインターネットベースのアプリケーション層転送プロトコルを使用して、伝えることができる。
【００５９】
いくつかの実施形態では、ネットワークベースのサービスは、メッセージベースの手法よりも、Ｒｅｐｒｅｓｅｎｔａｔｉｏｎａｌ  Ｓｔａｔｅ  Ｔｒａｎｓｆｅｒ（ＲＥＳＴｆｕｌ）手法を使用して、実装され得る。たとえば、ＲＥＳＴｆｕｌ手法にしたがって実装されたネットワークベースのサービスは、ＳＯＡＰメッセージ内にカプセル化されたものではなく、ＰＵＴ、ＧＥＴ、またはＤＥＬＥＴＥなどのＨＴＴＰ方法内に含まれるパラメータを通して引き起こされ得る。
【００６０】
上記の実施形態を相当詳細に説明したが、いったん上記の開示を完全に理解すれば当業者に明らかになる通り、多数の変形と修正とを行うことができる。以下の特許請求の範囲は、すべてのそのような修正と変更とを包含するように解釈され、したがって、上記の説明は、制約的な意味ではなく、例示とみなされることが意図されている。
【図１】
0006314236.tif 000002
【図２】
0006314236.tif 000003
【図３】
0006314236.tif 000004
【図４】
0006314236.tif 000005
【図５】
0006314236.tif 000006
【図６】
0006314236.tif 000007
【図７】
0006314236.tif 000008
【図８】
0006314236.tif 000009
【図９】
0006314236.tif 000010
【図１０】
0006314236.tif 000011
【図１１】
0006314236.tif 000012
【図１２】
0006314236.tif 000013