(57)【要約】      （修正有）【課題】大規模な分散コンピューティングシステムにおいては、生成されたログ情報の収集、分析を複雑にする場合がある。【解決手段】コンピューティングリソースサービスプロバイダがマルチテナント環境の顧客に提供するコンピューティングリソースは、一定の情報が、顧客１０２に提供されるコンピューティングリソースに到達しないように、ファイアウォールまたは他のセキュリティ装置の背後にある。ログエンティティは、コンピューティングリソースサービスプロバイダが運営するコンピュータサーバで実施される。ログエンティティは、ファイアウォールまたは他のセキュリティ装置からログ情報を取得し、そのログ情報に顧客がアクセスできるようにログ情報を記憶する。さらに、ログ情報は、メトリクスサービスまたは侵入検出サービス等の他のサービスに提供される。【選択図】図１
2020114016.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティングリソースサービスプロバイダによりホストされる仮想ネットワーク内に複数の仮想マシンインスタンスをプロビジョニングする段階であって、前記複数の仮想マシンインスタンスは、前記コンピューティングリソースサービスプロバイダの顧客と関連付けられる、段階と、
前記顧客よる第１のアプリケーションプログラミングインタフェース（ＡＰＩ）要求に少なくとも部分的に基づいて、前記複数の仮想マシンインスタンスのサブセットを前記仮想ネットワークのサブネットと関連付ける段階と、
前記サブネットの前記複数の仮想マシンインスタンスのそれぞれから出る発信インターネットプロトコル（ＩＰ）トラフィックについての情報を捕捉することにより前記サブネットに対する発信ネットワークトラフィックのログを取る段階と、
前記顧客により提出される第２のＡＰＩ要求により生成されるセキュリティポリシに少なくとも部分的に基づいて、前記サブネットの前記複数の仮想マシンインスタンスのそれぞれへの着信ＩＰトラフィックをファイアウォールによりフィルタリングする段階と、
前記発信ＩＰトラフィックの前記ログ、及び、前記着信ＩＰトラフィックの前記フィルタリングに少なくとも部分的に基づいて、前記サブネットの前記複数の仮想マシンインスタンスのそれぞれと関連付けられるネットワークログ情報を取得する段階であって、前記ネットワークログ情報は、タイムスタンプ、送信元ＩＰアドレス及び宛先ＩＰアドレスを少なくとも含む、段階と、
前記顧客へアクセス可能な宛先に前記ネットワークログ情報をエクスポートする段階と
を備えるコンピュータ実施方法。
【請求項２】
前記顧客にアクセス可能な前記宛先に前記ネットワークログ情報をエクスポートする段階は、前記ネットワークログ情報からログエントリのコピーをエクスポートする段階であって、前記顧客により提出される第３のＡＰＩ要求は、前記ネットワークログ情報からどのログエントリを選択するか、及び、どの宛先にエクスポートするかを示す、段階を含む、請求項１に記載のコンピュータ実施方法。
【請求項３】
前記サブネットの前記複数の仮想マシンインスタンスのそれぞれからの発信ネットワークトラフィックを取得することが前記セキュリティポリシに反するか否かに関わらず、前記サブネットの前記複数の仮想マシンインスタンスのそれぞれからネットワークログ情報を取得する段階をさらに備える、請求項１又は２に記載のコンピュータ実施方法。
【請求項４】
複数の仮想マシンインスタンスを有する仮想サービスの顧客からアプリケーションプログラミングインタフェース（ＡＰＩ）要求を受信して、前記複数の仮想マシンインスタンスを有する仮想ネットワークを作成する段階であって、前記ＡＰＩ要求は、前記仮想ネットワークの名前を含む、段階と、
複数のファイアウォールポリシーを適用して、前記仮想ネットワークの前記複数の仮想マシンインスタンス間のトラフィックを許可又は拒否する段階と、
前記顧客により提出される第２のＡＰＩ要求に少なくとも部分的に基づいて、前記仮想ネットワークのサブネットに対するネットワークフローログを有効にする段階であって、前記サブネットは、前記複数の仮想マシンインスタンスのサブセットを含み、前記ネットワークフローログは、前記複数の仮想マシンインスタンスの前記サブセットから収集されたデータを含む、段階と、
前記サブセットのうちの少なくとも１つの仮想マシンインスタンスからのトラフィック及び前記サブセットのうちの前記少なくとも１つの仮想マシンインスタンスに向けられた少なくともいくつかのトラフィックに対応するネットワークログ情報を取得する段階と、
前記ネットワークログ情報を前記顧客にエクスポートする段階であって、前記ネットワークログ情報をエクスポートする段階は、前記顧客によりアクセス可能な宛先にエクスポートするために、前記ネットワークログ情報のサブセットを選択する段階を含む、段階と
を備える方法。
【請求項５】
前記ネットワークログ情報は、トラフィック変化を特定し、ネットワーク解析を実行するために、前記顧客に情報を提供する、請求項４に記載の方法。
【請求項６】
前記ネットワークフローログは、複数のインタフェースを有する仮想マシンインスタンス上の全てのインタフェースに有効である、請求項４又は５に記載の方法。
【請求項７】
前記ネットワークログ情報は、前記複数の仮想マシンインスタンスと関連付けられるネットワークトラフィックをフィルタリングすることから取得される他のネットワークログ情報と共に集約される、請求項４から６のいずれか一項に記載の方法。
【請求項８】
前記顧客から第２の要求を受信して、前記複数の仮想マシンインスタンスに対するログを無効にする段階をさらに備える、請求項４から７のいずれか一項に記載の方法。
【請求項９】
前記ネットワークログ情報は、前記少なくとも１つの仮想マシンインスタンスから前記複数の仮想マシンインスタンスのうちの第２の仮想マシンインスタンスに送信されるネットワークトラフィックを含む、請求項４から８のいずれか一項に記載の方法。
【請求項１０】
前記ネットワークログ情報からのログエントリは、ログエントリの数を減らすためにサンプリングされる、請求項４から９のいずれか一項に記載の方法。
【請求項１１】
前記ネットワークログ情報は、ネットワークフロー図として前記顧客に提供される、請求項４から１０のいずれか一項に記載の方法。
【請求項１２】
前記複数のファイアウォールポリシーのファイアウォールポリシーにより許可されている場合、前記少なくとも１つの仮想マシンインスタンスに向けられる少なくともいくつかのトラフィックのログを取り、前記ファイアウォールポリシーにより許可されていない場合、残りのトラフィックがブロックされてログが取られない、請求項４から１１のいずれか一項に記載の方法。
【請求項１３】
コンピュータシステムに、
コンピューティングリソースサービスプロバイダによりホストされる仮想ネットワーク内に複数の仮想コンピュータインスタンスをプロビジョニングする手順であって、前記複数の仮想コンピュータインスタンスは、前記コンピューティングリソースサービスプロバイダの顧客と関連付けられる、手順と、
前記顧客による第１のアプリケーションプログラミングインタフェース（ＡＰＩ）要求に少なくとも部分的に基づいて、前記複数の仮想コンピュータインスタンスのサブセットを前記仮想ネットワークのサブネットと関連付ける手順と、
前記サブネットの前記複数の仮想コンピュータインスタンスのそれぞれから出る発信インターネットプロトコル（ＩＰ）トラフィックについての情報に少なくとも部分的に基づいて、前記サブネットに対する発信ネットワークトラフィックのログを取る手順と、
前記顧客により提出される第２のＡＰＩ要求により生成されるセキュリティポリシに少なくとも部分的に基づいて、前記サブネットの前記複数の仮想コンピュータインスタンスのそれぞれへの着信ＩＰトラフィックをファイアウォールによりフィルタリングする手順と、
前記発信ＩＰトラフィックの前記ログ及び前記着信ＩＰトラフィックの前記フィルタリングに少なくとも部分的に基づいて、前記サブネットの前記複数の仮想コンピュータインスタンスのそれぞれと関連付けられるネットワークログ情報を取得する手順であって、前記ネットワークログ情報は、タイムスタンプ、送信元ＩＰアドレス及び宛先ＩＰアドレスを少なくとも含む、手順と、
前記顧客へアクセス可能な宛先に前記ネットワークログ情報をエクスポートする手順と
を実行させるためのプログラム。
【請求項１４】
前記顧客へアクセス可能な前記宛先に前記ネットワークログ情報を前記エクスポートする手順は、前記ネットワークログ情報からログエントリのコピーをエクスポートする手順であって、前記顧客により提出される第３のＡＰＩ要求は、どの宛先に、前記ログエントリをエクスポートするかを示す、手順を含む、請求項１３に記載のプログラム。
【請求項１５】
ネットワークログ情報を取得する手順は、前記サブネットの前記複数の仮想コンピュータインスタンスのそれぞれからの発信ネットワークトラフィックを取得することが前記セキュリティポリシに反するか否かに関わらず、前記サブネットの前記複数の仮想コンピュータインスタンスのそれぞれからネットワークログ情報を取得する手順をさらに含む、請求項１３又は１４に記載のプログラム。
【請求項１６】
命令を格納するメモリを備えるシステムであって、前記命令は、少なくとも１又は複数のプロセッサにより実行された結果として、前記システムに、少なくとも、
複数の仮想コンピュータインスタンスを有する仮想サービスの顧客からアプリケーションプログラミングインタフェース（ＡＰＩ）要求を受信して、前記複数の仮想コンピュータインスタンスを有する仮想ネットワークを作成する手順であって、前記ＡＰＩ要求は、前記仮想ネットワークの名前を含む、手順と、
複数のファイアウォールポリシーを適用して、前記仮想ネットワークの前記複数の仮想コンピュータインスタンス間のトラフィックを許可又は拒否する手順と、
前記顧客により提出される第２のＡＰＩ要求に少なくとも部分的に基づいて、前記仮想ネットワークのサブネットに対するネットワークフローログを有効にする手順であって、前記サブネットは、前記複数の仮想コンピュータインスタンスのサブセットを含み、前記ネットワークフローログは、前記複数の仮想コンピュータインスタンスの前記サブセットから収集されるデータを含む、手順と、
前記サブセットのうちの少なくとも１つの仮想コンピュータインスタンスからのトラフィック及び前記サブセットのうちの前記少なくとも１つの仮想コンピュータインスタンスに向けられる少なくともいくつかのトラフィックに対応するネットワークログ情報を取得する手順と、
前記顧客によりアクセス可能な宛先に前記ネットワークログ情報をエクスポートする手順と
を実行させる、システム。
【請求項１７】
前記命令は、１又は複数のプロセッサにより実行された結果として、前記システムに、前記ネットワークログ情報を管理するために、コンソールを用いて、前記顧客へのアクセスを提供する手順をさらに実行させる、請求項１６に記載のシステム。
【請求項１８】
前記ネットワークフローログは、複数のインタフェースを有する仮想コンピュータインスタンス上の全てインタフェースに有効である、請求項１６又は１７に記載のシステム。
【請求項１９】
前記ネットワークログ情報は、前記複数の仮想コンピュータインスタンスと関連付けられるネットワークトラフィックをフィルタリングすることから取得される他のネットワークログ情報と共に集約される、請求項１６から１８のいずれか一項に記載のシステム。
【請求項２０】
前記命令は、１又は複数のプロセッサにより実行された結果として、前記システムに、
前記顧客から第２の要求を受信して、前記複数の仮想コンピュータインスタンスに対するログを無効にする手順をさらに実行させる、請求項１６から１９のいずれか一項に記載のシステム。
【請求項２１】
前記ネットワークログ情報は、前記少なくとも１つの仮想コンピュータインスタンスから前記複数の仮想コンピュータインスタンスのうちの第２の仮想コンピュータインスタンスに送信されるネットワークトラフィックを含む、請求項１６から２０のいずれか一項に記載のシステム。
【請求項２２】
前記ネットワークログ情報からのログエントリは、ログエントリの数を減らすためにサンプリングされる、請求項１６から２１のいずれか一項に記載のシステム。
【請求項２３】
前記複数のファイアウォールポリシーのうちのファイアウォールポリシーにより許可されている場合、前記少なくとも１つの仮想コンピュータインスタンスに向けられる少なくともいくつかのトラフィックのログを取り、前記ファイアウォールポリシーにより許可されていない場合、残りのトラフィックがブロックされてログが取られない、請求項１６から２２のいずれか一項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、２０１５年３月３０日出願の同時係属のＵＳ特許出願第１４／６７３，５１６号「ＮＥＴＷＯＲＫＩＮＧ  ＦＬＯＷ  ＬＯＧＳ  ＦＯＲ  ＭＵＬＴＩ−ＴＥＮＡＮＴ  ＥＮＶＩＲＯＮＭＥＮＴＳ（マルチテナント環境のネットワークフローログ」の開示内容全体を、あらゆる目的のために参照により組み込む。
【背景技術】
【０００２】
コンピューティングリソースサービスプロバイダの大規模な分散コンピューティングシステムにおいては、コンピューティングリソースサービスプロバイダの様々な顧客、ユーザ、サービス、及び、リソースが、互いに頻繁に通信する。アプリケーションが更新され、システムの複雑性や使用量が増えると、システムを安全に保つことは、より難しくなる。このような分散コンピューティングシステムにおいて、システムの脆弱性を識別することは困難になる場合がある。さらに、システムの課題を特定し、トラブルシューティングすることも難しく、問題を識別したとしても、システムを確実に安全にすることは、難しい場合がある。さらに、多くの従来のシステムは、このような脆弱性を手動で軽減することに頼っている。これらの環境のコンピューティングリソースの複雑さと分散は、コンピューティングリソースによって生成されたログ情報の収集、分析を複雑にする場合がある。
【０００３】
図面を参照して本開示による様々な実施形態を記載する。
【図面の簡単な説明】
【０００４】
【図１】ある実施形態による、コンピューティングリソースサービスプロバイダが、コンピューティングリソースサービスプロバイダが操作するコンピュータシステムによって生成されたコンピュータログ情報へのアクセスを顧客に提供し得る環境を示す。
【図２】ある実施形態による、コンピューティングリソースサービスプロバイダが操作するコンピュータシステムによって生成されたコンピュータログ情報の収集に使用し得るサーバコンピュータシステムの説明的な簡易ブロック図である。
【図３】ある実施形態による、コンピューティングデバイスによって実行されるアプリケーションによって表示することができるウェブページであり、ユーザが、コンピューティングリソースサービスプロバイダによって操作されるネットワークロギングサービスと対話することができることを示す。
【図４】ある実施形態による、ネットワークログ視覚化ブラウザを使用してネットワークフロー図を表示し得る環境例を示す。
【図５】ある実施形態による、ネットワークログ視覚化ブラウザを使用してネットワークフロー図を表示し得る環境例を示す。
【図６】ある実施形態による、ネットワークを介したクライアント装置及びサーバコンピュータとのデータ通信においてコンピューティングリソースサービスプロバイダを含む環境を示す。
【図７】一実施形態による、マルチテナント環境における、コンピュータシステムインスタンスに対応するログ情報の提供に使用し得る説明的なプロセスを示す図である。
【図８】ある実施形態による、マルチテナント環境における、コンピュータシステムインスタンスに対応するログ情報の提供に使用し得る説明的なプロセスを示す図である。
【図９】顧客がコンピューティングリソースサービスプロバイダに接続される環境を示す。
【図１０】様々な実施形態を実施できる環境を示す。
【図１１】本開示による、ネットワークトラフィックフロー情報のイベント駆動型処理の機構を示す図である。
【図１２】本開示による、ネットワークトラフィックフロー情報のイベント駆動型処理の機構を示す図である。
【図１３】本開示による、ネットワークトラフィックフロー情報のイベント駆動型処理の機構を示す図である。
【図１４】本開示による、ネットワークトラフィックフロー情報のイベント駆動型処理の機構を示す図である。
【図１５】本開示による、ネットワークトラフィックフロー情報のイベント駆動型処理の手順例を示すフローチャートである。
【図１６】本開示による、ネットワークトラフィックフロー情報のイベント駆動型処理の手順例を示すフローチャートである。
【図１７】ある実施形態において使用し得るコンピュータ環境の例を示す図である。
【図１８】ある実施形態において使用し得るコンピュータシステムの例を示す図である。
【図１９】ある実施形態において使用し得るコンピュータ環境の例を示す図である。
【発明を実施するための形態】
【０００５】
以下に、様々な実施形態を記載する。実施形態を十分に理解してもらえるよう、説明目的で、具体的な構成及び詳細を記載する。しかしながら、その具体的な詳細を用いずに実施形態を実践してよいことも当業者には明らかであろう。さらに、記載されている実施形態を曖昧にしないために、周知の特徴を省略または簡素化している場合がある。
【０００６】
本明細書において記載及び示唆した技術は、マルチテナントコンピューティングリソースサービスプロバイダ環境におけるネットワークログ及びコンピュータログの改良に関する。コンピューティングリソースサービスプロバイダは、コンピューティングリソースサービスプロバイダの顧客によってプログラムで管理されるコンピューティングリソースを運営してよい。例えば、コンピューティングリソースサービスプロバイダは、仮想コンピュータシステムサービスとオンデマンドストレージサービスを運営してよく、これらのサービスは、コンピューティングリソースをコンピューティングリソースサービスプロバイダの顧客に提供してよい。そして、顧客は、ソフトウェアを遠隔でロードし、コンピューティングリソースサービスプロバイダによって顧客がアクセスできるようにされたコンピュータリソースに接続して、他の操作を構成、開始、停止、及び、実行してよい。コンピューティングリソースサービスプロバイダは、コンピューティングリソースのオーバーサブスクリプションを可能にすることによって、顧客に提供するサービスを実施しているコンピュータシステムを利用してよい。さらに、顧客に提供されるコンピューティングリソースの少なくとも一部を仮想化してよい。例えば、コンピューティングリソースサービスプロバイダは、仮想コンピュータシステムを顧客に提供してよく、顧客は、仮想コンピュータシステムを使用して、ウェブサーバ等、様々なアプリケーションを実施してよい。
【０００７】
コンピューティングリソースサービスプロバイダは、顧客情報を保護するために、ファイアウォールまたは他のセキュリティ機能も実施してよい。これらのセキュリティ機能と仮想コンピューティング環境の結果として、ネットワークログ情報及び他のコンピュータログ情報に顧客がアクセスできない場合がある。コンピューティングリソースサービスプロバイダは、顧客のためにログ情報を収集し、情報をパッケージ化して、顧客に提供してよい。さらに、コンピューティングリソースサービスプロバイダは、顧客が示した宛先にログ情報を提供してよい。例えば、コンピューティングリソースサービスプロバイダは、ログ情報をメトリクスサービスまたは侵入検出サービスに提供してよい。メトリクスサービスは、顧客のために、ログ情報に対応する情報に従って（、視覚化したもの、アラートを生成してよい。例えば、メトリクスサービスは、顧客の仮想コンピュータシステムインスタンスに関する現在のネットワーク負荷を顧客に提供してよい。侵入検出サービスは、ログ情報を使用して、様々な攻撃を軽減し、攻撃検出操作を行ってよい。さらに、侵入検出システムは、ログ情報を使用して、コンピューティングリソースサービスプロバイダによって操作される様々なコンピューティングシステムのファイアウォール設定、侵入検出設定、及び、他のセキュリティ設定を更新してよい。侵入防止システムは、ログ情報を使用して、セキュリティポリシーのセットを決定、適用してもよい。例えば、侵入防止システムは、顧客の仮想コンピュータシステムインスタンスによって送信され得る、または、顧客の仮想コンピュータシステムインスタンスから取得され得るデータのタイプを制限してよい。
【０００８】
コンピューティングリソースを顧客に提供するコンピューティングシステムは、特定の顧客に提供されるコンピューティングリソースに対応するネットワークログ及びコンピュータログ情報を取得するように構成されたログエンティティを含んでよい。ログエンティティは、コンピューティングシステム、または、コンピュータシステムのコンポーネントから直接、ログ情報を取得してよい。例えば、コンピューティングシステムは、顧客コンピュータシステムインスタンスに向けられた特定のトラフィックをブロックするように構成されたファイアウォールを含んでよい。ログエンティティは、ファイアウォールからネットワークログ情報を取得してよく、ログ情報を永続的に記憶させてよい。メトリクスサービスまたは他のいくつかのサービスは、ログエンティティによって記憶されたログ情報に少なくとも部分的に基づいて情報を決定してよい。例えば、メトリクスサービスは、特定の顧客のコンピュータシステムインスタンスに向けられた特定のネットワークフローのトラフィック量、パケット数、または、サイズを決定してよい。
【０００９】
図１は、コンピューティングリソースサービスプロバイダが、コンピューティングリソースサービスプロバイダが操作するコンピュータシステムによって生成されたコンピュータログ情報１１４へのアクセスを顧客に提供し得る環境１００を示す。コンピューティングリソースサービスプロバイダは、コンピューティングリソースを顧客１０２に提供してよい。さらに、顧客１０２は、コンピュータリソースサービスプロバイダにログ情報１１４を要求してよい。サーバコンピュータシステム１０８は、コンピューティングリソースを顧客１０２に提供するように構成されてよい。例えば、サーバコンピュータシステム１０８は、仮想のコンピューティング能力または記憶容量を顧客１０２に提供してよい。顧客１０２及び他のエンティティは、ネットワーク１０６を介してサーバコンピュータシステム１０８と通信してよい。ネットワーク１０６は、仮想プライベートネットワーク、イントラネット、インターネット、セルラーネットワーク、ローカルエリアネットワーク、衛星ネットワーク、または、任意の他のこのようなネットワーク、及び／または、これらの組み合わせを含んでよい。
【００１０】
さらに、サーバコンピュータシステム１０８は、セキュリティポリシーに少なくとも部分的に基づいて、ファイアウォール１０４を実施して、通信を許可または拒絶してよい。ある例においては、このファイアウォールは、対象コンピューティングシステムまたは対象仮想コンピュータシステムインスタンスの１つまたは複数のポートを、それらのポートが特に「開かれて」いない限り、ブロックしてよい。言い換えると、ブロックされた１１２（すなわち、開かれていない）ポートを指定するサーバコンピュータシステム１０８で受信されたデータパケットは、無視されてよい、または、エラーコードがパケットの送信元に送信されてよい。トラフィックが、セキュリティポリシーを侵害していない場合、トラフィックは、ファイアウォール１０４によって許可されて１１０、顧客１０２のコンピュータシステムインスタンスに到達してよい。
【００１１】
サーバコンピュータシステム１０８は、顧客に割り当てられたコンピューティングリソースをファイアウォール、スケーリンググループ、及び／または、他のこのようなグループ等のリソースグループに組織化してよい。１つまたは複数のリソースは、１つまたは複数のリソースのグループ化、及び／または、１つまたは複数のリソースの依存関係を示すリソースグループに関連付けられてよい、及び／または、配置されてよい。リソースグループは、ネストされてよく、その結果、例えば、スケーリンググループが、１つまたは複数のファイアウォールを含んでよく、１つまたは複数のファイアウォールは、１つまたは複数のリソースを含んでよい、及び／または、１つまたは複数の他のリソースグループを含んでよい。本明細書では、ファイアウォール１０４という語は、ポリシーに少なくとも部分的に基づいて、インバウンド及びアウトバウンドネットワークトラフィックを制御するように構成されたハードウェア、ソフトウェア、または、それらの組み合わせを指してよい。ファイアウォール１０４は、例えば、ネットワークトラフィックを検査して着信及び／または発信データパケットが１つまたは複数のセキュリティポリシーに従うことを検証することによって、このセキュリティを保証するように構成されてよい。ファイアウォール１０４は、リソースへの接続の認証情報を検証するようにさらに構成されてよく、１つまたは複数のポリシーサービスを用いて、これらの認証情報を検証する、または、これら及び／または他のセキュリティ関連機能の組み合わせを行うように構成されてよい。ファイアウォール１０４は、ハードウェア、ソフトウェア、ファームウェア、仮想装置として、または、これら及び／または他のこのような実施方法の組み合わせとして、実施されてよい。
【００１２】
さらに、サーバコンピュータシステム１０８は、ログエンティティ（以下により詳細に記載する）が、ファイアウォール１０４からのログ情報１１４を取得し、サーバコンピュータシステム１０８のコンピューティングリソースを使用して、その情報を記憶するように、ファイアウォール１０４に通信可能に接続されたログエンティティを含んでよい。顧客１０２または他のエンティティは、次に、サーバコンピュータシステム１０８に記憶されたログ情報１１４にアクセスしてよい。ログ情報１１４は、以下により詳細に記載するように、顧客、ネットワークインタフェース、特定のネットワークフローに関して送信されたパケット数、特定のネットワークフローのバイト数、送信元アドレス、宛先アドレス、送信元ポート、宛先ポート、ファイアウォール１０４が行ったアクション、特定のネットワークフローに関連付けられたプロトコル、特定のフローに関連付けられたアプリケーション、及び、サーバコンピュータシステム１０８によってログされた他の情報に対応する情報を含んでよい。様々な実施形態において、顧客は、ログエンティティまたはサーバコンピュータシステム１０８の他のコンポーネントに、ログ情報の１つまたは複数の属性に少なくとも部分的に基づいて、ログ情報をフィルタリングさせてよい。例えば、顧客は、図３に関連して以下に詳細に記載する管理コンソールを通して、ログ情報がファイアウォール１０４によって拒絶またはブロックされたネットワークパケット及び／またはネットワークフローに対応するログエントリのみを含むように、ログ情報をフィルタリングしてよい。さらに別の例においては、顧客は、フィルタリングされたログ情報をメトリクスサービス（以下に詳細に記載する）に要求してよく、そうすると、メトリクスサービスは、顧客が要求した情報に関してログエンティティから取得したログ情報をフィルタリングしてよい。
【００１３】
図２は、本開示の少なくとも１つの実施形態の実践に使用し得るサーバコンピュータシステム２００の説明的な簡易ブロック図である。サーバコンピュータシステム２００は、システムハードウェア２１２を含んでよく、システムハードウェア２１２を使用して、様々なアプリケーションの実行を支援してよい。システムハードウェア２１２は、メモリ２１０、１つまたは複数の中央処理装置（ＣＰＵ）２１４、及び、ネットワークインタフェース２１８を含んでよい。システムハードウェア２１２は、簡略化のため図２には示していない他のハードウェア装置を含んでよく、他のハードウェア装置は、装置、グラフィック装置、入出力（Ｉ／Ｏ）コントローラ、または、１つまたは複数のハイパーバイザ２０２もしくは他のアプリケーションの実行を支援するのに適した任意の他のハードウェア装置を記憶してよい。１つまたは複数の中央処理装置２１４（簡略化のためにプロセッサとも呼ばれる）は、メモリ２１０及びネットワークインタフェース２１８等の幾つかのシステムまたはハードウェア装置に通信可能に接続されてよい。サーバコンピュータシステム２００は、ハイパーバイザ２１８及びコンピュータシステムインスタンス２２０を含む数個のアプリケーションも含んでよく、コンピュータシステムインスタンス２２０は、図２に示すように、仮想ネットワークドライバ２２６を含んでよい。仮想ネットワークドライバ２２６は、顧客のコンピュータシステムインスタンス２２０にネットワークインタフェースを提供してよい。
【００１４】
ハイパーバイザ２０２は、コンピュータ実行可能命令のセットであってよく、サーバコンピュータシステム２００の１つまたは複数のプロセッサによって実行されると、システムに、仮想オペレーティングプラットフォームを提供させ、システムハードウェア２１２へのアクセスを管理させる。さらに、ハイパーバイザ２０２は、コンピュータシステムインスタンス２２０を支援してよい。コンピュータシステムインスタンス２２０は、顧客によって実施された１つまたは複数のアプリケーションを実行するように構成された仮想コンピュータシステムであってよい。例えば、コンピュータシステムインスタンス２２０は、顧客が操作するウェブサーバを実行してよい。コンピュータシステムインスタンス２２０は、ハイパーバイザ２０２に通信可能に接続されて、顧客から受信したハイパーバイザ管理コマンドをハイパーバイザ２０２に送信できるようにしてもよい。
【００１５】
メモリ２１０は、本開示の少なくとも１つの実施形態の機能を提供し得るデータを記憶するコンピュータ可読記憶媒体を提供してよい。メモリ２１０に記憶されたデータ（プログラム、コードモジュール、命令）は、１つまたは複数のプロセッサ２１４によって実行されると、本開示の１つまたは複数の実施形態の機能を提供してよい。これらのアプリケーションモジュールまたは命令は、１つまたは複数のプロセッサ２１４によって実行されてよい。ネットワークインタフェース２１８は、コンピューティングシステム２００に接続されたネットワークインタフェースであってよい。ネットワークインタフェース２１８は、コンピュータシステムインスタンス２２０等のアプリケーションデータを、ネットワーク２０６を介して１つまたは複数の他のコンピューティングシステムと送受信するように構成されたハードウェア、ソフトウェア、または、それらの組み合わせであってよい。拡張ネットワークインタフェース２１８を１つだけ図２に示すが、本開示によると、複数のネットワークインタフェース２１８をコンピューティングシステム２００に接続してよい。ネットワークインタフェース２１８は、コンピュータシステムインスタンス２２０に含まれた仮想ネットワークドライバ２２６を介してアプリケーションデータを送受信するように構成されてよい。
【００１６】
サーバコンピュータシステム２００は、ファイアウォール２０４も含んでよい。ファイアウォール２０４は、顧客またはコンピューティングリソースサービスプロバイダによって提供された１つまたは複数のセキュリティポリシーに少なくとも部分的に基づいて、ネットワークトラフィックを許可またはブロックするように構成されてよい。ファイアウォール２０４は、ハードウェア、ソフトウェア、または、それらの組み合わせとして実施されてよい。例えば、ファイアウォール２０４は、サーバコンピュータシステム２００によって実施されたコンピュータシステムインスタンス２２０に向けられたネットワークトラフィックをフィルタリングするように構成されたカーネルモジュールを含んでよい。さらに、サーバコンピュータシステムは、ファイアウォール２０４からのログ情報を取得するように構成されたログエンティティ２０８を含んでよい。
【００１７】
ログエンティティ２０８によって、顧客は、サーバコンピュータシステム２００の仮想ネットワークドライバ２２６へのネットワークトラフィックフロー及び仮想ネットワークドライバ２２６からのネットワークトラフィックフローに関するログ情報を取得することができる。ログエンティティ２０８によって入手されたログ情報は、顧客識別情報、仮想ネットワークドライバ識別情報、パケット数、バイト数、ネットワークフローの開始に対応するタイムスタンプ、ネットワークフローの終了に対応するタイムスタンプ、及び、ファイアウォール２０４が行ったアクションを含む。ログエンティティ２０８は、記憶装置、コンピューティングサービス、または、サーバコンピュータシステムにログ情報を公開できる。例えば、ログエンティティは、以下により詳細に記載するメトリクスサービスにログ情報を公開するように構成されてよい。さらに、ログは、様々な時間間隔で公開されてよく、または、ログが生成されると、受信当事者に直接、ストリーミング配信されてよい。例えば、ログ情報を侵入検出システムにストリーミング配信することによって、リアルタイムまたは準リアルタイムで攻撃を軽減できるようにしてよい。
【００１８】
ネットワークログ情報によって、顧客が様々な顧客ネットワークのトラブルシューティングを行うことができるようにしてよい。顧客ネットワークは、コンピューティングリソースサービスプロバイダが提供するリソースと、顧客によって操作されるコンピューティングリソース、例えば、オンプレミスコンピューティングリソースとを含んでよい。具体的なトラブルシューティング例においては、少なくとも一部のネットワークトラフィックが、コンピューティングリソースサービスプロバイダによって提供された顧客のコンピュータインスタンスに到達しないことがある。ネットワークログ情報は、顧客のコンピュータインスタンスへの拒絶されたネットワークトラフィックに対応する情報を含んでよく、ファイアウォールまたは他の装置が、顧客のコンピュータインスタンスへのインバウンドトラフィックをブロックしているのを顧客が分かるようにすることができる。あるいは、ネットワークログ情報は、他のコンピュータインスタンスからのソーストラフィックがブロックされており、第２のコンピュータインスタンスのフィルタに到達していないことを、顧客に示してよい。
【００１９】
ネットワークログ情報は、侵入検出及び軽減システムと共に使用してもよい。例えば、顧客のコンピュータインスタンスが不正アクセスされた場合、ネットワークログ情報は、顧客のコンピュータインスタンスが顧客の仮想プライベートネットワークのコンピュータインスタンスの他のネットワークインタフェースのポートスキャン、もしくは、インターネットホストに対するポートスキャンを行っている、または、コンピュータインスタンスが、インターネットホストにファイルを送信していることを示してよい。さらに、ネットワークログ情報は、増加し得る潜在的攻撃を示してよい。例えば、ネットワークログ情報は、顧客によって操作される複数のコンピュータインスタンスに進むのを拒絶されたＳＳＨトラフィックを含んでよく、そうすると、顧客は、顧客の会社の方針に従って、具体的な対策を取ってよい。
【００２０】
ネットワークログ情報は、メトリクスサービスに提供されてよい。メトリクスサービスは、以下により詳細に記載するように、顧客インスタンスへの承認されたトラフィック、顧客インスタンスへのトラフィックパターン、及び、他の視覚化等、様々な視覚化を顧客に提供してよい。ネットワークログ情報は、特定のユーザセッションまたはＩＰセッションに対応する情報も含んでよい。メトリクスサービスに加えて、ネットワークログ情報は、ネットワーク分析に使用されてよい。分析及び／またはメトリクスサービスは、検出されたイベントまたは属性に応答して、例えば、顧客のコンピュータインスタンスへのネットワークトラフィックが、ある時間間隔の間、閾値を超える場合、または、顧客のコンピュータインスタンスが、ある時間間隔の間、ネットワークトラフィックを受信していない場合、顧客に通知を送信するよう構成されたアラームも含んでよい。
【００２１】
ネットワークログ情報は、フォーマットバージョン、顧客アカウント識別情報、フローが入手されたネットワークインタフェース識別情報、フローの送信元アドレス、フローの宛先アドレス、フローの送信元ポート、フローの宛先ポート、フローで使用するプロトコル、サンプリングウィンドウ中のフローに見られる計算されたパケット数、サンプリングウィンドウ中のフローに見られるバイト数、フローを検出するサンプリング期間の開始、フローを検出するサンプリング期間の終了、及び、フローに関連付けられたアクションを含む、様々な異なる要素を含んでよい。アクションは、承認、拒絶、または、データ無し等、コンピューティングリソースサービスプロバイダが実施するファイアウォールまたは他の装置によって取られた様々なアクションを含んでよい。
【００２２】
図３は、コンピューティング装置が実行するアプリケーションによって表示されてよい、ユーザが、コンピューティングリソースサービスプロバイダが運営するネットワークログサービスとインタラクトするのを可能にするウェブページ３００を示す。ウェブページ３００は、ネットワークログ及び／またはコンピュータログ情報をエンドポイントに提供するのを制御するための様々なオプションを選択する能力をユーザに提供する。ネットワークログ情報は、１つまたは複数のネットワークプロトコルに従って、２つのエンドポイント（典型的に、異なる物理ホスト上で実行するアプリケーション対、または、同じアプリケーションのモジュール対等）間のある量のデータの任意の転送に対応する情報を含んでよい。説明を簡単にするために、以下の記載のほとんどは、所与のネットワーク送信の送信元及び宛先を指すが、送信に関わる２つのエンドポイント間の双方向送信のどちらの方向も、それぞれ、双方向トラフィックの異なるサブセットの送信元または宛先と考えてよいことに注意されたい。コンピュータログ情報は、取られたアクション、エラーコード、または、操作の結果等、コンピュータシステム操作に対応するコンピュータシステムによる任意の情報記録を含んでよい。
【００２３】
図３に示すように、ウェブページ３００は、様々なグラフィカルユーザインタフェース要素を含み、グラフィカルユーザインタフェース要素は、ウェブページ３００の一部である管理コンソールを介して、顧客が、コンピュータインスタンスをプロビジョニング、管理、及び、コンピュータインスタンスとインタラクトできるようにする。ウェブページ３００は、モバイルアプリケーションまたはウェブブラウザ等、様々なアプリケーションによって表示されてよい。この例においては、ウェブページ３００は、様々なナビゲーション機能を含む。例えば、ウェブページ３００の左側の様々なリンク３１０は、１つまたは複数の他のウェブページにリンクしてよく、１つまたは複数の他のウェブページは、顧客によって行われてよい様々な異なるアクションに対応する追加のコンテンツを含む。コンソールページは、以下により詳細に記載する仮想マシン管理サービスによって、仮想マシンインスタンスを管理、または、制御するために取ってよい操作に対応してよい。この例においては、リンクは、キーボード、マウス、タッチスクリーン、または、他の入力装置等、適切な入力装置を用いてリンクを選択可能にするテキストワードとして現れる。リンク３１０の１つを選択すると、ウェブページ３００を表示するアプリケーションは、ウェブページ３００のプログラムによって選択したリンクに関連付けられたＵＲＬに従って、そのリンクに関連付けられたコンテンツを求めるＨＴＴＰ要求を、ウェブページ３００を提供したサーバまたは他のサーバに提出してよい。
【００２４】
この例においては、ウェブページ３００は、「次へ」ボタン３０４として構成されたグラフィカルユーザ要素も含む。次へボタン３０４は、ウェブページ３００のグラフィカルユーザインタフェース要素であってよく、ウェブページ３００の基礎となるコードは、次へボタン３０４の入力装置によって選択すると、ウェブページ３００上のネットワークログ情報及び／またはコンピュータログ情報のエンドポイントの選択に対応する情報が、仮想マシン管理サービスの実行を担当するサーバコンピュータシステム等、コンピューティングリソースサービスプロバイダの１つまたは複数のサーバコンピュータシステムに送信されるように、構成される。管理コンソールを通して、顧客は、特定のコンピュータシステムインスタンスに関するログを設定するプロセスを通して導かれてよい。プロセスは、ステップに分けられてよく、顧客は、各ステップで情報を提供するように入力を促されてよい。例えば、ウェブページ３００は、収集され得る異なるタイプのログ情報のリストを顧客に表示する。顧客は、入力装置を用いて、コンピュータインスタンスの様々な属性、及び／または、コンピュータインスタンスのネットワーク環境を選択してよい。顧客の選択は、プロセス全体が完了するまで記憶されてよい、または、顧客の選択は、次へボタン３０４を選択すると、仮想マシン管理サービスに送信されてよい。ログ情報選択のためのエンドポイントを図３に示すが、顧客は、インスタンス化が行われると、コンピュータインスタンスが実行する任意の動作パラメータ、及び／または、ソフトウェアアプリケーションを選択するように入力を促されてよい。
【００２５】
様々な実施形態において、サービスプロバイダは、ユーザが選択したログ情報のタイプ、ユーザが選択したログ情報の量、ユーザが選択したオペレーティングシステム、ユーザが選択したオペレーティングシステムの特徴、ユーザが選択した特定の特徴、ユーザが選択したアプリケーション、特定の仮想化レイヤの利用可能性、特定の仮想化レイヤに関連付けられた費用、または、ユーザ情報に基づいて仮想化レイヤを選択するのに適した他の要因等、様々な要因に少なくとも部分的に基づいて、使用する特定のタイプの仮想化レイヤを決定してよい。これらの実施形態において、ユーザは、特定の仮想化レイヤを選択する能力を与えられてもよく、与えられなくてもよいが、ユーザのコンピュータシステムインスタンスへのネットワーク送信及び／またはコンピュータシステムインスタンスからのネットワーク送信のログを有効にするか否かの選択を与えられてよい。ユーザが、ログを有効または無効にすることを選択する場合、ユーザは、ユーザ選択と、サービスプロバイダが決定する選択との間で選択するオプションを与えられてよい。
【００２６】
ウェブページ３００は、「戻る」ボタン３０６として構成されたグラフィカルユーザ要素も含んでよい。戻るボタン３０６は、ウェブページ３００のグラフィカルユーザインタフェース要素であってよく、ウェブページ３００の基礎となるコードは、ウェブページ３００を表示するアプリケーションを以前ナビゲートしたウェブページにナビゲートさせる。顧客がウェブページ３００を用いて選択を行い、次へボタン３０４を選択すると、ウェブページ３００を表示するアプリケーションは、コンピュータシステムインスタンスのログを有効または無効にするように構成された仮想化レイヤによって支援されたコンピュータシステムインスタンスのプロビジョニングまたは修正を求めるＨＴＴＰ要求を提出してよい。要求は、コンピューティングリソースサービスプロバイダの１つまたは複数のサーバコンピュータシステムまたはサービスに送信されてよい。例えば、要求は、コンピューティングリソースサービスプロバイダが運営する仮想マシン管理サービスに送信されてよい。そうすると、仮想マシン管理サービスは、顧客選択に少なくとも部分的に基づいて、選択したネットワークログまたはコンピュータログ情報を行うことができる物理ホスト（例えば、サーバコンピュータシステム）を選択してよく、ユーザのために、その物理ホストにコンピュータシステムインスタンスをインスタンス化させる。コンピュータシステムインスタンスがインスタンス化された後、ある時点で、仮想マシン管理サービスは、仮想マシンの操作をユーザに渡してよい。コンピューティングリソースサービスプロバイダの仮想マシン管理サービスまたはいくつかの他のサービスは、要求及びユーザに関連付けられたインターネットプロトコル（ＩＰ）アドレスに少なくとも部分的に基づいた特定の地理的エリア、１つまたは複数の物理ホストに対する負荷、１つまたは複数の物理ホストに関連付けられたネットワークトラフィック、１つまたは複数の物理ホストの要求応答待ち時間、または、１つまたは複数のコンピュータインスタンスをインスタンス化する物理ホストを選択するための任意の他の情報を含む、ユーザが選択したログオプション以外の様々な要因に少なくとも部分的に基づいて、物理ホストを選択してよい。
【００２７】
図４は、少なくとも１つの実施形態による、図１及び図２に少なくとも関連して本明細書に記載した、ネットワークログ視覚化ブラウザを使用してネットワークフロー図を表示し得る環境４００の例を示す。ネットワークログ視覚化ブラウザ４０２は、上記のようにネットワークログ情報を用いてネットワークフローを視覚化した図を生成し、ネットワークフロー図を保存し、ネットワークフロー図をロードし、フィルタリング及び／または分析プロセスをネットワークフロー図に適用し、及び／または、ネットワークフロー視覚化に関連付けられた他のプロセスを行うように構成されてよい。ネットワークログ視覚化ブラウザ４０２は、ウェブサービス等のコンピュータサービスとして構成されてよく、少なくとも図１に関連して本明細書に記載されたコンピューティングリソースサービスプロバイダによってサービスとして提供されてよい。
【００２８】
ネットワークログ視覚化ブラウザ４０２は、ネットワークフロー情報をロードする、ネットワークフローを視覚化したものを生成する、ネットワークフローを視覚化したものを保存する、及び／または、他のこのような機能等の操作を行う機能４１０を含んでよい。ネットワークログ情報は、ネットワークログリポジトリ、データストア、または、他のこのような場所に保存されてよい。ネットワークフローを視覚化したものもリポジトリ、データストア、または、他のこのような場所に保存されてよい。ネットワークログ視覚化ブラウザ４０２は、ネットワークログ情報の少なくともサブセットを表示する機能４０８を含んでよく、１つまたは複数のフィルタリングプロセス４０６を適用した結果として、ネットワークログのフィルタリングされた結果を表示する機能も含んでよい。フィルタリングプロセス４０６は、上記の１つまたは複数のタグに少なくとも部分的に基づいてよい。
【００２９】
ネットワークログ視覚化ブラウザ４０２は、ネットワークログ情報に少なくとも部分的に基づいて、及び／または、フィルタリングされたネットワークログ情報に少なくとも部分的に基づいて、ネットワークフロー図４０４を生成するようにさらに構成されてよい。ネットワークフロー図４０４は、ブロック図、生成画像、または、視覚化要素を用いて表示されてよく、ある実施形態においては、１つまたは複数のアイコンを含んでよい。ネットワークログ視覚化ブラウザ４０２は、表示されたネットワークフロー図４０４に関連して様々な機能の実行に使用されるツールセット４１２を含んでよい。ツールセット４１２は、ネットワークフロー図４０４の分析、ネットワークフロー図４０４の変更等、顧客が様々な操作を行うことを可能にするネットワークログ視覚化ブラウザ４０２に含まれた機能のセットであってよい。
【００３０】
図４に示すように、ネットワークフロー図４０４は、顧客のコンピュータシステムインスタンスのトポロジに少なくとも部分的に基づいてよく、ブロック及び／またはアイコンによって表されるリソース、リソースグループ、または、ネットワークと、様々なリージョンとの接続及び／または依存を示す関係（矢印等）を含んでよい。図４に示す例においては、接続を示す矢印は、様々なリージョンに対して顧客のコンピュータシステムインスタンスから送信されるネットワークトラフィック量も示してよい。リージョンは、地理的リージョンであってよい、または、コンピューティングリソースのネットワークもしくは他のグループであってよい。様々な実施形態において、ネットワークフロー図４０４は、例えば、リソースタイプに関連付けられたタグ、リソースインスタンスに関連付けられたタグ、リソースグループに関連付けられたタグ、ネットワークに関連付けられたタグ、または、これら及び／または他のこのようなタグの組み合わせを表示するテキスト要素を追加で含む。ネットワークフロー図４０４は、リソース、リソースグループ、ネットワーク、構造化記述、及び／または、コンピュータシステムに関連付けられた他のデータ及び／またはメタデータを表示するテキスト要素をさらに含んでよい。ある実施形態においては、ネットワークログ視覚化ブラウザ４０２は、ネットワークフロー図４０４を更新（または、リフレッシュ）する機能を含んでよく、ある実施形態においては、その更新に関する設定を提供する機能を含んでよい。例えば、顧客のコンピュータシステムインスタンスを実施するサーバコンピュータシステムによって追加のネットワークログ情報が生成されるたびに、ネットワークフロー図４０４は、自動的に更新されてよい。
【００３１】
考えられるように、ブラウザ機能、表示モダリティ、テキスト要素の存在とタイプ、アイコン要素の存在とタイプ、及び／または、ネットワークログ視覚化ブラウザ４０２に関連して本明細書に記載された他のこのようなユーザインタフェース要素に関する本明細書に示したネットワークログ視覚化ブラウザ４０２のコンテンツは、ネットワークログ視覚化ブラウザ４０２の実施形態を示す説明的な例に過ぎない。従って、他のタイプのブラウザ機能、表示モダリティ、テキスト要素の存在及びタイプ、アイコン要素の存在及びタイプ、及び／または、他のこのようなユーザインタフェース要素は、本開示の範囲内として見なされてよい。
【００３２】
図５は、ネットワークログ視覚化ブラウザを使用して、少なくとも１つの実施形態による、図１及び図２に少なくとも関連して本明細書に記載するネットワークフロー図を表示し得る環境５００の例を示す。ネットワークログ視覚化ブラウザ５０２は、上記のようにネットワークログ情報を用いてネットワークフローを視覚化した図を生成し、ネットワークフロー図を保存し、ネットワークフロー図をロードし、フィルタリング及び／または分析プロセスをネットワークフロー図に適用し、及び／または、ネットワークフロー視覚化に関連付けられた他のこのようなプロセスを行うように構成されてよい。ネットワークログ視覚化ブラウザ５０２は、ウェブサービス等のコンピュータサービスとして構成されてよく、少なくとも図１に関連して本明細書に記載したコンピューティングリソースサービスプロバイダによるサービスとして提供されてよい。
【００３３】
ネットワークログ視覚化ブラウザ５０２は、ネットワークフロー情報をロード、ネットワークフローを視覚化したものを生成、ネットワークフローを視覚化したものを保存、及び／または、他のこのような機能等の操作を行う機能５１０を含んでよい。ネットワークログ情報は、ネットワークログリポジトリ、データストア、または、他のこのような場所に保存されてよく、ネットワークフローを視覚化したものも、リポジトリ、データストア、または、他のこのような場所に保存されてよい。ネットワークログ視覚化ブラウザ５０２は、ネットワークログ情報の少なくともサブセットを表示する機能５０８を備えてよく、１つまたは複数のフィルタリングプロセス５０６を適用する結果として、ネットワークログのフィルタリング結果を表示する機能も備えてよい。フィルタリングプロセス５０６は、上記１つまたは複数のタグに少なくとも部分的に基づいてよい。
【００３４】
ネットワークログ視覚化ブラウザ５０２は、ネットワークログ情報に少なくとも部分的に基づいて、及び／または、フィルタリングされたネットワークログ情報に少なくとも部分的に基づいて、ネットワークフロー図５０４を生成するようにさらに構成されてよい。ネットワークフロー図５０４は、ブロック図、生成画像、または、視覚化要素を用いて表示されてよく、ある実施形態においては、１つまたは複数のアイコンを含んでよい。ネットワークログ視覚化ブラウザ５０２は、表示されたネットワークフロー図５０４に関連した様々な機能の実行に使用されるツールセット５１２を含んでよい。ツールセット５１２は、ネットワークフロー図５０４の分析、または、ネットワークフロー図５０４の変更等、様々な操作を顧客が実行するのを可能にするネットワークログ視覚化ブラウザ５０２に含まれた機能セットであってよい。
【００３５】
図５に示すように、ネットワークフロー図５０４は、顧客のコンピュータシステムインスタンスから送信、及び、顧客のコンピュータシステムインスタンスで受信されるネットワークトラフィック量に少なくとも基づいてよい。ネットワークログ視覚化ブラウザ５０２は、様々な時間間隔の間に、顧客のコンピュータシステムインスタンスにまたはコンピュータシステムインスタンスから送信されるネットワークトラフィック量を示すネットワークフロー図に含まれる１つまたは複数のグラフを生成してよい。様々な実施形態において、ネットワークフロー図５０４は、例えば、リソースタイプに関連付けられたタグ、リソースインスタンスに関連付けられたタグ、リソースグループに関連付けられたタグ、ネットワークに関連付けられたタグ、または、これら、及び／または、他のこのようなタグの組み合わせを表示するテキスト要素をさらに含む。ネットワークフロー図５０４は、リソース、リソースグループ、ネットワーク、構造化記述、及び／または、コンピュータシステムに関連付けられた他のデータ及び／またはメタデータを表示するテキスト要素を追加で含んでよい。ある実施形態においては、ネットワークログ視覚化ブラウザ５０２は、ネットワークフロー図５０４を更新（または、リフレッシュ）する機能を備えてよく、ある実施形態においては、その更新に関する設定を提供する機能を備えてよい。例えば、顧客コンピュータシステムインスタンスを実施するサーバコンピュータシステムによって追加のネットワークログ情報が生成されると、ネットワークフロー図５０４が自動的に更新されてよい。
【００３６】
考えられるように、ブラウザ機能、表示モダリティ、テキスト要素の存在とタイプ、アイコン要素の存在とタイプ、及び／または、ネットワークログ視覚化ブラウザ５０２との関連で本明細書に記載した他のこのようなユーザインタフェース要素に関する本明細書に示したネットワークログ視覚化ブラウザ５０２のコンテンツは、ネットワークログ視覚化ブラウザ５０２の実施形態を示す説明的な例に過ぎない。従って、他のタイプのブラウザ機能、表示モダリティ、テキスト要素の存在とタイプ、アイコン要素の存在とタイプ、及び／または、他のこのようなユーザインタフェース要素は、本開示の範囲内とみなされてよい。
【００３７】
図２に示す環境等の環境は、コンピューティングリソースプロバイダ等のプロバイダにとって有用であってよく、ここで、コンピューティングリソースシステムは、顧客からの要求に応答して、マルチテナント環境に関連する様々なログ機能を行う。上記のように、コンピューティングリソースサービスプロバイダは、顧客のコンピュータシステムインスタンスに関連付けられたネットワークログ情報とコンピュータログ情報を顧客が取得するのを可能にする機構を提供する。このような場合の環境は、図６の環境６００に示すような、追加のコンポーネント及び／または他の構成を含んでよい。この例においては、環境６００は、ネットワーク６０６を介してクライアント装置６１０及びサーバコンピュータ６４２とデータ通信するコンピューティングリソースサービスプロバイダ６０４を含む。一実施形態においては、サーバコンピュータ６４２は、図２に関連して記載したように、コンピュータシステムインスタンス６２０の実施に使用される１つまたは複数のコンピュータハードウェア装置であってよい。例えば、サーバコンピュータ６４２は、記憶装置、仮想記憶装置、ネットワーク装置等のコンピューティングリソースのタイプを実施するハードウェアを含んでよい。さらに、実施されたコンピューティングリソースは、分散コンピューティングリソースプロバイダの顧客によってプログラムで及び遠隔で管理されてよい。
【００３８】
サーバコンピュータ６４２は、複数のコンピュータシステム装置を含み、各コンピュータシステム装置は、分散コンピューティングリソースサービスプロバイダ６０４によって作成された１つまたは複数のインスタンス６２０を実行できる。一実施形態においては、各サーバコンピュータ６４２は、プロセッサ、データストア、入力／出力バス、及び／または、インスタンス６２０を実行するための当技術分野で既知の任意の他のコンポーネントを含む。さらに、インスタンス６２０は、仮想マシンインスタンスであってよい。当技術分野で既知のように、仮想マシンインスタンスは、物理的機械等、プログラムを実行する機械（すなわち、コンピュータ）上でソフトウェアを実施するインスタンスである。例えば、各サーバコンピュータ６４２は、インスタンス６２０を実施できるインスタンスマネージャ６１８を実行するように構成されてよい。
【００３９】
インスタンスマネージャ６１８は、ハイパーバイザ、仮想化レイヤ、または、例えば、１つのサーバコンピュータシステム６４２で複数のインスタンス６２０を実行できるように構成された他のタイプのプログラムであってよい。上記のように、各インスタンス６２０は、アプリケーションの全てまたは一部を実行するように構成されてよい。さらに、ネットワーク６０６は、上記ネットワークに類似していてよい。ネットワーク環境６００は、１つまたは複数のデータセンタにわたってよく、各データセンタは、地理的に互いに離れていてよい。さらに、図６に示すネットワーク環境６００は、コンピューティングリソースサービスプロバイダによって採用されたいくつかの実施形態の１つであってよい。サーバコンピュータ６４２は、ファイアウォール６０４及びログエンティティ６０８をさらに含んでよい。ファイアウォール６０４は、上記インスタンス６２０へのネットワークトラフィックを管理するように構成されたハードウェア、ソフトウェア、または、それらの組み合わせであってよい。さらに、ログエンティティ６０８は、コンピュータ実行可能命令セットであってよく、サーバコンピュータ６４２の１つまたは複数のプロセッサによって実行されると、サーバコンピュータ６４２に、ファイアウォール６０４及び／またはインスタンスマネージャ６１８からログ情報を取得させる。例えば、ログエンティティ６０８は、ファイアウォール６０４からネットワークログ情報を取得してよく、インスタンスマネージャ６１８からコンピュータログ情報を取得してよい。
【００４０】
一実施形態においては、コンピューティングリソースサービスプロバイダ６０４は、リソースデータ６４４、インスタンスサービス６１２、ネットワーク情報サービス６２６、侵入検出サービス６３０、公開サービス６３２、メトリクスサービス６３４、セキュリティサービス６３６、及び／または、他のコンポーネントを含むデータストアを備える。リソースデータ６４４は、サーバコンピュータ６４２に関連するデータを含んでよい。例えば、一実施形態においては、リソースデータ６１０は、サーバコンピュータデータの１つまたは複数の記録６４６を含む。サーバコンピュータデータの記録６４６の各記録は、ネットワーク環境６００のサーバコンピュータ６４２に対応する。
【００４１】
インスタンスサービス６１２は、顧客が提供したプリファレンスのセットに少なくとも部分的に基づいて、インスタンス６２０をインスタンス化する。一実施形態においては、インスタンスサービス６１２は、クライアント装置６１０で顧客から１つまたは複数のインスタンス６２０を作成する要求６４０を受信し、任意で、インスタンス６２０の操作に対応するログ情報にログエンティティ６０８を割り当てる。さらに、クライアント装置６１０を操作する顧客から受信した要求６４０は、要求されたインスタンス６２０の実行を開始する時間も示してよい。要求の受信に応答して、インスタンスサービス６１２は、インスタンス６２０を開始する。様々な実施形態において、侵入検出サービス６３０またはメトリクスサービス６３４が、要求６４０を受信し、そして、インスタンス６２０に関連付けられた情報のログを開始し、ネットワークログデータ６４６等のログデータをリソースデータ６４４のデータストアに記憶するようにというコマンドをインスタンスサービス６１２に送信する。
【００４２】
顧客は、（適切に構成、認証されたＡＰＩコールを介して）コンピューティングリソースサービスプロバイダ６０４とインタラクトして、インスタンス６２０から収集したログ情報を作成、削除、及び、記述してよい。インスタンス６２０は、サーバコンピュータ６４２でインスタンス化され、コンピューティングリソースサービスプロバイダ６０４で操作される。さらに、顧客は、セキュリティサービス６３６を用いて１つまたは複数のセキュリティグループを作成してよく、セキュリティグループは、ファイアウォール６０４によって適用されたのと同じセキュリティポリシーのセットによって管理されるインスタンス６２０を論理的に集めたものであってよい。顧客が、セキュリティポリシーのセットを提供してよい、または、コンピューティングリソースサービスプロバイダ６０２が、セキュリティポリシーの最小セットを規定してよい。様々な実施形態において、顧客は、コンピューティングリソースサービスプロバイダ６０４が提供する管理コンソールを通して、セキュリティグループを作成、管理してよい。管理コンソールは、図３に関連して前述したウェブページ等のウェブページとして顧客に呈示されてよく、（例えば、ブラウザアプリケーションを介して）ウェブページとインタラクトして、顧客がＡＰＩコールを生成してよい。生成されたＡＰＩコールは、コンピューティングリソースサービスプロバイダ６０４またはそのコンポーネントに、顧客に示された様々な操作を行わせてよい。
【００４３】
侵入検出サービス６３０は、悪意のあるアクティビティまたはポリシー違反に関して、ネットワーク６０６及び／またはサーバコンピュータシステム６４６のアクティビティを監視する装置及び／または、ソフトウェアアプリケーションの集まりを含んでよい。さらに、ログエンティティ６０８または公開サービス６３２は、侵入検出サービス６３０にネットワークログデータ６４６を提供してよい。さらに、侵入検出サービス６３０は、異なる顧客が操作する様々なインスタンス６２０のネットワークログデータ６４６を相関させてよい。ネットワークログデータ６４６の相関によって、侵入検出サービス６３０は、攻撃または攻撃者に対応する追加の情報を取得できてよい。例えば、ログは、送信元ＩＰアドレスが、開かれたポートを求めて特定のネットワークをスキャンしていることを示してよい。このアクティビティは、その送信元ＩＰアドレスが攻撃に関わっていることを示してよく、侵入検出システムは、その送信元ＩＰアドレスから送信されたデータパケットをブロックしてよい。様々な実施形態において、侵入検出サービス６３０は、セキュリティサービス６３６が管理するセキュリティポリシーのセットへの更新を生成し、更新されたポリシーセットをファイアウォール６０４またはコンピューティングリソースサービスプロバイダ６０４が操作する他のコンピューティング装置に提供する。侵入検出サービス６３０に加えて、コンピューティングリソースサービスプロバイダは、侵入防止サービス（簡略化のため、図６には示していない）を運営してよい。侵入防止サービスは、検出された侵入を防止及び／またはブロックするように構成された１つまたは複数のネットワーク装置を含んでよい。例えば、侵入防止サービスは、アラームを送信、悪意のあるパケットをドロップ、接続をリセット、または、問題を起こしているＩＰアドレスからのトラフィックをブロックしてよい。侵入防止システムは、ログエンティティ６０８または公開サービス６３２からネットワークログデータ６４６を少なくとも取得することによって、ネットワークトラフィックを監視してよい。
【００４４】
ネットワーク情報サービス６２６は、顧客アカウント情報と、顧客に対応する他の情報とを維持してよい。例えば、ネットワーク情報サービス６２６は、顧客識別情報、インスタンス識別情報、ネットワークインタフェース識別情報、及び、特定の顧客に関連付けられた情報の識別に適した他の情報を含んでよい。例えば、上記のように、ネットワークログ情報は、顧客識別情報を含んでよい。ログエンティティ６０８またはメトリクスサービス６３４は、ネットワーク情報サービス６２６から顧客識別情報を取得してよい。公開サービス６３２は、リソースデータ６４４または顧客が指定する他のエンドポイントにネットワークログデータ６４６への更新を公開及びスケジュールに入れる。公開サービス６３２は、ログエンティティ６０８が１つまたは複数のエンドポイントに公開する追加のログ情報を有するか否かを周期的または非周期的にチェックしてもよい。様々な実施形態において、公開サービス６３２は、ログ情報をリアルタイムまたは準リアルタイムで様々なエンドポイントに送信してよい。
【００４５】
メトリクスサービス６３４は、サーバコンピュータシステム６４２のログエンティティ６０８または他のコンポーネントから、インスタンス６２０に対応するリソースデータ６４４を受信してよい。メトリクスサービス６３４によって取得されたリソースデータ６４４は、中央処理装置、メモリ、ネットワークインタフェース、オペレーティングシステム、アプリケーション、及び、インスタンス６２０の他のコンポーネント等、インスタンス６２０の様々なコンポーネントの利用を示してよい。この情報は、様々な異なる目的のために、例えば、自動スケーリンググループ６０２にリソースを割当または割当解除するか否かを決定するために、使用してよい。さらに、情報は、インスタンス６２０及び／またはサーバコンピュータシステム６４２の健全性を決定するために保守サービス６３２によって使用されてよい。メトリクスサービス６３４は、自動スケーリンググループ６０２に割り当てられたインスタンス６２０の全てに関する利用情報を取得及び集約してよい。さらに、インスタンス６２０が、スタンドバイ状態に置かれている、または、自動スケーリンググループ６２０から切り離されている時、メトリクスサービス６３４は、そのインスタンス６２０をメトリクスサービス６３２が利用情報を収集及び／または集約するインスタンス６２０のセットから取り除くコマンドを受信してよい。
【００４６】
図７は、少なくとも１つの実施形態による、マルチテナント環境のコンピュータシステムインスタンスに対応するログ情報を提供するように使用されてよい説明的プロセス７００を示す。プロセス７００は、図１及び図２で前述したファイアウォール及びログエンティティ等の任意の適切なシステム、または、それらのシステムもしくはコンポーネントの任意の組み合わせによって行われてよい。図７に戻ると、ある実施形態においては、プロセス７００は、ネットワークトラフィックを受信すること７０２を含む。受信されたネットワークトラフィックは、コンピュータシステムインスタンスに向けられた１つまたは複数のネットワークフローまたは送信を含んでよく、コンピュータシステムインスタンスは、顧客によって操作され、コンピューティングリソースサービスプロバイダによって提供されたコンピューティングリソースを用いて実施される。トラフィックは、コンピューティングリソースサービスプロバイダのサーバコンピュータシステムで、上記のように、受信されてよい。サーバコンピュータシステムのファイアウォールは、次に、受信したネットワークトラフィックとセキュリティポリシーのセットに少なくとも部分的に基づいてファイアウォールの決定を行ってよい７０４。セキュリティポリシーのセットは、上記特定のポートのセットでファイアウォールによって許可され得るネットワークトラフィックのセットに対応してよい。ファイアウォールは、受信したトラフィックに対して、許可または拒絶等のアクションを行ってよい。
【００４７】
図７に戻ると、プロセス７００は、受信したネットワークトラフィックとファイアウォールの決定に対応する追加情報を取得することをさらに含んでよい７０６。例えば、ログエンティティは、ネットワークインタフェース識別情報と、特定のネットワークフローまたはネットワークデータパケットに対応する特定のファイアウォールの決定を取得してよい。ログエンティティは、次に、受信したネットワークトラフィックに対応するネットワークフローのネットワークログ情報を収集してよい。上記のように、ネットワークログ情報は、送信元アドレス、サイズ、プロトコル、及び、ネットワークデータパケットに含まれた任意の他の情報等、ネットワークデータパケットから取得された情報を含んでよい。ログエンティティは、次に、ネットワークログ情報を選択した宛先に提供してよい７１０。宛先は、顧客によって選択されてよい、または、デフォルトによって、もしくは、顧客に提供するログまたは分析のタイプ等、顧客が選択した様々なオプションの結果として、コンピューティングリソースサービスプロバイダによって提供されてよい。さらに、ログエンティティは、ネットワークログ情報を選択した宛先に提供する前に、ネットワークログ情報の少なくとも一部を処理してよい。
【００４８】
図８は、少なくとも１つの実施形態による、マルチテナント環境のコンピュータシステムインスタンスに対応するログ情報の提供に使用し得る説明的なプロセス８００を示す。プロセス８００は、図６で前述したファイアウォール及びログエンティティ等の任意の適切なシステム、または、それらのシステムもしくはコンポーネントの任意の組み合わせによって行われてよい。図８に戻ると、ある実施形態において、プロセス８００は、ログを有効にするネットワークインタフェースの選択とログ情報の宛先を受信することを含む８０２。前述のように、顧客は、クライアントコンピューティング装置を用いて、顧客に呈示された管理コンソールとインタラクトしてよい。管理コンソールを通して、顧客は、ネットワークインタフェース、仮想プライベートネットワーク、サブネット、コンピュータシステムインスタンス、または、ログインを有効にするように顧客に与えられた他のコンピューティングリソースを指定してよい。
【００４９】
管理コンソールは、次に、コンピューティングリソースサービスプロバイダの適切なコンピュータシステムまたはサービスにコマンドを送信して、選択したネットワークインタフェースの実施を担当するコンピュータシステムからネットワークログ情報をコンピュータシステムに取得させてよい８０４。ネットワークログ情報の取得は、サーバコンピュータシステムが生成したログ情報を公開サービスから受信することをさらに含んでよい。さらに、ログ情報は、マルチテナント環境のサーバコンピュータシステムによって提供されたリソースの複数の顧客に関するログ情報を全て含んでよい。選択されたネットワークインタフェースに対応するログ情報が、次に、取得されたネットワークログ情報から読み出されてよい８０６。例えば、コンピューティングリソースサービスプロバイダは、選択したネットワークインタフェースを識別する情報を求めて、ログ情報をスキャンしてよい。コンピューティングリソースサービスプロバイダは、次に、ログ情報を宛先に提供してよい。例えば、公開サービスは、次に、ログ情報をメトリクスサービスに送信してよく、メトリクスサービスは、顧客のために、ログ情報を視覚化したものを生成してよい。
【００５０】
図９は、少なくとも１つの実施形態による、コンピューティングリソースサービスプロバイダに接続された顧客の例を示す。コンピューティングリソースサービスプロバイダ９０２は、顧客９０４に様々なサービスを提供してよく、顧客９０４は、インタフェース９２６を介してコンピューティングリソースサービスプロバイダ９０２と通信してよい。インタフェース９２６は、ウェブサービスインタフェースまたは任意の他のタイプの顧客インタフェースであってよい。インタフェース９２６は、例えば、顧客９０４からＡＰＩコールを受信するように構成されてよく、ＡＰＩコールを満足させるために、各サービスに、上記のような様々な操作を行わせてよい。コンピューティングリソースサービスプロバイダ９０２の各サービスは、コンピュータシステム（例えば、ネットワークを介して通信する複数のコンピューティング装置を含む分散コンピュータシステムで、各コンピューティング装置は１つまたは複数のプロセッサを含む）として実施されてよく、コンピュータシステムは、コンピュータ可読記憶媒体のセットに集合的に記憶された実行可能命令に従って動作し、ここで、個々のコンピュータ可読記憶媒体は、それぞれ、コンピュータシステムの各装置を動作させる命令の一部を有してよい。ある実施形態においては、サービスの少なくとも一部は、相互利用可能であり、それによって、それぞれ、各サービスを行う個々の分散コンピュータシステムから構成されたより大きい分散コンピュータシステムを形成する。図８は、コンピューティングリソースサービスプロバイダ９０２のサービスに対して１つのインタフェース９２６を示すが、各サービスは、それ自身のインタフェースを有してよく、一般的に、サービスのサブセットは、インタフェース９２６に追加して、または、インタフェース９２６の代わりに、対応するインタフェースを有してよい。顧客９０４は、組織であってよく、組織は、コンピューティングリソースサービスプロバイダ９０２が提供するサービスの１つまたは複数を利用して、情報を維持し、様々な地理的位置にいる場合がある従業員に情報を届けてよい。さらに、顧客９０４は、コンピューティングリソースサービスプロバイダ９０２のサービスを利用してコンテンツを遠隔のワーキンググループに届ける個人であってよい。図９に示すように、顧客９０４は、ネットワーク９０６を通してコンピューティングリソースサービスプロバイダ９０２と通信してよく、ネットワーク９０６は、インターネット、イントラネット、または、インターネットサービスプロバイダ（ＩＳＰ）ネットワーク等の通信ネットワークであってよい。顧客９０４からコンピューティングリソースサービスプロバイダ９０２への通信の一部は、記載した１つまたは複数の実施形態またはその変形に従って、コンピューティングリソースサービスプロバイダ９０２を動作させてよい。
【００５１】
コンピューティングリソースサービスプロバイダ９０２は、顧客に、様々なコンピューティングリソースサービスを提供してよい。コンピューティングリソースサービスプロバイダ９０２が提供するサービスは、この例においては、仮想コンピュータシステムサービス９０８、ブロックレベルデータストレージサービス９１０、暗号化サービス９１２、オンデマンドデータストレージサービス９１４、通知サービス９１６、認証システム９１８、ポリシー管理サービス９２０、タスクサービス９２２、及び、１つまたは複数の他のサービス９２４を含む。記載した実施形態の全てが、図９を参照して記載したサービス９０８〜９２４を含むわけではなく、また、明示的に記載したサービスに加えて、または、その代わりに、追加のサービスが提供されてよいことに注意されたい。記載のように、各サービス９０８〜９２４は、１つまたは複数のウェブサービスインタフェースを含んでよく、ウェブサービスインタフェースによって、顧客９０４は、適切に構成されたＡＰＩコールをウェブサービス要求を通して様々なサービスに提出することができる。さらに、各サービスは、１つまたは複数のサービスインタフェースを含んでよく、サービスインタフェースによって、サービスは互いにアクセスできる（例えば、仮想コンピュータシステムサービス９０８の仮想コンピュータシステムは、オンデマンドデータストレージサービス９１４にデータを記憶もしくはオンデマンドデータストレージサービス９１４からデータを読み出すことができる、及び／または、ブロックレベルデータストレージサービス９１０によって提供される１つまたは複数のブロックレベルデータ記憶装置にアクセスできる）。
【００５２】
仮想コンピュータシステムサービス９０８は、顧客９０４のために、仮想マシンインスタンスをインスタンス化するように構成されたハードウェア、ソフトウェア、または、それらの組み合わせを含んでよい。顧客９０４は、（適切に構成、認証されたＡＰＩコールを介して）仮想コンピュータシステムサービス９０８とインタラクトして、仮想コンピュータシステムをプロビジョニング、操作してよい。仮想コンピュータシステムは、コンピューティングリソースサービスプロバイダ９０２によってホスト、操作される物理的コンピューティング装置上でインスタンス化されている。仮想コンピュータシステムは、ウェブサイトを支援するサーバとして働く、ビジネスアプリケーションを動作させる、または、一般的に、顧客のための計算能力として働く等、様々な目的のために使用されてよい。仮想コンピュータシステムの他の用途は、データベースアプリケーション、電子商取引アプリケーション、ビジネスアプリケーション、及び／または、他のアプリケーションをサポートしてよい。仮想コンピュータシステムサービス９０８を図８に示すが、任意の他のコンピュータシステムまたはコンピュータシステムサービスが、コンピューティングリソースサービスプロバイダ９０２で利用されてよい。例えば、仮想化またはインスタンス化を採用せずに、専用もしくは共有コンピュータ／サーバ、及び／または、他の物理的装置にコンピューティングリソースをプロビジョニングするコンピュータシステムまたはコンピュータシステムサービス等が利用されてよい。
【００５３】
ブロックレベルデータストレージサービス９１０は、ブロックレベル記憶装置（及び／または、それを仮想化したもの）を用いて顧客９０４のためのデータを記憶するように集合的に働く１つまたは複数のコンピューティングリソースを含んでよい。ブロックレベルデータストレージサービス９１０のブロックレベル記憶装置は、例えば、仮想コンピュータシステムサービス９０８に備えられた仮想コンピュータシステムに任意で取り付けられて、コンピュータシステムの論理ユニット（例えば、仮想ドライブ）として働いてよい。ブロックレベル記憶装置によって、対応する仮想コンピュータシステムが使用／生成したデータの永続的記憶を可能にしてよく、仮想コンピュータシステムサービス９０８は、一時的なデータストレージのみを提供してよい。
【００５４】
コンピューティングリソースサービスプロバイダ９０２は、暗号化サービス９１２も含む。暗号化サービス９１２は、コンピューティングリソースサービスプロバイダ９０２の１つまたは複数のストレージサービスを利用して、暗号化された形式で顧客の鍵を記憶してよく、鍵は、暗号化サービス９１２の特定の装置にのみアクセス可能な顧客の鍵の解読に使用可能であってよい９１２。
【００５５】
コンピューティングリソースサービスプロバイダ９０２は、オンデマンドデータストレージサービス９１４をさらに含む。オンデマンドデータストレージサービス９１４は、要求を同期的に処理してデータを記憶及び／またはデータにアクセスするように構成されたハードウェア、ソフトウェア、または、それらの組み合わせを含んでよい。オンデマンドデータストレージサービス９１４は、コンピューティングリソース（例えば、データベース）を使用して動作してよく、コンピューティングリソースによって、オンデマンドデータストレージサービス９１４は、データを求める要求に応じて、データの位置を素早く突き止めて読み出し、提供することができる。例えば、オンデマンドデータストレージサービス９１４は、データオブジェクトを求める要求を読み出すと、要求に応答して、データオブジェクトを提供できる（または、データオブジェクトのストリーミングを開始できる）ように、記憶されたデータを維持してよい。記載のように、オンデマンドデータストレージサービス９１４に記憶されたデータは、データオブジェクトに組織されてよい。データオブジェクトは、おそらく、サイズに対する一定の制約を除けば、任意のサイズを有してよい。従って、オンデマンドデータストレージサービス９１４は、様々なサイズの多くのデータオブジェクトを記憶してよい。オンデマンドデータストレージサービス９１４は、データオブジェクトをデータオブジェクトの識別子と関連付けるキー値ストアとして働いてよく、顧客９０４は、識別子を使用して、オンデマンドデータストレージサービス９１４に記憶されたデータオブジェクトと関連した他の操作を読み出してよい、または、実行してよい。
【００５６】
図９に示す環境においては、通知サービス９１６が含まれる。通知サービス９１６は、ウェブサービスまたは他のインタフェースとブラウザベースの管理コンソールとを提供するように構成されたハードウェア、ソフトウェア、または、それらの組み合わせを含んでよい。管理コンソールを使用して、顧客が通知を受信したいトピックを設定し、アプリケーション（または人）を設定し、クライアントにトピックをサブスクライブさせ、メッセージを発行し、または、クライアントのプロトコル選択（すなわち、とりわけハイパーテキスト転送プロトコル（ＨＴＴＰ）、電子メール及びショートメッセージサービス（ＳＭＳ））を介して、メッセージの送信を設定してよい。通知サービス９１６は、新しい情報と更新を周期的にチェックまたは「ポーリング」する必要なく、「プッシュ」機構を用いて、クライアントに通知を提供してよい。通知サービス９１６は、仮想コンピュータシステムサービス９０８で実行しているアプリケーション、ワークフローシステム、時間依存の情報更新、モバイルアプリケーション、及び、その他多くの監視等、様々な目的にさらに使用されてよい。
【００５７】
図９に示すように、コンピューティングリソースサービスプロバイダ９０２は、様々な実施形態において、認証システム９１８及びポリシー管理サービス９２０を含む。認証システム９１８は、ある実施形態においては、顧客のユーザの認証に伴う操作を行うように構成されたコンピュータシステム（すなわち、コンピューティングリソースの集まり）である。例えば、サービス９０８〜９１６及び９２０〜９２４の１つは、ユーザからの情報を認証サービス９１８に提供して、ユーザの要求が信頼できるか否かを示す情報を返信で受信してよい。
【００５８】
ポリシー管理サービス９２０は、ある実施形態においては、コンピューティングリソースサービスプロバイダ９０２の顧客（例えば、顧客９０４）のために、ポリシーを管理するように構成されたコンピュータシステムである。ポリシー管理サービス９２０は、ポリシーの管理に関連する要求を顧客が提出できるようにするインタフェースを含んでよい。このような要求は、例えば、既存のポリシー等のインベントリを提供する等、顧客または他の管理アクションのためのポリシーを追加、削除、変更、または、他の方法で修正する要求であってよい。
【００５９】
コンピューティングリソースサービスプロバイダ９０２は、様々な実施形態において、タスクサービス９２２も備えてよい。タスクサービス９２２は、顧客９０４からタスクパッケージを受信し、タスクパッケージが指図するようにタスクを実行できるよう構成される。タスクサービス９２２は、１つまたは複数のインスタンス化された仮想マシンまたは仮想ホスト等、タスクを実行するためのコンピューティングリソースサービスプロバイダ９０２の任意のリソースを使用するよう構成されてよい。タスクサービス９２４は、顧客９０４の要件に従って、選択したオペレーティングシステム、及び／または、選択した実行アプリケーションを用いて、１つまたは複数のインスタンス化された仮想マシンまたは仮想ホストが動作するように構成してよい。
【００６０】
コンピューティングリソースサービスプロバイダ９０２は、顧客９０４のニーズに少なくとも部分的に基づいて、１つまたは複数の他のサービス９２４をさらに維持する。例えば、コンピューティングリソースサービスプロバイダ９０２は、顧客９０４のためにデータベースサービスを維持してよい。データベースサービスは、１つまたは複数の顧客９０４のために１つまたは複数のデータベースを実行するように構成されたハードウェアソフトウェア、または、それらの組み合わせであってよい。顧客９０４は、適切に構成されたＡＰＩコールを利用して、データベースサービスからデータベースを操作、管理してよい。これによって、顧客９０４は、データベースで操作を維持でき、及び、可能性としてスケーリングできてよい。他のサービスは、オブジェクトレベルのアーカイブデータストレージサービス、他のサービスを管理及び／または監視するサービスを含むが、これらに限らない。
【００６１】
本開示の実施形態は、以下の条項を考慮して記載できる。
１．コンピュータ実施方法であって、
実行可能命令を用いて構成された１つまたは複数のコンピュータシステムの制御の下で、
コンピューティングリソースサービスプロバイダの顧客からの要求であって、前記コンピューティングリソースサービスプロバイダによってホストされる仮想コンピュータシステムインスタンスのログを有効にする前記要求を受信することと、
前記顧客によって維持された１つまたは複数のセキュリティポリシーに少なくとも部分的に基づいて、前記仮想コンピュータシステムインスタンスに向けられたネットワークトラフィックをファイアウォールによって、フィルタリングすることと、
ネットワークトラフィックログ情報とファイアウォール決定を前記ファイアウォールから取得することと、
前記顧客によって操作される前記仮想コンピュータシステムインスタンスに対応するネットワークログ情報を読み出すことと、
前記受信した要求で前記顧客によって示された前記顧客がアクセス可能な宛先に前記読み出されたネットワークログ情報を提供することと、
を含む、前記コンピュータ実施方法。
【００６２】
２．前記宛先は、前記コンピューティングリソースサービスプロバイダのメトリクスサービスを含み、前記メトリクスサービスは、前記顧客が使用する前記コンピューティングリソースサービスプロバイダによってホストされた前記仮想コンピュータシステムインスタンスに対応するメトリクス情報を前記顧客に提供するように構成された、条項１に記載のコンピュータ実施方法。
【００６３】
３．前記メトリクスサービスは、前記提供されたネットワークログ情報に少なくとも部分的に基づいて、前記仮想コンピュータシステムインスタンスに関連付けられたネットワークトラフィックを視覚化したものを生成するようにさらに構成された、条項２に記載のコンピュータ実施方法。
【００６４】
４．前記宛先は、前記コンピューティングリソースサービスプロバイダのストレージサービスを含み、前記ストレージサービスは、前記ネットワークログ情報に前記顧客がアクセスできるように、前記ネットワークログ情報を永続的に記憶するように構成された、条項１〜３のいずれかに記載のコンピュータ実施方法。
【００６５】
５．システムであって、
コンピュータシステムセットを含み、前記コンピュータシステムセットは、
コンピューティングリソースサービスプロバイダの顧客から、前記システムのコンピューティングリソースによって支援され、前記顧客によってプログラムで管理される仮想コンピュータシステムインスタンスのログを有効にする要求を受信し、
１つまたは複数のデータパケットであって、前記仮想コンピュータシステムインスタンスに向けられたネットワークフローセットに関連付けられた前記１つまたは複数のデータパケットを、前記システムのネットワークインタフェースで受信し、
１つまたは複数のセキュリティポリシーであって、前記データパケットに含まれた情報に少なくとも部分的に基づいて、特定のデータパケットを許可するか、または、拒絶するかを示す前記１つまたは複数のセキュリティポリシーに少なくとも部分的に基づいて、ファイアウォールで、前記１つまたは複数のデータパケットをフィルタリングし、
ログを有効にする前記受信した要求を満たした結果として、前記１つまたは複数のデータパケットの前記フィルタリングに対応するログ情報と、前記１つまたは複数のデータパケットのフィルタリングの際に前記ファイアウォールが行ったアクションセットとを取得し、且つ、
前記ログ情報を前記顧客がアクセス可能な宛先に提供するように、
構成された、前記システム。
【００６６】
６．前記宛先は、前記１つまたは複数のセキュリティポリシーを適用するように構成された侵入防止システムをさらに含む、条項５に記載のシステム。
【００６７】
７．前記侵入防止システムは、前記提供されたログ情報に少なくとも部分的に基づいて、前記１つまたは複数のセキュリティポリシーを更新するようにさらに構成された、条項６に記載のシステム。
【００６８】
８．前記侵入防止システムは、前記１つまたは複数のセキュリティポリシーへの前記更新を前記ファイアウォールに提供するようにさらに構成された、条項７に記載のシステム。
【００６９】
９．前記メモリは、命令であって、前記１つまたは複数のプロセッサによって実行されると、前記メトリクスサービスを用いて前記顧客が設定したアラームに少なくとも部分的に基づいて、前記システムに前記顧客に通知させる前記命令をさらに含む、条項５〜８のいずれかに記載のシステム。
【００７０】
１０．前記メモリは、命令であって、前記１つまたは複数のプロセッサによって実行されると、前記仮想コンピュータシステムインスタンスに関連付けられた前記顧客から前記取得したログ情報のフィルタリング要求を受信した結果として、前記ログ情報の１つまたは複数の属性に少なくとも部分的に基づいて、前記取得したログ情報を前記システムにフィルタリングさせる前記命令をさらに含む、条項５〜９のいずれかに記載のシステム。
【００７１】
１１．前記メモリは、命令であって、前記１つまたは複数のプロセッサによって実行されると、前記仮想コンピュータシステムインスタンスに関連付けられた前記顧客から、前記仮想コンピュータシステムインスタンスのログを終了するＡＰＩコールを受信したことに少なくとも部分的に基づいて、前記仮想コンピュータシステムインスタンスのログを前記システムに無効にさせる前記命令をさらに含む、条項５〜１０のいずれかに記載のシステム。
【００７２】
１２．前記メモリは、命令であって、前記１つまたは複数のプロセッサによって実行されると、前記仮想コンピュータシステムインスタンスに関連付けられた前記顧客から、他の宛先を示すＡＰＩコールを受信したことに少なくとも部分的に基づいて、前記システムに前記ログ情報を前記他の宛先に提供させる前記命令をさらに含む、条項５〜１１のいずれかに記載のシステム。
【００７３】
１３．実行可能命令を集合的に記憶した非一時的コンピュータ可読記憶媒体のセットであって、前記実行可能命令は、コンピュータシステムセットの１つまたは複数のプロセッサによって実行されると、前記コンピュータシステムセットの少なくともサブセットに、少なくとも、
コンピューティングリソースサービスプロバイダの顧客からの、コンピューティングリソースサービスプロバイダがホストするコンピューティングリソースによって支援される仮想コンピュータシステムインスタンスのログを有効にする要求を満たし、
ネットワークトラフィックであって、１つまたは複数のセキュリティポリシーに少なくとも部分的に基づいて、前記顧客が管理する前記仮想コンピュータシステムインスタンスの支援に少なくとも部分的に使用されるコンピューティングリソースセットに向けられた前記ネットワークトラフィックの少なくとも一部をファイアウォールでフィルタリングし、
前記受信した要求を満たした結果として、前記ファイアウォールから、ネットワークトラフィックログ情報を取得し、
前記取得したネットワークログ情報から、前記仮想コンピュータシステムインスタンスに対応するログ情報を読み出し、且つ、
前記読み出したログ情報を永続的に記憶するためにストレージサービスに提供させる、前記非一時的コンピュータ可読記憶媒体のセット。
【００７４】
１４．コンピューティングリソースサービスプロバイダの顧客からのログを有効にする要求をコンピュータシステムに受信させる前記命令は、前記顧客に呈示された管理コンソールからコマンドを受信することに少なくとも部分的に基づいて、前記コンピュータシステムに、前記コンピューティングリソースセットへのログを有効にさせる命令をさらに含み、前記管理コンソールは、ログを有効にする前記顧客が管理する前記仮想コンピュータシステムインスタンスの選択を受信する、条項１３に記載の非一時的コンピュータ可読記憶媒体。
【００７５】
１５．前記命令は、前記１つまたは複数のプロセッサによって実行されると、前記コンピュータシステムに、前記読み取ったログ情報をメトリクスサービスに提供させる命令をさらに含む、条項１３または１４に記載の非一時的コンピュータ可読記憶媒体。
【００７６】
１６．前記命令は、前記１つまたは複数のプロセッサによって実行されると、前記読み出したログ情報に少なくとも部分的に基づいて、前記コンピュータシステムに、前記仮想コンピュータシステムインスタンスに向けられた前記ネットワークトラフィックの一部の１つまたは複数の属性を示す視覚化したもののセットを生成させる命令をさらに含む、条項１３〜１５のいずれかに記載の非一時的コンピュータ可読記憶媒体。
【００７７】
１７．前記コンピューティングリソースセットに対応するログ情報を前記コンピュータシステムに読み出させる前記命令は、前記コンピュータシステムに、前記顧客が管理する仮想コンピュータシステムインスタンスセットのログ情報を読み出させる命令をさらに含み、前記仮想コンピュータシステムインスタンスセットの少なくとも一部は、前記コンピューティングリソースセットによって支援され、前記仮想コンピュータシステムインスタンスは、前記仮想コンピュータシステムインスタンスセットの要素である、条項１３〜１６のいずれかに記載の非一時的コンピュータ可読記憶媒体。
【００７８】
１８．前記命令は、前記１つまたは複数のプロセッサによって実行されると、前記コンピュータシステムに、前記コンピュータシステムを担当していないサードパーティのサービスプロバイダに前記読み出したログ情報を提供させる命令をさらに含む、条項１３〜１７のいずれかに記載の非一時的コンピュータ可読記憶媒体。
【００７９】
１９．前記命令は、前記１つまたは複数のプロセッサによって実行されると、前記コンピュータシステムに、
前記コンピューティングリソースサービスプロバイダによってホストされ、且つ、第２の顧客が管理する第２の仮想コンピュータシステムインスタンスの支援に使用されるコンピューティングリソースの第２のセットに対応する追加のネットワークログ情報を読み出させる命令をさらに含み、
永続的記憶のために前記読み出したネットワークログ情報を前記ストレージサービスに提供することは、前記追加のネットワークログ情報を永続的記憶のために前記ストレージサービスに提供することをさらに含む、
条項１３〜１８のいずれかに記載の非一時的コンピュータ可読記憶媒体。
【００８０】
２０．前記命令は、前記１つまたは複数のプロセッサによって実行されると、前記顧客からログを無効にするコマンドを受信することに少なくとも部分的に基づいて、前記コンピュータシステムに、前記仮想コンピュータシステムインスタンスのログを無効にさせる命令をさらに含む、条項１３〜１９のいずれかに記載の非一時的コンピュータ可読記憶媒体。
【００８１】
図１０は、様々な実施形態による、態様を実施する例示の環境１０００の態様を示す。理解されるように、ウェブベース環境を説明のために使用するが、必要に応じて、異なる環境を使用して様々な実施形態を実施してよい。環境は、電子クライアント装置１００２を含み、電子クライアント装置１００２は、適切なネットワーク１００４を介して要求、メッセージ、または、情報を送信及び／または受信するように動作可能な任意の適切な装置、ある実施形態においては、装置のユーザに情報を返信するように動作可能な任意の適切な装置を含むことができる。このようなクライアント装置の例は、パーソナルコンピュータ、携帯電話、ハンドヘルドメッセージング装置、ラップトップコンピュータ、タブレットコンピュータ、セットトップボックス、パーソナルデータアシスタント、組み込み型コンピュータシステム、電子ブックリーダ等を含む。ネットワークは、イントラネット、インターネット、セルラーネットワーク、ローカルエリアネットワーク、衛星ネットワークもしくは任意の他のこのようなネットワークを含む任意の適切なネットワーク、及び／または、それらの組み合わせを含んでよい。このようなシステムに使用するコンポーネントは、選択したネットワーク及び／または環境のタイプに少なくとも部分的に依存し得る。このようなネットワークを介して通信するプロトコル及びコンポーネントは、周知であり、ここでは詳細に記載しない。ネットワークを介した通信は、有線もしくは無線接続、及び、これらの組み合わせで可能にすることができる。この例においては、要求を受信し、その要求に応えてコンテンツを供給するウェブサーバ１００６を環境が含むように、ネットワークは、インターネットを含むが、当業者には明らかなように、他のネットワークに関しては、同様の目的を果たす他の装置を使用してよい。
【００８２】
例示の環境は、少なくとも１つのアプリケーションサーバ１００８とデータストア１０１０を含む。数個のアプリケーションサーバ、レイヤもしくは他の要素、プロセスもしくはコンポーネントがあってよく、それらは、チェーン、もしくは、他の方法で構成されてよく、インタラクトして、適切なデータストアからデータを取得する等のタスクを行うことができることを、理解されたい。本明細書においては、サーバは、ハードウェア装置または仮想コンピュータシステム等、様々な形で実施されてよい。ある文脈においては、サーバは、コンピュータシステム上で実行されているプログラミングモジュールを指してよい。本明細書においては、別段の記載の無い限り、または、文脈から明らかで無い限り、「データストア」という語は、データを記憶、データにアクセス、及び、データの読み出しを行うことができる任意の装置または装置の組み合わせを指し、任意の標準的、分散、仮想、または、クラスタ環境で、任意の組み合わせ及び数のデータサーバ、データベース、データ記憶装置、及び、データ記憶媒体を含んでよい。クライアント装置の１つまたは複数のアプリケーションの態様を実行するのに必要なデータストアと一体化し、アプリケーションのデータアクセス及びビジネスロジックの一部または全てを取り扱う任意の適切なハードウェア、ソフトウェア、及び、ファームウェアを、アプリケーションサーバは含むことができる。アプリケーションサーバはデータストアと協力してアクセス制御サービスを提供してよく、テキスト、グラフィックス、音声、ビデオ、及び／または、ユーザに提供するために使用可能な他のコンテンツを含むが，これらに限らないコンテンツを生成できる。コンテンツは、ハイパーテキストマークアップ言語（「ＨＴＭＬ」）、拡張マークアップ言語（「ＸＭＬ」）、ジャバスクリプト（ＪａｖａＳｃｒｉｐｔ（登録商標））、カスケーディングスタイルシート（「ＣＳＳ」）または他の適切なクライアント側構造化言語の形式で、ウェブサーバによってユーザに供給されてよい。クライアント装置に転送されるコンテンツは、クライアント装置によって処理されて、聴覚的、視覚的、及び／または、触覚、味覚及び／または嗅覚を含む他の感覚を通して、ユーザが認識できる形式を含むが、これらに限らない１つまたは複数の形式で提供されてよい。全ての要求及び応答の扱いと、クライアント装置１００２とアプリケーションサーバ１００８の間のコンテンツ配信は、この例においては、ハイパーテキストプリプロセッサ（ＰＨＰ：Ｈｙｐｅｒｔｅｘｔ  Ｐｒｅｐｒｏｃｅｓｓｏｒ）、Ｐｙｔｈｏｎ、Ｒｕｂｙ、Ｐｅｒｌ、Ｊａｖａ（登録商標）、ＨＴＭＬ、ＸＭＬ、または、他の適切なサーバ側構造化言語を用いてウェブサーバによって取り扱うことができる。本明細書に記載の構造化コードは、本明細書の他の箇所に記載のように任意の適切な装置またはホストマシンで実行できるので、ウェブ及びアプリケーションサーバは必要とされず、単にコンポーネントの例にすぎないことは理解されたい。さらに、１つの装置で行われているとして本明細書に記載した操作は、文脈から特に明白でない限り、複数の装置で集合的に行われてもよく、それらの装置は、分散及び／また���仮想システムを形成してよい。
【００８３】
データストア１０１０は、数個の個別のデータ表、データベース、データ書類、動的データストレージスキーム、及び／または、本開示の特定の態様に関するデータを記憶する他のデータストレージ機構及び媒体を含むことができる。例えば、図示のデータストアは、生産データ１０１２及びユーザ情報１０１６を記憶する機構を含んでよく、生産データ１０１２及びユーザ情報１０１６は、生産側のコンテンツの供給に使用することができる。データストアは、ログデータを記憶する機構１０１４を含むことも図に示されており、ログデータは、報告、分析、または、他のこのような目的に使用できる。ページ画像情報及びアクセス権情報等、データストアに記憶の必要があってよい多くの他の態様があってよく、それらは、必要に応じて、または、データストア１０１０の追加の機構として、上記に列挙した機構のいずれかに記憶できることを理解されたい。データストア１０１０は、データストア１０１０に関連付けられたロジックを通して、アプリケーションサーバ１００８から命令を受信し、その命令に応答して、データを取得、更新、または、他の方法で処理するように動作可能である。アプリケーションサーバ１００８は、受信した命令に応答して、静的データ、動的データ、または、静的データと動的データの組み合わせを提供してよい。ウェブログ（ブログ）、ショッピングアプリケーション、新しいサービス、及び、他のこのようなアプリケーションで使用されるデータ等の動的データは、本明細書に記載のようにサーバ側構造化言語によって生成されてよい、または、アプリケーションサーバ上、もしくは、アプリケーションサーバの制御の下で動作しているコンテンツ管理システム（「ＣＭＳ」）によって提供されてよい。一例においては、ユーザは、ユーザが操作する装置を通して、一定のタイプの項目の検索要求を提出してよい。この場合、データストアは、ユーザ情報にアクセスしてユーザのアイデンティティを検証してよく、カタログ詳細情報にアクセスして、そのタイプの項目に関する情報を取得できる。情報は、次に、ユーザ装置１００２上のブラウザを介してユーザが見ることができるウェブページに結果をリストする等で、ユーザに返信できる。関心のある特定の項目の情報は、ブラウザの詳細ページまたはウィンドウで見ることができる。しかしながら、本開示の実施形態は、ウェブページの文脈に必ずしも限定されず、より広く、一般的な要求の処理に適用可能で、その場合、要求は、必ずしもコンテンツの要求に限らないことに注意されたい。
【００８４】
各サーバは、典型的に、サーバの一般的な管理及び動作の実行可能プログラム命令を提供するオペレーティングシステムを含み、且つ、典型的に、命令を記憶するコンピュータ可読記憶媒体（例えば、ハードディスク、ランダムアクセスメモリ、リードオンリメモリ等）を含む。命令は、サーバのプロセッサによって実行されると、サーバが、意図した機能を行うのを可能にする。オペレーティングシステムの適切な実施態様と、サーバの一般的な機能は、既知または市販されており、特に本開示を考慮すると、当業者によって容易に実施される。
【００８５】
環境は、一実施形態においては、１つまたは複数のコンピュータネットワークまたは直接接続を用いて通信リンクを介して相互に接続される数個のコンピュータシステム及びコンポーネントを利用した分散及び／または仮想コンピューティング環境である。しかしながら、このようなシステムは、図１０に示すコンポーネントより多いまたは少ない数のコンポーネントを有するシステムで同じように申し分なく動作できることを、当業者は理解する。従って、図１０のシステム１０００の図は、説明的な性質のものであり、開示の範囲を限定するものではない。
【００８６】
様々な実施形態は、広範なオペレーティング環境でさらに実施でき、オペレーティング環境は、ある場合には、多くのアプリケーションのいずれかを動作させることができる１つまたは複数のユーザコンピュータ、コンピューティング装置、または、処理装置を含んでよい。ユーザまたはクライアント装置は、標準オペレーティングシステムを実行するデスクトップ、ラップトップまたはタブレットコンピュータ等の多くの汎用パーソナルコンピュータと、モバイルソフトウェアを実行し、且つ、多くのネットワーキング及びメッセージングプロトコルを支援できるセルラー、無線、及び、ハンドヘルドの装置との任意の装置を含み得る。このようなシステムは、様々な市販のオペレーティングシステムと、開発及びデータベース管理等の目的のための他の既知のアプリケーションとの任意のものを実行する多くのワークステーションも含み得る。これらの装置は、ダミー端末、シンクライアント、ゲームシステム、及び、ネットワークを介して通信できる他の装置等の他の電子装置も含み得る。これらの装置は、仮想マシン、ハイパーバイザ、及び、ネットワークを介して通信できる他の仮想装置等の仮想装置も含み得る。
【００８７】
本開示の様々な実施形態は、伝送制御プロトコル／インターネットプロトコル（「ＴＣＰ／ＩＰ」）、ユーザデータグラムプロトコル（「ＵＤＰ」）、オープンシステムインターコネクション（「ＯＳＩ」）モデルの様々なレイヤで動作するプロトコル、ファイル転送プロトコル（「ＦＴＰ」）、ユニバーサルプラグアンドプレイ（「ＵｐｎＰ」）、ネットワークファイルシステム（「ＮＦＳ」）、コモンインターネットファイルシステム（「ＣＩＦＳ」）、及び、アップルトーク（ＡｐｐｌｅＴａｌｋ）等、様々な市販のプロトコルのいずれかを使用して通信をサポートする当業者が精通している少なくとも１つのネットワークを利用する。ネットワークは、例えば、ローカルエリアネットワーク、ワイドエリアネットワーク、仮想プライベートネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話網、赤外線ネットワーク、無線ネットワーク、衛星ネットワーク、及び、これらの任意の組み合わせであってよい。
【００８８】
ウェブサーバを利用する実施形態においては、ウェブサーバは、ハイパーテキスト転送プロトコル（「ＨＴＴＰ」）サーバ、ＦＴＰサーバ、コモンゲートウェイインタフェース（「ＣＧＩ」）サーバ、データサーバ、Ｊａｖａ（登録商標）サーバ、Ａｐａｃｈｅサーバ、及び、ビジネスアプリケーションサーバを含む、様々なサーバまたは中間層アプリケーションのいずれかを実行できる。サーバ（複数可）は、また、ユーザ装置からの要求に応答して、１つまたは複数のウェブアプリケーションの実行等によって、プログラムまたはスクリプトを実行できてよく、１つまたは複数のウェブアプリケーションは、Ｊａｖａ（登録商標）、Ｃ、Ｃ＃もしくはＣ＋＋等の任意のプログラミング言語、または、Ｒｕｂｙ、ＰＨＰ、Ｐｅｒｌ、ＰｙｔｈｏｎもしくはＴＣＬ等の任意のスクリプト言語，及び、それらの組み合わせで書かれた１つまたは複数のスクリプトまたはプログラムとして実施されてよい。サーバ（複数可）は、データベースサーバも含んでよく、データベースサーバは、Ｏｒａｃｌｅ（登録商法）、Ｍｉｃｒｏｓｏｆｔ（登録商標）、Ｓｙｂａｓｅ（登録商標）及びＩＢＭ（登録商標）製の市販のデータベースサーバと、ＭｙＳＱＬ、Ｐｏｓｔｇｒｅｓ、ＳＱＬｉｔｅ、ＭｏｎｇｏＤＢ、及び、構造化または非構造化データを記憶、読み出し、及び、アクセスできる任意の他のサーバ等、オープンソースサーバとを含んでよいが、これらに限らない。データベースサーバは、表ベースのサーバ、ドキュメントベースのサーバ、非構造化サーバ、リレーショナルサーバ、非リレーショナルサーバ、または、これら及び／または他のデータベースサーバの組み合わせを含んでよい。
【００８９】
環境は、上記のように、様々なデータストアと、他のメモリ及び記憶媒体とを含み得る。これらは、コンピュータの１つまたは複数にローカルに（及び／または、内に存在する）記憶媒体上に、または、ネットワークを介してコンピュータのいずれかまたは全てから離れて等、様々な場所に存在してよい。特定の実施形態のセットにおいては、情報は、当業者がよく知っているストレージエリアネットワーク（「ＳＡＮ」）に存在してよい。同様に、コンピュータ、サーバ、または、他のネットワーク装置に属する機能を行う任意の必要なファイルは、必要に応じて、ローカル及び／または遠隔に記憶されてよい。システムが、コンピュータ化された装置を含む場合、このような装置は、それぞれ、バスを介して電子的に接続されてよいハードウェア要素を含むことができ、ハードウェア要素は、例えば、少なくとも１つの中央処理装置（「ＣＰＵ」または「プロセッサ」）、少なくとも１つの入力装置（例えば、マウス、キーボード、コントローラ、タッチスクリーン、または、キーパッド）、及び、少なくとも１つの出力装置（例えば、表示装置、プリンタ、または、スピーカ）を含む要素を備える。このようなシステムは、ディスクドライブ、光学記憶装置、及び、ランダムアクセスメモリ（「ＲＡＭ」）もしくはリードオンリメモリ（「ＲＯＭ」）等のソリッドステート記憶装置と、取り外し可能メディア装置、メモリカード、フラッシュカード等の１つまたは複数の記憶装置も含んでよい。
【００９０】
このような装置は、上記のように、コンピュータ可読記憶媒体リーダ、通信装置（例えば、モデム、ネットワークカード（無線または有線）、赤外線通信装置等）、及び、ワーキングメモリも含んでよい。コンピュータ可読記憶媒体リーダは、コンピュータ可読記憶媒体と接続、または、コンピュータ可読記憶媒体を受信するように構成でき、コンピュータ可読記憶媒体は、遠隔、ローカル、固定、及び／または、取り外し可能な記憶装置と、一時的及び／または、より永続的にコンピュータ可読情報を含み、記憶し、送信し、読み出す記憶媒体とを表す。システム及び様々な装置は、また、典型的に、クライアントアプリケーションもしくはウェブブラウザ等のオペレーティングシステム及びアプリケーションプログラムを含む、少なくとも１つのワーキングメモリ装置内に配置された多くのソフトウェアアプリケーション、モジュール、サービス、または、他の要素を含む。代替実施形態は、上記の実施形態の多くの変形形態を有してよいことは理解されたい。例えば、カスタマイズされたハードウェアを使用してもよく、及び／または、特定の要素は、ハードウェア、ソフトウェア（アプレット等のポータブルソフトウェアを含む）、または、その両方で実施されてよい。さらに、ネットワーク入力／出力装置等の他のコンピューティング装置への接続が採用されてよい。
【００９１】
コード、または、コードの一部を含む記憶媒体及びコンピュータ可読媒体は、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータ等の情報を記憶及び／または送信するための任意の方法または技術で実施される揮発性及び不揮発性、取り外し可能及び取り外し不能の媒体を含むが、これらに限らない記憶媒体及び通信媒体を含む当分野で既知または使用される任意の適切な媒体を含んでよい。当該記憶媒体及び通信媒体には、ＲＡＭ、ＲＯＭ、電気的消去可能プログラム可能リードオンリメモリ（「ＥＥＰＲＯＭ」）、フラッシュメモリもしくは他のメモリ技術、コンパクトディスクリードオンリメモリ（「ＣＤ−ＲＯＭ」）、デジタル多用途ディスク（ＤＶＤ）もしくは他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気記憶装置、または、所望の情報の記憶に使用でき、且つ、システム装置がアクセスできる任意の他の媒体が含まれる。本明細書で提供した開示及び教示に基づいて、当業者は、様々な実施形態を実施する他のやり方及び／または方法を認識する。
【００９２】
明細書及び図面は、従って、制限的な意味ではなく、説明的な意味と見なされるべきである。しかしながら、請求項に規定する発明のより広い精神及び範囲を逸脱することなく、様々な修正及び変更を行ってよいことは明らかである。
【００９３】
他の変更形態は、本開示の精神の範囲内にある。従って、開示の技術は、様々な修正を受けやすく、及び、代替の構成とされやすいが、その特定の図示された実施形態を図面で示し、上に詳細に記載した。しかしながら、開示した具体的な形態（複数可）に発明を限定する意図はなく、対照的に、添付の請求項に既定の発明の精神及び範囲に該当する全ての修正、代替構成、及び、同等物を含むことを意図していることは理解されたい。
【００９４】
開示の実施形態を記載する文脈において（特に、以下の請求項の文脈において）、用語「ａ」「ａｎ」「ｔｈｅ」の使用、及び、同様の指示対象は、本明細書に別段の指示の無い限り、または、文脈と明らかに矛盾しない限り、単数及び複数の両方を含むと解釈されたい。用語「ｃｏｍｐｒｉｓｉｎｇ（含む）」「ｈａｖｉｎｇ（有する）」「ｉｎｃｌｕｄｉｎｇ（含む）」「ｃｏｎｔａｉｎｉｎｇ（含む）」は、別段の記載の無い限り、オープンエンドの語（すなわち、「含むが、〜に限らない」を意味する）と解釈されたい。用語「ｃｏｎｎｅｃｔｅｄ（接続された）」は修飾語を伴わずに物理的接続を指す時、介在するものがあっても、部分的または全体的に、〜内に含まれる、〜に取り付けられる、または、結合されると解釈すべきである。本明細書の値の範囲の記載は、別段の記載の無い限り、その範囲内に該当する各個別の値を個々に指す簡単な方法としての役割を果たすことのみを意図しており、各個別の値は、本明細書に個々に記載されているかのように明細書に組み込まれる。用語「ｓｅｔ（セット）」（例えば、「ａ  ｓｅｔ  ｏｆ  ｉｔｅｍｓ」）または「ｓｕｂｓｅｔ（サブセット）」の使用は、別段の記載の無い限り、または、文脈に矛盾しない限り、１つまたは複数の要素を含む空でない集合と解釈すべきである。さらに、別段の記載の無い限り、または、文脈に矛盾しない限り、対応するｓｅｔの用語「ｓｕｂｓｅｔ」は、対応するセットの厳密な意味でのサブセットを必ずしも意味せず、サブセットと対応するセットが等しい場合もある。
【００９５】
「ａｔ  ｌｅａｓｔ  ｏｎｅ  ｏｆ  Ａ，Ｂ，ａｎｄ  Ｃ（Ａ、Ｂ、及びＣの少なくとも１つ）」または「ａｔ  ｌｅａｓｔ  ｏｎｅ  ｏｆ  Ａ，Ｂ  ａｎｄ  Ｃ（Ａ、Ｂ及びＣの少なくとも１つ）」という形の句等、接続された語は、別段の記載の無い限り、または、文脈に明らかに矛盾しない限り、一般的に使用される文脈で、項目、用語等は、ＡもしくはＢもしくはＣ、または、Ａ及びＢ及びＣのセットの任意の空でないサブセットであってよいことを表すと理解されたい。例えば、３つの要素を有するセットを説明のため例にとると、接続された語「ａｔ  ｌｅａｓｔ  ｏｎｅ  ｏｆ  Ａ，Ｂ，ａｎｄ  Ｃ」及び「ａｔ  ｌｅａｓｔ  ｏｎｅ  ｏｆ  Ａ，Ｂ  ａｎｄ  Ｃ」は、セット｛Ａ｝，｛Ｂ｝，｛Ｃ｝，｛Ａ，Ｂ｝，｛Ａ，Ｃ｝，｛Ｂ，Ｃ｝，｛Ａ，Ｂ，Ｃ｝のいずれかを指す。従って、このような接続された語は、一定の実施形態が、Ａの少なくとも１つ、Ｂの少なくとも１つ、及び、Ｃの少なくとも１つがそれぞれ存在することが必要であることを、一般的に意図してはいない。
【００９６】
本明細書に記載のプロセスの動作は、本明細書に別段の指示の無い限り、または、文脈と明らかに矛盾しない限り、任意の適切な順序で行うことができる。本明細書に記載のプロセス（または、その変形形態、及び／または、その組み合わせ）は、実行可能命令を用いて構成された１つまたは複数のコンピュータシステムの制御の下で行われてよく、ハードウェアまたはその組み合わせによって、１つまたは複数のプロセッサ上で集合的に実行するコード（例えば、実行可能命令、１つまたは複数のコンピュータプログラム、または、１つもしくは複数のアプリケーション）として実施されてよい。コードは、コンピュータ可読記憶媒体上に、例えば、１つまたは複数のプロセッサによって実行可能な複数の命令を含むコンピュータプログラムの形で、記憶されてよい。コンピュータ可読記憶媒体は、非一時的であってよい。
【００９７】
いずれか及び全ての例、または、本明細書に記載の例示の語（例えば、「ｓｕｃｈ  ａｓ」）の使用は、発明の実施形態をより明瞭にすることだけを意図しており、請求項に別段の規定の無い限り、発明の範囲に制限を課すものではない。明細書のどの語も、特許を請求していない要素が発明の実践に必須であることを示していると解釈すべきではない。
【００９８】
本開示の実施形態を、発明者らには既知の発明を行うための最良の形態を含めて、本明細書に記載する。これらの実施形態の変形形態は、前述の記載を読めば当業者には明らかであろう。発明者らは、このような変形形態を必要に応じて当業者が採用することを予期しており、発明者らは、本明細書に具体的に記載している以外の他の方法で本開示の実施形態が実践されることを意図している。従って、本開示の範囲は、適用法によって許可されるように、本明細書に添付の請求項に記載された主題の修正及び同等物の全てを含む。さらに、その全ての可能な変形形態における上記要素の組み合わせはいずれも、本明細書に別段の記載の無い限り、または、文脈と明らかに矛盾しない限り、本開示の範囲に含まれる。
【００９９】
本明細書に引用した、出版物、特許出願書及び特許を含む全ての参考文献は、各参考文献を参照により組み込まれることを個々に具体的に示し、その全体を本明細書に記載したのと同じ程度に、参照により本明細書に組み込まれる。
【０１００】
データセンタは、コンピュータシステムと、様々なネットワーク、ストレージ、及び、他の関連するコンポーネントを収容する施設である。データセンタは、例えば、遠隔コンピューティングサービスとしてコンピューティングサービスをビジネス及び個人に提供してよく、または、「サービスとしてのソフトウェア」（例えば、クラウドコンピューティング）を提供してよい。データセンタリソースの利用を容易にするために、仮想化技術によって、１つの物理的コンピューティングマシンが、接続されたコンピュータユーザには、独立したコンピュータマシンのように見え、且つ、動作する仮想マシンの１つまたは複数のインスタンスをホストするのを可能にしてよい。仮想化を用いて、１つの物理的コンピューティング装置は、動的に、仮想マシンを作成、維持、または、削除できる。
【０１０１】
データセンタの顧客は、選択するリソースと、どのようにリソースを設定、利用するかに関して広範な選択を提供されてよい。どのようにリソースを設定、利用するかに応じて、顧客は、そのリソースに関して異なるレベルの性能を体験してよい。
【０１０２】
図面を通して、参照番号は、参照される要素間の対応を示すために再使用されてよい。図面は、本明細書に記載の実施形態例を示すために提供されており、開示の範囲を制限する意図は無い。
【０１０３】
【０１０４】
プロバイダネットワークのデータへのアクセスを提供するシステム及び方法の実施形態を記載する。プロバイダネットワークのコンピューティングリソースの規定のユニットまたはサブセットに関して、ネットワークデータフローは、選択した単位時間に対して、及び、選択した時間間隔の間、入手、記憶される。単位時間の間ネットワークデータフローが記憶され、処理可能になると、イベント通知が生成される。これらのイベントの１つに応答して、プロバイダネットワークは、単位時間の間、記憶されたデータを処理してよく、ネットワークデータフローデータの選択された部分を要求を行っている顧客に利用可能にしてよい。さらなる単位時間の間、追加のネットワークデータフローを入手、記憶すると、イベント通知が待ち行列に送られる。記憶されたデータは、待ち行列から読み出されたイベント通知に基づいて処理される。記憶されたデータのセットが処理できない場合、または、処理に遅延がある場合、その記憶されたデータのセットに対するイベント通知を、その後に処理するため、待ち行列に戻すことができる。
【０１０５】
プロバイダネットワークを運営するエンティティ等のサービスプロバイダは、コンピューティングインスタンス及びストレージリソース等のコンピューティングリソースを顧客（エンティティまたはユーザとも呼ばれてよい）に提供してよい。顧客は、サービスプロバイダのコンピューティングリソースにアクセスする任意の人またはエンティティであってよい。サービスプロバイダは、例えば、ウェブサービスプラットフォームを提供してよい。複数の顧客が、コンピューティングノードを介してウェブサービスプラットフォームにアクセスし、ウェブサービスプラットフォームに命令を発してよい。ウェブサービスプラットフォームは、複数の顧客がプラットフォームにアクセスしてよいことを示すマルチテナントウェブサービスプラットフォームとも呼ばれてよい。ウェブサービスプラットフォームは、ウェブサービスプラットフォームを構成する複数のコンピューティングノードの１つまたは複数に対してコンピューティング操作を行うことによって、命令に応答してよい。
【０１０６】
他のタイプのリソースが、プロバイダネットワークによって提供されてよい。例えば、プロバイダネットワークは、顧客のインスタンス、他のリソース、及び、リソース上で実行しているアプリケーションの監視及び評価を行ってよい。このような監視及び評価サービスは、本明細書では、一般的に、リソース分析サービスと呼ばれてよい。監視及び評価された情報は、様々なメトリクスの収集及び追跡と、システム及びネットワークアーキテクチャ、リソース利用、アプリケーション性能、及び、顧客に関連付けられたリソースの動作健全性に関する推薦を提供するのに有用であり得る。このような情報は、インスタンスとアプリケーションをスムーズに効率的に動作させ続けるのに有用である。この情報を分析して、顧客のリソース及びその構成が意図した用途に合わせて最適化されているかどうかを決定してよい。
【０１０７】
このようなコンピューティング環境は、大規模で複雑であり、また、仮想及び物理的の両方のコンポーネントを通して流れる様々なタイプのデータが混じったものを有する膨大な数の相互接続された装置を含む。サーバ及びルータ等の様々なコンピューティング装置は、複雑なインタラクションを有する場合があり、また、１つのエリアでの振る舞いが、コンピューティング環境全体の性能に影響を与えることがある。顧客は、何百または何千のインスタンスを有することが多く、顧客の構成及びアーキテクチャの評価の仕方、また、ネットワーク構成及びアーキテクチャの決定によって様々なメトリクスがどのように影響を受けるかを、顧客が確かめるのは難しい場合がある。
【０１０８】
プロバイダネットワークの顧客は、ネットワークトラフィックフロー情報に関心を持っていることが多い。プロバイダネットワークは、画定されたネットワーク境界の選択したインタフェースにデータが出入りすると、例えば、ＩＰネットワークトラフィックを収集してよい。ネットワークトラフィックフロー情報は、ネットワークトラフィックフローとボリュームを分析して、データトラフィックの送信元及び宛先と、生成されているデータトラフィックのボリュームとを決定するのに有用である。プロバイダネットワークは、１つまたは複数の機能を実行して、選択したインタフェースでＩＰトラフィック統計を収集し、ネットワークトラフィック分析のためにデータを記憶してよい。ネットワークトラフィックフロー情報は、入口インタフェース、送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート、宛先ポート、及び、出口インタフェースを含むデータパケットを含んでよい。
【０１０９】
所与のコンピューティングリソースのセットに関して生成されるネットワークトラフィックフロー情報の量は、かなりの量となる場合がある。例えば、コンピューティング能力の所与のドロップレットまたは他の規定のユニットに関して、プロバイダネットワークは、不要なデータフローをフィルタで除去して、顧客が要求したフローを識別したい場合がある。データのかなりのボリュームと、要求したフローを提供するための処理量が原因で、特に、処理コンポーネントが、連続的にポーリングを行って、入手されたネットワークトラフィックフロー情報が処理可能か否かを決定するポーリングアプローチを使用すると、記憶されたネットワークトラフィックフロー情報の処理が、収集されるデータに時間的に追いつかない場合がある。
【０１１０】
本開示は、データ及び情報の損失無く、ポーリングを回避し、入手したネットワークトラフィックフロー情報の処理を可能にするネットワークトラフィックフロー情報処理のイベント駆動型アプローチのシステム及び方法を記載する。イベント駆動型アプローチを使用することによって、記憶されたネットワークトラフィックフロー情報が処理可能になると、ネットワークトラフィックフロー情報の処理を担当するシステムに通知できる。ネットワークトラフィックフロー情報の連続したグループに関する多くの通知を提供できるので、処理ワークフローは、待ち行列の形で、ネットワークトラフィックフロー情報のグループを処理できる。ネットワークトラフィックフロー情報のグループの処理を阻む課題または問題が生じる場合、そのグループは、ドロップすることができ、処理は、次のグループに続くことができる。ドロップされたグループは、全ての入手されたデータが確実に処理されるように、追加処理を試みて、後に再訪問されてよい。
【０１１１】
ある実施形態においては、処理ワークフローは、通知の待ち行列にアクセスして、ドロップされたグループのいずれかを処理する必要があるか否かを決定できる。あるいは、処理ワークフローは、記憶された情報を分析して、ドロップされたグループのいずれかを処理する必要があるか否かを決定できる。従って、ネットワークトラフィックフロー情報のイベント駆動型処理を使用すると、かなりのコンピューティングリソースを有するコンピューティング環境において、データの損失もドロップも無く、ネットワークトラフィックフロー情報のより完全な処理を可能にすることができ、処理ワークフローが、コンピューティング環境の現在の条件下で、可能な限り速くデータを処理するのを可能にする。
【０１１２】
ある実施形態においては、処理されたネットワークトラフィックフロー情報は、要求を行っている顧客に提供されてよく、顧客は、自分に割り当てられたコンピューティングリソースに関連するネットワークトラフィックフロー情報にアクセスしてよい。記載したイベント駆動型プロセスは、顧客がセキュリティルールまたは他の構成を不正確に設定した場合に、処理ワークフローが、顧客へのデータ公開タスクを完了するのを防ぎ、有用であり得る。このような不完全なイベントは、後に、試みを繰り返すために待ち行列に入れられてよく、そうすることによって、顧客のデータ要求を損失無く満たす可能性を提供する。
【０１１３】
ある実施形態においては、データのグループは、データのパーセルまたはバケットと呼ばれてよく、仮想コンピューティング環境のドロップレット等、コンピューティングリソースの別個の規定されたセットのネットワークトラフィックフロー情報を含んでよい。このようなシナリオにおいて、ドロップレットのデータのパーセルまたはバケットは、例えば、１０分間に収集されたネットワークトラフィックフロー情報を含んでよい。ネットワークトラフィックフロー情報は、規定の時間間隔（例えば、毎分）、収集されてよい。
【０１１４】
図１１は、本開示による、ネットワークトラフィックフロー情報のイベント駆動型処理を提供するシステム例を示す図である。図１１に、ある実施形態による、コンピューティングリソースを提供するシステム１１００を記載する。システム１１００は、例えば、本明細書に記載の１つまたは複数のデータセンタにおいて実施されてよい。システム１１００は、多くの仮想及び物理的リソースを含み得るコンピューティングリソースのグループを含んでよい。例えば、コンピューティングインスタンスは、パブリックネットワークのコンピュータユーザにゲートウェイを介して仮想コンピューティングサービスを提供するように構成されてよい。例えば、仮想コンピューティングサービスは、遠隔アクセス企業アプリケーションのセットを、例えば、企業顧客の従業員であってよいユーザのグループに提供してよい。図に示されていない追加のリソースを伴う実施形態もあってよいことは理解される。
【０１１５】
図１１は、ネットワークトラフィックフロープレーン１１５０とネットワークトラフィックフローパケット１１６０も示す。ネットワークトラフィックフローコレクタ１１７０は、ネットワークトラフィックフローパケット１１６０のネットワークトラフィックフローストレージ１１８０への記憶を容易にし得る。決定された時間が経つと、または、他の測定値を示すものが生じると、イベント１１６５は、ネットワークトラフィックフロープロセス１１９０に送られてよい。
【０１１６】
図１２は、一実施形態による、ネットワークトラフィックフロー情報のイベント駆動型処理を提供するシステムの一例を示す図である。図１２は、ネットワークトラフィックフロー情報の監視及び入手の対象となるリソースグループ１２１０を示す。一実施形態においては、リソースグループのデータトラフィックは、カーネル空間及びユーザ空間で実行するコンポーネント及びアプリケーションによって処理されてよい。例えば、パケット処理のルールは、カーネルモジュールによって実施されてよく、パケットはバッファに記憶されてよい。ユーザ空間で実行されるアプリケーションは、記憶されたパケットを処理してよく、処理されたパケットは、ストレージ１２２０にアップロードするためにバッファに置かれてよい。図１２は、ネットワークフローパブリッシャ１２４０も示す。ネットワークフローパブリッシャ１２４０は、データの処理が可能であることを示すステータスパブリッシャ１２８０によって提供された待ち行列１２５０からイベントを受信するように構成される。ネットワークフローパブリッシャ１２４０は、ストレージ１２２０における処理のため、ストレージ１２２０からパーセルにアクセスする。ある実施形態においては、ストレージ１２２０は、データの処理が可能であることを示すイベントを送るように構成されてよい。ネットワークフローパブリッシャ１２４０は、顧客情報にもアクセスして、どの顧客がネットワークトラフィックフロー情報の公開を有効にしたかを決定する。一実施形態においては、ネットワークフローパブリッシャ１２４０は、キャッシュ１２６０からデータを読み出して、顧客がどの情報を要求したのかを決定し、顧客がどの情報を要求しているのかを決定し、顧客と顧客の情報とに従ってパーセルのデータを解析し、顧客の要求に一致する特定のデータを識別し、且つ、識別したデータをログ１２３０に記憶するように構成されてよい。
【０１１７】
図１３は、一実施形態による、ネットワークトラフィックフロー情報のイベント駆動型処理を提供するシステム例のデータフローを示す図である。図１３は、リソースのグループ１３１０からのデータがストレージ１３２０に記憶されることを示す。選択された通知ポイントまたは他の基準で、イベントを通知エンジン１３５０に送る。通知エンジン１３５０は、記憶されたネットワークトラフィックフロー情報を求めてストレージ１３２０にアクセスしてよいという通知を待ち行列１３４０に送る。フローパブリッシャ１３３０は、待ち行列１３４０にアクセスし、且つ、ネットワークトラフィックフロー情報のタグを記憶するログ１３２５にアクセスするように構成されてよい。図１３は、フローパブリッシャ１３３０及びネットワークステータスパブリッシャ１３９０も示す。ネットワークステータスパブリッシャ１３９０は、データベース１３７０に記憶された顧客構成情報に関してキャッシュ１３８０から情報を受信する。顧客構成情報は、アプリケーションプログラミングインタフェース（ＡＰＩ）１３９５からの情報として受信されてよい。ＡＰＩ１３９５は、管理コンポーネント１３６２及び作成／記述／削除コンポーネント１３６４を含むコンソール１３６０にインタフェースを呈示する。
【０１１８】
図１４は、一実施形態による、ネットワークトラフィックフロー情報のイベント駆動型処理を提供するシステムの例にさらなる詳細を追加する図である。図１４は、データベース１４２０に記憶された顧客構成と要求に関してサーバ１４１０に記憶されたデータ記録の例を示す。データ記録は、記録の識別子と、承認されたトラフィック、拒絶されたトラフィック、または、全てのトラフィックにフラグを付けるべきか否かを示すタイプと、要求の状態（例えば、アクティブまたはサスペンド）と、試行数と、実施されれば、他の情報とを含んでよい。データ記録をワークフロー１４３０は利用でき、ワークフロー１４３０は、ログ１４５０を維持するように構成されるネットワークフローパブリッシャ１４４０を含む。ログ１４５０に記憶されたネットワークトラフィックフローデータは、バージョン、インタフェース識別子、送信元アドレス、宛先アドレス、送信元ポート、宛先ポート、パケット、バイト、タイムスタンプを含んでよく、トラフィックワークフロー１４３０のタイプは、通知１４８０を提供するステータスパブリッシャ１４４５も含む。ネットワークトラフィックフローデータのバケットまたはパーセルがストレージ１４７５に記憶されるので、通知１４７０は、ストレージ１４７５によって生成されてよい。
【０１１９】
ユースケースの例においては、ネットワークトラフィックフロー情報のイベント駆動型処理を提供する記載のシステムを使用して、システム監視ログを介して要求を行っている顧客に関してネットワークトラフィックが承認及び／または拒絶されていることを公開してよい。例えば、ネットワークトラフィックフロー情報のイベント駆動型処理を提供するシステムは、ＩＰアドレス表を採用して、承認または拒絶されたパケットのログデータを生成してよい。システムは、これらのパケットを規定の時間間隔で入手してよく、そのパケットをさらに処理するためにより長い時間間隔でストレージバケットまたはパーセルに送ってよい。図１４のネットワークフローパブリッシャ１４４０等のアグリゲーションワークフローは、不要なログデータをフィルタで除去し、関連のあるトラフィック情報を選択、送信してよい。アグリゲーションワークフローは、仮想プライベートクラウド、サブネット、または、コンピューティング及び／またはネットワーク容量の他の規定のユニットのパーセルから顧客指定のトラフィックタイプ（複数可）を抽出してよい
【０１２０】
ネットワークフローパブリッシャ１４４０は、図１４の通知１４７０等のイベント通知によってトリガされるように構成されてよい。通知イベントを受信すると、ネットワークフローパブリッシャ１４４０は、関連付けられたネットワークトラフィックフロー情報パーセルにストレージからアクセスしてよく、パーセルに関して図１４のログ１４５０等のログを生成してよい。ネットワークトラフィックフロー情報に関連付けられた顧客が、フローログの公開を有効にした場合、公開許可が正しく構成される場合、及び、他の制限がアクティブでない場合、ログは、図１３のＡＰＩ１３９５等のアプリケーションプログラミングインタフェース（ＡＰＩ）を介して監視及び報告機能に提供されてよい。所与のパーセルに関するネットワークトラフィックフロー情報がない場合、ネットワークフローパブリッシャ１４４０は、報告するトラフィック情報がないことを示すものを提供してよい。
【０１２１】
図１５は、ネットワーク化されたコンピューティングリソースで実施された仮想コンピューティングサービスをプロバイダネットワークの顧客に提供するように構成されたプロバイダネットワークのデータにアクセスを提供する操作手順の例を示す。ある実施形態においては、ネットワークトラフィックフロー情報のイベント駆動型処理は、図１５に示す操作によって実施され、操作１５００で操作手順が始まる。手順は、ネットワークを介して通信する複数のコンピューティングノードに関して実施できる。コンピューティングノードは、複数の仮想マシンを含むことができる。操作１５００は、操作１５０２に続いてよい。操作１５０２は、コンピューティングノードのサブセットを監視する情報を受信することを示す。サブセットは、例えば、割り当てられたコンピューティングリソースに関するネットワークトラフィックフロー情報へのアクセスを要求したプロバイダネットワークの顧客に基づいて、規定されてよい。サブセットは、以後の分析のためにネットワークトラフィックフロー情報を監視するコンピューティングノードとしてプロバイダネットワークによって規定されてもよい。
【０１２２】
操作１５０２は、操作１５０４に続いてよい。操作１５０４は、ネットワークを介して送られるデータパケットを受信することを示す。ある実施形態においては、ネットワーク制御プレーンのデータパケットを受信する。他の実施形態においては、ネットワークを介して送信されるデータパケットが、受信される。操作１５０４は、操作１５０６に続いてよい。操作１５０６は、データパケットを調べて、データパケットがコンピューティングノードのサブセットの１つに出入りするネットワークトラフィックフローデータパケットであるか否かを決定することを示す。操作１５０６は、操作１５０８に続いてよい。操作１５０８は、サブセットの１つのコンピューティングノードに出入りするネットワークトラフィックフローデータパケットであると決定されたデータパケットを記憶することを示す。ある実施形態においては、操作１５０２、１５０４、１５０６は、所定の時間間隔中に行われる。例えば、ネットワークトラフィックフローデータパケットは、１分間隔で記憶されてよい。
【０１２３】
操作１５０８は、操作１５１０に続いてよい。操作１５１０は、所定の時間の後、記憶したデータパケットをデータストアに移動することを示す。例えば、記憶されたデータパケットは、１０分毎にデータストアに移動されてよい。操作１５１０は、操作１５１２に続いてよい。操作１５１２は、記憶されたデータパケットがデータストアに移動されると、通知を１つまたは複数の待ち行列に送ることを示す。例えば、図１３を参照すると、通知エンジン１３５０は、記憶されたネットワークトラフィックフロー情報を求めてストレージ１３２０にアクセスしてよいという通知を待ち行列１３４０に送ってよい。ある実施形態においては、１つまたは複数の待ち行列は、分散待ち行列として実施することができる。操作１５１２は、操作１５１４に続いてよい。操作１５１４は、以後の所定の時間、上述のデータパケットの受信、調査、及び、記憶を繰り返すことを示す。例えば、操作１５０４〜１５１２は、１０分間隔またはプロバイダネットワークによって設定された他の時間間隔で、繰り返されてよい。操作１５１４は、操作１５１６に続いてよい。操作１５１６は、１つまたは複数の待ち行列から待ち行列に入れられた通知を読み出すことと、待ち行列に入れられた通知に従ってデータストアのデータパケットにアクセスすることを示す。例えば、図１４を参照して、ネットワークフローパブリッシャ１４４０は、通知１４７０等のイベント通知によってトリガされるように構成されてよい。通知イベントを受信すると、ネットワークフローパブリッシャ１４４０は、ストレージから関連付けられたネットワークトラフィックフロー情報パーセルにアクセスして、パーセルに関する図１４のログ１４５０等のログを生成してよい。待ち行列内の通知は、先入れ／先出しに処理されてよく、その結果、記憶されたデータのパーセルは順に処理されてよい。ある実施形態において、１つまたは複数の待ち行列は、分散待ち行列として実施される場合、通知は、待ち行列の１つから読み出され、処理できる。
【０１２４】
操作１５１６は、操作１５１８に続いてよい。操作１５１８は、読み出されたデータパケットを処理して、プログラマチックインタフェースに提供するネットワークトラフィックフローデータを識別することを示す。操作１５１８は、操作１５２０に続いてよい。操作１５２０は、上述の処理を完了していない記憶されたデータパケットに関して１つまたは複数の待ち行列に通知を送ることを示す。例えば、ネットワークトラフィックフローデータの公開が、顧客のデータに関して設定されたセキュリティ設定によって顧客が防いだために、妨げられる場合がある。処理を完了していない記憶されたデータパケットに関して待ち行列に通知を保持することによって、処理を完了できるまで、または、最大のタイムアウトに達するまで、処理を完了する試みを繰り返すことができる。
【０１２５】
ある実施形態においては、データトラフィックは、ネットワークトラフィックフローデータを含んでよい。さらに、識別されたデータトラフィックをフィルタリングし、指示された顧客に公開するように構成されたパブリッシャコンポーネントによってアクセスを提供されてよい。通知は、ステータスパブリッシャコンポーネントによって送られてよい。ステータスパブリッシャコンポーネントは、入手されたデータトラフィックをデータストアに記憶することを示すものを受信し、パブリッシャコンポーネントに通知を送るように構成される。データストアは、入手したデータトラフィックを記憶するように構成された永続ストレージリソースであってよい。
【０１２６】
図１６は、仮想コンピューティングリソースをプロバイダネットワークの顧客に割り当てるプロバイダネットワークのデータにアクセスを提供する操作手順例を示す。ある実施形態においては、ネットワークトラフィックフロー情報のイベント駆動型処理は、図１６に示す操作によって実施され、図１６に示す操作は、操作１６００で、操作手順を開始する。操作１６００は、操作１６０２に続いてよい。操作１６０２は、仮想コンピューティングリソースのネットワークトラフィックフローデータのタイムベースのグループを記憶することを示す。
【０１２７】
操作１６０２は、操作１６０４に続いてよい。操作１６０４は、タイムベースのグループを記憶すると、通知を提供することを示す。操作１６０４は、操作１６０６に続いてよく、操作１６０６は、通知の１つまたは複数を読み出すことを示す。操作１６０６は、操作１６０８に続いてよく、操作１６０８は、通知で識別されたタイムベースのグループを処理することを示す。処理操作は、関連付けられた仮想コンピューティングリソースのネットワークトラフィックフローデータの公開を要求した顧客に関連付けられたネットワークトラフィックフローデータの識別と公開とを含んでよい。
【０１２８】
ある実施形態においては、タイムベースのグループは、プロバイダネットワークによって規定された連続したタイムスロットに基づいて決定される。タイムベースのグループは、仮想コンピューティングリソースの選択されたサブセットに基づいて記憶されてよい。ネットワークトラフィックフローデータのタイムベースのグループは、入手されたデータトラフィックを記憶するように構成された永続ストレージリソースに記憶されてよい。さらに、仮想コンピューティングリソースの選択されたサブセットは、仮想コンピューティング能力のユニットであってよい。
【０１２９】
ある実施形態においては、通知は、１つまたは複数の待ち行列に記憶、及び、待ち行列から読み出される。処理は、データトラフィックが承認または拒絶されることを含んでよい。公開は、仮想コンピューティングリソース、ネットワークフローアナライザ、または、顧客指定のストレージの監視サービスに、処理されたネットワークトラフィックフローを利用可能にすることを含んでよい。公開は、ネットワークトラフィックフローデータをフィルタリングして、関連付けられた顧客に公開するように構成されたパブリッシャコンポーネントによって行われてよい。
【０１３０】
ある実施形態においては、選択されたサブセットは、仮想プライベートネットワーク、サブネット、または、仮想ネットワークインタフェースを含む。さらに、通知は、ステータスパブリッシャコンポーネントによって提供されてよく、ステータスパブリッシャコンポーネントは、入手されたネットワークトラフィックフローが記憶されたことを示すものを受信し、パブリッシャコンポーネントに通知を送るように構成される。
【０１３１】
本明細書で示した発明の主題は、コンピュータプロセス、コンピュータによって制御される装置、もしくは、コンピューティングシステム、または、コンピュータ可読記憶媒体等の製品として実施されてよいことを理解されたい。本明細書に記載の発明の主題は、１つまたは複数のコンピューティング装置で実行するプログラムモジュールの一般的な文脈で示されるが、他の実施態様は他のタイプのプログラムモジュールと組み合わせて行われてよいことを当業者は認識する。一般的には、プログラムモジュールは、ルーチン、プログラム、コンポーネント、データ構造、及び、特定のタスクを行う、もしくは、特定の抽象データタイプを実施する他のタイプの構造を含む。
【０１３２】
本明細書に記載の発明の主題は、マルチプロセッサシステム、マイクロプロセッサベースもしくはプログラマブル可能な家電、ミニコンピュータ、メインフレームコンピュータ、ハンドヘルドコンピュータ、パーソナルデジタルアシスタント、電子リーダ、携帯電話装置、特殊用途ハードウェア装置、ネットワークアプライアンス等を含む、本明細書に記載した以外の他のコンピュータシステム構成で、または、他のコンピュータシステム構成と共に実践してよいことを、当業者は理解する。本明細書に記載の実施形態は、分散コンピューティング環境で実践されてもよく、分散コンピューティング環境においては、タスクは、通信ネットワークを通してリンクされる遠隔処理装置によって行われる。分散コンピューティング環境においては、プログラムモジュールは、ローカル及び遠隔のメモリ記憶装置の両方に置かれてよい。
【０１３３】
インターネット及び／または他のネットワークを介して、分散したクライアントのセットがアクセス可能な１つまたは複数のサービス（様々なタイプのクラウドベースコンピューティングまたはストレージ等）を提供する会社または組織等のエンティティによって、または、エンティティのために確立されるネットワークは、プロバイダネットワークと呼ばれてよい。このようなプロバイダネットワークは、１つまたは複数のデータセンタを含んでよく、データセンタは、物理的及び／または仮想のコンピュータサーバ、記憶装置、ネットワーク機器等の集まり等、プロバイダネットワークによって提供されるインフラストラクチャ及びサービスの実施及び分散に使用してよい様々なリソースプールをホストする。リソースは、ある実施形態においては、仮想もしくは物理的コンピュータインスタンスもしくはストレージインスタンス等、「インスタンス」と呼ばれるユニットでクライアントに提供されてよい。仮想コンピューティングインスタンスは、例えば、指定の計算能力（ＣＰＵのタイプ及び数、メインメモリサイズ等を示すことによって指定されてよい）と、指定のソフトウェアスタック（例えば、ハイパーバイザに加えて実行してよいオペレーティングシステムの特定のバージョン）を有する１つまたは複数のサーバを含んでよい。
【０１３４】
多くの異なるタイプのコンピューティング装置は、単体でまたは組み合わせて使用されて、異なる実施形態で、汎用目的または特定用途のコンピュータサーバ、記憶装置、ネットワーク装置等も含む、プロバイダネットワークのリソースを実施してよい。ある実施形態においては、クライアントまたはユーザは、例えば、管理者ログイン及びパスワードをユーザに与えることによって、リソースインスタンスへの直接アクセスを提供されてよい。他の実施形態においては、プロバイダネットワークオペレータが、クライアントが、指定したクライアントアプリケーションの実行要件を指定するのを可能にし、アプリケーションに適した実行プラットフォーム（アプリケーションサーバインスタンス、Ｊａｖａ（登録商標）仮想マシン（ＪＶＭ）、汎用もしくは特定用途オペレーティングシステム、Ｒｕｂｙ、Ｐｅｒｌ、Ｐｙｔｈｏｎ、Ｃ、Ｃ＋＋等、様々なインタープリタ型もしくはコンパイル型プログラミング言語を支援するプラットフォーム、または、高性能コンピューティングプラットフォーム等）上でクライアントのためにアプリケーションの実行をスケジュールしてよい。これは、例えば、クライアントがインスタンスまたは実行プラットフォームに直接アクセスすることを必要とせず、行われてよい。所与の実行プラットフォームは、ある実施態様においては、１つまたは複数のリソースインスタンスを利用してよく、他の実施態様においては、複数の実行プラットフォームが、１つのリソースインスタンスにマップされてよい。
【０１３５】
図１７は、本明細書に記載の実施形態を実施してよいコンピューティング環境の例を示す。図１７は、データセンタ１７１０の例を概略的に示す図である。データセンタ１７１０は、通信ネットワーク１７３０を通してユーザコンピュータ１７０７ａ、１７０７ｂ（単数の「コンピュータ１７０７」または複数の「コンピュータ１７０７」と本明細書で呼ばれてよい）を介して、ユーザ１７００ａ、１７００ｂ（単数の「ユーザ１７００」、または、複数の「ユーザ１７００」と本明細書で呼ばれてよい）にコンピューティングリソースを提供できる。データセンタ１７１０は、常設で、または、必要に応じて、アプリケーションを実行するコンピューティングリソースを提供するように構成されてよい。データセンタ１７１０によって提供されたコンピューティングリソースは、データ処理リソース、データストレージリソース、データ通信リソース等、様々なタイプのリソースを含んでよい。コンピューティングリソースの各タイプは、汎用であってもよく、または、多くの特定の構成で利用可能であってよい。例えば、データ処理リソースは、仮想マシンインスタンスとして利用可能であってよい。インスタンスは、ウェブサーバ、アプリケーションサーバ、メディアサーバ、データベースサーバ等を含む、アプリケーションを実行するように構成されてよい。データストレージリソースは、ファイル記憶装置、ブロック記憶装置等を含んでよい。
【０１３６】
コンピューティングリソースの各タイプまたは構成は、多くのプロセッサ、大量のメモリ、及び／または、大記憶容量からなる大規模リソース、及び、より少ないプロセッサ、より少量のメモリ、及び／または、より少量の記憶容量からなる小規模リソース等、異なるサイズで利用可能であってよい。顧客は、例えば、ウェブサーバのような多くの小規模処理リソース、及び／または、データベースサーバのような１つの大規模処理リソースを割り当てることを選択してよい。
【０１３７】
データセンタ１７１０は、仮想マシンインスタンス１７１８ａ、１７１８ｂとして利用可能なコンピューティングリソース（単数の「仮想マシンインスタンス１７１８」または複数の「仮想マシンインスタンス１７１８」と本明細書で呼ばれてよい）を提供するサーバ１７１６ａ、１７１６ｂ（単数の「サーバ１７１６」または複数の「サーバ１７１６」と本明細書で呼ばれてよい）を含んでよい。仮想マシンインスタンス１７１８は、ウェブサーバ、アプリケーションサーバ、メディアサーバ、データベースサーバ等を含む、アプリケーションを実行するように構成されてよい。提供されてよい他のリソースは、データストレージリソース（図示せず）を含み、ファイル記憶装置、ブロック記憶装置等を含んでよい。
【０１３８】
図１７を参照すると、通信ネットワーク１７３０は、インターネット等、例えば、リンクされたネットワークにパブリックにアクセス可能なネットワークであってよく、様々な個別のパーティによって操作可能であってよい。他の実施形態においては、通信ネットワーク１７３０は、権利の無いユーザは全体的にも部分的にもアクセスできない、例えば、会社または大学ネットワーク等のプライベートネットワークであってよい。さらに他の実施形態においては、通信ネットワーク１７３０は、インターネットへのアクセス及び／またはインターネットからのアクセスを有する１つまたは複数のプライベートネットワークを含んでよい。
【０１３９】
通信ネットワーク１７３０は、コンピュータ１７０７にアクセスを提供してよい。コンピュータ１７０７は、データセンタ１７１０の顧客１７００または他の顧客によって利用されるコンピュータであってよい。例えば、ユーザコンピュータ１７０７ａまたは１７０７ｂは、サーバ、デスクトップもしくはラップトップパーソナルコンピュータ、タブレットコンピュータ、無線電話、パーソナルデジタルアシスタント（ＰＤＡ）、電子ブックリーダ、ゲームコンソール、セットトップボックス、または、データセンタ１７１０にアクセスできる任意の他のコンピューティング装置であってよい。ユーザコンピュータ１７０７ａまたは１７０７ｂは、（例えば、ケーブルモデムまたはデジタル加入者回線（ＤＳＬ）を介して）インターネットに直接、接続してよい。２つのユーザコンピュータ１７０７ａ、１７０７ｂのみを示しているが、複数のユーザコンピュータがあってよいことを理解すべきである。
【０１４０】
ユーザコンピュータ１７０７を利用して、データセンタ１７１０によって提供されたコンピューティングリソースの態様を構成してもよい。この点で、データセンタ１７１０は、ウェブインタフェースを提供してよく、ウェブインタフェースを介して、操作の態様を、ユーザコンピュータ１７０７上で実行しているウェブブラウザアプリケーションプログラムを使用して構成してよい。あるいは、ユーザコンピュータ１７０７で実行しているスタンドアロンアプリケーションプログラムは、設定操作を行うために、データセンタ１７１０によって呈示されるアプリケーションプログラミングインタフェース（ＡＰＩ）にアクセスしてよい。アプリケーションに更新をデプロイすることを含む、データセンタ１７１０の操作を構成する他の機構も利用してよい。
【０１４１】
図１７に示すサーバ１７１６ａ及び１７１６ｂは、上記コンピューティングリソースを提供するために適切に構成された標準サーバであってよく、１つまたは複数のアプリケーションを実行するコンピューティングリソースを提供してよい。一実施形態においては、コンピューティングリソースは、仮想マシンインスタンス１７１８であってよい。仮想マシンインスタンスの例においては、各サーバ１７１６は、仮想マシンインスタンスを実行できるインスタンスマネージャ１７７０ａまたは１７７０ｂ（本明細書では、単数の「インスタンスマネージャ１７７０」または複数の「インスタンスマネージャ１７７０」と呼ばれてよい）を実行するように構成されてよい。インスタンスマネージャ１７７０は、例えば、サーバ１７１６上で仮想マシンインスタンス１７１８の実行を有効にするように構成された仮想マシンモニタ（ＶＭＭ）または他のタイプのプログラムであってよい。上記のように、各仮想マシンインスタンス１７１８は、アプリケーションの全てまたは一部を実行するように構成されてよい。
【０１４２】
上記開示の実施形態は、仮想マシンインスタンスの文脈で検討しているが、他のタイプの実施態様が本明細書に開示の概念及び技術を用いて利用できることを理解されたい。例えば、本明細書に開示の実施形態は、仮想マシンインスタンスを利用しないコンピューティングシステムと共に利用されてもよい。
【０１４３】
図１７に示すデータセンタ１７１０の例において、ルータ１７１４を利用して、サーバ１７１６ａと１７１６ｂを相互に接続してよい。ルータ７１４は、ゲートウェイ１７４０にも接続されてよく、ゲートウェイ１７４０は、通信ネットワーク１７３０に接続される。ルータ１７１４は、データセンタ１７１０のネットワーク内の通信を、例えば、このような通信の特性（例えば、送信元アドレス及び／または宛先アドレス、プロトコル識別子等を含むヘッダ情報）、及び／または、プライベートネットワークの特性（例えば、ネットワークトポロジ等に基づいたルート）に基づいて適切に、パケットまたは他のデータ通信を転送することによって、管理してよい。簡単にするために、この例のコンピューティングシステム及び他の装置の様々な態様を、従来の詳細を一部示すことなく図示していることは理解される。追加のコンピューティングシステム及び他の装置は、他の実施形態においては、相互接続されてよく、異なる方法で相互接続されてよい。
【０１４４】
図１７に示すネットワークトポロジは大幅に簡略化されており、本明細書に開示の様々なコンピューティングシステムを相互接続するためにより多くのネットワーク及びネットワーク装置を利用してよいことは理解されたい。これらのネットワークトポロジと装置は、当業者には明らかであろう。
【０１４５】
図１７に記載のデータセンタ１７１０は、単に説明のためであり、他の実施態様を利用してよいことも理解されたい。さらに、本明細書に開示の機能は、ソフトウェア、ハードウェア、または、ソフトウェアとハードウェアの組み合わせで実施されてよいことは理解されたい。他の実施態様は、当業者には明らかである。サーバ、ゲートウェイ、または、他のコンピューティング装置は、デスクトップもしくは他のコンピュータ、データベースサーバ、ネットワーク記憶装置及び他のネットワーク装置、ＰＤＡ、タブレット、携帯電話、無線電話、ポケットベル（登録商標）、電子手帳、インターネット家電、テレビベースのシステム（例えば、セットトップボックス、及び／または、パーソナル／デジタルビデオレコーダを用いた）、及び、適切な通信能力を備える様々な他の消費者製品を含むが、これらに限らない、インタラクトして記載したタイプの機能を行うハードウェアまたはソフトウェアの任意の組み合わせを含んでよいことも理解されたい。さらに、図示のモジュールが提供する機能は、ある実施形態においては、より少ないモジュールで組み合わされてよく、または、追加のモジュールで分散されてよい。同様に、ある実施形態においては、図示したモジュールのある機能は、備えなくてもよく、及び／または、他の追加の機能が利用可能であってよい。
【０１４６】
プロバイダネットワークは、顧客がコンピューティングリソースの新しいインスタンスをデプロイするのを支援するデプロイメントコンポーネントを用いて構成されてよい。デプロイメントコンポーネントは、新しいインスタンスをどのように構成すべきかを記述するデータを含む構成を顧客から受信してよい。例えば、構成は、新しいインスタンスでインストールすべき１つまたは複数のアプリケーションまたはソフトウェアコンポーネントを指定し、新しいインスタンスで実行すべきスクリプト及び／または他のタイプのコードを提供し、アプリケーションキャッシュをどのように準備すべきかを指定するキャッシュウォーミングロジックと、他のタイプの情報を提供してよい。デプロイメントコンポーネントは、顧客が提供した構成とキャッシュウォーミングロジックを利用して、コンピューティングリソースの新しいインスタンスを開始、構成、準備する。
【０１４７】
少なくともある実施形態においては、ネットワークトラフィックフロー情報のイベント駆動型処理のシステムの機能を実施する技術を含む、本明細書に記載の技術の１つまたは複数の一部または全てを実施するコンピューティング装置は、１つまたは複数のコンピュータアクセス可能な媒体を含む、または、当該媒体にアクセスするように構成された汎用コンピュータシステムを含んでよい。図１８は、このような汎用コンピューティング装置１８００を示す。図示の実施形態において、コンピューティング装置１８００は、入力／出力（Ｉ／Ｏ）インタフェース１８８０を介してシステムメモリ１８２０に接続された１つまたは複数のプロセッサ１８１０ａ、１８１０ｂ、及び／または、１８１０ｎ（本明細書では単数の「プロセッサ１８１０」または複数の「プロセッサ１８１０」と呼ばれてよい）を含む。コンピューティング装置１８００は、Ｉ／Ｏインタフェース１８８０に接続されたネットワークインタフェース１８４０をさらに含む。
【０１４８】
様々な実施形態において、コンピューティング装置１８００は、１つのプロセッサ１８１０を含むユニプロセッサシステム、または、数個のプロセッサ１８１０（例えば、２つ、４つ、８つ、または、他の適切な数）を含むマルチプロセッサシステムであってよい。プロセッサ１８１０は、命令を実行可能な任意の適切なプロセッサであってよい。例えば、様々な実施形態において、プロセッサ１８１０は、ｘ８６、ＰｏｗｅｒＰＣ、ＳＰＡＲＣもしくはＭＩＰＳ  ＩＳＡ、または、任意の他の適切なＩＳＡ等、様々な命令セットアーキテクチャ（ＩＳＡ）のいずれかを実施する汎用または組み込みプロセッサであってよい。マルチプロセッサシステムにおいて、各プロセッサ１８１０は、必ずではないが、通常、同じＩＳＡを実施してよい。
【０１４９】
システムメモリ１８２０は、プロセッサ（複数可）１８１０によってアクセス可能な命令及びデータを記憶するように構成されてよい。様々な実施形態において、システムメモリ１８２０は、スタティックランダムアクセスメモリ（ＳＲＡＭ）、同期型ダイナミックＲＡＭ（ＳＤＲＡＭ）、不揮発／フラッシュタイプメモリ、または、任意の他のタイプのメモリ等、任意の適切なメモリ技術を用いて実施されてよい。図示の実施形態において、上記方法、技術、及び、データ等、１つまたは複数の所望の機能を実施するプログラム命令及びデータは、コード１８２５及びデータ１８２６としてシステムメモリ１８２０内に記憶されて示される。
【０１５０】
一実施形態においては、Ｉ／Ｏインタフェース１８８０は、ネットワークインタフェース１８４０または他の周辺インタフェースを含む、装置のプロセッサ１８１０、システムメモリ１８２０、及び、任意の周辺機器間のＩ／Ｏトラフィックを調整するように構成されてよい。ある実施形態においては、Ｉ／Ｏインタフェース１８８０は、任意の必要なプロトコル、タイミング、または、他のデータ変換を行って、１つのコンポーネント（例えば、システムメモリ１８２０）からデータ信号を、他のコンポーネント（例えば、プロセッサ１８１０）が使用するのに適したフォーマットに変換してよい。ある実施形態においては、Ｉ／Ｏインタフェース１８８０は、例えば、ペリフェラルコンポーネントインターコネクト（ＰＣＩ）バス規格またはユニバーサルシリアルバス（ＵＳＢ）規格の変形等、様々なタイプの周辺機器用バスを通して取り付けられた装置のサポートを含んでよい。ある実施形態においては、Ｉ／Ｏインタフェース１８８０の機能は、例えば、ノースブリッジ及びサウスブリッジ等の２つ以上の別個のコンポーネントに分割されてよい。また、ある実施形態においては、システムメモリ１８２０へのインタフェース等、Ｉ／Ｏインタフェース１８８０の機能の一部または全ては、プロセッサ１８１０に直接、組み込まれてよい。
【０１５１】
ネットワークインタフェース１８４０は、例えば、図１１〜図１８に示す他のコンピュータシステムまたは装置等、コンピューティング装置１８００と、ネットワーク（複数可）１８５０に取り付けられた他の装置（複数可）１８６０との間でデータを交換できるように構成されてよい。様々な実施形態において、ネットワークインタフェース１８４０は、例えば、イーサネット（登録商標）ネットワークのタイプ等、任意の適切な有線または無線の一般的データネットワークを介して、通信を支援してよい。さらに、ネットワークインタフェース１８４０は、アナログ音声ネットワークまたはデジタルファイバ通信ネットワーク等のテレコミュニケーション／テレフォニネットワークを介して、ファイバチャネルＳＡＮ等のストレージエリアネットワークを介して、または、任意の他の適切なタイプのネットワーク及び／またはプロトコルを介して、通信をサポートしてよい。
【０１５２】
ある実施形態においては、システムメモリ１８２０は、対応する方法及び装置の実施形態を実施するために、図１１及び図１２で上述したプログラム命令及びデータを記憶するように構成されたコンピュータアクセス可能な媒体の一実施形態であってよい。しかしながら、他の実施形態においては、プログラム命令及び／またはデータは、異なるタイプのコンピュータアクセス可能な媒体に、受信され、送信され、または、記憶されてよい。一般的に言うと、コンピュータアクセス可能な媒体は、磁気もしくは光学媒体等の非一時的記憶媒体またはメモリ媒体、例えば、Ｉ／Ｏインタフェース１８８０を介してコンピューティング装置１８００に接続されたディスクまたはＤＶＤ／ＣＤを含んでよい。非一時的コンピュータアクセス可能記憶媒体は、システムメモリ１８２０または他のタイプのメモリとしてコンピューティング装置８００のある実施形態に含まれてよいＲＡＭ（例えば、ＳＤＲＡＭ、ＤＤＲ  ＳＤＲＡＭ、ＲＤＲＡＭ、ＳＲＡＭ等）、ＲＯＭ等の任意の揮発性または不揮発性媒体も含んでよい。さらに、コンピュータアクセス可能な媒体は、ネットワークインタフェース１８４０を介して実施されてよいもの等、ネットワーク及び／または無線リンク等の通信媒体を介して伝送される電子、電磁、または、デジタル信号等、伝送媒体または信号を含んでよい。図１８に示すコンピューティング装置等、複数のコンピューティング装置の一部または全てを使用して、様々な実施形態において、記載の機能を実施してよい。例えば、様々な異なる装置及びサーバで実行しているソフトウェアコンポーネントは、コラボレートして機能を提供してよい。ある実施形態においては、記載の機能の一部は、汎用コンピュータシステムを用いて実施されるものに加えて、または、その代わりに、記憶装置、ネットワーク装置、または、特殊用途のコンピュータシステムを用いて実施されてよい。用語「コンピューティング装置」は、本明細書においては、これらのタイプの装置の少なくとも全てを指し、これらのタイプの装置に限定されない。
【０１５３】
インターネット及び／または他のネットワークを介してアクセス可能な１つまたは複数のサービス（様々なタイプのクラウドベースコンピューティングまたはストレージ等）を分散したクライアントのセットに提供する、会社または公共機関等のエンティティによって設定されたネットワークは、プロバイダネットワークと呼ばれてよい。このようなプロバイダネットワークは、多くのデータセンタを含んでよく、データセンタは、プロバイダネットワークによって供給されたインフラストラクチャ及びサービスを実施及び分散するのに必要な物理的及び／または仮想コンピュータサーバ、記憶装置、ネットワーク機器等の集まり等、様々なリソースプールをホストする。リソースは、ある実施形態においては、仮想もしくは物理的コンピューティングインスタンスまたはストレージインスタンス等、インスタンスと呼ばれるユニットでクライアントに提供されてよい。仮想コンピューティングインスタンスは、例えば、指定された計算能力（ＣＰＵ、メインメモリサイズ等のタイプと数等を示すことによって指定されてよい）と指定されたソフトウェアスタック（例えば、ハイパーバイザに加えて実行してよいオペレーティングシステムの特定のバージョン）とを含んでよい。
【０１５４】
多くの異なるタイプのコンピューティング装置は、単体で、または、組み合わせて使用して、汎用もしくは特定用途コンピュータサーバ、記憶装置、ネットワーク装置等を含む、異なる実施形態においてプロバイダネットワークのリソースを実施してよい。ある実施形態においては、クライアントまたはユーザは、例えば、管理者ログインとパスワードをユーザに与えることによって、リソースインスタンスへの直接アクセスを提供されてよい。他の実施形態においては、プロバイダネットワークオペレータが、クライアントが、指定したクライアントアプリケーションの実行要件を指定するのを可能にし、例えば、クライアントがインスタンスまたは実行プラットフォームに直接アクセスすることを必要とせずに、アプリケーションに適した実行プラットフォーム（アプリケーションサーバインスタンス、Ｊａｖａ（登録商標）仮想マシン（ＪＶＭ）、汎用もしくは特定用途オペレーティングシステム、Ｒｕｂｙ、Ｐｅｒｌ、Ｐｙｔｈｏｎ、Ｃ、Ｃ＋＋等、様々なインタープリタ型もしくはコンパイル型プログラミング言語を支援するプラットフォーム、または、高性能コンピューティングプラットフォーム等）上でクライアントのためにアプリケーションの実行をスケジュールしてよい。所与の実行プラットフォームは、ある実施態様においては、１つまたは複数のリソースインスタンスを利用してよく、他の実施態様においては、複数の実行プラットフォームが、１つのリソースインスタンスにマップされてよい。
【０１５５】
多くの環境において、異なるタイプの仮想コンピューティング、ストレージ、及び／または、他のネットワークアクセス可能な機能を実施するプロバイダネットワークのオペレータは、顧客が、様々なリソース獲得モードで、リソースへのアクセスを予約または購入するのを可能にしてよい。コンピューティングリソースプロバイダは、顧客が、所望のコンピューティングリソースを選択、開始し、アプリケーションコンポーネントをコンピューティングリソースにデプロイし、環境で実行するアプリケーションを維持する設備を提供してよい。さらに、コンピューティングリソースプロバイダは、アプリケーションの需要または容量要件が変わると、手動で、または、自動スケーリングを介して、顧客が、アプリケーションに割り当てられたリソースの数とタイプを素早く、容易にスケールアップまたはスケールダウンするための追加の設備を提供してよい。コンピューティングリソースプロバイダによって提供されるコンピューティングリソースは、個別のユニットで利用可能にされてよく、個別のユニットは、インスタンスと呼ばれてよい。インスタンスは、物理サーバハードウェアプラットフォーム、サーバ上で実行する仮想マシンインスタンス、または、これら２つの何らかの組み合わせを表してよい。異なるオペレーティングシステム（ＯＳ）及び／またはハイパーバイザを実行する異なるサイズのリソースを含み、様々なインストールされたソフトウェアアプリケーション、ランタイム等を有するインスタンスの様々なタイプ及び構成が、利用可能にされてよい。インスタンスは、例えば、基礎となるコンピューティングハードウェアのデータセンタまたは他の地理的位置を表す特定のアベイラビリティゾーンで、さらに利用可能であってよい。
【０１５６】
ある実施形態においては、プロバイダネットワークは、複数の地理的リージョンに組織されてよく、各リージョンは、１つまたは複数のアベイラビリティゾーンを含んでよい。そして、アベイラビリティゾーン（アベイラビリティコンテナとも呼ばれてよい）は、所与のアベイラビリティゾーンのリソースを他のアベイラビリティゾーンの故障から分離または隔離し得るように構成された１つまたは複数の個別の位置またはデータセンタを含んでよい。すなわち、１つのアベイラビリティゾーンの故障が、他のアベイラビリティゾーンのいずれにも故障を生じさせないと考えられる。従って、リソースインスタンスのアベイラビリティプロファイルは、異なるアベイラビリティゾーンのリソースインスタンスのアベイラビリティプロファイルから独立するように意図される。クライアントは、各アベイラビリティゾーンで複数のアプリケーションインスタンスを開始することによって、１つの位置の故障からクライアントのアプリケーションを保護できてよい。同時に、ある実施態様においては、安価で低遅延のネットワーク接続が、同じ地理的リージョンにあるリソースインスタンス間で提供されてよく、（また、同じアベイラビリティゾーンのリソース間のネットワーク送信は、さらに速くてよい）。
【０１５７】
プロバイダネットワークは、インスタンスを「オンデマンドで」利用可能にしてよく、顧客は、特定のタイプ及び構成（例えば、サイズ、プラットフォーム、テナンシ、アベイラビリティゾーン等）の多くのインスタンスを選択し、デプロイメントのインスタンスをすぐに開始できる。需要または容量要件が経時的に変化すると、オンデマンドインスタンスは、必要に応じて、手動または自動スケーリングを通して自動で、さらに追加または削除されてよい。顧客は、例えば、操作時間数、及び／または、実際に利用されるリソースに基づいて、顧客のオンデマンドインスタンスに関連する存続中の使用コストを負担してよい。
【０１５８】
コンピューティングリソースプロバイダは、予約済みインスタンスを顧客に利用可能にしてもよい。予約済みインスタンスは、例えば、インスタンスが開始される場合、及び、開始される時、時間毎または他の使用コストが低減されることと引き替えに、低額の前払い費用で、多くの特定のタイプ及び構成のインスタンスを、１年または３年等の一定期間、予約しておく能力を顧客に提供してよい。これによって、顧客が、需要増加に応答してデプロイされたアプリケーションをスケールアップすることに関連する費用を遅らせるのを可能にしながら、必要な時に、適切なリソースが利用可能であることを保証する。予約済みインスタンスが、顧客のアプリケーションをスケーリングするための信頼できる予備能力を顧客に提供しながら、予約済みインスタンスの購入は、また、特定のアベイラビリティゾーンの特定の数、タイプ、及び／または、構成のコンピューティングリソースに、所望するより長い期間、顧客を固定し得る。アプリケーションの技術的アーキテクチャまたはニーズが変化する場合、顧客は、予約済みインスタンスへの顧客の投資に対して利益を実感できない場合がある。
【０１５９】
このようなプロバイダネットワークのオペレータは、クライアントのためにリソースの予約、制御、及び、アクセスのためのインタフェースの柔軟なセットを実施する場合があってよい。例えば、プロバイダネットワークのリソースマネージャは、クライアントが、リソースインスタンスを知り、選択し、リソースインスタンスへのアクセスを購入し、及び／または、予約するのを可能にするプログラム的リソース予約インタフェースを（例えば、ウェブサイトまたはウェブページのセットを介して）実施してよい。以下に記載の実施形態においては、リソースマネージャまたはプライシングオプティマイザ等のエンティティが、ウェブページもしくはＡＰＩ等の１つまたは複数のプログラマチックインタフェースを実施するとして記載され、そのエンティティのインタフェースマネージャサブコンポーネントが、インタフェース関連の機能を担当してよい。多くの実施形態においては、同等のインタフェース関連の機能は、リソースマネージャの外部で、別個またはスタンドアロンインタフェースマネージャによって実施されてよい。このようなインタフェースは、リソースカタログと詳細、支援されるリソースの異なるタイプもしくはサイズの仕様、支援される異なる予約タイプもしくはモード、価格モデル等の閲覧を可能にする能力を含んでよい。
【０１６０】
図１９等のある実施形態においては、データセンタ１９００は、共有コンピューティングリソース及び／または共有インフラストラクチャの集まりと考えられてよい。例えば、図１９に示すように、データセンタ１９００は、仮想マシンスロット１９０４、物理ホスト１９０２、電源１９０６、ルータ１９０８、分離帯１９１０、及び、地理的位置１９１２を含んでよい。仮想マシンスロット１９０４は、スロットまたはリソーススロットと呼ばれてよい。物理ホスト１９０２は、複数の仮想マシンスロット９０４によって共有されてよく、各スロット１９０４は、ゲストドメイン等の仮想マシンをホストできる。複数の物理ホスト１９０２は、サーバラックに備えられた電源１９０６等、電源１９０６を共有してよい。ルータ１９０８は、数個の電源１９０６を通して複数の物理ホスト１９０２のために働き、ネットワークトラフィックをルーティングしてよい。分離帯１９１０は、多くのルータ１９０８のために働いてよい。分離帯１９１０は、バックアップ発電機等、冗長リソースによって提供され得るコンピューティングリソースグループである。分離帯１９１０は、データセンタ１９００等の地理的位置１９１２に存在してよい。プロビジョニングサーバ１９１４は、メモリ及びプロセッサを含んでよく、メモリ及びプロセッサは、計算において決定された役割と共有リソース／インフラストラクチャを使用してユーザデータを分析し、利用可能な実施リソースをランク付けする命令を用いて構成される。プロビジョニングサーバ１９１４は、コンピューティングリソースのプロビジョニング及びデプロビジョニングのワークフローと、コンピューティングリソースの健全性及び／または故障検出のワークフローも管理してよい。
【０１６１】
プロビジョニングサーバ１９１４は、データセンタ内のリソースの配置を決定してよい。ある実施形態においては、この配置は、利用可能なコンピューティングリソース、及び／または、コンピューティングリソース間の関係に少なくとも部分的に基づいてよい。一実施形態においては、リソース間の距離は、共有リソースの程度によって測定されてよい。この距離は、役割に従ったリソースのランク付けに使用されてよい。例えば、第２のシステムとルータ１９０８を共有するホスト１９０２上の第１のシステムは、分離帯１９１０のみを共有している第３のシステムより第２のシステムに近くてよい。アプリケーションに応じて、スループットを増加させるほど小さく、または、耐久性を向上させるほど大きい距離を保つことが望ましい。他の実施形態においては、距離は、共有されていないリソースの観点から決定されてよい。例えば、ルータ１９０８を共有する２つのスロット１９０４は、物理ホスト１９０２と電源１９０６の距離を有してよい。リソースの各相違は、距離計算において異なるように重み付けされてよい。
【０１６２】
クライアントアカウントに準備したリソースを転送することを選択すると、配置計算も選択されてよい。一実施形態においては、クライアントは、オペレーティングシステムを有する仮想マシンを要求する。プロビジョニングサーバ１９１４は、要求はスロット１９０４の段階的ボリュームで満たされてよいことを決定してよい。どのインフラストラクチャを共有するのが望ましいか、及び、どのインフラストラクチャを共有するのが望ましくないかを決定する配置決定を行ってよい。配置決定を用いて、配置決定特性の少なくとも一部を満足させる段階的ボリュームが、利用可能なリソースのプールから選択されてよい。例えば、段階的ボリュームのプールは、クラスタコンピューティング設定で使用されてよい。新しいボリュームが要求されると、プロビジョニングサーバ１９１４は、待ち時間を懸念すると、他の既存のボリュームの近くの配置が望ましいと決定してよい。従って、決定によって、ルータ１９０８の共有は望ましいが、電源１９０６と物理ホスト１９０２の共有は望ましくないことが分かる。次に、これらの属性に一致するボリュームがプール内から選択されてよく、他のボリュームと同じルータ１９０８上で、同じでない物理ホスト１９０２や電源１９０６上に配置されることが望ましい。共有されるデータベースに関する配置決定等、配置決定の他の例においては、インフラストラクチャの共有は、あまり望ましくなく、他の関連するボリュームと共通のインフラストラクチャが少ないボリュームが選択されてよい。
【０１６３】
上記の項に記載のプロセス、方法、及び、アルゴリズムは、それぞれ、１つまたは複数のコンピュータまたはコンピュータプロセッサによって実行されるコードモジュールで具体化され、コードモジュールによって完全に、または、部分的に自動化されてよい。コードモジュールは、ハードドライブ、ソリッドステートメモリ、光学ディスク等の任意の種類の非一時的コンピュータ可読媒体またはコンピュータ記憶装置上に記憶されてよい。プロセス及びアルゴリズムは、特定用途向け回路で部分的または完全に実施されてよい。開示のプロセス及びプロセスのステップの結果は、例えば、揮発性または不揮発性のストレージ等、任意の種類の非一時的コンピュータストレージに永続的に、または、他の方法で記憶されてよい。
【０１６４】
上記様々な特徴及びプロセスは、互いに独立して使用されてよく、または、様々な形で組み合わされてよい。全ての可能なコンビネーション及びサブコンビネーションは、開示の範囲内にあることを意図している。さらに、一定の方法またはプロセスのブロックは、ある実施態様においては、省略されてよい。本明細書に記載の方法及びプロセスは、また、任意の特定のシーケンスに限らず、方法及びプロセスに関するブロックまたは状態は、適切な他のシーケンスで行うことができる。例えば、記載のブロックまたは状態は、具体的に開示した順序と異なる順序で行われてよく、複数のブロックまたは状態は、１つのブロックまたは状態に組み合わされてよい。例示のブロックまたは状態は、直列、並列、または、何らかの他の方法で行われてよい。ブロックまたは状態が、開示の実施形態の例に追加または、例から取り除かれてよい。本明細書に記載のシステム及びコンポーネントの例は、記載と異なるように構成されてよい。例えば、要素は、開示の実施形態例に追加されてよく、実施形態例から取り除かれてよく、または、実施形態例と比較して位置を変えられてよい。
【０１６５】
様々な項目は、使用されながら、メモリ内またはストレージ上に記憶されていることが示されており、これらの項目またはその一部は、メモリ管理及びデータ整合性の目的で、メモリと他の記憶装置間で転送されてよいことも理解される。あるいは、他の実施形態においては、ソフトウェアモジュール及び／またはシステムの一部または全ては、他の装置上のメモリで実行してよく、コンピュータ間通信を介して図示のコンピューティングシステムと通信してよい。さらに、ある実施形態においては、システム及び／またはモジュールの一部または全ては、１つまたは複数の特定用途向け集積回路（ＡＳＩＣ）、標準的集積回路、コントローラ（例えば、適切な命令を実行し、マイクロコントローラ及び／または組込コントローラを含むことによって）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、結合プログラム可能論理デバイス（ＣＰＬＤ）等を含むが、これらに限らないファームウェア及び／またはハードウェアで少なくとも部分的に等、他の方法で実施または提供されてよい。モジュール、システム、及び、データ構造の一部または全ては、ハードディスク、メモリ、ネットワーク、または、適切なドライブによって、または、適切な接続を介して読み取られるポータブルメディア製品等のコンピュータ可読媒体に、（例えば、ソフトウェア命令または構造化データとして）記憶されてもよい。システム、モジュール、及び、データ構造は、無線ベース、及び、有線／ケーブルベースの媒体を含む様々なコンピュータ可読伝送媒体で、生成されたデータ信号として（例えば、搬送波または他のアナログもしくはデジタル伝搬信号として）送信されてもよく、様々な形態（例えば、単一のまたは多重化アナログ信号の一部として、または、複数の別個のパケットもしくはフレームとして）をとってよい。このようなコンピュータプログラム製品は、他の実施形態においては、他の形態もとってよい。従って、本発明は、他のコンピュータシステム構成を用いて実践されてよい。
【０１６６】
「ｃａｎ」「ｃｏｕｌｄ」「ｍｉｇｈｔ」「ｍａｙ」「ｅ．ｇ．，」等、本明細書で使用される条件語は、明確に記載の無い限り、または、使用される文脈内で別の意味に理解されない限り、一定の実施形態は、一定の特徴、要素、及び／または、ステップを含み、他の実施形態は、一定の特徴、要素、及び／または、ステップを含まないことを伝えることを一般的に意図している。従って、このような条件語は、一般的に、特徴、要素、及び／または、ステップが、１つまたは複数の実施形態に必ず必要とされることを示すことを意図してはおらず、また、１つまたは複数の実施形態が、オーサーの入力またはプロンプトのある無しに関わらず、これらの特徴、要素、及び／または、ステップが任意の特定の実施形態に含まれるまたは任意の特定の実施形態で行われるか否かを決定するロジックを必ず含むことを意図してもいない。用語「ｃｏｍｐｒｉｓｉｎｇ（含む）」「ｉｎｃｌｕｄｉｎｇ（含む）」「ｈａｖｉｎｇ（有する）」等は、同義語であり、オープンエンドの形で包括的に使用され、追加の要素、特徴、行為、操作等を排除しない。また、「ｏｒ（または、若しくは）」という語は、（排他的な意味でなく）包括的な意味で使用されて、例えば、要素のリストの接続に使用されると、「ｏｒ」という語は、リストの要素の１つ、一部、または、全てを意味する。
【０１６７】
一定の例の実施形態を記載したが、これらの実施形態は、例示のためにのみ示しており、本明細書に開示の範囲を制限する意図はない。従って、上記記載のどれも、任意の特定の特徴、特性、ステップ、モジュール、または、ブロックが必要または不可欠であることを意味してはいない。実際、本明細書に記載の新規の方法及びシステムは、様々な他の形で具体化されてよく、さらに、本明細書に記載の方法及びシステムの形態の様々な省略、置き換え、及び、変更は、本明細書に開示の発明の精神を逸脱することなく行われてよい。添付の請求項及びその同等物は、本明細書に開示の発明の一部の範囲及び精神に該当するこのような形態及び修正を含むものとする。
【０１６８】
本開示の実施形態は、以下の条項を考慮して記載できる。
１．ネットワークを介して通信する複数のコンピューティングノードにネットワークトラフィックフローデータを提供する方法であって、前記コンピューティングノードは、それぞれ、複数の仮想マシンを含み、
前記コンピューティングノードのサブセットを監視するために情報を受信することと、
所定の時間間隔の間、
前記ネットワークを介して送られるデータパケットを受信すること、
前記データパケットを検査して、前記データパケットが、前記コンピューティングノードのサブセットのうちの１つに入るまたは出るネットワークトラフィックフローデータパケットであるか否かを決定すること、及び、
前記サブセットの前記１つのコンピューティングノードに入るまたは出るネットワークトラフィックフローデータパケットであると決定されたデータパケットを記憶することと、
所定の時間の後、前記記憶されたデータパケットをデータストアに移動させることと、
前記記憶されたデータパケットが前記データストアに移動されると、１つまたは複数の待ち行列に通知を送ることと、
データパケットの前記受信、検査、及び、記憶をその後の所定時間、繰り返すことと、
前記１つまたは複数の待ち行列から前記通知を読み出して、前記通知に従って、前記データストアの前記データパケットにアクセスすることと、
前記読み出したデータパケットを処理して、プログラマチックインタフェースに提供されるネットワークトラフィックフローデータを識別することと、
前記処理が完了しなかった記憶されたデータパケットに関して前記１つまたは複数の待ち行列に通知を送ることと、
を含む、前記方法。
【０１６９】
２．前記所定の時間間隔は、前記所定の時間のサブセットである、条項１に記載の方法。
【０１７０】
３．前記識別されたデータトラフィックをフィルタリング及び公開することをさらに含む、条項１または２に記載の方法。
【０１７１】
４．前記記憶されたデータパケットが前記データストアに移動したことを示すものに応答して、前記通知が送られる、条項１〜３のいずれかに記載の方法。
【０１７２】
５．前記１つまたは複数の待ち行列は、分散待ち行列として実施される、条項１〜４のいずれかに記載の方法。
【０１７３】
６．プロバイダネットワークの顧客に仮想コンピューティングリソースを割り当てる前記プロバイダネットワークのデータにアクセスを提供するように構成されたシステムにおいて、前記システムは、
コンピュータ命令を記憶する少なくとも１つのメモリを備え、前記コンピュータ命令は、前記システムの１つまたは複数のプロセッサによって実行されると、前記システムに、少なくとも、
前記仮想コンピューティングリソースのネットワークトラフィックフローデータのタイムベースのグループを記憶させ、
前記タイムベースのグループが記憶されると、通知を提供させ、
前記通知の１つまたは複数を読み出し、前記１つまたは複数の通知で識別された前記タイムベースのグループを処理させ、前記処理は、関連付けられた仮想コンピューティングリソースに前記ネットワークトラフィックフローデータの公開を要求したユーザに関連付けられたネットワークトラフィックフローデータを識別、公開することを含む、
前記システム。
【０１７４】
７．前記タイムベースのグループは、前記プロバイダネットワークによって規定された一連の連続したタイムスロットに基づいて決定される、条項６に記載のシステム。
【０１７５】
８．前記タイムベースのグループは、前記仮想コンピューティングリソースの選択されたサブセットに基づいて記憶される、条項６または７に記載のシステム。
【０１７６】
９．前記仮想コンピューティングリソースの前記選択されたサブセットは、仮想コンピューティング能力のユニットである、条項８に記載のシステム。
【０１７７】
１０．前記通知は、１つまたは複数の待ち行列に記憶され、前記待ち行列から読み出される、条項６〜９のいずれかに記載のシステム。
【０１７８】
１１．前記処理は、承認または拒絶されたデータトラフィックの識別を含む、条項６〜１０のいずれかに記載のシステム。
【０１７９】
１２．前記公開は、前記処理されたグループを、前記仮想コンピューティングリソースの監視サービス、ネットワークフローアナライザ、または、顧客定義のストレージの１つまたは複数に利用可能にすることを含む、条項６〜１１のいずれかに記載のシステム。
【０１８０】
１３．前記選択されたサブセットは、仮想プライベートネットワーク、サブネット、または、仮想ネットワークインタフェースを含む、条項８〜１２のいずれかに記載のシステム。
【０１８１】
１４．前記公開は、前記ネットワークトラフィックフローデータをフィルタリングして、前記関連付けられたユーザに公開するように構成されたパブリッシャコンポーネントによって行われる、条項６〜１３のいずれかに記載のシステム。
【０１８２】
１５．前記通知の前記提供は、前記ネットワークトラフィックフローが記憶されたことを示すものを受信し、前記通知を前記パブリッシャコンポーネントに送るように構成されたステータスパブリッシャコンポーネントによって行われる、条項１４に記載のシステム。
【０１８３】
１６．ネットワークトラフィックフローデータの前記タイムベースのグループは、前記ネットワークトラフィックフローデータを記憶するように構成された永続ストレージリソースに記憶される、条項６〜１５のいずれかに記載のシステム。
【０１８４】
１７．コンピュータ可読命令を記憶する非一時的コンピュータ可読記憶媒体であって、前記コンピュータ可読命令は、命令であって、コンピューティングノードで実行されると、少なくとも、
プロバイダネットワークの仮想コンピューティングリソースのグループのネットワークトラフィックフローデータを記憶させ、
ネットワークトラフィックフローデータが、選択した時間範囲の間に、少なくとも１つのグループに関して記憶されたという通知を待ち行列に入れ、
前記待ち行列に入れられた通知にアクセスし、前記待ち行列に入れられた通知で識別された前記記憶されたネットワークトラフィックフローデータを処理させる、前記命令を含み、前記処理は、関連付けられた仮想コンピューティングリソースにネットワークトラフィックフローデータへのアクセスを要求した前記プロバイダネットワークの顧客に関連付けられたネットワークトラフィックフローデータの識別を含む、
前記非一時的コンピュータ可読記憶媒体。
【０１８５】
１８．コンピューティングノード上で実行されると、少なくとも、前記識別されたネットワークトラフィックフローデータを公開させる命令をさらに含む、条項１７に記載の非一時的コンピュータ可読媒体。
【０１８６】
１９．グループの公開は、前記公開の１つまたは複数の条件が満たされない場合、終了される、条項１８に記載の非一時的コンピュータ可読媒体。
【０１８７】
２０．コンピューティングノード上で実行されると、少なくとも、グループの処理を停止させ、その後の時間に、前記グループの処理の再開させる命令をさらに含む、条項１７〜１９のいずれかに記載の非一時的コンピュータ可読媒体。
【図１】
2020114016.tif 000003
【図２】
2020114016.tif 000004
【図３】
2020114016.tif 000005
【図４】
2020114016.tif 000006
【図５】
2020114016.tif 000007
【図６】
2020114016.tif 000008
【図７】
2020114016.tif 000009
【図８】
2020114016.tif 000010
【図９】
2020114016.tif 000011
【図１０】
2020114016.tif 000012
【図１１】
2020114016.tif 000013
【図１２】
2020114016.tif 000014
【図１３】
2020114016.tif 000015
【図１４】
2020114016.tif 000016
【図１５】
2020114016.tif 000017
【図１６】
2020114016.tif 000018
【図１７】
2020114016.tif 000019
【図１８】
2020114016.tif 000020
【図１９】
2020114016.tif 000021
【外国語明細書】
2020114016000001.pdf