(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-01-16
(45)【発行日】2023-01-24
(54)【発明の名称】マルチテナント環境のためのネットワークフローログ
(51)【国際特許分類】
H04L 43/04 20220101AFI20230117BHJP
H04L 12/22 20060101ALI20230117BHJP
H04L 12/66 20060101ALI20230117BHJP
H04L 41/0895 20220101ALI20230117BHJP
H04L 43/02 20220101ALI20230117BHJP
【FI】
H04L43/04
H04L12/22
H04L12/66
H04L41/0895
H04L43/02
【外国語出願】
(21)【出願番号】P 2020067091
(22)【出願日】2020-04-02
(62)【分割の表示】P 2019193500の分割
【原出願日】2016-03-29
【審査請求日】2020-04-07
(32)【優先日】2015-03-30
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】506223509
【氏名又は名称】アマゾン・テクノロジーズ、インコーポレイテッド
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】バネルジー、ラジャット
(72)【発明者】
【氏名】ミラー、ナーサン アンドリュー
(72)【発明者】
【氏名】ディヴェカ、アニケット ディーパック
(72)【発明者】
【氏名】ツァオ、ミンシュエ
(72)【発明者】
【氏名】イェ、シュアイ
(72)【発明者】
【氏名】ミラー、ケヴィン クリストファー
(72)【発明者】
【氏名】ケール、ジョン ロバート
【審査官】鈴木 香苗
(56)【参考文献】
【文献】国際公開第2014/129587(WO,A1)
【文献】特開2012-173779(JP,A)
【文献】特開2012-099062(JP,A)
【文献】特開2014-096675(JP,A)
【文献】特開2014-216991(JP,A)
【文献】特開平10-133916(JP,A)
【文献】国際公開第2012/078471(WO,A1)
【文献】国際公開第2014/035509(WO,A1)
【文献】特開2014-081811(JP,A)
【文献】特開2020-039137(JP,A)
【文献】山田 真理子 ほか,クラウドデータセンタ向けテナントネットワーク分析方式の検討 Tenant network analysis method for cloud datacenter,電子情報通信学会技術研究報告 Vol.113 No.124 IEICE Technical Report,日本,一般社団法人電子情報通信学会,2013年07月04日,第113巻,pp.69-74
【文献】中村 遼 ほか,SDNを用いたクラウドサービスネットワークの実現 An implementation of cloud service network using SDN,電子情報通信学会技術研究報告 Vol.113 No.200 IEICE Technical Report,日本,一般社団法人電子情報通信学会,2013年08月30日,第113巻,pp.5-10
【文献】渡邊 裕治 ほか,IaaSパブリッククラウドにおけるコンプライアンス自動化のためのイベント監視と分析 Event Monitoring and Analytics for Compliance Automation on IaaS Public Cloud,情報処理学会 研究報告 コンピュータセキュリティ(CSEC) 2015-CSEC-068 [online],日本,情報処理学会,2015年02月26日,pp.1-6
(58)【調査した分野】(Int.Cl.,DB名)
H04L 43/04
H04L 12/22
H04L 12/66
H04L 41/0895
H04L 43/02
(57)【特許請求の範囲】
【請求項1】
コンピューティングリソースサービスプロバイダによりホストされる仮想ネットワーク内に複数の仮想マシンインスタンスをプロビジョニングする段階であって、前記複数の仮想マシンインスタンスは、前記コンピューティングリソースサービスプロバイダの顧客と関連付けられる、段階と、
前記顧客よる第1のアプリケーションプログラミングインタフェース(API)要求に少なくとも部分的に基づいて、前記複数の仮想マシンインスタンスのうちの仮想マシンインスタンスを有する前記仮想ネットワークのサブネットを識別する段階と、
前記サブネットの前記仮想マシンインスタンスから出る発信インターネットプロトコル(IP)トラフィックについての情報を捕捉することにより前記サブネットに対する発信ネットワークトラフィックのログを取る段階と、
前記サブネットと関連付けられるセキュリティポリシに少なくとも部分的に基づいて、前記サブネットの前記仮想マシンインスタンスへの着信ネットワークトラフィックをファイアウォールによりフィルタリングする段階と、
前記発信ネットワークトラフィックの前記ログ、及び、前記着信ネットワークトラフィックの前記フィルタリングに少なくとも部分的に基づいて、前記サブネットの前記仮想マシンインスタンスと関連付けられるネットワークログ情報を取得する段階であって、前記ネットワークログ情報は、タイムスタンプ、送信元IPアドレス及び宛先IPアドレスを少なくとも含む、段階と、
前記顧客か
ら特定の宛先を示す第2のAPI要求を受信したことに応答して、前記顧客が要求するサービ
スとして提供される前記特定の宛先であって、前記顧客がアクセス可能な前
記特定の宛先に前記ネットワークログ情報をエクスポートする段
階であって、前記ネットワークログ情報は、前記特定の宛先におけるネットワーク分析のために用いられる、段階と
を備えるコンピュータ実施方法。
【請求項2】
前記顧客にアクセス可能な前
記特定の宛先に前記ネットワークログ情報をエクスポートする段階は、前記ネットワークログ情報からログエントリのコピーをエクスポートする段階であって、前記顧客により提出された前記第2のAPI要求は、前記ネットワークログ情報からどのログエントリを選択するか、及び、エクスポートする前
記特定の宛先を示す、段階を含む、請求項1に記載のコンピュータ実施方法。
【請求項3】
前記サブネットの前記仮想マシンインスタンスからの発信ネットワークトラフィックを取得することが前記セキュリティポリシに反するか否かに関わらず、前記サブネットの前記仮想マシンインスタンスからネットワークログ情報を取得する段階をさらに備える、請求項1又は2に記載のコンピュータ実施方法。
【請求項4】
複数の仮想マシンインスタンスを有する仮想サービスの顧客から第1のアプリケーションプログラミングインタフェース(API)要求を受信して、前記複数の仮想マシンインスタンスを有する仮想ネットワークを作成する段階であって、前記仮想ネットワークには、識別子が割り当てられている、段階と、
複数のファイアウォールポリシーを適用して、前記仮想ネットワークの前記複数の仮想マシンインスタンスへの又は前記複数の仮想マシンインスタンスからのトラフィックを許可又は拒否する段階と、
前記顧客からの前記第1のAPI要求に少なくとも部分的に基づいて、前記仮想ネットワークのサブネットに対するフローログを有効にする段階であって、前記サブネットは、仮想マシンインスタンスを含む、段階と、
前記仮想マシンインスタンスに適用可能な前記複数のファイアウォールポリシーのうちのファイアウォールポリシーに少なくとも部分的に基づいて、前記サブネットへの又は前記サブネットからのトラフィックに対応するネットワークログ情報を取得する段階と、
前記顧客か
ら特定の宛先を示す第2のAPI要求を受信したことに応答して、前記顧客が要求するサービ
スとして提供される前記特定の宛先であって、前記顧客がアクセス可能な前
記特定の宛先に前記ネットワークログ情報をエクスポートする段階であって、前記ネットワークログ情報をエクスポートする段階は、前記顧客によりアクセス可能な前
記特定の宛先にエクスポートするために、前記ネットワークログ情報のサブセットを選択する段階を
含み、前記ネットワークログ情報は、前記特定の宛先におけるネットワーク分析のために用いられる、段階と
を備える方法。
【請求項5】
前記ネットワークログ情報は、トラフィック変化を特定し、ネットワーク解析を実行するために、前記顧客に情報を提供する、請求項4に記載の方法。
【請求項6】
前記フローログは、複数のインタフェースを有する仮想マシンインスタンス上の全てのインタフェースに有効である、請求項4又は5に記載の方法。
【請求項7】
前記ネットワークログ情報は、前記複数の仮想マシンインスタンスと関連付けられるネットワークトラフィックをフィルタリングすることから取得される他のネットワークログ情報と共に集約される、請求項4から6のいずれか一項に記載の方法。
【請求項8】
前記顧客から第3のAPI要求を受信して、前記仮想マシンインスタンスに対するフローログを無効にする段階をさらに備える、請求項4から7のいずれか一項に記載の方法。
【請求項9】
前記ネットワークログ情報は、前記仮想マシンインスタンスから前記サブネットの第2の仮想マシンインスタンスに送信されるネットワークトラフィックを含む、請求項4から8のいずれか一項に記載の方法。
【請求項10】
前記ネットワークログ情報からのログエントリは、ログエントリの数を減らすためにサンプリングされる、請求項4から9のいずれか一項に記載の方法。
【請求項11】
前記ネットワークログ情報は、ネットワークフロー図として前記顧客に提供される、請求項4から10のいずれか一項に記載の方法。
【請求項12】
前記複数のファイアウォールポリシーの前記ファイアウォールポリシーにより許可されている場合、前記仮想マシンインスタンスに向けられる前記トラフィックの一部のログを取る、請求項4から11のいずれか一項に記載の方法。
【請求項13】
コンピュータシステムに、
コンピューティングリソースサービスプロバイダによりホストされる仮想ネットワーク内に複数の仮想コンピュータインスタンスをプロビジョニングする手順であって、前記複数の仮想コンピュータインスタンスは、前記コンピューティングリソースサービスプロバイダの顧客と関連付けられる、手順と、
前記顧客による第1のアプリケーションプログラミングインタフェース(API)要求に少なくとも部分的に基づいて、前記複数の仮想コンピュータインスタンスのうちの仮想コンピュータインスタンスを有する前記仮想ネットワークのサブネットを識別する手順と、
前記サブネットの前記仮想コンピュータインスタンスからの発信インターネットプロトコル(IP)トラフィックについての情報に少なくとも部分的に基づいて、前記サブネットに対する発信ネットワークトラフィックのログを取る手順と、
前記サブネットと関連付けられるセキュリティポリシに少なくとも部分的に基づいて、前記サブネットの前記仮想コンピュータインスタンスへの着信ネットワークトラフィックをファイアウォールによりフィルタリングする手順と、
前記発信ネットワークトラフィックの前記ログ及び前記着信ネットワークトラフィックの前記フィルタリングに少なくとも部分的に基づいて、前記サブネットの前記仮想コンピュータインスタンスと関連付けられるネットワークログ情報を取得する手順であって、前記ネットワークログ情報は、タイムスタンプ、送信元IPアドレス及び宛先IPアドレスを少なくとも含む、手順と、
前記顧客か
ら特定の宛先を示す第2のAPI要求を受信したことに応答して、前記顧客が要求するサービ
スとして提供される前記特定の宛先であって、前記顧客がアクセス可能な前
記特定の宛先に前記ネットワークログ情報をエクスポートする手
順であって、前記ネットワークログ情報は、前記特定の宛先におけるネットワーク分析のために用いられる、手順と
を実行させるためのプログラム。
【請求項14】
前記顧客へアクセス可能な前
記特定の宛先に前記ネットワークログ情報をエクスポートするために、前記コンピュータシステムに、少なくとも、前記ネットワークログ情報からログエントリのコピーをエクスポートする手順であって、前記顧客からの前記第2のAPI要求は、前記ログエントリをエクスポートする前
記特定の宛先を示す、手順を実行させる、請求項13に記載のプログラム。
【請求項15】
ネットワークログ情報を取得する手順は、前記サブネットの前記仮想コンピュータインスタンスからの発信ネットワークトラフィックを取得することが前記セキュリティポリシに反するか否かに関わらず、前記サブネットの前記仮想コンピュータインスタンスからネットワークログ情報を取得する手順をさらに含む、請求項13又は14に記載のプログラム。
【請求項16】
命令を格納するメモリを備えるシステムであって、前記命令は、少なくとも1又は複数のプロセッサにより実行された結果として、前記システムに、少なくとも、
複数の仮想コンピュータインスタンスを有する仮想サービスの顧客から第1のアプリケーションプログラミングインタフェース(API)要求を受信して、前記複数の仮想コンピュータインスタンスを有する仮想ネットワークを作成する手順であって、前記仮想ネットワークには、識別子が割り当てられている、手順と、
複数のファイアウォールポリシーを適用して、前記仮想ネットワークの前記複数の仮想コンピュータインスタンスへの又は前記複数の仮想コンピュータインスタンスからのトラフィックを許可又は拒否する手順と、
前記仮想ネットワークのサブネットに対するフローログを有効にする手順であって、前記サブネットは、前記複数の仮想コンピュータインスタンスのうちの仮想コンピュータインスタンスを含む、手順と、
前記仮想コンピュータインスタンスに適用可能な前記複数のファイアウォールポリシーのうちのファイアウォールポリシーに少なくとも部分的に基づいて、前記サブネットへの又は前記サブネットからのトラフィックに対応するネットワークログ情報を取得する手順と、
前記顧客か
ら特定の宛先を示す第2のAPI要求を受信したことに応答して、前記顧客が要求するサービ
スとして提供される前記特定の宛先であって、前記顧客によりアクセス可能な前
記特定の宛先に前記ネットワークログ情報をエクスポートする手
順であって、前記ネットワークログ情報は、前記特定の宛先におけるネットワーク分析のために用いられる、手順と
を実行させる、システム。
【請求項17】
前記命令は、1又は複数のプロセッサにより実行された結果として、前記システムに、前記ネットワークログ情報を探索するために、コンソールを用いて、前記顧客へのアクセスを提供する手順をさらに実行させる、請求項16に記載のシステム。
【請求項18】
前記フローログは、複数のインタフェースを有する仮想コンピュータインスタンス上の全てインタフェースに有効である、請求項16又は17に記載のシステム。
【請求項19】
前記ネットワークログ情報は、前記複数の仮想コンピュータインスタンスと関連付けられるネットワークトラフィックをフィルタリングすることから取得される他のネットワークログ情報と共に集約される、請求項16から18のいずれか一項に記載のシステム。
【請求項20】
前記命令は、1又は複数のプロセッサにより実行された結果として、前記システムに、
前記顧客から第3のAPI要求を受信して、前記仮想コンピュータインスタンスに対するフローログを無効にする手順をさらに実行させる、請求項16から19のいずれか一項に記載のシステム。
【請求項21】
前記ネットワークログ情報は、前記仮想コンピュータインスタンスから前記サブネットの第2の仮想コンピュータインスタンスに送信されるネットワークトラフィックを含む、請求項16から20のいずれか一項に記載のシステム。
【請求項22】
前記ネットワークログ情報からのログエントリは、ログエントリの数を減らすためにサンプリングされる、請求項16から21のいずれか一項に記載のシステム。
【請求項23】
前記複数のファイアウォールポリシーのうちの前記ファイアウォールポリシーにより許可されている場合、前記仮想コンピュータインスタンスに向けられる前記トラフィックの一部のログを取る、請求項16から22のいずれか一項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2015年3月30日出願の同時係属のUS特許出願第14/673,516号「NETWORKING FLOW LOGS FOR MULTI-TENANT ENVIRONMENTS(マルチテナント環境のネットワークフローログ」の開示内容全体を、あらゆる目的のために参照により組み込む。
【背景技術】
【0002】
コンピューティングリソースサービスプロバイダの大規模な分散コンピューティングシステムにおいては、コンピューティングリソースサービスプロバイダの様々な顧客、ユーザ、サービス、及び、リソースが、互いに頻繁に通信する。アプリケーションが更新され、システムの複雑性や使用量が増えると、システムを安全に保つことは、より難しくなる。このような分散コンピューティングシステムにおいて、システムの脆弱性を識別することは困難になる場合がある。さらに、システムの課題を特定し、トラブルシューティングすることも難しく、問題を識別したとしても、システムを確実に安全にすることは、難しい場合がある。さらに、多くの従来のシステムは、このような脆弱性を手動で軽減することに頼っている。これらの環境のコンピューティングリソースの複雑さと分散は、コンピューティングリソースによって生成されたログ情報の収集、分析を複雑にする場合がある。
【0003】
図面を参照して本開示による様々な実施形態を記載する。
【図面の簡単な説明】
【0004】
【
図1】ある実施形態による、コンピューティングリソースサービスプロバイダが、コンピューティングリソースサービスプロバイダが操作するコンピュータシステムによって生成されたコンピュータログ情報へのアクセスを顧客に提供し得る環境を示す。
【
図2】ある実施形態による、コンピューティングリソースサービスプロバイダが操作するコンピュータシステムによって生成されたコンピュータログ情報の収集に使用し得るサーバコンピュータシステムの説明的な簡易ブロック図である。
【
図3】ある実施形態による、コンピューティングデバイスによって実行されるアプリケーションによって表示することができるウェブページであり、ユーザが、コンピューティングリソースサービスプロバイダによって操作されるネットワークロギングサービスと対話することができることを示す。
【
図4】ある実施形態による、ネットワークログ視覚化ブラウザを使用してネットワークフロー図を表示し得る環境例を示す。
【
図5】ある実施形態による、ネットワークログ視覚化ブラウザを使用してネットワークフロー図を表示し得る環境例を示す。
【
図6】ある実施形態による、ネットワークを介したクライアント装置及びサーバコンピュータとのデータ通信においてコンピューティングリソースサービスプロバイダを含む環境を示す。
【
図7】一実施形態による、マルチテナント環境における、コンピュータシステムインスタンスに対応するログ情報の提供に使用し得る説明的なプロセスを示す図である。
【
図8】ある実施形態による、マルチテナント環境における、コンピュータシステムインスタンスに対応するログ情報の提供に使用し得る説明的なプロセスを示す図である。
【
図9】顧客がコンピューティングリソースサービスプロバイダに接続される環境を示す。
【
図11】本開示による、ネットワークトラフィックフロー情報のイベント駆動型処理の機構を示す図である。
【
図12】本開示による、ネットワークトラフィックフロー情報のイベント駆動型処理の機構を示す図である。
【
図13】本開示による、ネットワークトラフィックフロー情報のイベント駆動型処理の機構を示す図である。
【
図14】本開示による、ネットワークトラフィックフロー情報のイベント駆動型処理の機構を示す図である。
【
図15】本開示による、ネットワークトラフィックフロー情報のイベント駆動型処理の手順例を示すフローチャートである。
【
図16】本開示による、ネットワークトラフィックフロー情報のイベント駆動型処理の手順例を示すフローチャートである。
【
図17】ある実施形態において使用し得るコンピュータ環境の例を示す図である。
【
図18】ある実施形態において使用し得るコンピュータシステムの例を示す図である。
【
図19】ある実施形態において使用し得るコンピュータ環境の例を示す図である。
【発明を実施するための形態】
【0005】
以下に、様々な実施形態を記載する。実施形態を十分に理解してもらえるよう、説明目的で、具体的な構成及び詳細を記載する。しかしながら、その具体的な詳細を用いずに実施形態を実践してよいことも当業者には明らかであろう。さらに、記載されている実施形態を曖昧にしないために、周知の特徴を省略または簡素化している場合がある。
【0006】
本明細書において記載及び示唆した技術は、マルチテナントコンピューティングリソースサービスプロバイダ環境におけるネットワークログ及びコンピュータログの改良に関する。コンピューティングリソースサービスプロバイダは、コンピューティングリソースサービスプロバイダの顧客によってプログラムで管理されるコンピューティングリソースを運営してよい。例えば、コンピューティングリソースサービスプロバイダは、仮想コンピュータシステムサービスとオンデマンドストレージサービスを運営してよく、これらのサービスは、コンピューティングリソースをコンピューティングリソースサービスプロバイダの顧客に提供してよい。そして、顧客は、ソフトウェアを遠隔でロードし、コンピューティングリソースサービスプロバイダによって顧客がアクセスできるようにされたコンピュータリソースに接続して、他の操作を構成、開始、停止、及び、実行してよい。コンピューティングリソースサービスプロバイダは、コンピューティングリソースのオーバーサブスクリプションを可能にすることによって、顧客に提供するサービスを実施しているコンピュータシステムを利用してよい。さらに、顧客に提供されるコンピューティングリソースの少なくとも一部を仮想化してよい。例えば、コンピューティングリソースサービスプロバイダは、仮想コンピュータシステムを顧客に提供してよく、顧客は、仮想コンピュータシステムを使用して、ウェブサーバ等、様々なアプリケーションを実施してよい。
【0007】
コンピューティングリソースサービスプロバイダは、顧客情報を保護するために、ファイアウォールまたは他のセキュリティ機能も実施してよい。これらのセキュリティ機能と仮想コンピューティング環境の結果として、ネットワークログ情報及び他のコンピュータログ情報に顧客がアクセスできない場合がある。コンピューティングリソースサービスプロバイダは、顧客のためにログ情報を収集し、情報をパッケージ化して、顧客に提供してよい。さらに、コンピューティングリソースサービスプロバイダは、顧客が示した宛先にログ情報を提供してよい。例えば、コンピューティングリソースサービスプロバイダは、ログ情報をメトリクスサービスまたは侵入検出サービスに提供してよい。メトリクスサービスは、顧客のために、ログ情報に対応する情報に従って(、視覚化したもの、アラートを生成してよい。例えば、メトリクスサービスは、顧客の仮想コンピュータシステムインスタンスに関する現在のネットワーク負荷を顧客に提供してよい。侵入検出サービスは、ログ情報を使用して、様々な攻撃を軽減し、攻撃検出操作を行ってよい。さらに、侵入検出システムは、ログ情報を使用して、コンピューティングリソースサービスプロバイダによって操作される様々なコンピューティングシステムのファイアウォール設定、侵入検出設定、及び、他のセキュリティ設定を更新してよい。侵入防止システムは、ログ情報を使用して、セキュリティポリシーのセットを決定、適用してもよい。例えば、侵入防止システムは、顧客の仮想コンピュータシステムインスタンスによって送信され得る、または、顧客の仮想コンピュータシステムインスタンスから取得され得るデータのタイプを制限してよい。
【0008】
コンピューティングリソースを顧客に提供するコンピューティングシステムは、特定の顧客に提供されるコンピューティングリソースに対応するネットワークログ及びコンピュータログ情報を取得するように構成されたログエンティティを含んでよい。ログエンティティは、コンピューティングシステム、または、コンピュータシステムのコンポーネントから直接、ログ情報を取得してよい。例えば、コンピューティングシステムは、顧客コンピュータシステムインスタンスに向けられた特定のトラフィックをブロックするように構成されたファイアウォールを含んでよい。ログエンティティは、ファイアウォールからネットワークログ情報を取得してよく、ログ情報を永続的に記憶させてよい。メトリクスサービスまたは他のいくつかのサービスは、ログエンティティによって記憶されたログ情報に少なくとも部分的に基づいて情報を決定してよい。例えば、メトリクスサービスは、特定の顧客のコンピュータシステムインスタンスに向けられた特定のネットワークフローのトラフィック量、パケット数、または、サイズを決定してよい。
【0009】
図1は、コンピューティングリソースサービスプロバイダが、コンピューティングリソースサービスプロバイダが操作するコンピュータシステムによって生成されたコンピュータログ情報114へのアクセスを顧客に提供し得る環境100を示す。コンピューティングリソースサービスプロバイダは、コンピューティングリソースを顧客102に提供してよい。さらに、顧客102は、コンピュータリソースサービスプロバイダにログ情報114を要求してよい。サーバコンピュータシステム108は、コンピューティングリソースを顧客102に提供するように構成されてよい。例えば、サーバコンピュータシステム108は、仮想のコンピューティング能力または記憶容量を顧客102に提供してよい。顧客102及び他のエンティティは、ネットワーク106を介してサーバコンピュータシステム108と通信してよい。ネットワーク106は、仮想プライベートネットワーク、イントラネット、インターネット、セルラーネットワーク、ローカルエリアネットワーク、衛星ネットワーク、または、任意の他のこのようなネットワーク、及び/または、これらの組み合わせを含んでよい。
【0010】
さらに、サーバコンピュータシステム108は、セキュリティポリシーに少なくとも部分的に基づいて、ファイアウォール104を実施して、通信を許可または拒絶してよい。ある例においては、このファイアウォールは、対象コンピューティングシステムまたは対象仮想コンピュータシステムインスタンスの1つまたは複数のポートを、それらのポートが特に「開かれて」いない限り、ブロックしてよい。言い換えると、ブロックされた112(すなわち、開かれていない)ポートを指定するサーバコンピュータシステム108で受信されたデータパケットは、無視されてよい、または、エラーコードがパケットの送信元に送信されてよい。トラフィックが、セキュリティポリシーを侵害していない場合、トラフィックは、ファイアウォール104によって許可されて110、顧客102のコンピュータシステムインスタンスに到達してよい。
【0011】
サーバコンピュータシステム108は、顧客に割り当てられたコンピューティングリソースをファイアウォール、スケーリンググループ、及び/または、他のこのようなグループ等のリソースグループに組織化してよい。1つまたは複数のリソースは、1つまたは複数のリソースのグループ化、及び/または、1つまたは複数のリソースの依存関係を示すリソースグループに関連付けられてよい、及び/または、配置されてよい。リソースグループは、ネストされてよく、その結果、例えば、スケーリンググループが、1つまたは複数のファイアウォールを含んでよく、1つまたは複数のファイアウォールは、1つまたは複数のリソースを含んでよい、及び/または、1つまたは複数の他のリソースグループを含んでよい。本明細書では、ファイアウォール104という語は、ポリシーに少なくとも部分的に基づいて、インバウンド及びアウトバウンドネットワークトラフィックを制御するように構成されたハードウェア、ソフトウェア、または、それらの組み合わせを指してよい。ファイアウォール104は、例えば、ネットワークトラフィックを検査して着信及び/または発信データパケットが1つまたは複数のセキュリティポリシーに従うことを検証することによって、このセキュリティを保証するように構成されてよい。ファイアウォール104は、リソースへの接続の認証情報を検証するようにさらに構成されてよく、1つまたは複数のポリシーサービスを用いて、これらの認証情報を検証する、または、これら及び/または他のセキュリティ関連機能の組み合わせを行うように構成されてよい。ファイアウォール104は、ハードウェア、ソフトウェア、ファームウェア、仮想装置として、または、これら及び/または他のこのような実施方法の組み合わせとして、実施されてよい。
【0012】
さらに、サーバコンピュータシステム108は、ログエンティティ(以下により詳細に記載する)が、ファイアウォール104からのログ情報114を取得し、サーバコンピュータシステム108のコンピューティングリソースを使用して、その情報を記憶するように、ファイアウォール104に通信可能に接続されたログエンティティを含んでよい。顧客102または他のエンティティは、次に、サーバコンピュータシステム108に記憶されたログ情報114にアクセスしてよい。ログ情報114は、以下により詳細に記載するように、顧客、ネットワークインタフェース、特定のネットワークフローに関して送信されたパケット数、特定のネットワークフローのバイト数、送信元アドレス、宛先アドレス、送信元ポート、宛先ポート、ファイアウォール104が行ったアクション、特定のネットワークフローに関連付けられたプロトコル、特定のフローに関連付けられたアプリケーション、及び、サーバコンピュータシステム108によってログされた他の情報に対応する情報を含んでよい。様々な実施形態において、顧客は、ログエンティティまたはサーバコンピュータシステム108の他のコンポーネントに、ログ情報の1つまたは複数の属性に少なくとも部分的に基づいて、ログ情報をフィルタリングさせてよい。例えば、顧客は、
図3に関連して以下に詳細に記載する管理コンソールを通して、ログ情報がファイアウォール104によって拒絶またはブロックされたネットワークパケット及び/またはネットワークフローに対応するログエントリのみを含むように、ログ情報をフィルタリングしてよい。さらに別の例においては、顧客は、フィルタリングされたログ情報をメトリクスサービス(以下に詳細に記載する)に要求してよく、そうすると、メトリクスサービスは、顧客が要求した情報に関してログエンティティから取得したログ情報をフィルタリングしてよい。
【0013】
図2は、本開示の少なくとも1つの実施形態の実践に使用し得るサーバコンピュータシステム200の説明的な簡易ブロック図である。サーバコンピュータシステム200は、システムハードウェア212を含んでよく、システムハードウェア212を使用して、様々なアプリケーションの実行を支援してよい。システムハードウェア212は、メモリ210、1つまたは複数の中央処理装置(CPU)214、及び、ネットワークインタフェース218を含んでよい。システムハードウェア212は、簡略化のため
図2には示していない他のハードウェア装置を含んでよく、他のハードウェア装置は、装置、グラフィック装置、入出力(I/O)コントローラ、または、1つまたは複数のハイパーバイザ202もしくは他のアプリケーションの実行を支援するのに適した任意の他のハードウェア装置を記憶してよい。1つまたは複数の中央処理装置214(簡略化のためにプロセッサとも呼ばれる)は、メモリ210及びネットワークインタフェース218等の幾つかのシステムまたはハードウェア装置に通信可能に接続されてよい。サーバコンピュータシステム200は、ハイパーバイザ218及びコンピュータシステムインスタンス220を含む数個のアプリケーションも含んでよく、コンピュータシステムインスタンス220は、
図2に示すように、仮想ネットワークドライバ226を含んでよい。仮想ネットワークドライバ226は、顧客のコンピュータシステムインスタンス220にネットワークインタフェースを提供してよい。
【0014】
ハイパーバイザ202は、コンピュータ実行可能命令のセットであってよく、サーバコンピュータシステム200の1つまたは複数のプロセッサによって実行されると、システムに、仮想オペレーティングプラットフォームを提供させ、システムハードウェア212へのアクセスを管理させる。さらに、ハイパーバイザ202は、コンピュータシステムインスタンス220を支援してよい。コンピュータシステムインスタンス220は、顧客によって実施された1つまたは複数のアプリケーションを実行するように構成された仮想コンピュータシステムであってよい。例えば、コンピュータシステムインスタンス220は、顧客が操作するウェブサーバを実行してよい。コンピュータシステムインスタンス220は、ハイパーバイザ202に通信可能に接続されて、顧客から受信したハイパーバイザ管理コマンドをハイパーバイザ202に送信できるようにしてもよい。
【0015】
メモリ210は、本開示の少なくとも1つの実施形態の機能を提供し得るデータを記憶するコンピュータ可読記憶媒体を提供してよい。メモリ210に記憶されたデータ(プログラム、コードモジュール、命令)は、1つまたは複数のプロセッサ214によって実行されると、本開示の1つまたは複数の実施形態の機能を提供してよい。これらのアプリケーションモジュールまたは命令は、1つまたは複数のプロセッサ214によって実行されてよい。ネットワークインタフェース218は、コンピューティングシステム200に接続されたネットワークインタフェースであってよい。ネットワークインタフェース218は、コンピュータシステムインスタンス220等のアプリケーションデータを、ネットワーク206を介して1つまたは複数の他のコンピューティングシステムと送受信するように構成されたハードウェア、ソフトウェア、または、それらの組み合わせであってよい。拡張ネットワークインタフェース218を1つだけ
図2に示すが、本開示によると、複数のネットワークインタフェース218をコンピューティングシステム200に接続してよい。ネットワークインタフェース218は、コンピュータシステムインスタンス220に含まれた仮想ネットワークドライバ226を介してアプリケーションデータを送受信するように構成されてよい。
【0016】
サーバコンピュータシステム200は、ファイアウォール204も含んでよい。ファイアウォール204は、顧客またはコンピューティングリソースサービスプロバイダによって提供された1つまたは複数のセキュリティポリシーに少なくとも部分的に基づいて、ネットワークトラフィックを許可またはブロックするように構成されてよい。ファイアウォール204は、ハードウェア、ソフトウェア、または、それらの組み合わせとして実施されてよい。例えば、ファイアウォール204は、サーバコンピュータシステム200によって実施されたコンピュータシステムインスタンス220に向けられたネットワークトラフィックをフィルタリングするように構成されたカーネルモジュールを含んでよい。さらに、サーバコンピュータシステムは、ファイアウォール204からのログ情報を取得するように構成されたログエンティティ208を含んでよい。
【0017】
ログエンティティ208によって、顧客は、サーバコンピュータシステム200の仮想ネットワークドライバ226へのネットワークトラフィックフロー及び仮想ネットワークドライバ226からのネットワークトラフィックフローに関するログ情報を取得することができる。ログエンティティ208によって入手されたログ情報は、顧客識別情報、仮想ネットワークドライバ識別情報、パケット数、バイト数、ネットワークフローの開始に対応するタイムスタンプ、ネットワークフローの終了に対応するタイムスタンプ、及び、ファイアウォール204が行ったアクションを含む。ログエンティティ208は、記憶装置、コンピューティングサービス、または、サーバコンピュータシステムにログ情報を公開できる。例えば、ログエンティティは、以下により詳細に記載するメトリクスサービスにログ情報を公開するように構成されてよい。さらに、ログは、様々な時間間隔で公開されてよく、または、ログが生成されると、受信当事者に直接、ストリーミング配信されてよい。例えば、ログ情報を侵入検出システムにストリーミング配信することによって、リアルタイムまたは準リアルタイムで攻撃を軽減できるようにしてよい。
【0018】
ネットワークログ情報によって、顧客が様々な顧客ネットワークのトラブルシューティングを行うことができるようにしてよい。顧客ネットワークは、コンピューティングリソースサービスプロバイダが提供するリソースと、顧客によって操作されるコンピューティングリソース、例えば、オンプレミスコンピューティングリソースとを含んでよい。具体的なトラブルシューティング例においては、少なくとも一部のネットワークトラフィックが、コンピューティングリソースサービスプロバイダによって提供された顧客のコンピュータインスタンスに到達しないことがある。ネットワークログ情報は、顧客のコンピュータインスタンスへの拒絶されたネットワークトラフィックに対応する情報を含んでよく、ファイアウォールまたは他の装置が、顧客のコンピュータインスタンスへのインバウンドトラフィックをブロックしているのを顧客が分かるようにすることができる。あるいは、ネットワークログ情報は、他のコンピュータインスタンスからのソーストラフィックがブロックされており、第2のコンピュータインスタンスのフィルタに到達していないことを、顧客に示してよい。
【0019】
ネットワークログ情報は、侵入検出及び軽減システムと共に使用してもよい。例えば、顧客のコンピュータインスタンスが不正アクセスされた場合、ネットワークログ情報は、顧客のコンピュータインスタンスが顧客の仮想プライベートネットワークのコンピュータインスタンスの他のネットワークインタフェースのポートスキャン、もしくは、インターネットホストに対するポートスキャンを行っている、または、コンピュータインスタンスが、インターネットホストにファイルを送信していることを示してよい。さらに、ネットワークログ情報は、増加し得る潜在的攻撃を示してよい。例えば、ネットワークログ情報は、顧客によって操作される複数のコンピュータインスタンスに進むのを拒絶されたSSHトラフィックを含んでよく、そうすると、顧客は、顧客の会社の方針に従って、具体的な対策を取ってよい。
【0020】
ネットワークログ情報は、メトリクスサービスに提供されてよい。メトリクスサービスは、以下により詳細に記載するように、顧客インスタンスへの承認されたトラフィック、顧客インスタンスへのトラフィックパターン、及び、他の視覚化等、様々な視覚化を顧客に提供してよい。ネットワークログ情報は、特定のユーザセッションまたはIPセッションに対応する情報も含んでよい。メトリクスサービスに加えて、ネットワークログ情報は、ネットワーク分析に使用されてよい。分析及び/またはメトリクスサービスは、検出されたイベントまたは属性に応答して、例えば、顧客のコンピュータインスタンスへのネットワークトラフィックが、ある時間間隔の間、閾値を超える場合、または、顧客のコンピュータインスタンスが、ある時間間隔の間、ネットワークトラフィックを受信していない場合、顧客に通知を送信するよう構成されたアラームも含んでよい。
【0021】
ネットワークログ情報は、フォーマットバージョン、顧客アカウント識別情報、フローが入手されたネットワークインタフェース識別情報、フローの送信元アドレス、フローの宛先アドレス、フローの送信元ポート、フローの宛先ポート、フローで使用するプロトコル、サンプリングウィンドウ中のフローに見られる計算されたパケット数、サンプリングウィンドウ中のフローに見られるバイト数、フローを検出するサンプリング期間の開始、フローを検出するサンプリング期間の終了、及び、フローに関連付けられたアクションを含む、様々な異なる要素を含んでよい。アクションは、承認、拒絶、または、データ無し等、コンピューティングリソースサービスプロバイダが実施するファイアウォールまたは他の装置によって取られた様々なアクションを含んでよい。
【0022】
図3は、コンピューティング装置が実行するアプリケーションによって表示されてよい、ユーザが、コンピューティングリソースサービスプロバイダが運営するネットワークログサービスとインタラクトするのを可能にするウェブページ300を示す。ウェブページ300は、ネットワークログ及び/またはコンピュータログ情報をエンドポイントに提供するのを制御するための様々なオプションを選択する能力をユーザに提供する。ネットワークログ情報は、1つまたは複数のネットワークプロトコルに従って、2つのエンドポイント(典型的に、異なる物理ホスト上で実行するアプリケーション対、または、同じアプリケーションのモジュール対等)間のある量のデータの任意の転送に対応する情報を含んでよい。説明を簡単にするために、以下の記載のほとんどは、所与のネットワーク送信の送信元及び宛先を指すが、送信に関わる2つのエンドポイント間の双方向送信のどちらの方向も、それぞれ、双方向トラフィックの異なるサブセットの送信元または宛先と考えてよいことに注意されたい。コンピュータログ情報は、取られたアクション、エラーコード、または、操作の結果等、コンピュータシステム操作に対応するコンピュータシステムによる任意の情報記録を含んでよい。
【0023】
図3に示すように、ウェブページ300は、様々なグラフィカルユーザインタフェース要素を含み、グラフィカルユーザインタフェース要素は、ウェブページ300の一部である管理コンソールを介して、顧客が、コンピュータインスタンスをプロビジョニング、管理、及び、コンピュータインスタンスとインタラクトできるようにする。ウェブページ300は、モバイルアプリケーションまたはウェブブラウザ等、様々なアプリケーションによって表示されてよい。この例においては、ウェブページ300は、様々なナビゲーション機能を含む。例えば、ウェブページ300の左側の様々なリンク310は、1つまたは複数の他のウェブページにリンクしてよく、1つまたは複数の他のウェブページは、顧客によって行われてよい様々な異なるアクションに対応する追加のコンテンツを含む。コンソールページは、以下により詳細に記載する仮想マシン管理サービスによって、仮想マシンインスタンスを管理、または、制御するために取ってよい操作に対応してよい。この例においては、リンクは、キーボード、マウス、タッチスクリーン、または、他の入力装置等、適切な入力装置を用いてリンクを選択可能にするテキストワードとして現れる。リンク310の1つを選択すると、ウェブページ300を表示するアプリケーションは、ウェブページ300のプログラムによって選択したリンクに関連付けられたURLに従って、そのリンクに関連付けられたコンテンツを求めるHTTP要求を、ウェブページ300を提供したサーバまたは他のサーバに提出してよい。
【0024】
この例においては、ウェブページ300は、「次へ」ボタン304として構成されたグラフィカルユーザ要素も含む。次へボタン304は、ウェブページ300のグラフィカルユーザインタフェース要素であってよく、ウェブページ300の基礎となるコードは、次へボタン304の入力装置によって選択すると、ウェブページ300上のネットワークログ情報及び/またはコンピュータログ情報のエンドポイントの選択に対応する情報が、仮想マシン管理サービスの実行を担当するサーバコンピュータシステム等、コンピューティングリソースサービスプロバイダの1つまたは複数のサーバコンピュータシステムに送信されるように、構成される。管理コンソールを通して、顧客は、特定のコンピュータシステムインスタンスに関するログを設定するプロセスを通して導かれてよい。プロセスは、ステップに分けられてよく、顧客は、各ステップで情報を提供するように入力を促されてよい。例えば、ウェブページ300は、収集され得る異なるタイプのログ情報のリストを顧客に表示する。顧客は、入力装置を用いて、コンピュータインスタンスの様々な属性、及び/または、コンピュータインスタンスのネットワーク環境を選択してよい。顧客の選択は、プロセス全体が完了するまで記憶されてよい、または、顧客の選択は、次へボタン304を選択すると、仮想マシン管理サービスに送信されてよい。ログ情報選択のためのエンドポイントを
図3に示すが、顧客は、インスタンス化が行われると、コンピュータインスタンスが実行する任意の動作パラメータ、及び/または、ソフトウェアアプリケーションを選択するように入力を促されてよい。
【0025】
様々な実施形態において、サービスプロバイダは、ユーザが選択したログ情報のタイプ、ユーザが選択したログ情報の量、ユーザが選択したオペレーティングシステム、ユーザが選択したオペレーティングシステムの特徴、ユーザが選択した特定の特徴、ユーザが選択したアプリケーション、特定の仮想化レイヤの利用可能性、特定の仮想化レイヤに関連付けられた費用、または、ユーザ情報に基づいて仮想化レイヤを選択するのに適した他の要因等、様々な要因に少なくとも部分的に基づいて、使用する特定のタイプの仮想化レイヤを決定してよい。これらの実施形態において、ユーザは、特定の仮想化レイヤを選択する能力を与えられてもよく、与えられなくてもよいが、ユーザのコンピュータシステムインスタンスへのネットワーク送信及び/またはコンピュータシステムインスタンスからのネットワーク送信のログを有効にするか否かの選択を与えられてよい。ユーザが、ログを有効または無効にすることを選択する場合、ユーザは、ユーザ選択と、サービスプロバイダが決定する選択との間で選択するオプションを与えられてよい。
【0026】
ウェブページ300は、「戻る」ボタン306として構成されたグラフィカルユーザ要素も含んでよい。戻るボタン306は、ウェブページ300のグラフィカルユーザインタフェース要素であってよく、ウェブページ300の基礎となるコードは、ウェブページ300を表示するアプリケーションを以前ナビゲートしたウェブページにナビゲートさせる。顧客がウェブページ300を用いて選択を行い、次へボタン304を選択すると、ウェブページ300を表示するアプリケーションは、コンピュータシステムインスタンスのログを有効または無効にするように構成された仮想化レイヤによって支援されたコンピュータシステムインスタンスのプロビジョニングまたは修正を求めるHTTP要求を提出してよい。要求は、コンピューティングリソースサービスプロバイダの1つまたは複数のサーバコンピュータシステムまたはサービスに送信されてよい。例えば、要求は、コンピューティングリソースサービスプロバイダが運営する仮想マシン管理サービスに送信されてよい。そうすると、仮想マシン管理サービスは、顧客選択に少なくとも部分的に基づいて、選択したネットワークログまたはコンピュータログ情報を行うことができる物理ホスト(例えば、サーバコンピュータシステム)を選択してよく、ユーザのために、その物理ホストにコンピュータシステムインスタンスをインスタンス化させる。コンピュータシステムインスタンスがインスタンス化された後、ある時点で、仮想マシン管理サービスは、仮想マシンの操作をユーザに渡してよい。コンピューティングリソースサービスプロバイダの仮想マシン管理サービスまたはいくつかの他のサービスは、要求及びユーザに関連付けられたインターネットプロトコル(IP)アドレスに少なくとも部分的に基づいた特定の地理的エリア、1つまたは複数の物理ホストに対する負荷、1つまたは複数の物理ホストに関連付けられたネットワークトラフィック、1つまたは複数の物理ホストの要求応答待ち時間、または、1つまたは複数のコンピュータインスタンスをインスタンス化する物理ホストを選択するための任意の他の情報を含む、ユーザが選択したログオプション以外の様々な要因に少なくとも部分的に基づいて、物理ホストを選択してよい。
【0027】
図4は、少なくとも1つの実施形態による、
図1及び
図2に少なくとも関連して本明細書に記載した、ネットワークログ視覚化ブラウザを使用してネットワークフロー図を表示し得る環境400の例を示す。ネットワークログ視覚化ブラウザ402は、上記のようにネットワークログ情報を用いてネットワークフローを視覚化した図を生成し、ネットワークフロー図を保存し、ネットワークフロー図をロードし、フィルタリング及び/または分析プロセスをネットワークフロー図に適用し、及び/または、ネットワークフロー視覚化に関連付けられた他のプロセスを行うように構成されてよい。ネットワークログ視覚化ブラウザ402は、ウェブサービス等のコンピュータサービスとして構成されてよく、少なくとも
図1に関連して本明細書に記載されたコンピューティングリソースサービスプロバイダによってサービスとして提供されてよい。
【0028】
ネットワークログ視覚化ブラウザ402は、ネットワークフロー情報をロードする、ネットワークフローを視覚化したものを生成する、ネットワークフローを視覚化したものを保存する、及び/または、他のこのような機能等の操作を行う機能410を含んでよい。ネットワークログ情報は、ネットワークログリポジトリ、データストア、または、他のこのような場所に保存されてよい。ネットワークフローを視覚化したものもリポジトリ、データストア、または、他のこのような場所に保存されてよい。ネットワークログ視覚化ブラウザ402は、ネットワークログ情報の少なくともサブセットを表示する機能408を含んでよく、1つまたは複数のフィルタリングプロセス406を適用した結果として、ネットワークログのフィルタリングされた結果を表示する機能も含んでよい。フィルタリングプロセス406は、上記の1つまたは複数のタグに少なくとも部分的に基づいてよい。
【0029】
ネットワークログ視覚化ブラウザ402は、ネットワークログ情報に少なくとも部分的に基づいて、及び/または、フィルタリングされたネットワークログ情報に少なくとも部分的に基づいて、ネットワークフロー
図404を生成するようにさらに構成されてよい。ネットワークフロー
図404は、ブロック図、生成画像、または、視覚化要素を用いて表示されてよく、ある実施形態においては、1つまたは複数のアイコンを含んでよい。ネットワークログ視覚化ブラウザ402は、表示されたネットワークフロー
図404に関連して様々な機能の実行に使用されるツールセット412を含んでよい。ツールセット412は、ネットワークフロー
図404の分析、ネットワークフロー
図404の変更等、顧客が様々な操作を行うことを可能にするネットワークログ視覚化ブラウザ402に含まれた機能のセットであってよい。
【0030】
図4に示すように、ネットワークフロー
図404は、顧客のコンピュータシステムインスタンスのトポロジに少なくとも部分的に基づいてよく、ブロック及び/またはアイコンによって表されるリソース、リソースグループ、または、ネットワークと、様々なリージョンとの接続及び/または依存を示す関係(矢印等)を含んでよい。
図4に示す例においては、接続を示す矢印は、様々なリージョンに対して顧客のコンピュータシステムインスタンスから送信されるネットワークトラフィック量も示してよい。リージョンは、地理的リージョンであってよい、または、コンピューティングリソースのネットワークもしくは他のグループであってよい。様々な実施形態において、ネットワークフロー
図404は、例えば、リソースタイプに関連付けられたタグ、リソースインスタンスに関連付けられたタグ、リソースグループに関連付けられたタグ、ネットワークに関連付けられたタグ、または、これら及び/または他のこのようなタグの組み合わせを表示するテキスト要素を追加で含む。ネットワークフロー
図404は、リソース、リソースグループ、ネットワーク、構造化記述、及び/または、コンピュータシステムに関連付けられた他のデータ及び/またはメタデータを表示するテキスト要素をさらに含んでよい。ある実施形態においては、ネットワークログ視覚化ブラウザ402は、ネットワークフロー
図404を更新(または、リフレッシュ)する機能を含んでよく、ある実施形態においては、その更新に関する設定を提供する機能を含んでよい。例えば、顧客のコンピュータシステムインスタンスを実施するサーバコンピュータシステムによって追加のネットワークログ情報が生成されるたびに、ネットワークフロー
図404は、自動的に更新されてよい。
【0031】
考えられるように、ブラウザ機能、表示モダリティ、テキスト要素の存在とタイプ、アイコン要素の存在とタイプ、及び/または、ネットワークログ視覚化ブラウザ402に関連して本明細書に記載された他のこのようなユーザインタフェース要素に関する本明細書に示したネットワークログ視覚化ブラウザ402のコンテンツは、ネットワークログ視覚化ブラウザ402の実施形態を示す説明的な例に過ぎない。従って、他のタイプのブラウザ機能、表示モダリティ、テキスト要素の存在及びタイプ、アイコン要素の存在及びタイプ、及び/または、他のこのようなユーザインタフェース要素は、本開示の範囲内として見なされてよい。
【0032】
図5は、ネットワークログ視覚化ブラウザを使用して、少なくとも1つの実施形態による、
図1及び
図2に少なくとも関連して本明細書に記載するネットワークフロー図を表示し得る環境500の例を示す。ネットワークログ視覚化ブラウザ502は、上記のようにネットワークログ情報を用いてネットワークフローを視覚化した図を生成し、ネットワークフロー図を保存し、ネットワークフロー図をロードし、フィルタリング及び/または分析プロセスをネットワークフロー図に適用し、及び/または、ネットワークフロー視覚化に関連付けられた他のこのようなプロセスを行うように構成されてよい。ネットワークログ視覚化ブラウザ502は、ウェブサービス等のコンピュータサービスとして構成されてよく、少なくとも
図1に関連して本明細書に記載したコンピューティングリソースサービスプロバイダによるサービスとして提供されてよい。
【0033】
ネットワークログ視覚化ブラウザ502は、ネットワークフロー情報をロード、ネットワークフローを視覚化したものを生成、ネットワークフローを視覚化したものを保存、及び/または、他のこのような機能等の操作を行う機能510を含んでよい。ネットワークログ情報は、ネットワークログリポジトリ、データストア、または、他のこのような場所に保存されてよく、ネットワークフローを視覚化したものも、リポジトリ、データストア、または、他のこのような場所に保存されてよい。ネットワークログ視覚化ブラウザ502は、ネットワークログ情報の少なくともサブセットを表示する機能508を備えてよく、1つまたは複数のフィルタリングプロセス506を適用する結果として、ネットワークログのフィルタリング結果を表示する機能も備えてよい。フィルタリングプロセス506は、上記1つまたは複数のタグに少なくとも部分的に基づいてよい。
【0034】
ネットワークログ視覚化ブラウザ502は、ネットワークログ情報に少なくとも部分的に基づいて、及び/または、フィルタリングされたネットワークログ情報に少なくとも部分的に基づいて、ネットワークフロー
図504を生成するようにさらに構成されてよい。ネットワークフロー
図504は、ブロック図、生成画像、または、視覚化要素を用いて表示されてよく、ある実施形態においては、1つまたは複数のアイコンを含んでよい。ネットワークログ視覚化ブラウザ502は、表示されたネットワークフロー
図504に関連した様々な機能の実行に使用されるツールセット512を含んでよい。ツールセット512は、ネットワークフロー
図504の分析、または、ネットワークフロー
図504の変更等、様々な操作を顧客が実行するのを可能にするネットワークログ視覚化ブラウザ502に含まれた機能セットであってよい。
【0035】
図5に示すように、ネットワークフロー
図504は、顧客のコンピュータシステムインスタンスから送信、及び、顧客のコンピュータシステムインスタンスで受信されるネットワークトラフィック量に少なくとも基づいてよい。ネットワークログ視覚化ブラウザ502は、様々な時間間隔の間に、顧客のコンピュータシステムインスタンスにまたはコンピュータシステムインスタンスから送信されるネットワークトラフィック量を示すネットワークフロー図に含まれる1つまたは複数のグラフを生成してよい。様々な実施形態において、ネットワークフロー
図504は、例えば、リソースタイプに関連付けられたタグ、リソースインスタンスに関連付けられたタグ、リソースグループに関連付けられたタグ、ネットワークに関連付けられたタグ、または、これら、及び/または、他のこのようなタグの組み合わせを表示するテキスト要素をさらに含む。ネットワークフロー
図504は、リソース、リソースグループ、ネットワーク、構造化記述、及び/または、コンピュータシステムに関連付けられた他のデータ及び/またはメタデータを表示するテキスト要素を追加で含んでよい。ある実施形態においては、ネットワークログ視覚化ブラウザ502は、ネットワークフロー
図504を更新(または、リフレッシュ)する機能を備えてよく、ある実施形態においては、その更新に関する設定を提供する機能を備えてよい。例えば、顧客コンピュータシステムインスタンスを実施するサーバコンピュータシステムによって追加のネットワークログ情報が生成されると、ネットワークフロー
図504が自動的に更新されてよい。
【0036】
考えられるように、ブラウザ機能、表示モダリティ、テキスト要素の存在とタイプ、アイコン要素の存在とタイプ、及び/または、ネットワークログ視覚化ブラウザ502との関連で本明細書に記載した他のこのようなユーザインタフェース要素に関する本明細書に示したネットワークログ視覚化ブラウザ502のコンテンツは、ネットワークログ視覚化ブラウザ502の実施形態を示す説明的な例に過ぎない。従って、他のタイプのブラウザ機能、表示モダリティ、テキスト要素の存在とタイプ、アイコン要素の存在とタイプ、及び/または、他のこのようなユーザインタフェース要素は、本開示の範囲内とみなされてよい。
【0037】
図2に示す環境等の環境は、コンピューティングリソースプロバイダ等のプロバイダにとって有用であってよく、ここで、コンピューティングリソースシステムは、顧客からの要求に応答して、マルチテナント環境に関連する様々なログ機能を行う。上記のように、コンピューティングリソースサービスプロバイダは、顧客のコンピュータシステムインスタンスに関連付けられたネットワークログ情報とコンピュータログ情報を顧客が取得するのを可能にする機構を提供する。このような場合の環境は、
図6の環境600に示すような、追加のコンポーネント及び/または他の構成を含んでよい。この例においては、環境600は、ネットワーク606を介してクライアント装置610及びサーバコンピュータ642とデータ通信するコンピューティングリソースサービスプロバイダ604を含む。一実施形態においては、サーバコンピュータ642は、
図2に関連して記載したように、コンピュータシステムインスタンス620の実施に使用される1つまたは複数のコンピュータハードウェア装置であってよい。例えば、サーバコンピュータ642は、記憶装置、仮想記憶装置、ネットワーク装置等のコンピューティングリソースのタイプを実施するハードウェアを含んでよい。さらに、実施されたコンピューティングリソースは、分散コンピューティングリソースプロバイダの顧客によってプログラムで及び遠隔で管理されてよい。
【0038】
サーバコンピュータ642は、複数のコンピュータシステム装置を含み、各コンピュータシステム装置は、分散コンピューティングリソースサービスプロバイダ604によって作成された1つまたは複数のインスタンス620を実行できる。一実施形態においては、各サーバコンピュータ642は、プロセッサ、データストア、入力/出力バス、及び/または、インスタンス620を実行するための当技術分野で既知の任意の他のコンポーネントを含む。さらに、インスタンス620は、仮想マシンインスタンスであってよい。当技術分野で既知のように、仮想マシンインスタンスは、物理的機械等、プログラムを実行する機械(すなわち、コンピュータ)上でソフトウェアを実施するインスタンスである。例えば、各サーバコンピュータ642は、インスタンス620を実施できるインスタンスマネージャ618を実行するように構成されてよい。
【0039】
インスタンスマネージャ618は、ハイパーバイザ、仮想化レイヤ、または、例えば、1つのサーバコンピュータシステム642で複数のインスタンス620を実行できるように構成された他のタイプのプログラムであってよい。上記のように、各インスタンス620は、アプリケーションの全てまたは一部を実行するように構成されてよい。さらに、ネットワーク606は、上記ネットワークに類似していてよい。ネットワーク環境600は、1つまたは複数のデータセンタにわたってよく、各データセンタは、地理的に互いに離れていてよい。さらに、
図6に示すネットワーク環境600は、コンピューティングリソースサービスプロバイダによって採用されたいくつかの実施形態の1つであってよい。サーバコンピュータ642は、ファイアウォール604及びログエンティティ608をさらに含んでよい。ファイアウォール604は、上記インスタンス620へのネットワークトラフィックを管理するように構成されたハードウェア、ソフトウェア、または、それらの組み合わせであってよい。さらに、ログエンティティ608は、コンピュータ実行可能命令セットであってよく、サーバコンピュータ642の1つまたは複数のプロセッサによって実行されると、サーバコンピュータ642に、ファイアウォール604及び/またはインスタンスマネージャ618からログ情報を取得させる。例えば、ログエンティティ608は、ファイアウォール604からネットワークログ情報を取得してよく、インスタンスマネージャ618からコンピュータログ情報を取得してよい。
【0040】
一実施形態においては、コンピューティングリソースサービスプロバイダ604は、リソースデータ644、インスタンスサービス612、ネットワーク情報サービス626、侵入検出サービス630、公開サービス632、メトリクスサービス634、セキュリティサービス636、及び/または、他のコンポーネントを含むデータストアを備える。リソースデータ644は、サーバコンピュータ642に関連するデータを含んでよい。例えば、一実施形態においては、リソースデータ610は、サーバコンピュータデータの1つまたは複数の記録646を含む。サーバコンピュータデータの記録646の各記録は、ネットワーク環境600のサーバコンピュータ642に対応する。
【0041】
インスタンスサービス612は、顧客が提供したプリファレンスのセットに少なくとも部分的に基づいて、インスタンス620をインスタンス化する。一実施形態においては、インスタンスサービス612は、クライアント装置610で顧客から1つまたは複数のインスタンス620を作成する要求640を受信し、任意で、インスタンス620の操作に対応するログ情報にログエンティティ608を割り当てる。さらに、クライアント装置610を操作する顧客から受信した要求640は、要求されたインスタンス620の実行を開始する時間も示してよい。要求の受信に応答して、インスタンスサービス612は、インスタンス620を開始する。様々な実施形態において、侵入検出サービス630またはメトリクスサービス634が、要求640を受信し、そして、インスタンス620に関連付けられた情報のログを開始し、ネットワークログデータ646等のログデータをリソースデータ644のデータストアに記憶するようにというコマンドをインスタンスサービス612に送信する。
【0042】
顧客は、(適切に構成、認証されたAPIコールを介して)コンピューティングリソースサービスプロバイダ604とインタラクトして、インスタンス620から収集したログ情報を作成、削除、及び、記述してよい。インスタンス620は、サーバコンピュータ642でインスタンス化され、コンピューティングリソースサービスプロバイダ604で操作される。さらに、顧客は、セキュリティサービス636を用いて1つまたは複数のセキュリティグループを作成してよく、セキュリティグループは、ファイアウォール604によって適用されたのと同じセキュリティポリシーのセットによって管理されるインスタンス620を論理的に集めたものであってよい。顧客が、セキュリティポリシーのセットを提供してよい、または、コンピューティングリソースサービスプロバイダ602が、セキュリティポリシーの最小セットを規定してよい。様々な実施形態において、顧客は、コンピューティングリソースサービスプロバイダ604が提供する管理コンソールを通して、セキュリティグループを作成、管理してよい。管理コンソールは、
図3に関連して前述したウェブページ等のウェブページとして顧客に呈示されてよく、(例えば、ブラウザアプリケーションを介して)ウェブページとインタラクトして、顧客がAPIコールを生成してよい。生成されたAPIコールは、コンピューティングリソースサービスプロバイダ604またはそのコンポーネントに、顧客に示された様々な操作を行わせてよい。
【0043】
侵入検出サービス630は、悪意のあるアクティビティまたはポリシー違反に関して、ネットワーク606及び/またはサーバコンピュータシステム646のアクティビティを監視する装置及び/または、ソフトウェアアプリケーションの集まりを含んでよい。さらに、ログエンティティ608または公開サービス632は、侵入検出サービス630にネットワークログデータ646を提供してよい。さらに、侵入検出サービス630は、異なる顧客が操作する様々なインスタンス620のネットワークログデータ646を相関させてよい。ネットワークログデータ646の相関によって、侵入検出サービス630は、攻撃または攻撃者に対応する追加の情報を取得できてよい。例えば、ログは、送信元IPアドレスが、開かれたポートを求めて特定のネットワークをスキャンしていることを示してよい。このアクティビティは、その送信元IPアドレスが攻撃に関わっていることを示してよく、侵入検出システムは、その送信元IPアドレスから送信されたデータパケットをブロックしてよい。様々な実施形態において、侵入検出サービス630は、セキュリティサービス636が管理するセキュリティポリシーのセットへの更新を生成し、更新されたポリシーセットをファイアウォール604またはコンピューティングリソースサービスプロバイダ604が操作する他のコンピューティング装置に提供する。侵入検出サービス630に加えて、コンピューティングリソースサービスプロバイダは、侵入防止サービス(簡略化のため、
図6には示していない)を運営してよい。侵入防止サービスは、検出された侵入を防止及び/またはブロックするように構成された1つまたは複数のネットワーク装置を含んでよい。例えば、侵入防止サービスは、アラームを送信、悪意のあるパケットをドロップ、接続をリセット、または、問題を起こしているIPアドレスからのトラフィックをブロックしてよい。侵入防止システムは、ログエンティティ608または公開サービス632からネットワークログデータ646を少なくとも取得することによって、ネットワークトラフィックを監視してよい。
【0044】
ネットワーク情報サービス626は、顧客アカウント情報と、顧客に対応する他の情報とを維持してよい。例えば、ネットワーク情報サービス626は、顧客識別情報、インスタンス識別情報、ネットワークインタフェース識別情報、及び、特定の顧客に関連付けられた情報の識別に適した他の情報を含んでよい。例えば、上記のように、ネットワークログ情報は、顧客識別情報を含んでよい。ログエンティティ608またはメトリクスサービス634は、ネットワーク情報サービス626から顧客識別情報を取得してよい。公開サービス632は、リソースデータ644または顧客が指定する他のエンドポイントにネットワークログデータ646への更新を公開及びスケジュールに入れる。公開サービス632は、ログエンティティ608が1つまたは複数のエンドポイントに公開する追加のログ情報を有するか否かを周期的または非周期的にチェックしてもよい。様々な実施形態において、公開サービス632は、ログ情報をリアルタイムまたは準リアルタイムで様々なエンドポイントに送信してよい。
【0045】
メトリクスサービス634は、サーバコンピュータシステム642のログエンティティ608または他のコンポーネントから、インスタンス620に対応するリソースデータ644を受信してよい。メトリクスサービス634によって取得されたリソースデータ644は、中央処理装置、メモリ、ネットワークインタフェース、オペレーティングシステム、アプリケーション、及び、インスタンス620の他のコンポーネント等、インスタンス620の様々なコンポーネントの利用を示してよい。この情報は、様々な異なる目的のために、例えば、自動スケーリンググループ602にリソースを割当または割当解除するか否かを決定するために、使用してよい。さらに、情報は、インスタンス620及び/またはサーバコンピュータシステム642の健全性を決定するために保守サービス632によって使用されてよい。メトリクスサービス634は、自動スケーリンググループ602に割り当てられたインスタンス620の全てに関する利用情報を取得及び集約してよい。さらに、インスタンス620が、スタンドバイ状態に置かれている、または、自動スケーリンググループ620から切り離されている時、メトリクスサービス634は、そのインスタンス620をメトリクスサービス632が利用情報を収集及び/または集約するインスタンス620のセットから取り除くコマンドを受信してよい。
【0046】
図7は、少なくとも1つの実施形態による、マルチテナント環境のコンピュータシステムインスタンスに対応するログ情報を提供するように使用されてよい説明的プロセス700を示す。プロセス700は、
図1及び
図2で前述したファイアウォール及びログエンティティ等の任意の適切なシステム、または、それらのシステムもしくはコンポーネントの任意の組み合わせによって行われてよい。
図7に戻ると、ある実施形態においては、プロセス700は、ネットワークトラフィックを受信すること702を含む。受信されたネットワークトラフィックは、コンピュータシステムインスタンスに向けられた1つまたは複数のネットワークフローまたは送信を含んでよく、コンピュータシステムインスタンスは、顧客によって操作され、コンピューティングリソースサービスプロバイダによって提供されたコンピューティングリソースを用いて実施される。トラフィックは、コンピューティングリソースサービスプロバイダのサーバコンピュータシステムで、上記のように、受信されてよい。サーバコンピュータシステムのファイアウォールは、次に、受信したネットワークトラフィックとセキュリティポリシーのセットに少なくとも部分的に基づいてファイアウォールの決定を行ってよい704。セキュリティポリシーのセットは、上記特定のポートのセットでファイアウォールによって許可され得るネットワークトラフィックのセットに対応してよい。ファイアウォールは、受信したトラフィックに対して、許可または拒絶等のアクションを行ってよい。
【0047】
図7に戻ると、プロセス700は、受信したネットワークトラフィックとファイアウォールの決定に対応する追加情報を取得することをさらに含んでよい706。例えば、ログエンティティは、ネットワークインタフェース識別情報と、特定のネットワークフローまたはネットワークデータパケットに対応する特定のファイアウォールの決定を取得してよい。ログエンティティは、次に、受信したネットワークトラフィックに対応するネットワークフローのネットワークログ情報を収集してよい。上記のように、ネットワークログ情報は、送信元アドレス、サイズ、プロトコル、及び、ネットワークデータパケットに含まれた任意の他の情報等、ネットワークデータパケットから取得された情報を含んでよい。ログエンティティは、次に、ネットワークログ情報を選択した宛先に提供してよい710。宛先は、顧客によって選択されてよい、または、デフォルトによって、もしくは、顧客に提供するログまたは分析のタイプ等、顧客が選択した様々なオプションの結果として、コンピューティングリソースサービスプロバイダによって提供されてよい。さらに、ログエンティティは、ネットワークログ情報を選択した宛先に提供する前に、ネットワークログ情報の少なくとも一部を処理してよい。
【0048】
図8は、少なくとも1つの実施形態による、マルチテナント環境のコンピュータシステムインスタンスに対応するログ情報の提供に使用し得る説明的なプロセス800を示す。プロセス800は、
図6で前述したファイアウォール及びログエンティティ等の任意の適切なシステム、または、それらのシステムもしくはコンポーネントの任意の組み合わせによって行われてよい。
図8に戻ると、ある実施形態において、プロセス800は、ログを有効にするネットワークインタフェースの選択とログ情報の宛先を受信することを含む802。前述のように、顧客は、クライアントコンピューティング装置を用いて、顧客に呈示された管理コンソールとインタラクトしてよい。管理コンソールを通して、顧客は、ネットワークインタフェース、仮想プライベートネットワーク、サブネット、コンピュータシステムインスタンス、または、ログインを有効にするように顧客に与えられた他のコンピューティングリソースを指定してよい。
【0049】
管理コンソールは、次に、コンピューティングリソースサービスプロバイダの適切なコンピュータシステムまたはサービスにコマンドを送信して、選択したネットワークインタフェースの実施を担当するコンピュータシステムからネットワークログ情報をコンピュータシステムに取得させてよい804。ネットワークログ情報の取得は、サーバコンピュータシステムが生成したログ情報を公開サービスから受信することをさらに含んでよい。さらに、ログ情報は、マルチテナント環境のサーバコンピュータシステムによって提供されたリソースの複数の顧客に関するログ情報を全て含んでよい。選択されたネットワークインタフェースに対応するログ情報が、次に、取得されたネットワークログ情報から読み出されてよい806。例えば、コンピューティングリソースサービスプロバイダは、選択したネットワークインタフェースを識別する情報を求めて、ログ情報をスキャンしてよい。コンピューティングリソースサービスプロバイダは、次に、ログ情報を宛先に提供してよい。例えば、公開サービスは、次に、ログ情報をメトリクスサービスに送信してよく、メトリクスサービスは、顧客のために、ログ情報を視覚化したものを生成してよい。
【0050】
図9は、少なくとも1つの実施形態による、コンピューティングリソースサービスプロバイダに接続された顧客の例を示す。コンピューティングリソースサービスプロバイダ902は、顧客904に様々なサービスを提供してよく、顧客904は、インタフェース926を介してコンピューティングリソースサービスプロバイダ902と通信してよい。インタフェース926は、ウェブサービスインタフェースまたは任意の他のタイプの顧客インタフェースであってよい。インタフェース926は、例えば、顧客904からAPIコールを受信するように構成されてよく、APIコールを満足させるために、各サービスに、上記のような様々な操作を行わせてよい。コンピューティングリソースサービスプロバイダ902の各サービスは、コンピュータシステム(例えば、ネットワークを介して通信する複数のコンピューティング装置を含む分散コンピュータシステムで、各コンピューティング装置は1つまたは複数のプロセッサを含む)として実施されてよく、コンピュータシステムは、コンピュータ可読記憶媒体のセットに集合的に記憶された実行可能命令に従って動作し、ここで、個々のコンピュータ可読記憶媒体は、それぞれ、コンピュータシステムの各装置を動作させる命令の一部を有してよい。ある実施形態においては、サービスの少なくとも一部は、相互利用可能であり、それによって、それぞれ、各サービスを行う個々の分散コンピュータシステムから構成されたより大きい分散コンピュータシステムを形成する。
図8は、コンピューティングリソースサービスプロバイダ902のサービスに対して1つのインタフェース926を示すが、各サービスは、それ自身のインタフェースを有してよく、一般的に、サービスのサブセットは、インタフェース926に追加して、または、インタフェース926の代わりに、対応するインタフェースを有してよい。顧客904は、組織であってよく、組織は、コンピューティングリソースサービスプロバイダ902が提供するサービスの1つまたは複数を利用して、情報を維持し、様々な地理的位置にいる場合がある従業員に情報を届けてよい。さらに、顧客904は、コンピューティングリソースサービスプロバイダ902のサービスを利用してコンテンツを遠隔のワーキンググループに届ける個人であってよい。
図9に示すように、顧客904は、ネットワーク906を通してコンピューティングリソースサービスプロバイダ902と通信してよく、ネットワーク906は、インターネット、イントラネット、または、インターネットサービスプロバイダ(ISP)ネットワーク等の通信ネットワークであってよい。顧客904からコンピューティングリソースサービスプロバイダ902への通信の一部は、記載した1つまたは複数の実施形態またはその変形に従って、コンピューティングリソースサービスプロバイダ902を動作させてよい。
【0051】
コンピューティングリソースサービスプロバイダ902は、顧客に、様々なコンピューティングリソースサービスを提供してよい。コンピューティングリソースサービスプロバイダ902が提供するサービスは、この例においては、仮想コンピュータシステムサービス908、ブロックレベルデータストレージサービス910、暗号化サービス912、オンデマンドデータストレージサービス914、通知サービス916、認証システム918、ポリシー管理サービス920、タスクサービス922、及び、1つまたは複数の他のサービス924を含む。記載した実施形態の全てが、
図9を参照して記載したサービス908~924を含むわけではなく、また、明示的に記載したサービスに加えて、または、その代わりに、追加のサービスが提供されてよいことに注意されたい。記載のように、各サービス908~924は、1つまたは複数のウェブサービスインタフェースを含んでよく、ウェブサービスインタフェースによって、顧客904は、適切に構成されたAPIコールをウェブサービス要求を通して様々なサービスに提出することができる。さらに、各サービスは、1つまたは複数のサービスインタフェースを含んでよく、サービスインタフェースによって、サービスは互いにアクセスできる(例えば、仮想コンピュータシステムサービス908の仮想コンピュータシステムは、オンデマンドデータストレージサービス914にデータを記憶もしくはオンデマンドデータストレージサービス914からデータを読み出すことができる、及び/または、ブロックレベルデータストレージサービス910によって提供される1つまたは複数のブロックレベルデータ記憶装置にアクセスできる)。
【0052】
仮想コンピュータシステムサービス908は、顧客904のために、仮想マシンインスタンスをインスタンス化するように構成されたハードウェア、ソフトウェア、または、それらの組み合わせを含んでよい。顧客904は、(適切に構成、認証されたAPIコールを介して)仮想コンピュータシステムサービス908とインタラクトして、仮想コンピュータシステムをプロビジョニング、操作してよい。仮想コンピュータシステムは、コンピューティングリソースサービスプロバイダ902によってホスト、操作される物理的コンピューティング装置上でインスタンス化されている。仮想コンピュータシステムは、ウェブサイトを支援するサーバとして働く、ビジネスアプリケーションを動作させる、または、一般的に、顧客のための計算能力として働く等、様々な目的のために使用されてよい。仮想コンピュータシステムの他の用途は、データベースアプリケーション、電子商取引アプリケーション、ビジネスアプリケーション、及び/または、他のアプリケーションをサポートしてよい。仮想コンピュータシステムサービス908を
図8に示すが、任意の他のコンピュータシステムまたはコンピュータシステムサービスが、コンピューティングリソースサービスプロバイダ902で利用されてよい。例えば、仮想化またはインスタンス化を採用せずに、専用もしくは共有コンピュータ/サーバ、及び/または、他の物理的装置にコンピューティングリソースをプロビジョニングするコンピュータシステムまたはコンピュータシステムサービス等が利用されてよい。
【0053】
ブロックレベルデータストレージサービス910は、ブロックレベル記憶装置(及び/または、それを仮想化したもの)を用いて顧客904のためのデータを記憶するように集合的に働く1つまたは複数のコンピューティングリソースを含んでよい。ブロックレベルデータストレージサービス910のブロックレベル記憶装置は、例えば、仮想コンピュータシステムサービス908に備えられた仮想コンピュータシステムに任意で取り付けられて、コンピュータシステムの論理ユニット(例えば、仮想ドライブ)として働いてよい。ブロックレベル記憶装置によって、対応する仮想コンピュータシステムが使用/生成したデータの永続的記憶を可能にしてよく、仮想コンピュータシステムサービス908は、一時的なデータストレージのみを提供してよい。
【0054】
コンピューティングリソースサービスプロバイダ902は、暗号化サービス912も含む。暗号化サービス912は、コンピューティングリソースサービスプロバイダ902の1つまたは複数のストレージサービスを利用して、暗号化された形式で顧客の鍵を記憶してよく、鍵は、暗号化サービス912の特定の装置にのみアクセス可能な顧客の鍵の解読に使用可能であってよい912。
【0055】
コンピューティングリソースサービスプロバイダ902は、オンデマンドデータストレージサービス914をさらに含む。オンデマンドデータストレージサービス914は、要求を同期的に処理してデータを記憶及び/またはデータにアクセスするように構成されたハードウェア、ソフトウェア、または、それらの組み合わせを含んでよい。オンデマンドデータストレージサービス914は、コンピューティングリソース(例えば、データベース)を使用して動作してよく、コンピューティングリソースによって、オンデマンドデータストレージサービス914は、データを求める要求に応じて、データの位置を素早く突き止めて読み出し、提供することができる。例えば、オンデマンドデータストレージサービス914は、データオブジェクトを求める要求を読み出すと、要求に応答して、データオブジェクトを提供できる(または、データオブジェクトのストリーミングを開始できる)ように、記憶されたデータを維持してよい。記載のように、オンデマンドデータストレージサービス914に記憶されたデータは、データオブジェクトに組織されてよい。データオブジェクトは、おそらく、サイズに対する一定の制約を除けば、任意のサイズを有してよい。従って、オンデマンドデータストレージサービス914は、様々なサイズの多くのデータオブジェクトを記憶してよい。オンデマンドデータストレージサービス914は、データオブジェクトをデータオブジェクトの識別子と関連付けるキー値ストアとして働いてよく、顧客904は、識別子を使用して、オンデマンドデータストレージサービス914に記憶されたデータオブジェクトと関連した他の操作を読み出してよい、または、実行してよい。
【0056】
図9に示す環境においては、通知サービス916が含まれる。通知サービス916は、ウェブサービスまたは他のインタフェースとブラウザベースの管理コンソールとを提供するように構成されたハードウェア、ソフトウェア、または、それらの組み合わせを含んでよい。管理コンソールを使用して、顧客が通知を受信したいトピックを設定し、アプリケーション(または人)を設定し、クライアントにトピックをサブスクライブさせ、メッセージを発行し、または、クライアントのプロトコル選択(すなわち、とりわけハイパーテキスト転送プロトコル(HTTP)、電子メール及びショートメッセージサービス(SMS))を介して、メッセージの送信を設定してよい。通知サービス916は、新しい情報と更新を周期的にチェックまたは「ポーリング」する必要なく、「プッシュ」機構を用いて、クライアントに通知を提供してよい。通知サービス916は、仮想コンピュータシステムサービス908で実行しているアプリケーション、ワークフローシステム、時間依存の情報更新、モバイルアプリケーション、及び、その他多くの監視等、様々な目的にさらに使用されてよい。
【0057】
図9に示すように、コンピューティングリソースサービスプロバイダ902は、様々な実施形態において、認証システム918及びポリシー管理サービス920を含む。認証システム918は、ある実施形態においては、顧客のユーザの認証に伴う操作を行うように構成されたコンピュータシステム(すなわち、コンピューティングリソースの集まり)である。例えば、サービス908~916及び920~924の1つは、ユーザからの情報を認証サービス918に提供して、ユーザの要求が信頼できるか否かを示す情報を返信で受信してよい。
【0058】
ポリシー管理サービス920は、ある実施形態においては、コンピューティングリソースサービスプロバイダ902の顧客(例えば、顧客904)のために、ポリシーを管理するように構成されたコンピュータシステムである。ポリシー管理サービス920は、ポリシーの管理に関連する要求を顧客が提出できるようにするインタフェースを含んでよい。このような要求は、例えば、既存のポリシー等のインベントリを提供する等、顧客または他の管理アクションのためのポリシーを追加、削除、変更、または、他の方法で修正する要求であってよい。
【0059】
コンピューティングリソースサービスプロバイダ902は、様々な実施形態において、タスクサービス922も備えてよい。タスクサービス922は、顧客904からタスクパッケージを受信し、タスクパッケージが指図するようにタスクを実行できるよう構成される。タスクサービス922は、1つまたは複数のインスタンス化された仮想マシンまたは仮想ホスト等、タスクを実行するためのコンピューティングリソースサービスプロバイダ902の任意のリソースを使用するよう構成されてよい。タスクサービス924は、顧客904の要件に従って、選択したオペレーティングシステム、及び/または、選択した実行アプリケーションを用いて、1つまたは複数のインスタンス化された仮想マシンまたは仮想ホストが動作するように構成してよい。
【0060】
コンピューティングリソースサービスプロバイダ902は、顧客904のニーズに少なくとも部分的に基づいて、1つまたは複数の他のサービス924をさらに維持する。例えば、コンピューティングリソースサービスプロバイダ902は、顧客904のためにデータベースサービスを維持してよい。データベースサービスは、1つまたは複数の顧客904のために1つまたは複数のデータベースを実行するように構成されたハードウェアソフトウェア、または、それらの組み合わせであってよい。顧客904は、適切に構成されたAPIコールを利用して、データベースサービスからデータベースを操作、管理してよい。これによって、顧客904は、データベースで操作を維持でき、及び、可能性としてスケーリングできてよい。他のサービスは、オブジェクトレベルのアーカイブデータストレージサービス、他のサービスを管理及び/または監視するサービスを含むが、これらに限らない。
【0061】
本開示の実施形態は、以下の条項を考慮して記載できる。
1.コンピュータ実施方法であって、
実行可能命令を用いて構成された1つまたは複数のコンピュータシステムの制御の下で、
コンピューティングリソースサービスプロバイダの顧客からの要求であって、前記コンピューティングリソースサービスプロバイダによってホストされる仮想コンピュータシステムインスタンスのログを有効にする前記要求を受信することと、
前記顧客によって維持された1つまたは複数のセキュリティポリシーに少なくとも部分的に基づいて、前記仮想コンピュータシステムインスタンスに向けられたネットワークトラフィックをファイアウォールによって、フィルタリングすることと、
ネットワークトラフィックログ情報とファイアウォール決定を前記ファイアウォールから取得することと、
前記顧客によって操作される前記仮想コンピュータシステムインスタンスに対応するネットワークログ情報を読み出すことと、
前記受信した要求で前記顧客によって示された前記顧客がアクセス可能な宛先に前記読み出されたネットワークログ情報を提供することと、
を含む、前記コンピュータ実施方法。
【0062】
2.前記宛先は、前記コンピューティングリソースサービスプロバイダのメトリクスサービスを含み、前記メトリクスサービスは、前記顧客が使用する前記コンピューティングリソースサービスプロバイダによってホストされた前記仮想コンピュータシステムインスタンスに対応するメトリクス情報を前記顧客に提供するように構成された、条項1に記載のコンピュータ実施方法。
【0063】
3.前記メトリクスサービスは、前記提供されたネットワークログ情報に少なくとも部分的に基づいて、前記仮想コンピュータシステムインスタンスに関連付けられたネットワークトラフィックを視覚化したものを生成するようにさらに構成された、条項2に記載のコンピュータ実施方法。
【0064】
4.前記宛先は、前記コンピューティングリソースサービスプロバイダのストレージサービスを含み、前記ストレージサービスは、前記ネットワークログ情報に前記顧客がアクセスできるように、前記ネットワークログ情報を永続的に記憶するように構成された、条項1~3のいずれかに記載のコンピュータ実施方法。
【0065】
5.システムであって、
コンピュータシステムセットを含み、前記コンピュータシステムセットは、
コンピューティングリソースサービスプロバイダの顧客から、前記システムのコンピューティングリソースによって支援され、前記顧客によってプログラムで管理される仮想コンピュータシステムインスタンスのログを有効にする要求を受信し、
1つまたは複数のデータパケットであって、前記仮想コンピュータシステムインスタンスに向けられたネットワークフローセットに関連付けられた前記1つまたは複数のデータパケットを、前記システムのネットワークインタフェースで受信し、
1つまたは複数のセキュリティポリシーであって、前記データパケットに含まれた情報に少なくとも部分的に基づいて、特定のデータパケットを許可するか、または、拒絶するかを示す前記1つまたは複数のセキュリティポリシーに少なくとも部分的に基づいて、ファイアウォールで、前記1つまたは複数のデータパケットをフィルタリングし、
ログを有効にする前記受信した要求を満たした結果として、前記1つまたは複数のデータパケットの前記フィルタリングに対応するログ情報と、前記1つまたは複数のデータパケットのフィルタリングの際に前記ファイアウォールが行ったアクションセットとを取得し、且つ、
前記ログ情報を前記顧客がアクセス可能な宛先に提供するように、
構成された、前記システム。
【0066】
6.前記宛先は、前記1つまたは複数のセキュリティポリシーを適用するように構成された侵入防止システムをさらに含む、条項5に記載のシステム。
【0067】
7.前記侵入防止システムは、前記提供されたログ情報に少なくとも部分的に基づいて、前記1つまたは複数のセキュリティポリシーを更新するようにさらに構成された、条項6に記載のシステム。
【0068】
8.前記侵入防止システムは、前記1つまたは複数のセキュリティポリシーへの前記更新を前記ファイアウォールに提供するようにさらに構成された、条項7に記載のシステム。
【0069】
9.前記メモリは、命令であって、前記1つまたは複数のプロセッサによって実行されると、前記メトリクスサービスを用いて前記顧客が設定したアラームに少なくとも部分的に基づいて、前記システムに前記顧客に通知させる前記命令をさらに含む、条項5~8のいずれかに記載のシステム。
【0070】
10.前記メモリは、命令であって、前記1つまたは複数のプロセッサによって実行されると、前記仮想コンピュータシステムインスタンスに関連付けられた前記顧客から前記取得したログ情報のフィルタリング要求を受信した結果として、前記ログ情報の1つまたは複数の属性に少なくとも部分的に基づいて、前記取得したログ情報を前記システムにフィルタリングさせる前記命令をさらに含む、条項5~9のいずれかに記載のシステム。
【0071】
11.前記メモリは、命令であって、前記1つまたは複数のプロセッサによって実行されると、前記仮想コンピュータシステムインスタンスに関連付けられた前記顧客から、前記仮想コンピュータシステムインスタンスのログを終了するAPIコールを受信したことに少なくとも部分的に基づいて、前記仮想コンピュータシステムインスタンスのログを前記システムに無効にさせる前記命令をさらに含む、条項5~10のいずれかに記載のシステム。
【0072】
12.前記メモリは、命令であって、前記1つまたは複数のプロセッサによって実行されると、前記仮想コンピュータシステムインスタンスに関連付けられた前記顧客から、他の宛先を示すAPIコールを受信したことに少なくとも部分的に基づいて、前記システムに前記ログ情報を前記他の宛先に提供させる前記命令をさらに含む、条項5~11のいずれかに記載のシステム。
【0073】
13.実行可能命令を集合的に記憶した非一時的コンピュータ可読記憶媒体のセットであって、前記実行可能命令は、コンピュータシステムセットの1つまたは複数のプロセッサによって実行されると、前記コンピュータシステムセットの少なくともサブセットに、少なくとも、
コンピューティングリソースサービスプロバイダの顧客からの、コンピューティングリソースサービスプロバイダがホストするコンピューティングリソースによって支援される仮想コンピュータシステムインスタンスのログを有効にする要求を満たし、
ネットワークトラフィックであって、1つまたは複数のセキュリティポリシーに少なくとも部分的に基づいて、前記顧客が管理する前記仮想コンピュータシステムインスタンスの支援に少なくとも部分的に使用されるコンピューティングリソースセットに向けられた前記ネットワークトラフィックの少なくとも一部をファイアウォールでフィルタリングし、
前記受信した要求を満たした結果として、前記ファイアウォールから、ネットワークトラフィックログ情報を取得し、
前記取得したネットワークログ情報から、前記仮想コンピュータシステムインスタンスに対応するログ情報を読み出し、且つ、
前記読み出したログ情報を永続的に記憶するためにストレージサービスに提供させる、前記非一時的コンピュータ可読記憶媒体のセット。
【0074】
14.コンピューティングリソースサービスプロバイダの顧客からのログを有効にする要求をコンピュータシステムに受信させる前記命令は、前記顧客に呈示された管理コンソールからコマンドを受信することに少なくとも部分的に基づいて、前記コンピュータシステムに、前記コンピューティングリソースセットへのログを有効にさせる命令をさらに含み、前記管理コンソールは、ログを有効にする前記顧客が管理する前記仮想コンピュータシステムインスタンスの選択を受信する、条項13に記載の非一時的コンピュータ可読記憶媒体。
【0075】
15.前記命令は、前記1つまたは複数のプロセッサによって実行されると、前記コンピュータシステムに、前記読み取ったログ情報をメトリクスサービスに提供させる命令をさらに含む、条項13または14に記載の非一時的コンピュータ可読記憶媒体。
【0076】
16.前記命令は、前記1つまたは複数のプロセッサによって実行されると、前記読み出したログ情報に少なくとも部分的に基づいて、前記コンピュータシステムに、前記仮想コンピュータシステムインスタンスに向けられた前記ネットワークトラフィックの一部の1つまたは複数の属性を示す視覚化したもののセットを生成させる命令をさらに含む、条項13~15のいずれかに記載の非一時的コンピュータ可読記憶媒体。
【0077】
17.前記コンピューティングリソースセットに対応するログ情報を前記コンピュータシステムに読み出させる前記命令は、前記コンピュータシステムに、前記顧客が管理する仮想コンピュータシステムインスタンスセットのログ情報を読み出させる命令をさらに含み、前記仮想コンピュータシステムインスタンスセットの少なくとも一部は、前記コンピューティングリソースセットによって支援され、前記仮想コンピュータシステムインスタンスは、前記仮想コンピュータシステムインスタンスセットの要素である、条項13~16のいずれかに記載の非一時的コンピュータ可読記憶媒体。
【0078】
18.前記命令は、前記1つまたは複数のプロセッサによって実行されると、前記コンピュータシステムに、前記コンピュータシステムを担当していないサードパーティのサービスプロバイダに前記読み出したログ情報を提供させる命令をさらに含む、条項13~17のいずれかに記載の非一時的コンピュータ可読記憶媒体。
【0079】
19.前記命令は、前記1つまたは複数のプロセッサによって実行されると、前記コンピュータシステムに、
前記コンピューティングリソースサービスプロバイダによってホストされ、且つ、第2の顧客が管理する第2の仮想コンピュータシステムインスタンスの支援に使用されるコンピューティングリソースの第2のセットに対応する追加のネットワークログ情報を読み出させる命令をさらに含み、
永続的記憶のために前記読み出したネットワークログ情報を前記ストレージサービスに提供することは、前記追加のネットワークログ情報を永続的記憶のために前記ストレージサービスに提供することをさらに含む、
条項13~18のいずれかに記載の非一時的コンピュータ可読記憶媒体。
【0080】
20.前記命令は、前記1つまたは複数のプロセッサによって実行されると、前記顧客からログを無効にするコマンドを受信することに少なくとも部分的に基づいて、前記コンピュータシステムに、前記仮想コンピュータシステムインスタンスのログを無効にさせる命令をさらに含む、条項13~19のいずれかに記載の非一時的コンピュータ可読記憶媒体。
【0081】
図10は、様々な実施形態による、態様を実施する例示の環境1000の態様を示す。理解されるように、ウェブベース環境を説明のために使用するが、必要に応じて、異なる環境を使用して様々な実施形態を実施してよい。環境は、電子クライアント装置1002を含み、電子クライアント装置1002は、適切なネットワーク1004を介して要求、メッセージ、または、情報を送信及び/または受信するように動作可能な任意の適切な装置、ある実施形態においては、装置のユーザに情報を返信するように動作可能な任意の適切な装置を含むことができる。このようなクライアント装置の例は、パーソナルコンピュータ、携帯電話、ハンドヘルドメッセージング装置、ラップトップコンピュータ、タブレットコンピュータ、セットトップボックス、パーソナルデータアシスタント、組み込み型コンピュータシステム、電子ブックリーダ等を含む。ネットワークは、イントラネット、インターネット、セルラーネットワーク、ローカルエリアネットワーク、衛星ネットワークもしくは任意の他のこのようなネットワークを含む任意の適切なネットワーク、及び/または、それらの組み合わせを含んでよい。このようなシステムに使用するコンポーネントは、選択したネットワーク及び/または環境のタイプに少なくとも部分的に依存し得る。このようなネットワークを介して通信するプロトコル及びコンポーネントは、周知であり、ここでは詳細に記載しない。ネットワークを介した通信は、有線もしくは無線接続、及び、これらの組み合わせで可能にすることができる。この例においては、要求を受信し、その要求に応えてコンテンツを供給するウェブサーバ1006を環境が含むように、ネットワークは、インターネットを含むが、当業者には明らかなように、他のネットワークに関しては、同様の目的を果たす他の装置を使用してよい。
【0082】
例示の環境は、少なくとも1つのアプリケーションサーバ1008とデータストア1010を含む。数個のアプリケーションサーバ、レイヤもしくは他の要素、プロセスもしくはコンポーネントがあってよく、それらは、チェーン、もしくは、他の方法で構成されてよく、インタラクトして、適切なデータストアからデータを取得する等のタスクを行うことができることを、理解されたい。本明細書においては、サーバは、ハードウェア装置または仮想コンピュータシステム等、様々な形で実施されてよい。ある文脈においては、サーバは、コンピュータシステム上で実行されているプログラミングモジュールを指してよい。本明細書においては、別段の記載の無い限り、または、文脈から明らかで無い限り、「データストア」という語は、データを記憶、データにアクセス、及び、データの読み出しを行うことができる任意の装置または装置の組み合わせを指し、任意の標準的、分散、仮想、または、クラスタ環境で、任意の組み合わせ及び数のデータサーバ、データベース、データ記憶装置、及び、データ記憶媒体を含んでよい。クライアント装置の1つまたは複数のアプリケーションの態様を実行するのに必要なデータストアと一体化し、アプリケーションのデータアクセス及びビジネスロジックの一部または全てを取り扱う任意の適切なハードウェア、ソフトウェア、及び、ファームウェアを、アプリケーションサーバは含むことができる。アプリケーションサーバはデータストアと協力してアクセス制御サービスを提供してよく、テキスト、グラフィックス、音声、ビデオ、及び/または、ユーザに提供するために使用可能な他のコンテンツを含むが,これらに限らないコンテンツを生成できる。コンテンツは、ハイパーテキストマークアップ言語(「HTML」)、拡張マークアップ言語(「XML」)、ジャバスクリプト(JavaScript(登録商標))、カスケーディングスタイルシート(「CSS」)または他の適切なクライアント側構造化言語の形式で、ウェブサーバによってユーザに供給されてよい。クライアント装置に転送されるコンテンツは、クライアント装置によって処理されて、聴覚的、視覚的、及び/または、触覚、味覚及び/または嗅覚を含む他の感覚を通して、ユーザが認識できる形式を含むが、これらに限らない1つまたは複数の形式で提供されてよい。全ての要求及び応答の扱いと、クライアント装置1002とアプリケーションサーバ1008の間のコンテンツ配信は、この例においては、ハイパーテキストプリプロセッサ(PHP:Hypertext Preprocessor)、Python、Ruby、Perl、Java(登録商標)、HTML、XML、または、他の適切なサーバ側構造化言語を用いてウェブサーバによって取り扱うことができる。本明細書に記載の構造化コードは、本明細書の他の箇所に記載のように任意の適切な装置またはホストマシンで実行できるので、ウェブ及びアプリケーションサーバは必要とされず、単にコンポーネントの例にすぎないことは理解されたい。さらに、1つの装置で行われているとして本明細書に記載した操作は、文脈から特に明白でない限り、複数の装置で集合的に行われてもよく、それらの装置は、分散及び/または仮想システムを形成してよい。
【0083】
データストア1010は、数個の個別のデータ表、データベース、データ書類、動的データストレージスキーム、及び/または、本開示の特定の態様に関するデータを記憶する他のデータストレージ機構及び媒体を含むことができる。例えば、図示のデータストアは、生産データ1012及びユーザ情報1016を記憶する機構を含んでよく、生産データ1012及びユーザ情報1016は、生産側のコンテンツの供給に使用することができる。データストアは、ログデータを記憶する機構1014を含むことも図に示されており、ログデータは、報告、分析、または、他のこのような目的に使用できる。ページ画像情報及びアクセス権情報等、データストアに記憶の必要があってよい多くの他の態様があってよく、それらは、必要に応じて、または、データストア1010の追加の機構として、上記に列挙した機構のいずれかに記憶できることを理解されたい。データストア1010は、データストア1010に関連付けられたロジックを通して、アプリケーションサーバ1008から命令を受信し、その命令に応答して、データを取得、更新、または、他の方法で処理するように動作可能である。アプリケーションサーバ1008は、受信した命令に応答して、静的データ、動的データ、または、静的データと動的データの組み合わせを提供してよい。ウェブログ(ブログ)、ショッピングアプリケーション、新しいサービス、及び、他のこのようなアプリケーションで使用されるデータ等の動的データは、本明細書に記載のようにサーバ側構造化言語によって生成されてよい、または、アプリケーションサーバ上、もしくは、アプリケーションサーバの制御の下で動作しているコンテンツ管理システム(「CMS」)によって提供されてよい。一例においては、ユーザは、ユーザが操作する装置を通して、一定のタイプの項目の検索要求を提出してよい。この場合、データストアは、ユーザ情報にアクセスしてユーザのアイデンティティを検証してよく、カタログ詳細情報にアクセスして、そのタイプの項目に関する情報を取得できる。情報は、次に、ユーザ装置1002上のブラウザを介してユーザが見ることができるウェブページに結果をリストする等で、ユーザに返信できる。関心のある特定の項目の情報は、ブラウザの詳細ページまたはウィンドウで見ることができる。しかしながら、本開示の実施形態は、ウェブページの文脈に必ずしも限定されず、より広く、一般的な要求の処理に適用可能で、その場合、要求は、必ずしもコンテンツの要求に限らないことに注意されたい。
【0084】
各サーバは、典型的に、サーバの一般的な管理及び動作の実行可能プログラム命令を提供するオペレーティングシステムを含み、且つ、典型的に、命令を記憶するコンピュータ可読記憶媒体(例えば、ハードディスク、ランダムアクセスメモリ、リードオンリメモリ等)を含む。命令は、サーバのプロセッサによって実行されると、サーバが、意図した機能を行うのを可能にする。オペレーティングシステムの適切な実施態様と、サーバの一般的な機能は、既知または市販されており、特に本開示を考慮すると、当業者によって容易に実施される。
【0085】
環境は、一実施形態においては、1つまたは複数のコンピュータネットワークまたは直接接続を用いて通信リンクを介して相互に接続される数個のコンピュータシステム及びコンポーネントを利用した分散及び/または仮想コンピューティング環境である。しかしながら、このようなシステムは、
図10に示すコンポーネントより多いまたは少ない数のコンポーネントを有するシステムで同じように申し分なく動作できることを、当業者は理解する。従って、
図10のシステム1000の図は、説明的な性質のものであり、開示の範囲を限定するものではない。
【0086】
様々な実施形態は、広範なオペレーティング環境でさらに実施でき、オペレーティング環境は、ある場合には、多くのアプリケーションのいずれかを動作させることができる1つまたは複数のユーザコンピュータ、コンピューティング装置、または、処理装置を含んでよい。ユーザまたはクライアント装置は、標準オペレーティングシステムを実行するデスクトップ、ラップトップまたはタブレットコンピュータ等の多くの汎用パーソナルコンピュータと、モバイルソフトウェアを実行し、且つ、多くのネットワーキング及びメッセージングプロトコルを支援できるセルラー、無線、及び、ハンドヘルドの装置との任意の装置を含み得る。このようなシステムは、様々な市販のオペレーティングシステムと、開発及びデータベース管理等の目的のための他の既知のアプリケーションとの任意のものを実行する多くのワークステーションも含み得る。これらの装置は、ダミー端末、シンクライアント、ゲームシステム、及び、ネットワークを介して通信できる他の装置等の他の電子装置も含み得る。これらの装置は、仮想マシン、ハイパーバイザ、及び、ネットワークを介して通信できる他の仮想装置等の仮想装置も含み得る。
【0087】
本開示の様々な実施形態は、伝送制御プロトコル/インターネットプロトコル(「TCP/IP」)、ユーザデータグラムプロトコル(「UDP」)、オープンシステムインターコネクション(「OSI」)モデルの様々なレイヤで動作するプロトコル、ファイル転送プロトコル(「FTP」)、ユニバーサルプラグアンドプレイ(「UpnP」)、ネットワークファイルシステム(「NFS」)、コモンインターネットファイルシステム(「CIFS」)、及び、アップルトーク(AppleTalk)等、様々な市販のプロトコルのいずれかを使用して通信をサポートする当業者が精通している少なくとも1つのネットワークを利用する。ネットワークは、例えば、ローカルエリアネットワーク、ワイドエリアネットワーク、仮想プライベートネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話網、赤外線ネットワーク、無線ネットワーク、衛星ネットワーク、及び、これらの任意の組み合わせであってよい。
【0088】
ウェブサーバを利用する実施形態においては、ウェブサーバは、ハイパーテキスト転送プロトコル(「HTTP」)サーバ、FTPサーバ、コモンゲートウェイインタフェース(「CGI」)サーバ、データサーバ、Java(登録商標)サーバ、Apacheサーバ、及び、ビジネスアプリケーションサーバを含む、様々なサーバまたは中間層アプリケーションのいずれかを実行できる。サーバ(複数可)は、また、ユーザ装置からの要求に応答して、1つまたは複数のウェブアプリケーションの実行等によって、プログラムまたはスクリプトを実行できてよく、1つまたは複数のウェブアプリケーションは、Java(登録商標)、C、C#もしくはC++等の任意のプログラミング言語、または、Ruby、PHP、Perl、PythonもしくはTCL等の任意のスクリプト言語,及び、それらの組み合わせで書かれた1つまたは複数のスクリプトまたはプログラムとして実施されてよい。サーバ(複数可)は、データベースサーバも含んでよく、データベースサーバは、Oracle(登録商法)、Microsoft(登録商標)、Sybase(登録商標)及びIBM(登録商標)製の市販のデータベースサーバと、MySQL、Postgres、SQLite、MongoDB、及び、構造化または非構造化データを記憶、読み出し、及び、アクセスできる任意の他のサーバ等、オープンソースサーバとを含んでよいが、これらに限らない。データベースサーバは、表ベースのサーバ、ドキュメントベースのサーバ、非構造化サーバ、リレーショナルサーバ、非リレーショナルサーバ、または、これら及び/または他のデータベースサーバの組み合わせを含んでよい。
【0089】
環境は、上記のように、様々なデータストアと、他のメモリ及び記憶媒体とを含み得る。これらは、コンピュータの1つまたは複数にローカルに(及び/または、内に存在する)記憶媒体上に、または、ネットワークを介してコンピュータのいずれかまたは全てから離れて等、様々な場所に存在してよい。特定の実施形態のセットにおいては、情報は、当業者がよく知っているストレージエリアネットワーク(「SAN」)に存在してよい。同様に、コンピュータ、サーバ、または、他のネットワーク装置に属する機能を行う任意の必要なファイルは、必要に応じて、ローカル及び/または遠隔に記憶されてよい。システムが、コンピュータ化された装置を含む場合、このような装置は、それぞれ、バスを介して電子的に接続されてよいハードウェア要素を含むことができ、ハードウェア要素は、例えば、少なくとも1つの中央処理装置(「CPU」または「プロセッサ」)、少なくとも1つの入力装置(例えば、マウス、キーボード、コントローラ、タッチスクリーン、または、キーパッド)、及び、少なくとも1つの出力装置(例えば、表示装置、プリンタ、または、スピーカ)を含む要素を備える。このようなシステムは、ディスクドライブ、光学記憶装置、及び、ランダムアクセスメモリ(「RAM」)もしくはリードオンリメモリ(「ROM」)等のソリッドステート記憶装置と、取り外し可能メディア装置、メモリカード、フラッシュカード等の1つまたは複数の記憶装置も含んでよい。
【0090】
このような装置は、上記のように、コンピュータ可読記憶媒体リーダ、通信装置(例えば、モデム、ネットワークカード(無線または有線)、赤外線通信装置等)、及び、ワーキングメモリも含んでよい。コンピュータ可読記憶媒体リーダは、コンピュータ可読記憶媒体と接続、または、コンピュータ可読記憶媒体を受信するように構成でき、コンピュータ可読記憶媒体は、遠隔、ローカル、固定、及び/または、取り外し可能な記憶装置と、一時的及び/または、より永続的にコンピュータ可読情報を含み、記憶し、送信し、読み出す記憶媒体とを表す。システム及び様々な装置は、また、典型的に、クライアントアプリケーションもしくはウェブブラウザ等のオペレーティングシステム及びアプリケーションプログラムを含む、少なくとも1つのワーキングメモリ装置内に配置された多くのソフトウェアアプリケーション、モジュール、サービス、または、他の要素を含む。代替実施形態は、上記の実施形態の多くの変形形態を有してよいことは理解されたい。例えば、カスタマイズされたハードウェアを使用してもよく、及び/または、特定の要素は、ハードウェア、ソフトウェア(アプレット等のポータブルソフトウェアを含む)、または、その両方で実施されてよい。さらに、ネットワーク入力/出力装置等の他のコンピューティング装置への接続が採用されてよい。
【0091】
コード、または、コードの一部を含む記憶媒体及びコンピュータ可読媒体は、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータ等の情報を記憶及び/または送信するための任意の方法または技術で実施される揮発性及び不揮発性、取り外し可能及び取り外し不能の媒体を含むが、これらに限らない記憶媒体及び通信媒体を含む当分野で既知または使用される任意の適切な媒体を含んでよい。当該記憶媒体及び通信媒体には、RAM、ROM、電気的消去可能プログラム可能リードオンリメモリ(「EEPROM」)、フラッシュメモリもしくは他のメモリ技術、コンパクトディスクリードオンリメモリ(「CD-ROM」)、デジタル多用途ディスク(DVD)もしくは他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気記憶装置、または、所望の情報の記憶に使用でき、且つ、システム装置がアクセスできる任意の他の媒体が含まれる。本明細書で提供した開示及び教示に基づいて、当業者は、様々な実施形態を実施する他のやり方及び/または方法を認識する。
【0092】
明細書及び図面は、従って、制限的な意味ではなく、説明的な意味と見なされるべきである。しかしながら、請求項に規定する発明のより広い精神及び範囲を逸脱することなく、様々な修正及び変更を行ってよいことは明らかである。
【0093】
他の変更形態は、本開示の精神の範囲内にある。従って、開示の技術は、様々な修正を受けやすく、及び、代替の構成とされやすいが、その特定の図示された実施形態を図面で示し、上に詳細に記載した。しかしながら、開示した具体的な形態(複数可)に発明を限定する意図はなく、対照的に、添付の請求項に既定の発明の精神及び範囲に該当する全ての修正、代替構成、及び、同等物を含むことを意図していることは理解されたい。
【0094】
開示の実施形態を記載する文脈において(特に、以下の請求項の文脈において)、用語「a」「an」「the」の使用、及び、同様の指示対象は、本明細書に別段の指示の無い限り、または、文脈と明らかに矛盾しない限り、単数及び複数の両方を含むと解釈されたい。用語「comprising(含む)」「having(有する)」「including(含む)」「containing(含む)」は、別段の記載の無い限り、オープンエンドの語(すなわち、「含むが、~に限らない」を意味する)と解釈されたい。用語「connected(接続された)」は修飾語を伴わずに物理的接続を指す時、介在するものがあっても、部分的または全体的に、~内に含まれる、~に取り付けられる、または、結合されると解釈すべきである。本明細書の値の範囲の記載は、別段の記載の無い限り、その範囲内に該当する各個別の値を個々に指す簡単な方法としての役割を果たすことのみを意図しており、各個別の値は、本明細書に個々に記載されているかのように明細書に組み込まれる。用語「set(セット)」(例えば、「a set of items」)または「subset(サブセット)」の使用は、別段の記載の無い限り、または、文脈に矛盾しない限り、1つまたは複数の要素を含む空でない集合と解釈すべきである。さらに、別段の記載の無い限り、または、文脈に矛盾しない限り、対応するsetの用語「subset」は、対応するセットの厳密な意味でのサブセットを必ずしも意味せず、サブセットと対応するセットが等しい場合もある。
【0095】
「at least one of A,B,and C(A、B、及びCの少なくとも1つ)」または「at least one of A,B and C(A、B及びCの少なくとも1つ)」という形の句等、接続された語は、別段の記載の無い限り、または、文脈に明らかに矛盾しない限り、一般的に使用される文脈で、項目、用語等は、AもしくはBもしくはC、または、A及びB及びCのセットの任意の空でないサブセットであってよいことを表すと理解されたい。例えば、3つの要素を有するセットを説明のため例にとると、接続された語「at least one of A,B,and C」及び「at least one of A,B and C」は、セット{A},{B},{C},{A,B},{A,C},{B,C},{A,B,C}のいずれかを指す。従って、このような接続された語は、一定の実施形態が、Aの少なくとも1つ、Bの少なくとも1つ、及び、Cの少なくとも1つがそれぞれ存在することが必要であることを、一般的に意図してはいない。
【0096】
本明細書に記載のプロセスの動作は、本明細書に別段の指示の無い限り、または、文脈と明らかに矛盾しない限り、任意の適切な順序で行うことができる。本明細書に記載のプロセス(または、その変形形態、及び/または、その組み合わせ)は、実行可能命令を用いて構成された1つまたは複数のコンピュータシステムの制御の下で行われてよく、ハードウェアまたはその組み合わせによって、1つまたは複数のプロセッサ上で集合的に実行するコード(例えば、実行可能命令、1つまたは複数のコンピュータプログラム、または、1つもしくは複数のアプリケーション)として実施されてよい。コードは、コンピュータ可読記憶媒体上に、例えば、1つまたは複数のプロセッサによって実行可能な複数の命令を含むコンピュータプログラムの形で、記憶されてよい。コンピュータ可読記憶媒体は、非一時的であってよい。
【0097】
いずれか及び全ての例、または、本明細書に記載の例示の語(例えば、「such as」)の使用は、発明の実施形態をより明瞭にすることだけを意図しており、請求項に別段の規定の無い限り、発明の範囲に制限を課すものではない。明細書のどの語も、特許を請求していない要素が発明の実践に必須であることを示していると解釈すべきではない。
【0098】
本開示の実施形態を、発明者らには既知の発明を行うための最良の形態を含めて、本明細書に記載する。これらの実施形態の変形形態は、前述の記載を読めば当業者には明らかであろう。発明者らは、このような変形形態を必要に応じて当業者が採用することを予期しており、発明者らは、本明細書に具体的に記載している以外の他の方法で本開示の実施形態が実践されることを意図している。従って、本開示の範囲は、適用法によって許可されるように、本明細書に添付の請求項に記載された主題の修正及び同等物の全てを含む。さらに、その全ての可能な変形形態における上記要素の組み合わせはいずれも、本明細書に別段の記載の無い限り、または、文脈と明らかに矛盾しない限り、本開示の範囲に含まれる。
【0099】
本明細書に引用した、出版物、特許出願書及び特許を含む全ての参考文献は、各参考文献を参照により組み込まれることを個々に具体的に示し、その全体を本明細書に記載したのと同じ程度に、参照により本明細書に組み込まれる。
【0100】
データセンタは、コンピュータシステムと、様々なネットワーク、ストレージ、及び、他の関連するコンポーネントを収容する施設である。データセンタは、例えば、遠隔コンピューティングサービスとしてコンピューティングサービスをビジネス及び個人に提供してよく、または、「サービスとしてのソフトウェア」(例えば、クラウドコンピューティング)を提供してよい。データセンタリソースの利用を容易にするために、仮想化技術によって、1つの物理的コンピューティングマシンが、接続されたコンピュータユーザには、独立したコンピュータマシンのように見え、且つ、動作する仮想マシンの1つまたは複数のインスタンスをホストするのを可能にしてよい。仮想化を用いて、1つの物理的コンピューティング装置は、動的に、仮想マシンを作成、維持、または、削除できる。
【0101】
データセンタの顧客は、選択するリソースと、どのようにリソースを設定、利用するかに関して広範な選択を提供されてよい。どのようにリソースを設定、利用するかに応じて、顧客は、そのリソースに関して異なるレベルの性能を体験してよい。
【0102】
図面を通して、参照番号は、参照される要素間の対応を示すために再使用されてよい。図面は、本明細書に記載の実施形態例を示すために提供されており、開示の範囲を制限する意図は無い。
【0103】
【0104】
プロバイダネットワークのデータへのアクセスを提供するシステム及び方法の実施形態を記載する。プロバイダネットワークのコンピューティングリソースの規定のユニットまたはサブセットに関して、ネットワークデータフローは、選択した単位時間に対して、及び、選択した時間間隔の間、入手、記憶される。単位時間の間ネットワークデータフローが記憶され、処理可能になると、イベント通知が生成される。これらのイベントの1つに応答して、プロバイダネットワークは、単位時間の間、記憶されたデータを処理してよく、ネットワークデータフローデータの選択された部分を要求を行っている顧客に利用可能にしてよい。さらなる単位時間の間、追加のネットワークデータフローを入手、記憶すると、イベント通知が待ち行列に送られる。記憶されたデータは、待ち行列から読み出されたイベント通知に基づいて処理される。記憶されたデータのセットが処理できない場合、または、処理に遅延がある場合、その記憶されたデータのセットに対するイベント通知を、その後に処理するため、待ち行列に戻すことができる。
【0105】
プロバイダネットワークを運営するエンティティ等のサービスプロバイダは、コンピューティングインスタンス及びストレージリソース等のコンピューティングリソースを顧客(エンティティまたはユーザとも呼ばれてよい)に提供してよい。顧客は、サービスプロバイダのコンピューティングリソースにアクセスする任意の人またはエンティティであってよい。サービスプロバイダは、例えば、ウェブサービスプラットフォームを提供してよい。複数の顧客が、コンピューティングノードを介してウェブサービスプラットフォームにアクセスし、ウェブサービスプラットフォームに命令を発してよい。ウェブサービスプラットフォームは、複数の顧客がプラットフォームにアクセスしてよいことを示すマルチテナントウェブサービスプラットフォームとも呼ばれてよい。ウェブサービスプラットフォームは、ウェブサービスプラットフォームを構成する複数のコンピューティングノードの1つまたは複数に対してコンピューティング操作を行うことによって、命令に応答してよい。
【0106】
他のタイプのリソースが、プロバイダネットワークによって提供されてよい。例えば、プロバイダネットワークは、顧客のインスタンス、他のリソース、及び、リソース上で実行しているアプリケーションの監視及び評価を行ってよい。このような監視及び評価サービスは、本明細書では、一般的に、リソース分析サービスと呼ばれてよい。監視及び評価された情報は、様々なメトリクスの収集及び追跡と、システム及びネットワークアーキテクチャ、リソース利用、アプリケーション性能、及び、顧客に関連付けられたリソースの動作健全性に関する推薦を提供するのに有用であり得る。このような情報は、インスタンスとアプリケーションをスムーズに効率的に動作させ続けるのに有用である。この情報を分析して、顧客のリソース及びその構成が意図した用途に合わせて最適化されているかどうかを決定してよい。
【0107】
このようなコンピューティング環境は、大規模で複雑であり、また、仮想及び物理的の両方のコンポーネントを通して流れる様々なタイプのデータが混じったものを有する膨大な数の相互接続された装置を含む。サーバ及びルータ等の様々なコンピューティング装置は、複雑なインタラクションを有する場合があり、また、1つのエリアでの振る舞いが、コンピューティング環境全体の性能に影響を与えることがある。顧客は、何百または何千のインスタンスを有することが多く、顧客の構成及びアーキテクチャの評価の仕方、また、ネットワーク構成及びアーキテクチャの決定によって様々なメトリクスがどのように影響を受けるかを、顧客が確かめるのは難しい場合がある。
【0108】
プロバイダネットワークの顧客は、ネットワークトラフィックフロー情報に関心を持っていることが多い。プロバイダネットワークは、画定されたネットワーク境界の選択したインタフェースにデータが出入りすると、例えば、IPネットワークトラフィックを収集してよい。ネットワークトラフィックフロー情報は、ネットワークトラフィックフローとボリュームを分析して、データトラフィックの送信元及び宛先と、生成されているデータトラフィックのボリュームとを決定するのに有用である。プロバイダネットワークは、1つまたは複数の機能を実行して、選択したインタフェースでIPトラフィック統計を収集し、ネットワークトラフィック分析のためにデータを記憶してよい。ネットワークトラフィックフロー情報は、入口インタフェース、送信元IPアドレス、宛先IPアドレス、送信元ポート、宛先ポート、及び、出口インタフェースを含むデータパケットを含んでよい。
【0109】
所与のコンピューティングリソースのセットに関して生成されるネットワークトラフィックフロー情報の量は、かなりの量となる場合がある。例えば、コンピューティング能力の所与のドロップレットまたは他の規定のユニットに関して、プロバイダネットワークは、不要なデータフローをフィルタで除去して、顧客が要求したフローを識別したい場合がある。データのかなりのボリュームと、要求したフローを提供するための処理量が原因で、特に、処理コンポーネントが、連続的にポーリングを行って、入手されたネットワークトラフィックフロー情報が処理可能か否かを決定するポーリングアプローチを使用すると、記憶されたネットワークトラフィックフロー情報の処理が、収集されるデータに時間的に追いつかない場合がある。
【0110】
本開示は、データ及び情報の損失無く、ポーリングを回避し、入手したネットワークトラフィックフロー情報の処理を可能にするネットワークトラフィックフロー情報処理のイベント駆動型アプローチのシステム及び方法を記載する。イベント駆動型アプローチを使用することによって、記憶されたネットワークトラフィックフロー情報が処理可能になると、ネットワークトラフィックフロー情報の処理を担当するシステムに通知できる。ネットワークトラフィックフロー情報の連続したグループに関する多くの通知を提供できるので、処理ワークフローは、待ち行列の形で、ネットワークトラフィックフロー情報のグループを処理できる。ネットワークトラフィックフロー情報のグループの処理を阻む課題または問題が生じる場合、そのグループは、ドロップすることができ、処理は、次のグループに続くことができる。ドロップされたグループは、全ての入手されたデータが確実に処理されるように、追加処理を試みて、後に再訪問されてよい。
【0111】
ある実施形態においては、処理ワークフローは、通知の待ち行列にアクセスして、ドロップされたグループのいずれかを処理する必要があるか否かを決定できる。あるいは、処理ワークフローは、記憶された情報を分析して、ドロップされたグループのいずれかを処理する必要があるか否かを決定できる。従って、ネットワークトラフィックフロー情報のイベント駆動型処理を使用すると、かなりのコンピューティングリソースを有するコンピューティング環境において、データの損失もドロップも無く、ネットワークトラフィックフロー情報のより完全な処理を可能にすることができ、処理ワークフローが、コンピューティング環境の現在の条件下で、可能な限り速くデータを処理するのを可能にする。
【0112】
ある実施形態においては、処理されたネットワークトラフィックフロー情報は、要求を行っている顧客に提供されてよく、顧客は、自分に割り当てられたコンピューティングリソースに関連するネットワークトラフィックフロー情報にアクセスしてよい。記載したイベント駆動型プロセスは、顧客がセキュリティルールまたは他の構成を不正確に設定した場合に、処理ワークフローが、顧客へのデータ公開タスクを完了するのを防ぎ、有用であり得る。このような不完全なイベントは、後に、試みを繰り返すために待ち行列に入れられてよく、そうすることによって、顧客のデータ要求を損失無く満たす可能性を提供する。
【0113】
ある実施形態においては、データのグループは、データのパーセルまたはバケットと呼ばれてよく、仮想コンピューティング環境のドロップレット等、コンピューティングリソースの別個の規定されたセットのネットワークトラフィックフロー情報を含んでよい。このようなシナリオにおいて、ドロップレットのデータのパーセルまたはバケットは、例えば、10分間に収集されたネットワークトラフィックフロー情報を含んでよい。ネットワークトラフィックフロー情報は、規定の時間間隔(例えば、毎分)、収集されてよい。
【0114】
図11は、本開示による、ネットワークトラフィックフロー情報のイベント駆動型処理を提供するシステム例を示す図である。
図11に、ある実施形態による、コンピューティングリソースを提供するシステム1100を記載する。システム1100は、例えば、本明細書に記載の1つまたは複数のデータセンタにおいて実施されてよい。システム1100は、多くの仮想及び物理的リソースを含み得るコンピューティングリソースのグループを含んでよい。例えば、コンピューティングインスタンスは、パブリックネットワークのコンピュータユーザにゲートウェイを介して仮想コンピューティングサービスを提供するように構成されてよい。例えば、仮想コンピューティングサービスは、遠隔アクセス企業アプリケーションのセットを、例えば、企業顧客の従業員であってよいユーザのグループに提供してよい。図に示されていない追加のリソースを伴う実施形態もあってよいことは理解される。
【0115】
図11は、ネットワークトラフィックフロープレーン1150とネットワークトラフィックフローパケット1160も示す。ネットワークトラフィックフローコレクタ1170は、ネットワークトラフィックフローパケット1160のネットワークトラフィックフローストレージ1180への記憶を容易にし得る。決定された時間が経つと、または、他の測定値を示すものが生じると、イベント1165は、ネットワークトラフィックフロープロセス1190に送られてよい。
【0116】
図12は、一実施形態による、ネットワークトラフィックフロー情報のイベント駆動型処理を提供するシステムの一例を示す図である。
図12は、ネットワークトラフィックフロー情報の監視及び入手の対象となるリソースグループ1210を示す。一実施形態においては、リソースグループのデータトラフィックは、カーネル空間及びユーザ空間で実行するコンポーネント及びアプリケーションによって処理されてよい。例えば、パケット処理のルールは、カーネルモジュールによって実施されてよく、パケットはバッファに記憶されてよい。ユーザ空間で実行されるアプリケーションは、記憶されたパケットを処理してよく、処理されたパケットは、ストレージ1220にアップロードするためにバッファに置かれてよい。
図12は、ネットワークフローパブリッシャ1240も示す。ネットワークフローパブリッシャ1240は、データの処理が可能であることを示すステータスパブリッシャ1280によって提供された待ち行列1250からイベントを受信するように構成される。ネットワークフローパブリッシャ1240は、ストレージ1220における処理のため、ストレージ1220からパーセルにアクセスする。ある実施形態においては、ストレージ1220は、データの処理が可能であることを示すイベントを送るように構成されてよい。ネットワークフローパブリッシャ1240は、顧客情報にもアクセスして、どの顧客がネットワークトラフィックフロー情報の公開を有効にしたかを決定する。一実施形態においては、ネットワークフローパブリッシャ1240は、キャッシュ1260からデータを読み出して、顧客がどの情報を要求したのかを決定し、顧客がどの情報を要求しているのかを決定し、顧客と顧客の情報とに従ってパーセルのデータを解析し、顧客の要求に一致する特定のデータを識別し、且つ、識別したデータをログ1230に記憶するように構成されてよい。
【0117】
図13は、一実施形態による、ネットワークトラフィックフロー情報のイベント駆動型処理を提供するシステム例のデータフローを示す図である。
図13は、リソースのグループ1310からのデータがストレージ1320に記憶されることを示す。選択された通知ポイントまたは他の基準で、イベントを通知エンジン1350に送る。通知エンジン1350は、記憶されたネットワークトラフィックフロー情報を求めてストレージ1320にアクセスしてよいという通知を待ち行列1340に送る。フローパブリッシャ1330は、待ち行列1340にアクセスし、且つ、ネットワークトラフィックフロー情報のタグを記憶するログ1325にアクセスするように構成されてよい。
図13は、フローパブリッシャ1330及びネットワークステータスパブリッシャ1390も示す。ネットワークステータスパブリッシャ1390は、データベース1370に記憶された顧客構成情報に関してキャッシュ1380から情報を受信する。顧客構成情報は、アプリケーションプログラミングインタフェース(API)1395からの情報として受信されてよい。API1395は、管理コンポーネント1362及び作成/記述/削除コンポーネント1364を含むコンソール1360にインタフェースを呈示する。
【0118】
図14は、一実施形態による、ネットワークトラフィックフロー情報のイベント駆動型処理を提供するシステムの例にさらなる詳細を追加する図である。
図14は、データベース1420に記憶された顧客構成と要求に関してサーバ1410に記憶されたデータ記録の例を示す。データ記録は、記録の識別子と、承認されたトラフィック、拒絶されたトラフィック、または、全てのトラフィックにフラグを付けるべきか否かを示すタイプと、要求の状態(例えば、アクティブまたはサスペンド)と、試行数と、実施されれば、他の情報とを含んでよい。データ記録をワークフロー1430は利用でき、ワークフロー1430は、ログ1450を維持するように構成されるネットワークフローパブリッシャ1440を含む。ログ1450に記憶されたネットワークトラフィックフローデータは、バージョン、インタフェース識別子、送信元アドレス、宛先アドレス、送信元ポート、宛先ポート、パケット、バイト、タイムスタンプを含んでよく、トラフィックワークフロー1430のタイプは、通知1480を提供するステータスパブリッシャ1445も含む。ネットワークトラフィックフローデータのバケットまたはパーセルがストレージ1475に記憶されるので、通知1470は、ストレージ1475によって生成されてよい。
【0119】
ユースケースの例においては、ネットワークトラフィックフロー情報のイベント駆動型処理を提供する記載のシステムを使用して、システム監視ログを介して要求を行っている顧客に関してネットワークトラフィックが承認及び/または拒絶されていることを公開してよい。例えば、ネットワークトラフィックフロー情報のイベント駆動型処理を提供するシステムは、IPアドレス表を採用して、承認または拒絶されたパケットのログデータを生成してよい。システムは、これらのパケットを規定の時間間隔で入手してよく、そのパケットをさらに処理するためにより長い時間間隔でストレージバケットまたはパーセルに送ってよい。
図14のネットワークフローパブリッシャ1440等のアグリゲーションワークフローは、不要なログデータをフィルタで除去し、関連のあるトラフィック情報を選択、送信してよい。アグリゲーションワークフローは、仮想プライベートクラウド、サブネット、または、コンピューティング及び/またはネットワーク容量の他の規定のユニットのパーセルから顧客指定のトラフィックタイプ(複数可)を抽出してよい
【0120】
ネットワークフローパブリッシャ1440は、
図14の通知1470等のイベント通知によってトリガされるように構成されてよい。通知イベントを受信すると、ネットワークフローパブリッシャ1440は、関連付けられたネットワークトラフィックフロー情報パーセルにストレージからアクセスしてよく、パーセルに関して
図14のログ1450等のログを生成してよい。ネットワークトラフィックフロー情報に関連付けられた顧客が、フローログの公開を有効にした場合、公開許可が正しく構成される場合、及び、他の制限がアクティブでない場合、ログは、
図13のAPI1395等のアプリケーションプログラミングインタフェース(API)を介して監視及び報告機能に提供されてよい。所与のパーセルに関するネットワークトラフィックフロー情報がない場合、ネットワークフローパブリッシャ1440は、報告するトラフィック情報がないことを示すものを提供してよい。
【0121】
図15は、ネットワーク化されたコンピューティングリソースで実施された仮想コンピューティングサービスをプロバイダネットワークの顧客に提供するように構成されたプロバイダネットワークのデータにアクセスを提供する操作手順の例を示す。ある実施形態においては、ネットワークトラフィックフロー情報のイベント駆動型処理は、
図15に示す操作によって実施され、操作1500で操作手順が始まる。手順は、ネットワークを介して通信する複数のコンピューティングノードに関して実施できる。コンピューティングノードは、複数の仮想マシンを含むことができる。操作1500は、操作1502に続いてよい。操作1502は、コンピューティングノードのサブセットを監視する情報を受信することを示す。サブセットは、例えば、割り当てられたコンピューティングリソースに関するネットワークトラフィックフロー情報へのアクセスを要求したプロバイダネットワークの顧客に基づいて、規定されてよい。サブセットは、以後の分析のためにネットワークトラフィックフロー情報を監視するコンピューティングノードとしてプロバイダネットワークによって規定されてもよい。
【0122】
操作1502は、操作1504に続いてよい。操作1504は、ネットワークを介して送られるデータパケットを受信することを示す。ある実施形態においては、ネットワーク制御プレーンのデータパケットを受信する。他の実施形態においては、ネットワークを介して送信されるデータパケットが、受信される。操作1504は、操作1506に続いてよい。操作1506は、データパケットを調べて、データパケットがコンピューティングノードのサブセットの1つに出入りするネットワークトラフィックフローデータパケットであるか否かを決定することを示す。操作1506は、操作1508に続いてよい。操作1508は、サブセットの1つのコンピューティングノードに出入りするネットワークトラフィックフローデータパケットであると決定されたデータパケットを記憶することを示す。ある実施形態においては、操作1502、1504、1506は、所定の時間間隔中に行われる。例えば、ネットワークトラフィックフローデータパケットは、1分間隔で記憶されてよい。
【0123】
操作1508は、操作1510に続いてよい。操作1510は、所定の時間の後、記憶したデータパケットをデータストアに移動することを示す。例えば、記憶されたデータパケットは、10分毎にデータストアに移動されてよい。操作1510は、操作1512に続いてよい。操作1512は、記憶されたデータパケットがデータストアに移動されると、通知を1つまたは複数の待ち行列に送ることを示す。例えば、
図13を参照すると、通知エンジン1350は、記憶されたネットワークトラフィックフロー情報を求めてストレージ1320にアクセスしてよいという通知を待ち行列1340に送ってよい。ある実施形態においては、1つまたは複数の待ち行列は、分散待ち行列として実施することができる。操作1512は、操作1514に続いてよい。操作1514は、以後の所定の時間、上述のデータパケットの受信、調査、及び、記憶を繰り返すことを示す。例えば、操作1504~1512は、10分間隔またはプロバイダネットワークによって設定された他の時間間隔で、繰り返されてよい。操作1514は、操作1516に続いてよい。操作1516は、1つまたは複数の待ち行列から待ち行列に入れられた通知を読み出すことと、待ち行列に入れられた通知に従ってデータストアのデータパケットにアクセスすることを示す。例えば、
図14を参照して、ネットワークフローパブリッシャ1440は、通知1470等のイベント通知によってトリガされるように構成されてよい。通知イベントを受信すると、ネットワークフローパブリッシャ1440は、ストレージから関連付けられたネットワークトラフィックフロー情報パーセルにアクセスして、パーセルに関する
図14のログ1450等のログを生成してよい。待ち行列内の通知は、先入れ/先出しに処理されてよく、その結果、記憶されたデータのパーセルは順に処理されてよい。ある実施形態において、1つまたは複数の待ち行列は、分散待ち行列として実施される場合、通知は、待ち行列の1つから読み出され、処理できる。
【0124】
操作1516は、操作1518に続いてよい。操作1518は、読み出されたデータパケットを処理して、プログラマチックインタフェースに提供するネットワークトラフィックフローデータを識別することを示す。操作1518は、操作1520に続いてよい。操作1520は、上述の処理を完了していない記憶されたデータパケットに関して1つまたは複数の待ち行列に通知を送ることを示す。例えば、ネットワークトラフィックフローデータの公開が、顧客のデータに関して設定されたセキュリティ設定によって顧客が防いだために、妨げられる場合がある。処理を完了していない記憶されたデータパケットに関して待ち行列に通知を保持することによって、処理を完了できるまで、または、最大のタイムアウトに達するまで、処理を完了する試みを繰り返すことができる。
【0125】
ある実施形態においては、データトラフィックは、ネットワークトラフィックフローデータを含んでよい。さらに、識別されたデータトラフィックをフィルタリングし、指示された顧客に公開するように構成されたパブリッシャコンポーネントによってアクセスを提供されてよい。通知は、ステータスパブリッシャコンポーネントによって送られてよい。ステータスパブリッシャコンポーネントは、入手されたデータトラフィックをデータストアに記憶することを示すものを受信し、パブリッシャコンポーネントに通知を送るように構成される。データストアは、入手したデータトラフィックを記憶するように構成された永続ストレージリソースであってよい。
【0126】
図16は、仮想コンピューティングリソースをプロバイダネットワークの顧客に割り当てるプロバイダネットワークのデータにアクセスを提供する操作手順例を示す。ある実施形態においては、ネットワークトラフィックフロー情報のイベント駆動型処理は、
図16に示す操作によって実施され、
図16に示す操作は、操作1600で、操作手順を開始する。操作1600は、操作1602に続いてよい。操作1602は、仮想コンピューティングリソースのネットワークトラフィックフローデータのタイムベースのグループを記憶することを示す。
【0127】
操作1602は、操作1604に続いてよい。操作1604は、タイムベースのグループを記憶すると、通知を提供することを示す。操作1604は、操作1606に続いてよく、操作1606は、通知の1つまたは複数を読み出すことを示す。操作1606は、操作1608に続いてよく、操作1608は、通知で識別されたタイムベースのグループを処理することを示す。処理操作は、関連付けられた仮想コンピューティングリソースのネットワークトラフィックフローデータの公開を要求した顧客に関連付けられたネットワークトラフィックフローデータの識別と公開とを含んでよい。
【0128】
ある実施形態においては、タイムベースのグループは、プロバイダネットワークによって規定された連続したタイムスロットに基づいて決定される。タイムベースのグループは、仮想コンピューティングリソースの選択されたサブセットに基づいて記憶されてよい。ネットワークトラフィックフローデータのタイムベースのグループは、入手されたデータトラフィックを記憶するように構成された永続ストレージリソースに記憶されてよい。さらに、仮想コンピューティングリソースの選択されたサブセットは、仮想コンピューティング能力のユニットであってよい。
【0129】
ある実施形態においては、通知は、1つまたは複数の待ち行列に記憶、及び、待ち行列から読み出される。処理は、データトラフィックが承認または拒絶されることを含んでよい。公開は、仮想コンピューティングリソース、ネットワークフローアナライザ、または、顧客指定のストレージの監視サービスに、処理されたネットワークトラフィックフローを利用可能にすることを含んでよい。公開は、ネットワークトラフィックフローデータをフィルタリングして、関連付けられた顧客に公開するように構成されたパブリッシャコンポーネントによって行われてよい。
【0130】
ある実施形態においては、選択されたサブセットは、仮想プライベートネットワーク、サブネット、または、仮想ネットワークインタフェースを含む。さらに、通知は、ステータスパブリッシャコンポーネントによって提供されてよく、ステータスパブリッシャコンポーネントは、入手されたネットワークトラフィックフローが記憶されたことを示すものを受信し、パブリッシャコンポーネントに通知を送るように構成される。
【0131】
本明細書で示した発明の主題は、コンピュータプロセス、コンピュータによって制御される装置、もしくは、コンピューティングシステム、または、コンピュータ可読記憶媒体等の製品として実施されてよいことを理解されたい。本明細書に記載の発明の主題は、1つまたは複数のコンピューティング装置で実行するプログラムモジュールの一般的な文脈で示されるが、他の実施態様は他のタイプのプログラムモジュールと組み合わせて行われてよいことを当業者は認識する。一般的には、プログラムモジュールは、ルーチン、プログラム、コンポーネント、データ構造、及び、特定のタスクを行う、もしくは、特定の抽象データタイプを実施する他のタイプの構造を含む。
【0132】
本明細書に記載の発明の主題は、マルチプロセッサシステム、マイクロプロセッサベースもしくはプログラマブル可能な家電、ミニコンピュータ、メインフレームコンピュータ、ハンドヘルドコンピュータ、パーソナルデジタルアシスタント、電子リーダ、携帯電話装置、特殊用途ハードウェア装置、ネットワークアプライアンス等を含む、本明細書に記載した以外の他のコンピュータシステム構成で、または、他のコンピュータシステム構成と共に実践してよいことを、当業者は理解する。本明細書に記載の実施形態は、分散コンピューティング環境で実践されてもよく、分散コンピューティング環境においては、タスクは、通信ネットワークを通してリンクされる遠隔処理装置によって行われる。分散コンピューティング環境においては、プログラムモジュールは、ローカル及び遠隔のメモリ記憶装置の両方に置かれてよい。
【0133】
インターネット及び/または他のネットワークを介して、分散したクライアントのセットがアクセス可能な1つまたは複数のサービス(様々なタイプのクラウドベースコンピューティングまたはストレージ等)を提供する会社または組織等のエンティティによって、または、エンティティのために確立されるネットワークは、プロバイダネットワークと呼ばれてよい。このようなプロバイダネットワークは、1つまたは複数のデータセンタを含んでよく、データセンタは、物理的及び/または仮想のコンピュータサーバ、記憶装置、ネットワーク機器等の集まり等、プロバイダネットワークによって提供されるインフラストラクチャ及びサービスの実施及び分散に使用してよい様々なリソースプールをホストする。リソースは、ある実施形態においては、仮想もしくは物理的コンピュータインスタンスもしくはストレージインスタンス等、「インスタンス」と呼ばれるユニットでクライアントに提供されてよい。仮想コンピューティングインスタンスは、例えば、指定の計算能力(CPUのタイプ及び数、メインメモリサイズ等を示すことによって指定されてよい)と、指定のソフトウェアスタック(例えば、ハイパーバイザに加えて実行してよいオペレーティングシステムの特定のバージョン)を有する1つまたは複数のサーバを含んでよい。
【0134】
多くの異なるタイプのコンピューティング装置は、単体でまたは組み合わせて使用されて、異なる実施形態で、汎用目的または特定用途のコンピュータサーバ、記憶装置、ネットワーク装置等も含む、プロバイダネットワークのリソースを実施してよい。ある実施形態においては、クライアントまたはユーザは、例えば、管理者ログイン及びパスワードをユーザに与えることによって、リソースインスタンスへの直接アクセスを提供されてよい。他の実施形態においては、プロバイダネットワークオペレータが、クライアントが、指定したクライアントアプリケーションの実行要件を指定するのを可能にし、アプリケーションに適した実行プラットフォーム(アプリケーションサーバインスタンス、Java(登録商標)仮想マシン(JVM)、汎用もしくは特定用途オペレーティングシステム、Ruby、Perl、Python、C、C++等、様々なインタープリタ型もしくはコンパイル型プログラミング言語を支援するプラットフォーム、または、高性能コンピューティングプラットフォーム等)上でクライアントのためにアプリケーションの実行をスケジュールしてよい。これは、例えば、クライアントがインスタンスまたは実行プラットフォームに直接アクセスすることを必要とせず、行われてよい。所与の実行プラットフォームは、ある実施態様においては、1つまたは複数のリソースインスタンスを利用してよく、他の実施態様においては、複数の実行プラットフォームが、1つのリソースインスタンスにマップされてよい。
【0135】
図17は、本明細書に記載の実施形態を実施してよいコンピューティング環境の例を示す。
図17は、データセンタ1710の例を概略的に示す図である。データセンタ1710は、通信ネットワーク1730を通してユーザコンピュータ1707a、1707b(単数の「コンピュータ1707」または複数の「コンピュータ1707」と本明細書で呼ばれてよい)を介して、ユーザ1700a、1700b(単数の「ユーザ1700」、または、複数の「ユーザ1700」と本明細書で呼ばれてよい)にコンピューティングリソースを提供できる。データセンタ1710は、常設で、または、必要に応じて、アプリケーションを実行するコンピューティングリソースを提供するように構成されてよい。データセンタ1710によって提供されたコンピューティングリソースは、データ処理リソース、データストレージリソース、データ通信リソース等、様々なタイプのリソースを含んでよい。コンピューティングリソースの各タイプは、汎用であってもよく、または、多くの特定の構成で利用可能であってよい。例えば、データ処理リソースは、仮想マシンインスタンスとして利用可能であってよい。インスタンスは、ウェブサーバ、アプリケーションサーバ、メディアサーバ、データベースサーバ等を含む、アプリケーションを実行するように構成されてよい。データストレージリソースは、ファイル記憶装置、ブロック記憶装置等を含んでよい。
【0136】
コンピューティングリソースの各タイプまたは構成は、多くのプロセッサ、大量のメモリ、及び/または、大記憶容量からなる大規模リソース、及び、より少ないプロセッサ、より少量のメモリ、及び/または、より少量の記憶容量からなる小規模リソース等、異なるサイズで利用可能であってよい。顧客は、例えば、ウェブサーバのような多くの小規模処理リソース、及び/または、データベースサーバのような1つの大規模処理リソースを割り当てることを選択してよい。
【0137】
データセンタ1710は、仮想マシンインスタンス1718a、1718bとして利用可能なコンピューティングリソース(単数の「仮想マシンインスタンス1718」または複数の「仮想マシンインスタンス1718」と本明細書で呼ばれてよい)を提供するサーバ1716a、1716b(単数の「サーバ1716」または複数の「サーバ1716」と本明細書で呼ばれてよい)を含んでよい。仮想マシンインスタンス1718は、ウェブサーバ、アプリケーションサーバ、メディアサーバ、データベースサーバ等を含む、アプリケーションを実行するように構成されてよい。提供されてよい他のリソースは、データストレージリソース(図示せず)を含み、ファイル記憶装置、ブロック記憶装置等を含んでよい。
【0138】
図17を参照すると、通信ネットワーク1730は、インターネット等、例えば、リンクされたネットワークにパブリックにアクセス可能なネットワークであってよく、様々な個別のパーティによって操作可能であってよい。他の実施形態においては、通信ネットワーク1730は、権利の無いユーザは全体的にも部分的にもアクセスできない、例えば、会社または大学ネットワーク等のプライベートネットワークであってよい。さらに他の実施形態においては、通信ネットワーク1730は、インターネットへのアクセス及び/またはインターネットからのアクセスを有する1つまたは複数のプライベートネットワークを含んでよい。
【0139】
通信ネットワーク1730は、コンピュータ1707にアクセスを提供してよい。コンピュータ1707は、データセンタ1710の顧客1700または他の顧客によって利用されるコンピュータであってよい。例えば、ユーザコンピュータ1707aまたは1707bは、サーバ、デスクトップもしくはラップトップパーソナルコンピュータ、タブレットコンピュータ、無線電話、パーソナルデジタルアシスタント(PDA)、電子ブックリーダ、ゲームコンソール、セットトップボックス、または、データセンタ1710にアクセスできる任意の他のコンピューティング装置であってよい。ユーザコンピュータ1707aまたは1707bは、(例えば、ケーブルモデムまたはデジタル加入者回線(DSL)を介して)インターネットに直接、接続してよい。2つのユーザコンピュータ1707a、1707bのみを示しているが、複数のユーザコンピュータがあってよいことを理解すべきである。
【0140】
ユーザコンピュータ1707を利用して、データセンタ1710によって提供されたコンピューティングリソースの態様を構成してもよい。この点で、データセンタ1710は、ウェブインタフェースを提供してよく、ウェブインタフェースを介して、操作の態様を、ユーザコンピュータ1707上で実行しているウェブブラウザアプリケーションプログラムを使用して構成してよい。あるいは、ユーザコンピュータ1707で実行しているスタンドアロンアプリケーションプログラムは、設定操作を行うために、データセンタ1710によって呈示されるアプリケーションプログラミングインタフェース(API)にアクセスしてよい。アプリケーションに更新をデプロイすることを含む、データセンタ1710の操作を構成する他の機構も利用してよい。
【0141】
図17に示すサーバ1716a及び1716bは、上記コンピューティングリソースを提供するために適切に構成された標準サーバであってよく、1つまたは複数のアプリケーションを実行するコンピューティングリソースを提供してよい。一実施形態においては、コンピューティングリソースは、仮想マシンインスタンス1718であってよい。仮想マシンインスタンスの例においては、各サーバ1716は、仮想マシンインスタンスを実行できるインスタンスマネージャ1770aまたは1770b(本明細書では、単数の「インスタンスマネージャ1770」または複数の「インスタンスマネージャ1770」と呼ばれてよい)を実行するように構成されてよい。インスタンスマネージャ1770は、例えば、サーバ1716上で仮想マシンインスタンス1718の実行を有効にするように構成された仮想マシンモニタ(VMM)または他のタイプのプログラムであってよい。上記のように、各仮想マシンインスタンス1718は、アプリケーションの全てまたは一部を実行するように構成されてよい。
【0142】
上記開示の実施形態は、仮想マシンインスタンスの文脈で検討しているが、他のタイプの実施態様が本明細書に開示の概念及び技術を用いて利用できることを理解されたい。例えば、本明細書に開示の実施形態は、仮想マシンインスタンスを利用しないコンピューティングシステムと共に利用されてもよい。
【0143】
図17に示すデータセンタ1710の例において、ルータ1714を利用して、サーバ1716aと1716bを相互に接続してよい。ルータ714は、ゲートウェイ1740にも接続されてよく、ゲートウェイ1740は、通信ネットワーク1730に接続される。ルータ1714は、データセンタ1710のネットワーク内の通信を、例えば、このような通信の特性(例えば、送信元アドレス及び/または宛先アドレス、プロトコル識別子等を含むヘッダ情報)、及び/または、プライベートネットワークの特性(例えば、ネットワークトポロジ等に基づいたルート)に基づいて適切に、パケットまたは他のデータ通信を転送することによって、管理してよい。簡単にするために、この例のコンピューティングシステム及び他の装置の様々な態様を、従来の詳細を一部示すことなく図示していることは理解される。追加のコンピューティングシステム及び他の装置は、他の実施形態においては、相互接続されてよく、異なる方法で相互接続されてよい。
【0144】
図17に示すネットワークトポロジは大幅に簡略化されており、本明細書に開示の様々なコンピューティングシステムを相互接続するためにより多くのネットワーク及びネットワーク装置を利用してよいことは理解されたい。これらのネットワークトポロジと装置は、当業者には明らかであろう。
【0145】
図17に記載のデータセンタ1710は、単に説明のためであり、他の実施態様を利用してよいことも理解されたい。さらに、本明細書に開示の機能は、ソフトウェア、ハードウェア、または、ソフトウェアとハードウェアの組み合わせで実施されてよいことは理解されたい。他の実施態様は、当業者には明らかである。サーバ、ゲートウェイ、または、他のコンピューティング装置は、デスクトップもしくは他のコンピュータ、データベースサーバ、ネットワーク記憶装置及び他のネットワーク装置、PDA、タブレット、携帯電話、無線電話、ポケットベル(登録商標)、電子手帳、インターネット家電、テレビベースのシステム(例えば、セットトップボックス、及び/または、パーソナル/デジタルビデオレコーダを用いた)、及び、適切な通信能力を備える様々な他の消費者製品を含むが、これらに限らない、インタラクトして記載したタイプの機能を行うハードウェアまたはソフトウェアの任意の組み合わせを含んでよいことも理解されたい。さらに、図示のモジュールが提供する機能は、ある実施形態においては、より少ないモジュールで組み合わされてよく、または、追加のモジュールで分散されてよい。同様に、ある実施形態においては、図示したモジュールのある機能は、備えなくてもよく、及び/または、他の追加の機能が利用可能であってよい。
【0146】
プロバイダネットワークは、顧客がコンピューティングリソースの新しいインスタンスをデプロイするのを支援するデプロイメントコンポーネントを用いて構成されてよい。デプロイメントコンポーネントは、新しいインスタンスをどのように構成すべきかを記述するデータを含む構成を顧客から受信してよい。例えば、構成は、新しいインスタンスでインストールすべき1つまたは複数のアプリケーションまたはソフトウェアコンポーネントを指定し、新しいインスタンスで実行すべきスクリプト及び/または他のタイプのコードを提供し、アプリケーションキャッシュをどのように準備すべきかを指定するキャッシュウォーミングロジックと、他のタイプの情報を提供してよい。デプロイメントコンポーネントは、顧客が提供した構成とキャッシュウォーミングロジックを利用して、コンピューティングリソースの新しいインスタンスを開始、構成、準備する。
【0147】
少なくともある実施形態においては、ネットワークトラフィックフロー情報のイベント駆動型処理のシステムの機能を実施する技術を含む、本明細書に記載の技術の1つまたは複数の一部または全てを実施するコンピューティング装置は、1つまたは複数のコンピュータアクセス可能な媒体を含む、または、当該媒体にアクセスするように構成された汎用コンピュータシステムを含んでよい。
図18は、このような汎用コンピューティング装置1800を示す。図示の実施形態において、コンピューティング装置1800は、入力/出力(I/O)インタフェース1880を介してシステムメモリ1820に接続された1つまたは複数のプロセッサ1810a、1810b、及び/または、1810n(本明細書では単数の「プロセッサ1810」または複数の「プロセッサ1810」と呼ばれてよい)を含む。コンピューティング装置1800は、I/Oインタフェース1880に接続されたネットワークインタフェース1840をさらに含む。
【0148】
様々な実施形態において、コンピューティング装置1800は、1つのプロセッサ1810を含むユニプロセッサシステム、または、数個のプロセッサ1810(例えば、2つ、4つ、8つ、または、他の適切な数)を含むマルチプロセッサシステムであってよい。プロセッサ1810は、命令を実行可能な任意の適切なプロセッサであってよい。例えば、様々な実施形態において、プロセッサ1810は、x86、PowerPC、SPARCもしくはMIPS ISA、または、任意の他の適切なISA等、様々な命令セットアーキテクチャ(ISA)のいずれかを実施する汎用または組み込みプロセッサであってよい。マルチプロセッサシステムにおいて、各プロセッサ1810は、必ずではないが、通常、同じISAを実施してよい。
【0149】
システムメモリ1820は、プロセッサ(複数可)1810によってアクセス可能な命令及びデータを記憶するように構成されてよい。様々な実施形態において、システムメモリ1820は、スタティックランダムアクセスメモリ(SRAM)、同期型ダイナミックRAM(SDRAM)、不揮発/フラッシュタイプメモリ、または、任意の他のタイプのメモリ等、任意の適切なメモリ技術を用いて実施されてよい。図示の実施形態において、上記方法、技術、及び、データ等、1つまたは複数の所望の機能を実施するプログラム命令及びデータは、コード1825及びデータ1826としてシステムメモリ1820内に記憶されて示される。
【0150】
一実施形態においては、I/Oインタフェース1880は、ネットワークインタフェース1840または他の周辺インタフェースを含む、装置のプロセッサ1810、システムメモリ1820、及び、任意の周辺機器間のI/Oトラフィックを調整するように構成されてよい。ある実施形態においては、I/Oインタフェース1880は、任意の必要なプロトコル、タイミング、または、他のデータ変換を行って、1つのコンポーネント(例えば、システムメモリ1820)からデータ信号を、他のコンポーネント(例えば、プロセッサ1810)が使用するのに適したフォーマットに変換してよい。ある実施形態においては、I/Oインタフェース1880は、例えば、ペリフェラルコンポーネントインターコネクト(PCI)バス規格またはユニバーサルシリアルバス(USB)規格の変形等、様々なタイプの周辺機器用バスを通して取り付けられた装置のサポートを含んでよい。ある実施形態においては、I/Oインタフェース1880の機能は、例えば、ノースブリッジ及びサウスブリッジ等の2つ以上の別個のコンポーネントに分割されてよい。また、ある実施形態においては、システムメモリ1820へのインタフェース等、I/Oインタフェース1880の機能の一部または全ては、プロセッサ1810に直接、組み込まれてよい。
【0151】
ネットワークインタフェース1840は、例えば、
図11~
図18に示す他のコンピュータシステムまたは装置等、コンピューティング装置1800と、ネットワーク(複数可)1850に取り付けられた他の装置(複数可)1860との間でデータを交換できるように構成されてよい。様々な実施形態において、ネットワークインタフェース1840は、例えば、イーサネット(登録商標)ネットワークのタイプ等、任意の適切な有線または無線の一般的データネットワークを介して、通信を支援してよい。さらに、ネットワークインタフェース1840は、アナログ音声ネットワークまたはデジタルファイバ通信ネットワーク等のテレコミュニケーション/テレフォニネットワークを介して、ファイバチャネルSAN等のストレージエリアネットワークを介して、または、任意の他の適切なタイプのネットワーク及び/またはプロトコルを介して、通信をサポートしてよい。
【0152】
ある実施形態においては、システムメモリ1820は、対応する方法及び装置の実施形態を実施するために、
図11及び
図12で上述したプログラム命令及びデータを記憶するように構成されたコンピュータアクセス可能な媒体の一実施形態であってよい。しかしながら、他の実施形態においては、プログラム命令及び/またはデータは、異なるタイプのコンピュータアクセス可能な媒体に、受信され、送信され、または、記憶されてよい。一般的に言うと、コンピュータアクセス可能な媒体は、磁気もしくは光学媒体等の非一時的記憶媒体またはメモリ媒体、例えば、I/Oインタフェース1880を介してコンピューティング装置1800に接続されたディスクまたはDVD/CDを含んでよい。非一時的コンピュータアクセス可能記憶媒体は、システムメモリ1820または他のタイプのメモリとしてコンピューティング装置800のある実施形態に含まれてよいRAM(例えば、SDRAM、DDR SDRAM、RDRAM、SRAM等)、ROM等の任意の揮発性または不揮発性媒体も含んでよい。さらに、コンピュータアクセス可能な媒体は、ネットワークインタフェース1840を介して実施されてよいもの等、ネットワーク及び/または無線リンク等の通信媒体を介して伝送される電子、電磁、または、デジタル信号等、伝送媒体または信号を含んでよい。
図18に示すコンピューティング装置等、複数のコンピューティング装置の一部または全てを使用して、様々な実施形態において、記載の機能を実施してよい。例えば、様々な異なる装置及びサーバで実行しているソフトウェアコンポーネントは、コラボレートして機能を提供してよい。ある実施形態においては、記載の機能の一部は、汎用コンピュータシステムを用いて実施されるものに加えて、または、その代わりに、記憶装置、ネットワーク装置、または、特殊用途のコンピュータシステムを用いて実施されてよい。用語「コンピューティング装置」は、本明細書においては、これらのタイプの装置の少なくとも全てを指し、これらのタイプの装置に限定されない。
【0153】
インターネット及び/または他のネットワークを介してアクセス可能な1つまたは複数のサービス(様々なタイプのクラウドベースコンピューティングまたはストレージ等)を分散したクライアントのセットに提供する、会社または公共機関等のエンティティによって設定されたネットワークは、プロバイダネットワークと呼ばれてよい。このようなプロバイダネットワークは、多くのデータセンタを含んでよく、データセンタは、プロバイダネットワークによって供給されたインフラストラクチャ及びサービスを実施及び分散するのに必要な物理的及び/または仮想コンピュータサーバ、記憶装置、ネットワーク機器等の集まり等、様々なリソースプールをホストする。リソースは、ある実施形態においては、仮想もしくは物理的コンピューティングインスタンスまたはストレージインスタンス等、インスタンスと呼ばれるユニットでクライアントに提供されてよい。仮想コンピューティングインスタンスは、例えば、指定された計算能力(CPU、メインメモリサイズ等のタイプと数等を示すことによって指定されてよい)と指定されたソフトウェアスタック(例えば、ハイパーバイザに加えて実行してよいオペレーティングシステムの特定のバージョン)とを含んでよい。
【0154】
多くの異なるタイプのコンピューティング装置は、単体で、または、組み合わせて使用して、汎用もしくは特定用途コンピュータサーバ、記憶装置、ネットワーク装置等を含む、異なる実施形態においてプロバイダネットワークのリソースを実施してよい。ある実施形態においては、クライアントまたはユーザは、例えば、管理者ログインとパスワードをユーザに与えることによって、リソースインスタンスへの直接アクセスを提供されてよい。他の実施形態においては、プロバイダネットワークオペレータが、クライアントが、指定したクライアントアプリケーションの実行要件を指定するのを可能にし、例えば、クライアントがインスタンスまたは実行プラットフォームに直接アクセスすることを必要とせずに、アプリケーションに適した実行プラットフォーム(アプリケーションサーバインスタンス、Java(登録商標)仮想マシン(JVM)、汎用もしくは特定用途オペレーティングシステム、Ruby、Perl、Python、C、C++等、様々なインタープリタ型もしくはコンパイル型プログラミング言語を支援するプラットフォーム、または、高性能コンピューティングプラットフォーム等)上でクライアントのためにアプリケーションの実行をスケジュールしてよい。所与の実行プラットフォームは、ある実施態様においては、1つまたは複数のリソースインスタンスを利用してよく、他の実施態様においては、複数の実行プラットフォームが、1つのリソースインスタンスにマップされてよい。
【0155】
多くの環境において、異なるタイプの仮想コンピューティング、ストレージ、及び/または、他のネットワークアクセス可能な機能を実施するプロバイダネットワークのオペレータは、顧客が、様々なリソース獲得モードで、リソースへのアクセスを予約または購入するのを可能にしてよい。コンピューティングリソースプロバイダは、顧客が、所望のコンピューティングリソースを選択、開始し、アプリケーションコンポーネントをコンピューティングリソースにデプロイし、環境で実行するアプリケーションを維持する設備を提供してよい。さらに、コンピューティングリソースプロバイダは、アプリケーションの需要または容量要件が変わると、手動で、または、自動スケーリングを介して、顧客が、アプリケーションに割り当てられたリソースの数とタイプを素早く、容易にスケールアップまたはスケールダウンするための追加の設備を提供してよい。コンピューティングリソースプロバイダによって提供されるコンピューティングリソースは、個別のユニットで利用可能にされてよく、個別のユニットは、インスタンスと呼ばれてよい。インスタンスは、物理サーバハードウェアプラットフォーム、サーバ上で実行する仮想マシンインスタンス、または、これら2つの何らかの組み合わせを表してよい。異なるオペレーティングシステム(OS)及び/またはハイパーバイザを実行する異なるサイズのリソースを含み、様々なインストールされたソフトウェアアプリケーション、ランタイム等を有するインスタンスの様々なタイプ及び構成が、利用可能にされてよい。インスタンスは、例えば、基礎となるコンピューティングハードウェアのデータセンタまたは他の地理的位置を表す特定のアベイラビリティゾーンで、さらに利用可能であってよい。
【0156】
ある実施形態においては、プロバイダネットワークは、複数の地理的リージョンに組織されてよく、各リージョンは、1つまたは複数のアベイラビリティゾーンを含んでよい。そして、アベイラビリティゾーン(アベイラビリティコンテナとも呼ばれてよい)は、所与のアベイラビリティゾーンのリソースを他のアベイラビリティゾーンの故障から分離または隔離し得るように構成された1つまたは複数の個別の位置またはデータセンタを含んでよい。すなわち、1つのアベイラビリティゾーンの故障が、他のアベイラビリティゾーンのいずれにも故障を生じさせないと考えられる。従って、リソースインスタンスのアベイラビリティプロファイルは、異なるアベイラビリティゾーンのリソースインスタンスのアベイラビリティプロファイルから独立するように意図される。クライアントは、各アベイラビリティゾーンで複数のアプリケーションインスタンスを開始することによって、1つの位置の故障からクライアントのアプリケーションを保護できてよい。同時に、ある実施態様においては、安価で低遅延のネットワーク接続が、同じ地理的リージョンにあるリソースインスタンス間で提供されてよく、(また、同じアベイラビリティゾーンのリソース間のネットワーク送信は、さらに速くてよい)。
【0157】
プロバイダネットワークは、インスタンスを「オンデマンドで」利用可能にしてよく、顧客は、特定のタイプ及び構成(例えば、サイズ、プラットフォーム、テナンシ、アベイラビリティゾーン等)の多くのインスタンスを選択し、デプロイメントのインスタンスをすぐに開始できる。需要または容量要件が経時的に変化すると、オンデマンドインスタンスは、必要に応じて、手動または自動スケーリングを通して自動で、さらに追加または削除されてよい。顧客は、例えば、操作時間数、及び/または、実際に利用されるリソースに基づいて、顧客のオンデマンドインスタンスに関連する存続中の使用コストを負担してよい。
【0158】
コンピューティングリソースプロバイダは、予約済みインスタンスを顧客に利用可能にしてもよい。予約済みインスタンスは、例えば、インスタンスが開始される場合、及び、開始される時、時間毎または他の使用コストが低減されることと引き替えに、低額の前払い費用で、多くの特定のタイプ及び構成のインスタンスを、1年または3年等の一定期間、予約しておく能力を顧客に提供してよい。これによって、顧客が、需要増加に応答してデプロイされたアプリケーションをスケールアップすることに関連する費用を遅らせるのを可能にしながら、必要な時に、適切なリソースが利用可能であることを保証する。予約済みインスタンスが、顧客のアプリケーションをスケーリングするための信頼できる予備能力を顧客に提供しながら、予約済みインスタンスの購入は、また、特定のアベイラビリティゾーンの特定の数、タイプ、及び/または、構成のコンピューティングリソースに、所望するより長い期間、顧客を固定し得る。アプリケーションの技術的アーキテクチャまたはニーズが変化する場合、顧客は、予約済みインスタンスへの顧客の投資に対して利益を実感できない場合がある。
【0159】
このようなプロバイダネットワークのオペレータは、クライアントのためにリソースの予約、制御、及び、アクセスのためのインタフェースの柔軟なセットを実施する場合があってよい。例えば、プロバイダネットワークのリソースマネージャは、クライアントが、リソースインスタンスを知り、選択し、リソースインスタンスへのアクセスを購入し、及び/または、予約するのを可能にするプログラム的リソース予約インタフェースを(例えば、ウェブサイトまたはウェブページのセットを介して)実施してよい。以下に記載の実施形態においては、リソースマネージャまたはプライシングオプティマイザ等のエンティティが、ウェブページもしくはAPI等の1つまたは複数のプログラマチックインタフェースを実施するとして記載され、そのエンティティのインタフェースマネージャサブコンポーネントが、インタフェース関連の機能を担当してよい。多くの実施形態においては、同等のインタフェース関連の機能は、リソースマネージャの外部で、別個またはスタンドアロンインタフェースマネージャによって実施されてよい。このようなインタフェースは、リソースカタログと詳細、支援されるリソースの異なるタイプもしくはサイズの仕様、支援される異なる予約タイプもしくはモード、価格モデル等の閲覧を可能にする能力を含んでよい。
【0160】
図19等のある実施形態においては、データセンタ1900は、共有コンピューティングリソース及び/または共有インフラストラクチャの集まりと考えられてよい。例えば、
図19に示すように、データセンタ1900は、仮想マシンスロット1904、物理ホスト1902、電源1906、ルータ1908、分離帯1910、及び、地理的位置1912を含んでよい。仮想マシンスロット1904は、スロットまたはリソーススロットと呼ばれてよい。物理ホスト1902は、複数の仮想マシンスロット904によって共有されてよく、各スロット1904は、ゲストドメイン等の仮想マシンをホストできる。複数の物理ホスト1902は、サーバラックに備えられた電源1906等、電源1906を共有してよい。ルータ1908は、数個の電源1906を通して複数の物理ホスト1902のために働き、ネットワークトラフィックをルーティングしてよい。分離帯1910は、多くのルータ1908のために働いてよい。分離帯1910は、バックアップ発電機等、冗長リソースによって提供され得るコンピューティングリソースグループである。分離帯1910は、データセンタ1900等の地理的位置1912に存在してよい。プロビジョニングサーバ1914は、メモリ及びプロセッサを含んでよく、メモリ及びプロセッサは、計算において決定された役割と共有リソース/インフラストラクチャを使用してユーザデータを分析し、利用可能な実施リソースをランク付けする命令を用いて構成される。プロビジョニングサーバ1914は、コンピューティングリソースのプロビジョニング及びデプロビジョニングのワークフローと、コンピューティングリソースの健全性及び/または故障検出のワークフローも管理してよい。
【0161】
プロビジョニングサーバ1914は、データセンタ内のリソースの配置を決定してよい。ある実施形態においては、この配置は、利用可能なコンピューティングリソース、及び/または、コンピューティングリソース間の関係に少なくとも部分的に基づいてよい。一実施形態においては、リソース間の距離は、共有リソースの程度によって測定されてよい。この距離は、役割に従ったリソースのランク付けに使用されてよい。例えば、第2のシステムとルータ1908を共有するホスト1902上の第1のシステムは、分離帯1910のみを共有している第3のシステムより第2のシステムに近くてよい。アプリケーションに応じて、スループットを増加させるほど小さく、または、耐久性を向上させるほど大きい距離を保つことが望ましい。他の実施形態においては、距離は、共有されていないリソースの観点から決定されてよい。例えば、ルータ1908を共有する2つのスロット1904は、物理ホスト1902と電源1906の距離を有してよい。リソースの各相違は、距離計算において異なるように重み付けされてよい。
【0162】
クライアントアカウントに準備したリソースを転送することを選択すると、配置計算も選択されてよい。一実施形態においては、クライアントは、オペレーティングシステムを有する仮想マシンを要求する。プロビジョニングサーバ1914は、要求はスロット1904の段階的ボリュームで満たされてよいことを決定してよい。どのインフラストラクチャを共有するのが望ましいか、及び、どのインフラストラクチャを共有するのが望ましくないかを決定する配置決定を行ってよい。配置決定を用いて、配置決定特性の少なくとも一部を満足させる段階的ボリュームが、利用可能なリソースのプールから選択されてよい。例えば、段階的ボリュームのプールは、クラスタコンピューティング設定で使用されてよい。新しいボリュームが要求されると、プロビジョニングサーバ1914は、待ち時間を懸念すると、他の既存のボリュームの近くの配置が望ましいと決定してよい。従って、決定によって、ルータ1908の共有は望ましいが、電源1906と物理ホスト1902の共有は望ましくないことが分かる。次に、これらの属性に一致するボリュームがプール内から選択されてよく、他のボリュームと同じルータ1908上で、同じでない物理ホスト1902や電源1906上に配置されることが望ましい。共有されるデータベースに関する配置決定等、配置決定の他の例においては、インフラストラクチャの共有は、あまり望ましくなく、他の関連するボリュームと共通のインフラストラクチャが少ないボリュームが選択されてよい。
【0163】
上記の項に記載のプロセス、方法、及び、アルゴリズムは、それぞれ、1つまたは複数のコンピュータまたはコンピュータプロセッサによって実行されるコードモジュールで具体化され、コードモジュールによって完全に、または、部分的に自動化されてよい。コードモジュールは、ハードドライブ、ソリッドステートメモリ、光学ディスク等の任意の種類の非一時的コンピュータ可読媒体またはコンピュータ記憶装置上に記憶されてよい。プロセス及びアルゴリズムは、特定用途向け回路で部分的または完全に実施されてよい。開示のプロセス及びプロセスのステップの結果は、例えば、揮発性または不揮発性のストレージ等、任意の種類の非一時的コンピュータストレージに永続的に、または、他の方法で記憶されてよい。
【0164】
上記様々な特徴及びプロセスは、互いに独立して使用されてよく、または、様々な形で組み合わされてよい。全ての可能なコンビネーション及びサブコンビネーションは、開示の範囲内にあることを意図している。さらに、一定の方法またはプロセスのブロックは、ある実施態様においては、省略されてよい。本明細書に記載の方法及びプロセスは、また、任意の特定のシーケンスに限らず、方法及びプロセスに関するブロックまたは状態は、適切な他のシーケンスで行うことができる。例えば、記載のブロックまたは状態は、具体的に開示した順序と異なる順序で行われてよく、複数のブロックまたは状態は、1つのブロックまたは状態に組み合わされてよい。例示のブロックまたは状態は、直列、並列、または、何らかの他の方法で行われてよい。ブロックまたは状態が、開示の実施形態の例に追加または、例から取り除かれてよい。本明細書に記載のシステム及びコンポーネントの例は、記載と異なるように構成されてよい。例えば、要素は、開示の実施形態例に追加されてよく、実施形態例から取り除かれてよく、または、実施形態例と比較して位置を変えられてよい。
【0165】
様々な項目は、使用されながら、メモリ内またはストレージ上に記憶されていることが示されており、これらの項目またはその一部は、メモリ管理及びデータ整合性の目的で、メモリと他の記憶装置間で転送されてよいことも理解される。あるいは、他の実施形態においては、ソフトウェアモジュール及び/またはシステムの一部または全ては、他の装置上のメモリで実行してよく、コンピュータ間通信を介して図示のコンピューティングシステムと通信してよい。さらに、ある実施形態においては、システム及び/またはモジュールの一部または全ては、1つまたは複数の特定用途向け集積回路(ASIC)、標準的集積回路、コントローラ(例えば、適切な命令を実行し、マイクロコントローラ及び/または組込コントローラを含むことによって)、フィールドプログラマブルゲートアレイ(FPGA)、結合プログラム可能論理デバイス(CPLD)等を含むが、これらに限らないファームウェア及び/またはハードウェアで少なくとも部分的に等、他の方法で実施または提供されてよい。モジュール、システム、及び、データ構造の一部または全ては、ハードディスク、メモリ、ネットワーク、または、適切なドライブによって、または、適切な接続を介して読み取られるポータブルメディア製品等のコンピュータ可読媒体に、(例えば、ソフトウェア命令または構造化データとして)記憶されてもよい。システム、モジュール、及び、データ構造は、無線ベース、及び、有線/ケーブルベースの媒体を含む様々なコンピュータ可読伝送媒体で、生成されたデータ信号として(例えば、搬送波または他のアナログもしくはデジタル伝搬信号として)送信されてもよく、様々な形態(例えば、単一のまたは多重化アナログ信号の一部として、または、複数の別個のパケットもしくはフレームとして)をとってよい。このようなコンピュータプログラム製品は、他の実施形態においては、他の形態もとってよい。従って、本発明は、他のコンピュータシステム構成を用いて実践されてよい。
【0166】
「can」「could」「might」「may」「e.g.,」等、本明細書で使用される条件語は、明確に記載の無い限り、または、使用される文脈内で別の意味に理解されない限り、一定の実施形態は、一定の特徴、要素、及び/または、ステップを含み、他の実施形態は、一定の特徴、要素、及び/または、ステップを含まないことを伝えることを一般的に意図している。従って、このような条件語は、一般的に、特徴、要素、及び/または、ステップが、1つまたは複数の実施形態に必ず必要とされることを示すことを意図してはおらず、また、1つまたは複数の実施形態が、オーサーの入力またはプロンプトのある無しに関わらず、これらの特徴、要素、及び/または、ステップが任意の特定の実施形態に含まれるまたは任意の特定の実施形態で行われるか否かを決定するロジックを必ず含むことを意図してもいない。用語「comprising(含む)」「including(含む)」「having(有する)」等は、同義語であり、オープンエンドの形で包括的に使用され、追加の要素、特徴、行為、操作等を排除しない。また、「or(または、若しくは)」という語は、(排他的な意味でなく)包括的な意味で使用されて、例えば、要素のリストの接続に使用されると、「or」という語は、リストの要素の1つ、一部、または、全てを意味する。
【0167】
一定の例の実施形態を記載したが、これらの実施形態は、例示のためにのみ示しており、本明細書に開示の範囲を制限する意図はない。従って、上記記載のどれも、任意の特定の特徴、特性、ステップ、モジュール、または、ブロックが必要または不可欠であることを意味してはいない。実際、本明細書に記載の新規の方法及びシステムは、様々な他の形で具体化されてよく、さらに、本明細書に記載の方法及びシステムの形態の様々な省略、置き換え、及び、変更は、本明細書に開示の発明の精神を逸脱することなく行われてよい。添付の請求項及びその同等物は、本明細書に開示の発明の一部の範囲及び精神に該当するこのような形態及び修正を含むものとする。
【0168】
本開示の実施形態は、以下の条項を考慮して記載できる。
1.ネットワークを介して通信する複数のコンピューティングノードにネットワークトラフィックフローデータを提供する方法であって、前記コンピューティングノードは、それぞれ、複数の仮想マシンを含み、
前記コンピューティングノードのサブセットを監視するために情報を受信することと、
所定の時間間隔の間、
前記ネットワークを介して送られるデータパケットを受信すること、
前記データパケットを検査して、前記データパケットが、前記コンピューティングノードのサブセットのうちの1つに入るまたは出るネットワークトラフィックフローデータパケットであるか否かを決定すること、及び、
前記サブセットの前記1つのコンピューティングノードに入るまたは出るネットワークトラフィックフローデータパケットであると決定されたデータパケットを記憶することと、
所定の時間の後、前記記憶されたデータパケットをデータストアに移動させることと、
前記記憶されたデータパケットが前記データストアに移動されると、1つまたは複数の待ち行列に通知を送ることと、
データパケットの前記受信、検査、及び、記憶をその後の所定時間、繰り返すことと、
前記1つまたは複数の待ち行列から前記通知を読み出して、前記通知に従って、前記データストアの前記データパケットにアクセスすることと、
前記読み出したデータパケットを処理して、プログラマチックインタフェースに提供されるネットワークトラフィックフローデータを識別することと、
前記処理が完了しなかった記憶されたデータパケットに関して前記1つまたは複数の待ち行列に通知を送ることと、
を含む、前記方法。
【0169】
2.前記所定の時間間隔は、前記所定の時間のサブセットである、条項1に記載の方法。
【0170】
3.前記識別されたデータトラフィックをフィルタリング及び公開することをさらに含む、条項1または2に記載の方法。
【0171】
4.前記記憶されたデータパケットが前記データストアに移動したことを示すものに応答して、前記通知が送られる、条項1~3のいずれかに記載の方法。
【0172】
5.前記1つまたは複数の待ち行列は、分散待ち行列として実施される、条項1~4のいずれかに記載の方法。
【0173】
6.プロバイダネットワークの顧客に仮想コンピューティングリソースを割り当てる前記プロバイダネットワークのデータにアクセスを提供するように構成されたシステムにおいて、前記システムは、
コンピュータ命令を記憶する少なくとも1つのメモリを備え、前記コンピュータ命令は、前記システムの1つまたは複数のプロセッサによって実行されると、前記システムに、少なくとも、
前記仮想コンピューティングリソースのネットワークトラフィックフローデータのタイムベースのグループを記憶させ、
前記タイムベースのグループが記憶されると、通知を提供させ、
前記通知の1つまたは複数を読み出し、前記1つまたは複数の通知で識別された前記タイムベースのグループを処理させ、前記処理は、関連付けられた仮想コンピューティングリソースに前記ネットワークトラフィックフローデータの公開を要求したユーザに関連付けられたネットワークトラフィックフローデータを識別、公開することを含む、
前記システム。
【0174】
7.前記タイムベースのグループは、前記プロバイダネットワークによって規定された一連の連続したタイムスロットに基づいて決定される、条項6に記載のシステム。
【0175】
8.前記タイムベースのグループは、前記仮想コンピューティングリソースの選択されたサブセットに基づいて記憶される、条項6または7に記載のシステム。
【0176】
9.前記仮想コンピューティングリソースの前記選択されたサブセットは、仮想コンピューティング能力のユニットである、条項8に記載のシステム。
【0177】
10.前記通知は、1つまたは複数の待ち行列に記憶され、前記待ち行列から読み出される、条項6~9のいずれかに記載のシステム。
【0178】
11.前記処理は、承認または拒絶されたデータトラフィックの識別を含む、条項6~10のいずれかに記載のシステム。
【0179】
12.前記公開は、前記処理されたグループを、前記仮想コンピューティングリソースの監視サービス、ネットワークフローアナライザ、または、顧客定義のストレージの1つまたは複数に利用可能にすることを含む、条項6~11のいずれかに記載のシステム。
【0180】
13.前記選択されたサブセットは、仮想プライベートネットワーク、サブネット、または、仮想ネットワークインタフェースを含む、条項8~12のいずれかに記載のシステム。
【0181】
14.前記公開は、前記ネットワークトラフィックフローデータをフィルタリングして、前記関連付けられたユーザに公開するように構成されたパブリッシャコンポーネントによって行われる、条項6~13のいずれかに記載のシステム。
【0182】
15.前記通知の前記提供は、前記ネットワークトラフィックフローが記憶されたことを示すものを受信し、前記通知を前記パブリッシャコンポーネントに送るように構成されたステータスパブリッシャコンポーネントによって行われる、条項14に記載のシステム。
【0183】
16.ネットワークトラフィックフローデータの前記タイムベースのグループは、前記ネットワークトラフィックフローデータを記憶するように構成された永続ストレージリソースに記憶される、条項6~15のいずれかに記載のシステム。
【0184】
17.コンピュータ可読命令を記憶する非一時的コンピュータ可読記憶媒体であって、前記コンピュータ可読命令は、命令であって、コンピューティングノードで実行されると、少なくとも、
プロバイダネットワークの仮想コンピューティングリソースのグループのネットワークトラフィックフローデータを記憶させ、
ネットワークトラフィックフローデータが、選択した時間範囲の間に、少なくとも1つのグループに関して記憶されたという通知を待ち行列に入れ、
前記待ち行列に入れられた通知にアクセスし、前記待ち行列に入れられた通知で識別された前記記憶されたネットワークトラフィックフローデータを処理させる、前記命令を含み、前記処理は、関連付けられた仮想コンピューティングリソースにネットワークトラフィックフローデータへのアクセスを要求した前記プロバイダネットワークの顧客に関連付けられたネットワークトラフィックフローデータの識別を含む、
前記非一時的コンピュータ可読記憶媒体。
【0185】
18.コンピューティングノード上で実行されると、少なくとも、前記識別されたネットワークトラフィックフローデータを公開させる命令をさらに含む、条項17に記載の非一時的コンピュータ可読媒体。
【0186】
19.グループの公開は、前記公開の1つまたは複数の条件が満たされない場合、終了される、条項18に記載の非一時的コンピュータ可読媒体。
【0187】
20.コンピューティングノード上で実行されると、少なくとも、グループの処理を停止させ、その後の時間に、前記グループの処理の再開させる命令をさらに含む、条項17~19のいずれかに記載の非一時的コンピュータ可読媒体。