掌桥专利:专业的专利平台
掌桥专利
首页

用于多租户环境的网络流日志的系统和方法

文献发布时间:2023-06-19 09:24:30


用于多租户环境的网络流日志的系统和方法

本申请是申请日为2016年3月29日、申请号为201680019649.5、题为“用于多租户环境的网络流日志的系统和方法”的分案申请。

相关申请的交叉参考

本申请出于所有目的通过引用并入2015年3月30日提交的题为“用于多租户环境的网络流日志(NETWORKING FLOW LOGS FOR MULTI-TENANT ENVIRONMENTS)”的共同未决的美国专利申请号 14/673,516的全部公开内容。

背景技术

在计算资源服务提供商的大型分布式计算系统中,计算资源服务提供商的各种客户、用户、服务和资源彼此频繁地通信。随着应用的更新以及系统的复杂性和使用量的增加,保持系统安全变得更具挑战性。在这类分布式计算系统中,可能难以识别系统的漏洞。此外,也可能难以隔离和排除系统问题,并且即使在识别出问题时,可靠地保护系统可能是具有挑战性的。此外,许多常规系统依赖于手动减少这类漏洞。这些环境中的计算资源的复杂性和分布可能使得难以收集和分析由计算资源生成的日志信息。

附图说明

将参考附图描述根据本公开的各种实施方案,在附图中:

图1示出根据实施方案的计算资源服务提供商可以向客户提供对由通过计算资源服务提供商操作的计算机系统生成的计算机日志信息的访问的环境;

图2是根据实施方案的可以用于收集由通过计算资源服务提供商操作的计算机系统产生的计算机日志信息的服务器计算机系统的说明性的简化框图;

图3示出根据实施方案的可以由通过计算装置执行的应用来显示的网页,从而使得用户能够与由计算资源服务提供商操作的网络日志记录服务进行交互;

图4示出根据实施方案的网络日志可视化浏览器可以用于显示网络流图的示例性环境;

图5示出根据实施方案的网络日志可视化浏览器可以用于显示网络流图的示例性环境;

图6示出根据实施方案的包括通过网络与客户端装置和服务器计算机进行数据通信的计算资源服务提供商的环境;

图7是根据一个实施方案的可以用于提供多租户环境中对应于计算机系统实例的日志信息的说明性过程;

图8是根据实施方案的可以用于提供多租户环境中对应于计算机系统实例的日志信息的说明性过程;

图9示出客户连接到计算资源服务提供商的环境;

图10示出可以实现各种实施方案的环境;

图11是示出根据本公开的用于事件驱动处理网络流量流信息的机制的图;

图12是示出根据本公开的用于事件驱动处理网络流量流信息的机制的图;

图13是示出根据本公开的用于事件驱动处理网络流量流信息的机制的图;

图14是示出根据本公开的用于事件驱动处理网络流量流信息的机制的图;

图15是描绘根据本公开的用于事件驱动处理网络流量流信息的示例性过程的流程图;

图16是描绘根据本公开的用于事件驱动处理网络流量流信息的示例性过程的流程图;

图17是示出可以在一些实施方案中使用的示例性计算机环境的图;

图18是示出可以在一些实施方案中使用的示例性计算机系统的图;并且

图19是示出可以在一些实施方案中使用的示例性计算机环境的图。

具体实施方式

在以下描述中,将描述各种实施方案。出于解释的目的,将阐述具体的配置和细节,以便提供各实施方案的透彻理解。然而,对于本领域技术人员还将明显的是,在没有具体细节的情况下也可以实行各实施方案。此外,为了不使所描述的实施方案晦涩,可能会省略或简化众所周知的特征。

本文描述和提出的技术涉及改进多租户计算资源服务提供商环境中的网络日志记录和计算机日志记录。计算资源服务提供商可以操作由计算资源服务提供商的客户以编程方式管理的计算资源。例如,计算资源服务提供商可以操作虚拟计算机系统服务和按需存储服务,这些服务可以向计算资源服务提供商的客户提供计算资源。客户可以随后远程加载软件、配置、启动、停止和执行与计算机资源相关的其他操作,所述计算机资源对于计算资源服务提供商的客户是可访问的。计算资源服务提供商可以通过允许超额认购计算资源来利用实现提供给客户的服务的计算机系统。此外,提供给客户的计算资源的至少一部分可以被虚拟化。例如,计算资源服务提供商可以向客户提供虚拟计算机系统,所述客户可以使用所述虚拟计算机系统来实现诸如 web服务器的各种应用。

计算资源服务提供商还可以实现防火墙或其他安全特征,以便保护客户信息。由于这些安全特征和虚拟化计算环境,客户可能无法访问网络日志信息和其他计算机日志信息。计算资源服务提供商可以代表客户收集日志信息、打包信息、并向客户提供所述信息。此外,计算资源服务提供商可以将日志信息提供给由客户指示的目的地。例如,计算资源服务提供商可以将日志信息提供给度量服务或入侵检测服务。度量服务可以代表客户生成对应于日志信息的可视化、警报和或信息。例如,度量服务可以向客户提供客户的虚拟计算机系统实例上的当前网络负载。入侵检测服务可以使用日志信息来执行各种攻击抑制和攻击检测操作。此外,入侵检测系统可以使用日志信息来更新由计算资源服务提供商操作的各种计算系统的防火墙设置、入侵检测设置以及其他安全设置。入侵防御系统也可以使用日志信息来确定和应用一组安全策略。例如,入侵防御系统可以限制可以由客户虚拟计算机系统实例发送或从其获得的数据的类型。

向客户提供计算资源的计算系统可以包括日志记录实体,其被配置来获得对应于提供给特定客户的计算资源的网络日志和计算机日志信息。日志记录实体可以直接从计算系统或计算机系统的部件获得日志信息。例如,计算系统可以包括被配置来阻止引导至客户计算机系统实例的特定流量的防火墙。日志记录实体可以从防火墙获得网络日志信息,并且使得日志信息被永久存储。度量服务或某一其他服务可以至少部分地基于由日志记录实体存储的日志信息来确定信息。例如,度量服务可以确定引导至特定客户的计算机系统实例的特定网络流的流量、包的数量或大小。

图1示出计算资源服务提供商可以向客户提供对由通过计算资源服务提供商操作的计算机系统生成的计算机日志信息114的访问的环境100。计算资源服务提供商可以向客户102提供计算资源。此外,客户102可以从计算机资源服务提供商请求日志信息114。服务器计算机系统108可以被配置来向客户102提供计算资源。例如,服务器计算机系统108可以向客户102提供虚拟计算容量或存储容量。客户102和其他实体可以通过网络106与服务器计算机系统108通信。网络106可以包括虚拟专用网络、内联网、互联网、蜂窝网、局域网、卫星网或任何其他此类网络和/或上述网络的组合。

此外,服务器计算机系统108可以实现防火墙104以至少部分地基于安全策略来允许或拒绝通信。在一些示例中,所述防火墙可以阻挡目标计算系统或目标虚拟计算机系统实例的一个或多个端口,除非这些端口被明确地“打开”。换句话说,在服务器计算机系统108处接收的指定阻挡112(即,未打开)的端口的数据包可以被忽略,或者可能导致将错误代码发送到包的来源。如果流量没有违反安全策略,那么防火墙104可以允许110流量到达客户102计算机系统实例。

服务器计算机系统108可以将分配给客户的计算资源组织到资源组中,诸如防火墙、缩放组和/或其他这类组。一个或多个资源可以与指示一个或多个资源分组和/或一个或多个资源依赖性的资源组相关联和/或放置在所述资源组中。资源组可以被嵌套,使得例如缩放组可以包括一个或多个防火墙(可以包括一个或多个资源)和/或可以包括一个或多个其他资源组。如本文所使用的,术语防火墙104 可以是指被配置来至少部分地基于策略来控制入站和出站网络流量的硬件、软件或其组合。防火墙104可以被配置来通过例如检查网络流量来核实传入和/或传出数据包符合一个或多个安全策略来确保所述安全性。防火墙104可以被进一步配置来核实与资源的连接的凭证,可以被配置来使用一个或多个策略服务来验证那些凭证,或者执行这些和/或其他安全相关功能的组合。防火墙104可以被实现为硬件、软件、固件、虚拟装置,或者实现为这些和/或其他这类实现方法的组合。

此外,服务器计算机系统108可以包括通信地耦接到防火墙104 的日志记录实体(下文更详细地描述),使得日志记录实体可以从防火墙104获得日志信息114,并且使用服务器计算机系统108的计算资源来存储所述信息。客户102或其他实体可以随后访问由服务器计算机系统108存储的日志信息114。如下文更详细描述的日志信息114 可以包括对应于以下各项的信息:客户、网络接口、为特定网络流发送的包的数量、特定网络流的字节数、源地址、目的地地址、源端口、目的地端口、由防火墙104执行的动作、与特定网络流相关联的协议、与特定流相关联的应用以及由服务器计算机系统108记录的其他信息。在各种实施方案中,客户可以引起服务器计算机系统108的日志记录实体或其他部件至少部分地基于日志信息的一个或多个属性来过滤日志信息。例如,客户可以通过下文结合图3更详细描述的管理控制台来引起过滤日志信息,使得日志信息仅包括对应于网络包和/ 或由防火墙104拒绝或阻止的网络流的日志条目。在又一个示例中,客户可以从度量服务(下文更详细地描述)请求过滤的日志信息,所述度量服务可以随后过滤从日志记录实体获得的日志信息,以用于由客户请求的信息。

图2是可以用于实践本公开的至少一个实施方案的服务器计算机系统200的说明性的简化框图。服务器计算机系统200可以包含系统硬件212,所述系统硬件212可以用于支持执行各种应用。系统硬件212可以包括存储器210、一个或多个中央处理单元(CPU)214 以及网络接口218。为简单起见,系统硬件212可以包括图2中未示出的其他硬件装置,其他硬件装置可以存储装置、图形装置、输入输出(I/O)控制器或者适用于支持执行一个或多个管理程序202或其他应用的任何其他硬件装置。一个或多个中央处理单元214(为简单起见,也称为处理器)可以通信地耦接到多个系统或硬件装置,诸如存储器210和网络接口218。服务器计算机系统200还可以包括若干应用,包括管理程序202和计算机系统实例220,其可以包括如图2 所示的虚拟网络驱动器226。虚拟网络驱动器226可以为客户计算机系统实例220提供网络接口。

管理程序202可以是一组计算机可执行指令,其当由服务器计算机系统200的一个或多个处理器执行时引起所述系统提供虚拟操作平台并管理对系统硬件212的访问。此外,管理程序202可以为计算机系统实例220提供支持。计算机系统实例220可以是被配置来执行由客户实现的一个或多个应用的虚拟计算机系统。例如,计算机系统实例220可以执行由客户操作的web服务器。计算机系统实例220 还可以通信地耦接到管理程序202,以使得从客户接收的管理程序管理命令能够被发送到管理程序202。

存储器210可以提供用于存储可以提供本公开的至少一个实施方案的功能的数据的计算机可读存储介质。存储在存储器210中的数据(程序、代码模块、指令)当由一个或多个处理器214执行时可以提供本公开的一个或多个实施方案的功能。这些应用模块或指令可以由一个或多个处理器214来执行。网络接口218可以是连接到计算系统200的网络接口。网络接口218可以是硬件、软件或其组合,其被配置来通过网络206接收诸如计算机系统实例220的应用数据并且将其发送到一个或多个其他计算系统。虽然在图2中仅示出一个增强型网络接口218,但是根据本公开,多个网络接口218可以连接到计算系统200。网络接口218可以被配置来通过包括在计算机系统实例220 中的虚拟网络驱动器226来发送和接收应用数据。

服务器计算机系统200还可以包括防火墙204。防火墙204可以被配置来至少部分地基于由客户或计算资源服务提供商提供的一个或多个安全策略来允许或阻止网络流量。防火墙204可以被实现为硬件、软件或其组合。例如,防火墙204可以包括被配置来过滤引导至由服务器计算机系统200实现的计算机系统实例220的网络流量的内核模块。此外,服务器计算机系统可以包括被配置来从防火墙204获得日志信息的日志记录实体208。

日志记录实体208允许客户获得关于往返服务器计算机系统200 的虚拟网络驱动器226的网络流量流的日志信息。由日志记录实体 208捕获的日志信息包括客户识别信息、虚拟网络驱动器识别信息、包计数、字节计数、对应于网络流的开始的时间戳、对应于网络流的结束的时间戳、以及由防火墙204执行的动作。日志记录实体208可以将日志信息发布到存储装置、计算服务或服务器计算机系统。例如,日志记录实体可以被配置来将日志信息发布到下文更详细描述的度量服务。此外,日志可以以不同的时间间隔来发布,或者可以在生成日志时直接流式传输到接收方。例如,将日志信息流式传输到入侵检测系统可以实现实时或接近实时的攻击抑制。

网络日志信息可以使客户能够对各种客户网络进行故障诊断。客户网络可以包括由计算资源服务提供商提供的资源以及由客户操作的计算资源,例如本地计算资源。在具体的故障诊断示例中,至少一些网络流量可能未到达由计算资源服务提供商提供的客户的计算机实例。网络日志信息可以包括对应于到客户的计算机实例的被拒绝的网络流量的信息,使得客户能够看到防火墙或其他装置可能正在阻止到客户的计算机实例的入站流量。可替代地,网络日志信息可以向客户指示来自另一个计算机实例的源流量正被阻止并且没有到达第二计算机实例上的过滤器。

网络日志信息也可以与入侵检测和抑制系统结合使用。例如,如果客户的计算机实例已受到损害,那么网络日志信息可以指示客户的计算机实例正在对客户的虚拟专用网络中的计算机实例的其他网络接口执行端口扫描,或者对互联网主机进行端口扫描,或者计算机实例正在将文件发送到互联网主机。此外,网络日志信息可以指示可能正在进行的潜在攻击。例如,网络日志信息可以包括去往由客户操作的多个计算机实例的拒绝的SSH流量,所述客户可以随后根据客户的公司策略来采取特定的对策。

网络日志记录信息可以提供给度量服务。下文更详细描述的度量服务可以向客户提供各种可视化,诸如客户实例的可接受的流量、到客户的实例的流量模式以及其他可视化。网络日志信息还可以包括对应于特定用户会话或IP会话的信息。除了度量服务之外,网络日志信息也可以用于网络分析。分析和/或度量服务还可以包括被配置来响应于检测到的事件或属性来向客户发送通知的警报,例如如果到客户的计算机实例的网络流量高出阈值一段时间间隔或者客户的计算机实例在一段时间间隔内未接收到网络流量。

网络日志信息可以包括各种不同的元素,包括格式版本、客户账户识别信息、捕获流的网络接口识别信息、流的源地址、流的目的地地址、流的源端口、流的目的地端口、由流使用的协议、在采样窗口期间在流中观察到的包的计算数、在采样窗口期间在流中观察到的字节数、检测流的采样周期的开始、检测流的采样周期的结束以及与流相关联的动作。所述动作可以包括由防火墙或者计算资源服务提供商实现的其他装置所采取的各种动作,诸如接受、拒绝或无数据。

图3示出可以由通过计算装置执行的应用来显示的网页300,从而使得用户能够与由计算资源服务提供商操作的网络日志记录服务进行交互。网页300为用户提供选择用于控制向端点提供网络日志和 /或计算机日志信息的各种选项的能力。网络日志信息可以包括对应于根据一个或多个网络协议在两个端点(诸如一对应用或同一应用的一对模块,通常在不同的物理主机上运行)之间的某些数据量的任何传输的信息。应当注意,尽管为了便于解释,以下许多描述涉及给定网络传输的来源和目的地,传输中涉及的两个端点之间的双向传输的任一方向可以各自被认为是用于双向流量的不同子集的来源或目的地。计算机日志信息可以包括对应于计算机系统的操作的计算机系统的任何信息记录,诸如采取的动作、错误代码或操作的结果。

如图3所示,网页300包括各种图形用户界面元素,其使得客户能够通过网页300是其一部分的管理控制台来提供、管理并与计算机实例进行交互。网页300可以由诸如移动应用或web浏览器的各种应用来显示。在所述示例中,网页300包括各种导航特征312。例如,在网页300的左手侧上,各种链接310可以链接到包含对应于客户可能导致执行的各种不同动作的附加内容的一个或多个其他网页。控制台页面可以对应于可以通过以下更详细描述的虚拟机管理服务来管理或以其他方式控制虚拟机实例的操作。在所述示例中,链接显示为使得能够使用诸如键盘、鼠标、触摸屏或其他输入装置的适当输入装置来选择链接的文本字。链接310之一的选择可以引起显示网页300 的应用按照通过网页300的编程与所选择的链接相关联的URL来将对与所述链接相关联的内容的HTTP请求提交给提供网页300的服务器或另一服务器。

在所述示例中,网页300还包括被配置为“下一个”按钮304的图形用户元素。下一个按钮304可以是网页300的图形用户界面元素,其中网页300的底层代码被配置成使得通过下一个按钮304的输入装置的选择导致对应于网页300上的网络日志信息和/或计算机日志信息的端点的选择的信息将要发送到计算资源服务提供商的一个或多个服务器计算机系统,诸如负责执行虚拟机管理服务的服务器计算机系统。通过管理控制台,可以通过为特定计算机系统实例设置日志记录的过程来引导客户。所述过程可以分为多个步骤,并且可以提示客户在每个步骤提供信息。例如,网页300向客户显示可以收集的不同类型的日志信息的列表。使用输入装置的客户可以选择计算机实例的各种属性和/或计算机实例的联网环境。可以存储客户选择直到完成整个过程,或者可以在选择下一个按钮304时将客户选择发送到虚拟机管理服务。虽然在图3中示出用于日志信息选择的端点,但是一旦实例化就可以提示客户选择将要由计算机实例执行的任何操作参数和/或软件应用。

在各种实施方案中,服务提供商可以至少部分地基于各种因素来确定用户的特定类型的虚拟化层,诸如由用户选择的日志信息的类型、由用户选择的日志信息的量、由用户选择的操作系统、由用户选择的操作系统的特征、由用户选择的特定特征、由用户选择的应用、特定虚拟化层的可用性、与特定虚拟化层相关联的成本、或者适用于基于用户信息来选择虚拟化层的其他因素。在这些实施方案中,用户可以或可以不被呈现选择特定虚拟化层的能力,但是可以呈现是否启用日志记录向和/或来自用户的计算机系统实例的网络传输的选择。如果用户选择启用或禁用日志记录,那么可以向用户呈现选项以在用户选择与服务提供商确定的选择之间进行选择。

网页300还可以包括被配置为“后退”按钮306的图形用户元素。后退按钮306可以是网页300的图形用户界面元素,其中网页300的底层代码使得显示网页300的应用能够导航到先前导航的网页。一旦客户已使用网页300进行选择并且选择了下一个按钮304,那么显示网页300的应用可以提交用于提供或修改由虚拟化层支持的计算机系统实例的HTTP请求,所述虚拟化层被配置来启用或禁用对计算机系统实例进行日志记录。所述请求可以被发送到计算资源服务提供商的一个或多个服务器计算机系统或服务。例如,所述请求可以被发送到由计算资源服务提供商操作的虚拟机管理服务。虚拟机管理服务可以随后至少部分地基于客户选择来选择能够执行所选择的网络日志记录或计算机日志记录信息的物理主机(例如,服务器计算机系统),并且引起物理主机代表用户来实例化计算机系统实例。在计算机系统实例被实例化之后的某个时间点,虚拟机管理服务可以将虚拟机的操作传递给用户。虚拟机管理服务或计算资源服务提供商的某一其他服务可以至少部分地基于超出由用户选择的日志记录选项的各种因素来选择物理主机,包括至少部分地基于与所述请求和所述用户相关联的互联网协议(IP)地址的特定地理区域、一个或多个物理主机上的负载、与所述一个或多个物理主机相关联的网络流量、所述一个或多个物理主机的请求响应延时、或者适用于选择物理主机来实例化一个或多个计算机实例的任何其他信息。

图4示出示例性环境400,其中网络日志可视化浏览器可以用于显示如本文至少结合图1和图2并且根据至少一个实施方案所述的网络流图。网络日志可视化浏览器402可以被配置来使用如本文以上所述的网络日志信息来产生网络流可视化图、保存网络流图、加载网络流图、对网络流图应用过滤和/或分析过程和/或执行与网络流可视化相关联的其他这类过程。网络日志可视化浏览器402可以被配置为诸如web服务的计算机服务,并且可以由至少本文结合图1所描述的计算资源服务提供商作为服务来提供。

网络日志可视化浏览器402可以包括执行诸如加载网络流信息、生成网络流可视化、保存网络流可视化和/或其他此类功能的操作的功能410。网络日志信息可以保存在网络日志资源库、数据存储区或某一其他这种位置中。网络流可视化也可以保存在资源库、数据存储区或某一其他这种位置中。网络日志可视化浏览器402可以包括用于显示网络日志信息的至少一个子集的功能408,并且还可以包括用于作为应用一个或多个过滤过程406的结果来显示网络日志的过滤结果的功能。过滤过程406可以至少部分地基于如本文以上所述的一个或多个标签。

网络日志可视化浏览器402可以进一步被配置来至少部分地基于网络日志信息和/或至少部分地基于经过滤的网络日志信息来产生网络流图404。可以使用框图、生成的图像或可视化元素来显示网络流图404,并且在一些实施方案中其可以包括一个或多个图标。网络日志可视化浏览器402可以包括用于结合所显示的网络流图404来执行各种功能的一组工具412。所述组工具412可以是包括在网络日志可视化浏览器402中的一组功能,其使得客户能够执行各种操作,诸如分析网络流图404或者改变网络流图404。

如图4所示,网络流图404可以至少部分地基于客户的计算机系统实例的拓扑,并且可以包括指示资源、资源组或者由块和/或图标以及各个区域表示的网络之间的连接和/或依赖关系的关系(诸如箭头)。在图4所示的示例中,指示连接的箭头还可以指示从各个区域的用户的计算机系统实例发送的网络流量的量。所述区域可以是地理区域,或者可以是网络或其他计算资源组。在各种实施方案中,网络流图404另外包括文本元素,其显示例如与资源类型相关联的标签、与资源实例相关联的标签、与资源组相关联的标签、与网络相关联的标签或者这些和/或其他这类标签的组合。网络流图404可以另外包括显示与资源、资源组、网络、结构化描述和/或计算机系统相关联的其他数据和/或元数据的文本元素。在一些实施方案中,网络日志可视化浏览器402可以包括用于更新(或刷新)网络流图404的功能,并且在一些实施方案中可以包括用于提供与所述更新有关的设置的功能。例如,一旦由实现客户计算机系统实例的服务器计算机系统生成附加的网络日志信息,那么就可以自动更新网络流图404。

如可以预期的,本文所示的网络日志可视化浏览器402的涉及浏览器功能、显示模态、文本元素的存在和类型、图标元素的存在和类型和/或本文结合网络日志可视化浏览器402所述的其他此类用户界面元素的内容仅仅是指示网络日志可视化浏览器402的实施方案的说明性示例。同样,其他类型的浏览器功能、显示模式、文本元素的存在和类型、图标元素的存在和类型和/或其他这类用户界面元素可以被认为在本公开的范围内。

图5示出示例性环境500,其中网络日志可视化浏览器可以用于显示如本文至少结合图1和图2并且根据至少一个实施方案所述的网络流图。网络日志可视化浏览器502可以被配置来使用如本文以上所述的网络日志信息来产生网络流可视化图、保存网络流图、加载网络流图、对网络流图应用过滤和/或分析过程和/或执行与网络流可视化相关联的其他这类过程。网络日志可视化浏览器502可以被配置为诸如web服务的计算机服务,并且可以由本文至少结合图1所描述的计算资源服务提供商作为服务来提供。

网络日志可视化浏览器502可以包括执行诸如加载网络流信息、生成网络流可视化、保存网络流可视化和/或其他此类功能的操作的功能510。网络日志信息可以保存在网络日志资源库、数据存储区或某一其他这种位置中。网络流可视化也可以保存在资源库、数据存储区或某一其他这种位置中。网络日志可视化浏览器502可以包括用于显示网络日志信息的至少一个子集的功能508,并且还可以包括用于作为应用一个或多个过滤过程506的结果来显示网络日志的过滤结果的功能。过滤过程506可以至少部分地基于如本文以上所述的一个或多个标签。

网络日志可视化浏览器502可以进一步被配置来至少部分地基于网络日志信息和/或至少部分地基于经过滤的网络日志信息来产生网络流图504。可以使用框图、生成的图像或可视化元素来显示网络流图504,并且在一些实施方案中其可以包括一个或多个图标。网络日志可视化浏览器502可以包括用于结合所显示的网络流图504来执行各种功能的一组工具512。所述组工具512可以是包括在网络日志可视化浏览器502中的一组功能,其使得客户能够执行各种操作,诸如分析网络流图504或者改变网络流图504。

如图5所示,网络流图504可以至少部分地基于从客户的计算机系统实例发送并且在客户的计算机系统实例处接收的网络流量的量。网络日志可视化浏览器502可以生成一个或多个图形以包括在网络流图中,从而指示以各种时间间隔往返客户的计算机系统实例发送的网络流量的量。在各种实施方案中,网络流图504另外包括文本元素,其显示例如与资源类型相关联的标签、与资源实例相关联的标签、与资源组相关联的标签、与网络相关联的标签或者这些和/或其他这类标签的组合。网络流图504可以另外包括显示与资源、资源组、网络、结构化描述和/或计算机系统相关联的其他数据和/或元数据的文本元素。在一些实施方案中,网络日志可视化浏览器502可以包括用于更新(或刷新)网络流图504的功能,并且在一些实施方案中可以包括用于提供与所述更新有关的设置的功能。例如,一旦由实现客户计算机系统实例的服务器计算机系统生成附加的网络日志信息,那么就可以自动更新网络流图504。

如可以预期的,本文所示的网络日志可视化浏览器502的涉及浏览器功能、显示模态、文本元素的存在和类型、图标元素的存在和类型和/或本文所述的结合网络日志可视化浏览器502的其他此类用户界面元素的内容仅仅是指示网络日志可视化浏览器502的实施方案的说明性示例。同样,其他类型的浏览器功能、显示模式、文本元素的存在和类型、图标元素的存在和类型和/或其他这类用户界面元素可以被认为在本公开的范围内。

诸如图2所示的环境对于诸如计算资源提供商的提供商可以是有用的,其中计算资源系统响应于来自客户的请求以执行与多租户环境有关的各种日志记录功能。如上所述,计算资源服务提供商提供一种机制以允许客户获得与客户的计算机系统实例相关联的网络日志信息和计算机日志信息。在这种情况下,环境可以包括附加部件和/ 或其他布置,诸如图6的环境600中所示的那些。在所述示例中,环境600包括通过网络606与客户端装置610和服务器计算机642进行数据通信的计算资源服务提供商602。在一个实施方案中,服务器计算机642可以是用于实现计算机系统实例620的一个或多个计算机硬件装置,如以上结合图2所述。例如,服务器计算机642可以包括用于实现诸如存储装置、虚拟化存储装置、网络装置等的计算资源的类型的硬件。此外,所实现的计算资源可以由分布式计算资源提供商的客户以编程方式和远程方式来进行管理。

服务器计算机642包括多个计算机系统装置,每个计算机系统装置能够执行由分布式计算资源服务提供商602创建的一个或多个实例620。在一个实施方案中,服务器计算机642中的每一个包括处理器、数据存储区、输入/输出总线和/或本领域已知用于执行实例620 的任何其他部件。此外,实例620可以是虚拟机实例。如本领域中已知的,虚拟机实例是像物理机一样执行程序的机器(即,计算机)上的软件实现方式的实例。例如,每个服务器计算机642可以被配置来执行能够实现实例620的实例管理器618。

例如,实例管理器618可以是管理程序、虚拟化层或被配置成使得能够在单个服务器计算机系统642上执行多个实例620的另一种类型的程序。如上所述,每个实例620可以被配置来执行应用的全部或一部分。此外,网络606可以类似于如上所述的网络。联网环境600可以跨越一个或多个数据中心,其中每个数据中心可以在地理上彼此不同。此外,图6所示的联网环境600可以是由计算资源服务提供商采用的若干实施方案之一。服务器计算机642还可以包括防火墙604 和日志记录实体608。防火墙604可以是硬件、软件或其组合,其被配置来如上所述地管理到实例620的网络流量。此外,日志记录实体 608可以是一组计算机可执行指令,所述计算机可执行指令当由服务器计算机642的一个或多个处理器执行时引起服务器计算机642从防火墙604和/或实例管理器618获得日志信息。例如,日志记录实体608可以从防火墙604获得网络日志信息,并且从实例管理器618获得计算机日志信息。

在一个实施方案中,计算资源服务提供商602包括数据存储区,所述数据存储区包含资源数据644、实例服务612、网络信息服务626、入侵检测服务630、发布服务632、度量服务634、安全服务636和/ 或其他部件。资源数据644可以包括与服务器计算机642有关的数据。例如,在一个实施方案中,资源数据644包括服务器计算机642数据的一个或多个记录。服务器计算机642数据的每个记录对应于联网环境600的服务器计算机642。

实例服务612至少部分地基于由客户提供的一组偏好来实例化实例620。在一个实施方案中,实例服务612从客户端装置610上的客户接收用于创建一个或多个实例620的请求640,并且可选地分配日志记录实体608以记录对应于实例620的操作的信息。此外,从操作客户端装置610的客户接收到的请求640也可以指示开始执行所请求的实例620的时间。响应于接收到请求,实例服务612实例化实例 620。在各种实施方案中,入侵检测服务630或度量服务634接收请求640并且向实例服务612发送命令以开始日志记录与实例620相关联的信息,并将日志数据存储在资源数据644数据存储区中,诸如网络日志数据646。

客户可以(通过适当配置和认证的API调用)与计算资源服务提供商602进行交互,以创建、删除和描述从服务器计算机642上实例化并由计算资源服务提供商602操作的实例620收集的日志信息。此外,客户可以使用安全服务636创建一个或多个安全组,所述安全组可以是通过由防火墙604应用的同一组安全策略来管理的实例620的逻辑集合。客户可以提供一组安全策略,或者计算资源服务提供商 602可以定义最小的一组安全策略。在各种实施方案中,客户可以通过由计算资源服务提供商602提供的管理控制台来创建和管理安全组。管理控制台可以作为网页(诸如以上结合图3所示的网页)暴露于客户,通过与网页(例如,通过浏览器应用)交互,客户可以引起生成API调用。生成的API调用可以引起计算资源服务提供商602 或其部件执行由客户指示的各种操作。

入侵检测服务630可以包括针对恶意活动或策略违规监测网络 606和/或服务器计算机系统642的活动的装置和/或软件应用的集合。此外,日志记录实体608或发布服务632可以向入侵检测服务630提供网络日志数据646。此外,入侵检测服务630可以使网络日志数据 646跨由不同客户操作的各种实例620相关。使网络日志数据646相关可以使得入侵检测服务630能够获得对应于攻击或攻击者的附加信息。例如,日志可以指示源IP地址正在为开放端口扫描特定网络。这种活动可以指示源IP地址涉及攻击,并且入侵检测系统可以引起从源IP地址发送的数据包被阻止。在各种实施方案中,入侵检测服务630生成由安全服务636管理的一组安全策略的更新,并将更新的一组策略提供给防火墙604或由计算资源服务提供商602操作的其他计算装置。除了入侵检测服务630之外,计算资源服务提供商可以操作入侵防御服务(为简单起见,图6中未示出)。入侵防御服务可以包括被配置来防止和/或阻止被检测到的入侵的一个或多个网络装置。例如,入侵防御服务可以发送警报、丢弃恶意包、重置连接或者阻止来自违规IP地址的流量。入侵防御系统可以通过至少从日志记录实体608或发布服务632获得网络日志数据646来监测网络流量。

网络信息服务626可以维护客户账户信息和对应于客户的其他信息。例如,网络信息服务626可以包括客户识别信息、实例识别信息、网络接口识别信息以及适用于识别与特定客户相关联的信息的其他信息。例如,如上所述,网络日志信息可以包括客户识别信息。日志记录实体608或度量服务634可以从网络信息服务626获得客户识别信息。发布服务632发布对网络日志数据646的更新并将其调度给资源数据644或由客户指定的其他端点。发布服务632还可以定期地或不定期地检查日志记录实体608是否具有将要发布到一个或多个端点的附加日志信息。在各种实施方案中,发布服务632可以实时地或接近实时地将日志信息发送到各个端点。

度量服务634可以从日志记录实体608或服务器计算机系统642 的其他部件接收对应于实例620的资源数据644。由度量服务634获得的资源数据644可以指示实例620的各种部件的使用,诸如中央处理单元、存储器、网络接口、操作系统、应用、以及实例620的其他部件。所述信息可以用于各种不同的目的,例如确定是否向自动缩放组分配或释放资源。此外,度量服务634可以使用所述信息来确定实例620和/或服务器计算机系统642的健康状况。度量服务634可以获得并聚集分配给自动缩放组的所有实例620的利用信息。此外,当实例620被放置成备用或者与自动缩放组分离时,度量服务634可以接收命令以从用于度量服务634收集和/或聚集利用信息的一组实例 620中移除实例620。

图7示出根据至少一个实施方案的可以用于提供多租户环境中对应于计算机系统实例的日志信息的说明性过程700。过程700可以由诸如以上图1和图2中所描述的防火墙和日志记录实体的任何合适的系统或者系统或其部件的任何组合来执行。返回图7,在实施方案中,过程700包括接收网络流量702。接收的网络流量可以包括引导至由客户操作并且使用由计算资源服务提供商提供的计算资源实现的计算机系统实例的一个或多个网络流或传输。如上所述,可以在计算资源服务提供商的服务器计算机系统处接收流量。服务器计算机系统的防火墙可以随后至少部分地基于所接收的网络流量和一组安全策略来进行防火墙决策704。所述组安全策略可以对应于可以由如上所述的特定组端口上的防火墙所允许的一组网络流量。防火墙可以对接收到的流量采取行动,诸如允许或拒绝。

返回图7,过程700还可以包括获得对应于接收的网络流量和防火墙决策的附加信息706。例如,日志记录实体可以获得对应于特定网络流或网络数据包的网络接口识别信息和特定防火墙决策。日志记录实体可以随后收集对应于接收的网络流量708的网络流的网络日志信息。如上所述,网络日志信息可以包括从网络数据包获得的信息诸如源地址、大小、协议以及包括在网络数据包中的任何其他信息。日志记录实体可以随后将网络日志信息提供到所选择的目的地710。目的地可以由客户选择,或者可以由计算资源服务提供商默认提供,或者作为由客户选择的各种选项的结果,诸如将要提供给客户的日志记录或分析的类型。此外,日志记录实体可以在将网络日志信息提供到所选择的目的地之前处理网络日志信息的至少一部分。

图8示出根据至少一个实施方案的可以用于提供多租户环境中对应于计算机系统实例的日志信息的说明性过程800。过程800可以由诸如以上图6中所描述的防火墙和日志记录实体的任何合适的系统或者系统或其部件的任何组合来执行。返回图8,在实施方案中,过程800包括接收启用日志信息的日志记录以及目的地的网络接口的选择802。如上所述,客户可以正在使用客户端计算装置来与暴露给客户的管理控制台进行交互。客户可以通过管理控制台指定提供给客户的网络接口、虚拟专用网、子网、计算机系统实例或其他计算资源以便能够登录。

管理控制台可以随后将命令发送到计算资源服务提供商的适当的计算机系统或服务,以引起计算机系统从负责实现所选择的网络接口的计算机系统获得网络日志信息804。获得网络日志信息可以包括从发布服务接收由服务器计算机系统生成的日志信息。此外,日志信息可以包括在多租户环境中由服务器计算机系统提供资源的多名客户的所有日志信息。可以随后从获得的网络日志信息中检索对应于所选择的网络接口的日志信息806。例如,计算资源服务提供商可以扫描日志信息以获得识别所选择的网络接口的信息。计算资源服务提供商可以随后向目的地808提供日志信息。例如,发布服务可以随后将日志信息发送到度量服务,所述度量服务可以代表客户生成日志信息的可视化。

图9示出根据至少一个实施方案的连接到计算资源服务提供商的客户的示例。计算资源服务提供商902可以向客户904提供各种服务,并且客户904可以通过接口926与计算资源服务提供商902通信,所述接口926可以是web服务接口或任何其他类型的客户接口。例如,接口926可以被配置来从客户904接收API调用,并且为了履行API 调用,可以如上所述地引起相应的服务执行各种操作。计算资源服务提供商902的每个服务可以被实现为根据共同存储在一组计算机可读存储介质上的可执行指令来操作的计算机系统(例如,包括多个计算装置的分布式计算机系统,各自具有通过网络进行通信的一个或多个相应的处理器),其中单独的计算机可读存储介质可以各自具有用于引起计算机系统的相应装置进行操作的指令的一部分。在一些实施方案中,服务中的至少一些可互操作,从而形成由单独的分布式计算机系统组成的较大的分布式计算机系统,每个分布式计算机系统操作相应的服务。虽然图8示出用于计算资源服务提供商902的服务的一个接口926,但是每个服务可以具有其自己的接口,并且通常服务的子集可以具有除了接口926之外的或作为接口926的替代的对应的接口。客户904可以是可以利用由计算资源服务提供商902提供的一个或多个服务来为其员工(可以位于各种地理位置处)维护并传递信息的组织。此外,客户904可以是利用计算资源服务提供商902的服务将内容递送到远程定位的工作组的个体。如图9所示,客户904可以通过网络906与计算资源服务提供商902通信,由此网络906可以是诸如互联网、内联网或互联网服务提供商(ISP)网络的通信网络。从客户904到计算资源服务提供商902的一些通信可以引起计算资源服务提供商902根据所描述的一个或多个实施方案或其变型来进行操作。

计算资源服务提供商902可以向其客户提供各种计算资源服务。在此示例中,由计算资源服务提供商902提供的服务包括虚拟计算机系统服务908、块级数据存储服务910、密码服务912、按需数据存储服务914、通知服务916、认证系统918、策略管理服务920、任务服务922、以及一种或多种其他服务924。应注意,并非所描述的所有实施方案都包括参考图9描述的服务908、910、912、914、916、 918、920、922、924,并且除了明确描述的服务之外或作为其替代,可以提供附加服务。如所描述的,服务908、910、912、914、916、 918、920、922、924中的每一个可以包括使得客户904能够通过web 服务请求向各种服务提交适当配置的API调用的一个或多个web服务接口。此外,每种服务可以包括一个或多个服务接口,所述一个或多个服务接口使得服务能够相互访问(例如,使得虚拟计算机系统服务908的虚拟计算机系统能够将数据存储在按需数据存储服务914中或检索来自按需数据存储服务914的数据,和/或访问由块级数据存储服务910提供的一个或多个块级数据存储装置)。

虚拟计算机系统服务908可以包括被配置来代表客户904实例化虚拟机实例的硬件、软件或其组合。客户904可以与虚拟计算机系统服务908(通过适当配置和认证的API调用)交互,以提供和操作在由计算资源服务提供商902托管和操作的物理计算装置上实例化的虚拟计算机系统。虚拟计算机系统可以用于各种目的,诸如作为支持网站的服务器来操作、操作业务应用,或者一般地,充当客户的计算能力。用于虚拟计算机系统的其他应用可以用来支持数据库应用、电子商务应用、业务应用和/或其他应用。虽然在图8中示出虚拟计算机系统服务908,但是可以在计算资源服务提供商902中利用任何其他计算机系统或计算机系统服务,诸如不采用虚拟化或实例化的计算机系统或计算机系统服务,而是在专用或共享计算机/服务器和/或其他物理装置上提供计算资源。

块级数据存储服务910可以包括一个或多个计算资源,所述一个或多个计算资源共同操作以使用块级存储装置(和/或其虚拟化)来为客户904存储数据。块级数据存储服务910的块级存储装置可以例如可操作地附接到由虚拟计算机系统服务908提供的虚拟计算机系统,以用作所述计算机系统的逻辑单元(例如虚拟驱动器)。块级存储装置可以使得能够永久存储由对应的虚拟计算机系统使用/产生的数据,其中虚拟计算机系统服务908仅可以提供短暂的数据存储。

计算资源服务提供商902还包括密码服务912。密码服务912可以利用计算资源服务提供商902的一个或多个存储服务来以加密形式存储客户的密钥,由此密钥可以用于解密客户904的仅可以由密码服务912的特定装置访问的密钥。

计算资源服务提供商902还包括按需数据存储服务914。按需数据存储服务914可以包括被配置来同步地处理存储和/或访问数据的请求的硬件、软件或其组合。按需数据存储服务914可以使用使得按需数据存储服务914能够快速定位和检索数据的计算资源(例如,数据库)来操作,以允许响应于对数据的请求来提供数据。例如,按需数据存储服务914可以维持存储的数据,其方式使得当检索到对数据对象的请求时,可以响应于所述请求来提供数据对象(或者可以开始数据对象的流式传输)。如上所述,存储在按需数据存储服务914中的数据可以被组织成数据对象。除了可能对大小进行某些限制之外,数据对象可以具有任意大小。因此,按需数据存储服务914可以存储不同大小的多个数据对象。按需数据存储服务914可以操作为将数据对象与数据对象的标识符相关联的键值存储区,所述数据对象的标识符可以由客户904使用,以检索或执行与由按需数据存储服务914存储的数据对象有关的其他操作。

在图9所示的环境中,包括通知服务916。通知服务916可以包括被配置来提供web服务或其他接口和基于浏览器的管理控制台的硬件、软件或其组合。管理控制台可以用于对客户寻求以接收通知、配置应用(或人员)、订阅客户端主题、发布消息或配置通过客户端选择的协议(即超文本传输协议(HTTP)、电子邮件和短消息服务 (SMS)等)的消息递送的主题进行配置。通知服务916可以使用“推送”机制为客户端提供通知,而不需要为新信息和更新定期检查或“轮询”。通知服务916还可以用于各种目的,诸如监测虚拟计算机系统服务908中执行的应用、工作流系统、对时间敏感的信息的更新、移动应用和许多其他应用。

如图9中所示,在各种实施方案中,计算资源服务提供商902包括认证系统918和策略管理服务920。在实施方案中,认证系统918 是被配置来执行涉及对客户的用户进行认证的操作的计算机系统 (即,计算资源的集合)。例如,服务908、910、912、914、916和 920、922、924中的一个可以将来自用户的信息提供给认证服务918,以作为回报接收指示用户请求是否是可信的信息。

策略管理服务920在实施方案中是被配置来代表计算资源服务提供商902的客户(诸如客户904)来管理策略的计算机系统。策略管理服务920可以包括使得客户能够提交与策略管理有关的请求的接口。这类请求可以为(例如)增加、删除、更改或另外修改用于客户的策略的请求,或针对其他管理动作(诸如提供现有策略的库存等) 的请求。

在各种实施方案中,计算资源服务提供商902还配备有任务服务 922。任务服务922被配置来从客户904接收任务包并且使得能够如任务包所指示地执行任务。任务服务922可以被配置来使用计算资源服务提供商902的任何资源来执行任务,诸如一个或多个实例化的虚拟机或虚拟主机。任务服务922可以配置一个或多个实例化的虚拟机或虚拟主机以根据客户904的要求来使用所选择的操作系统和/或选择的执行应用来操作。

计算资源服务提供商902至少部分地基于其客户904的需要另外维护一个或多个其他服务924。例如,计算资源服务提供商902可以维护用于其客户904的数据库服务。数据库服务可以包括被配置来为一名或多名客户904运行一个或多个数据库的硬件、软件或其组合。客户904可以通过利用适当配置的API调用来操作和管理来自数据库服务的数据库。这继而可以允许客户904维持并潜在地缩放数据库中的操作。其他服务包括但不限于对象级存档数据存储服务、管理和/ 或监测其他服务的服务。

可以鉴于以下条款对本公开的实施方案进行描述:

1.一种计算机实现的方法,其包括:

在被配置有可执行指令的一个或多个计算机系统的控制下,

接收来自计算资源服务提供商的客户的用于使得能够对虚拟计算机系统实例进行日志记录的请求,所述虚拟计算机系统实例由所述计算资源服务提供商托管;

至少部分地基于由客户维护的一个或多个安全策略来通过防火墙过滤引导至虚拟计算机系统实例的网络流量;

从防火墙获得网络流量日志信息和防火墙决策;

检索对应于由客户操作的虚拟计算机系统实例的网络日志信息;以及

将检索的网络日志信息提供给客户可访问的由客户在接收的请求中所指示的目的地。

2.如条款1所述的计算机实现的方法,其中所述目的地包括所述计算资源服务提供商的度量服务,其中所述度量服务被配置来向所述客户提供对应于由所述计算资源服务提供商托管的所述虚拟计算机系统实例的度量信息,以供客户使用。

3.如条款2所述的计算机实现的方法,其中所述度量服务被进一步配置来至少部分地基于所提供的网络日志信息来生成与所述虚拟计算机系统实例相关联的网络流量的可视化。

4.如条款1-3中任一项所述的计算机实现的方法,其中所述目的地包括所述计算资源服务提供商的存储服务,其中所述存储服务被配置来永久地存储所述网络日志信息,使得所述网络日志信息对于客户可访问。

5.一种系统,其包括:

一组计算机系统,其被配置来:

接收来自计算资源服务提供商的客户的用于使得能够对由所述系统的计算资源支持并由客户以编程方式管理的虚拟计算机系统实例进行日志记录的请求;

在所述系统的网络接口处接收一个或多个数据包,其中所述一个或多个数据包与引导至所述虚拟计算机系统实例的一组网络流相关联;

至少部分地基于一个或多个安全策略来在防火墙处过滤所述一个或多个数据包,其中所述一个或多个安全策略至少部分地基于所述数据包中包含的信息来指示是允许还是拒绝特定数据包;

作为履行使得能够进行日志记录的所接收的请求的结果,获得对应于一个或多个数据包的过滤以及由防火墙在对一个或多个数据包进行过滤中所执行的一组动作的日志信息;以及

将日志信息提供给客户可访问的目的地。

6.如条款5所述的系统,其中所述目的地还包括被配置来应用所述一个或多个安全策略的入侵防御系统。

7.如条款6所述的系统,其中所述入侵防御系统被进一步配置来至少部分地基于所提供的日志信息来更新所述一个或多个安全策略。

8.如条款7所述的系统,其中所述入侵防御系统被进一步配置来向所述防火墙提供对所述一个或多个安全策略的更新。

9.如条款5-8中任一项所述的系统,其中所述存储器还包括指令,所述指令在所述一个或多个处理器执行时引起所述系统至少部分地基于由所述客户用度量服务设置的警报来向所述客户提供通知。

10.如条款5-9中任一项所述的系统,其中所述存储器还包括指令,所述指令在由所述一个或多个处理器执行时引起所述系统作为从与虚拟计算机系统实例相关联的客户接收过滤所获得的日志信息的请求的结果,至少部分地基于所述日志信息的一个或多个属性来过滤所获得的日志信息。

11.如条款5-10中任一项所述的系统,其中所述存储器还包括指令,所述指令在由所述一个或多个处理器执行时引起所述系统至少部分地基于从与虚拟计算机系统实例相关联的所述客户接收用于终止虚拟计算机系统实例的日志记录的API调用来禁用对所述虚拟计算机系统实例进行日志记录。

12.如条款5-11中任一项所述的系统,其中所述存储器还包括指令,所述指令在由所述一个或多个处理器执行时引起所述系统至少部分地基于从与虚拟计算机系统实例相关联的所述客户接收指示另一目的地的API调用来将所述日志信息提供给另一目的地。

13.一组非暂时性计算机可读存储介质,其上共同存储有可执行指令,当由一组计算机系统的一个或多个处理器执行时,所述可执行指令引起所述组计算机系统的至少一子集至少:

履行来自计算资源服务提供商的客户的用于使得能够对由通过计算资源服务提供商托管的计算资源所支持的虚拟计算机系统实例进行日志记录的请求;

在防火墙处过滤网络流量,所述网络流量的至少一部分被引导至一组计算资源,所述组计算资源至少部分地用于支持由所述客户至少部分地基于一个或多个安全策略而管理的虚拟计算机系统实例;

作为履行接收到的请求的结果,从防火墙获得网络流量日志信息;

从获得的网络日志信息中检索对应于虚拟计算机系统实例的日志信息;以及

将检索的日志信息提供给存储服务用于永久性存储。

14.如条款13所述的非暂时性计算机可读存储介质,其中引起所述计算机系统接收来自计算资源服务提供商的客户的用于使得能够进行日志记录的请求的指令还包括至少部分地基于从暴露给客户的管理控制台接收到命令来引起所述计算机系统能够对所述组计算资源进行日志记录的指令,其中管理控制台接收由客户管理的虚拟计算机系统实例的选择以使得能够进行日志记录。

15.如条款13或14所述的非暂时性计算机可读存储介质,其中所述指令还包括在由所述一个或多个处理器执行时引起所述计算机系统将所检索的日志信息提供给度量服务的指令。

16.如条款13-15中任一项所述的非暂时计算机可读存储介质,其中所述指令还包括在由所述一个或多个处理器执行时引起所述计算机系统至少部分地基于所检索的日志信息来生成一组可视化的指令,所述组可视化指示引导至所述虚拟计算机系统实例的网络流量的部分的一个或多个属性。

17.条款13-16中任一项所述的非暂时性计算机可读存储介质,其中引起所述计算机系统检索对应于所述组计算资源的日志信息的指令还包括引起所述计算机系统检索由客户管理的一组虚拟计算机系统实例的日志信息的指令,其中所述组虚拟计算机系统实例的至少一部分由所述组计算资源支持,并且所述虚拟计算机系统实例是所述组虚拟计算机系统实例的成员。

18.如条款13-17中任一项所述的非暂时性计算机可读存储介质,其中所述指令还包括在由所述一个或多个处理器执行时引起所述计算机系统将所检索的日志信息提供给不负责计算机系统的第三方服务提供商的指令。

19.如条款13-18中任一项所述的非暂时计算机可读存储介质,其中所述指令还包括在由所述一个或多个处理器执行时引起所述计算机系统执行以下各项的指令:

检索对应于由计算资源服务提供商托管的并且用于支持由第二客户管理的第二虚拟计算机系统实例的第二组计算资源的附加网络日志信息;以及

其中将所检索的网络日志信息提供给存储服务用于永久性存储还包括将附加网络日志信息提供给所述存储服务用于永久性存储。

20.如条款13-19中任一项所述的非暂时性计算机可读存储介质,其中所述指令还包括在由所述一个或多个处理器执行时引起所述计算机系统至少部分地基于从所述客户接收到禁用日志记录的命令来禁用对虚拟计算机系统实例进行日志记录的指令。

图10示出用于实现根据各个实施方案的各方面的示例性环境 1000的各方面。如将了解,尽管出于解释目的使用基于web的环境,但是可以视情况使用不同环境来实现各个实施方案。环境包括电子客户端装置1002,所述电子客户端装置1002可以包括可操作来通过适当网络1004发送和/或接收请求、消息或信息并且在一些实施方案中将信息传送回装置用户的任意适当装置。此类客户端装置的示例包括个人计算机、手机、手持式消息传送装置,膝上型计算机、平板计算机、机顶盒,个人数据助理、嵌入计算机系统、电子书阅读器等。网络可以包括任意适当网络,包括内联网、互联网、蜂窝网、局域网、卫星网或任意其他此类网络和/或上述网络的组合。用于这种系统的部件可以至少部分地取决于所选择的网络和/或环境的类型。用于通过此类网络通信的协议和部件是众所周知的,因而本文将不再详细论述。通过网络的通信可以通过有线或无线连接及其组合来实现。在此示例中,网络包括互联网,因为环境包括用于接收请求并且响应于所述请求而提供内容的web服务器1006,但是对于其他网络来说,可以使用服务类似目的的替代装置,如本领域普通技术人员所明白的。

说明性环境包括至少一个应用服务器1008和数据存储区1010。应当理解,可以存在可链接起来或以其他方式配置的若干应用服务器、层或其他元件、过程或部件,这些应用服务器、层或其他元件、过程或部件可以交互来执行诸如从适当的数据存储区获得数据的任务。如本文所使用的服务器可以以各种方式实现,诸如硬件装置或虚拟计算机系统。在一些上下文中,服务器可以指在计算机系统上执行的编程模块。如本文所使用的,除非另行指出或从上下文中明确可知,术语“数据存储区”是指能够存储、访问和检索数据的任意装置或装置组合,所述装置或装置组合可以包括任意标准、分布式、虚拟或集群式环境中的任意组合和任意数目的数据服务器、数据库、数据存储装置和数据存储介质。应用服务器可以包括任何适当硬件、软件和固件,所述硬件、软件和固件视执行客户端装置的一个或多个应用的各方面的需要而与数据存储区集成、处理应用的一些或所有数据访问和业务逻辑。应用服务器可以提供与数据存储区协作的存取控制服务,并且能够生成可用于提供给用户的内容,所述内容包括但不限于文本、图片、音频、视频和/或其他内容,所述内容可以超文本标记语言 (“HTML”)、可扩展标记语言(“XML”)、JavaScript、层叠样式表 (“CSS”)或另一种适当客户端侧结构化语言的形式由web服务器提供给用户。传送给客户端装置的内容可以由客户端装置处理,以便提供呈一种或多种形式的内容,所述形式包括但不限于用户可以通过听觉、视觉和/或通过其他感觉(包括触觉、味觉和/或嗅觉)来感知的形式。全部请求和响应的处理以及客户端装置1002与应用服务器 1008之间的内容递送可以由web服务器使用PHP:超文本预处理器 (“PHP”)、Python、Ruby、Perl、Java、HTML、XML或这个示例中另一种适当服务器侧结构化语言来处理。应当理解,web服务器和应用服务器不是必要的,且仅仅是示例性部件,因为本文所论述的结构化代码可以在如本文其他地方所论述的任意适当装置或主机上执行。此外,除非上下文另外清楚规定,否则如由单个装置执行的本文所述的操作可以由可形成分布式和/或虚拟系统的多个装置共同执行。

数据存储区1010可以包括用于存储与本公开的特定方面相关的数据的若干单独数据表、数据库、数据文档、动态数据存储方案和/ 或其他数据存储机构和介质。例如,所示数据存储区可以包括用于存储生成数据1012和用户信息1016的机构,生成数据1012和用户信息1016可用于提供用于生成侧的内容。数据存储区还被示出为包括用于存储日志数据1014的机构,日志数据1014可用于报告、分析或其他此类目的。应当理解,可能存在可能需要存储在数据存储区中的许多其他方面,如页面图像信息和访问权信息,所述方面可以视情况存储在上文列出的机构中的任意机构中或存储在数据存储区1010中的额外机构中。数据存储区1010可以通过与其相关联的逻辑来操作,以便从应用服务器1008接收指令,并且响应于所述指令而获得、更新或以其他方式处理数据。应用服务器1008可以响应于所接收指令提供静态数据、动态数据或静态数据和动态数据的组合。动态数据(诸如web日志(博客)、购物应用、新闻服务以及其他这类应用中使用的数据)可以由如本文所描述的服务器侧结构化语言生成,或者可以由在应用服务器上操作或在其控制下的内容管理系统(“CMS”)提供。在一个示例中,用户通过由用户操作的装置可以提交针对某种类型的项目的搜索请求。在这种情况下,数据存储区可能访问用户信息来验证用户的身份,并且可以访问目录详细信息以获得关于所述类型的项目的信息。随后,可以将信息诸如以网页上的结果列表的形式返回给用户,用户能够通过客户端装置1002上的浏览器来查看所述网页。可以在浏览器的专用页面或窗口中查看感兴趣的特定项目的信息。然而,应当注意,本公开的实施方案不一定限于网页的上下文,但是可以更一般地适用于处理基本请求,其中请求不一定是针对内容的请求。

每个服务器通常将包括提供用于此服务器的基本管理和操作的可执行程序指令的操作系统,并且通常将包括计算机可读存储介质 (例如,硬盘、随机存取存储器、只读存储器等),其存储当由服务器的处理器执行时允许服务器执行其预期功能的指令。服务器的操作系统和基本功能的合适实现方式是已知的或可商购获得的,并且由本领域普通技术人员特别是根据本文的本公开而容易地实现。

在一个实施方案中,环境是利用通过通信链路、使用一个或多个计算机网络或直接连接来互连的多个计算机系统和部件的分布式和/ 或虚拟计算环境。然而,本领域普通技术人员应了解,这种系统可以在具有比图10中所示的部件更少或更多数量的部件的系统中同样顺利地操作。因此,图10中的环境1000的描绘本质上应视为说明性的,并且不限制本公开的范围。

各种实施方案还可以在各种各样的操作环境中实现,所述操作环境在一些情况下可以包括可用于操作多个应用中的任何一个的一个或多个用户计算机、计算装置或处理装置。用户或客户端装置可以包括许多通用个人计算机中的任何一个,诸如运行标准操作系统的台式机、膝上计算机或平板计算机,以及运行移动软件并且能够支持多个网络和消息传送协议的蜂窝、无线和手持装置。这种系统还可以包括运行多种可商购获得的操作系统和其他已知应用中的任何一种的许多工作站,以用于诸如开发和数据库管理的目的。这些装置还可以包括其他电子装置,诸如虚拟终端、瘦客户端、游戏系统和能够通过网络进行通信的其他装置。这些装置还可以包括虚拟装置,诸如虚拟机、管理程序和能够通过网络通信的其他虚拟装置。

本公开的各种实施方案利用本领域技术人员可能熟悉的至少一种网络来支持使用多种可商购得的协议中的任一种进行通信,所述协议诸如传输控制协议/互联网协议(“TCP/IP”)、用户数据报协议 (“UDP”)、在开放系统互连(“OSI”)模型的各个层中操作的协议、文件传送协议(“FTP”)、通用即插即用(“UpnP”)、网络文件系统 (“NFS”)、公共互联网文件系统(“CIFS”)以及AppleTalk。网络可以是例如局域网、广域网、虚拟专用网、互联网、内联网、外联网、公共交换电话网、红外网、无线网、卫星网以及上述网络的任何组合。

在利用web服务器的实施方案中,web服务器可以运行多种服务器或中间层级应用中的任一种,包括超文本传送协议(“HTTP”)服务器、FTP服务器、通用网关接口(“CGI”)服务器、数据服务器、 Java服务器、Apache服务器和业务应用服务器。服务器还可能够响应于来自用户装置的请求而执行程序或脚本,诸如通过执行可以实现为以任何编程语言(诸如

环境可以包括如上文所论述的各种各样的数据存储区以及其他存储器和存储介质。这些可以驻留在各种位置,诸如在存储介质上,所述存储介质在一个或多个计算机的本地(和/或驻留在其中),或者远离网络中的任何或所有计算机。在一组特定实施方案中,信息可以驻留在本领域技术人员熟悉的存储区域网络(“SAN”)中。类似地,在适当情况下,用于执行归因于计算机、服务器或其他网络装置的功能的任何必要文件可以在本地和/或远程存储。在系统包括计算机化装置的情况下,每个这种装置可以包括可通过总线电耦合的硬件元件,所述元件包括例如至少一个中央处理单元(“CPU”或“处理器”)、至少一个输入装置(例如,鼠标、键盘、控制器、触摸屏或小键盘) 和至少一个输出装置(例如,显示装置、打印机或扬声器)。这种系统还可以包括一个或多个存储装置诸如磁盘驱动器、光存储装置和诸如随机存取存储器(“RAM”)或只读存储器(“ROM”)的固态存储装置,以及可移动介质装置、存储卡、闪存卡等。

此类装置还可以包括计算机可读存储介质读取器、通信装置(例如,调制解调器、网卡(无线或有线)、红外线通信装置等)和如上所述的工作存储器。计算机可读存储介质读取器可以与表示远程、本地、固定和/或可移动存储装置以及用于临时和/或更永久地包含、存储、发送和检索计算机可读信息的存储介质的计算机可读存储介质连接或被配置来接收所述计算机可读存储介质。系统和各种装置通常还将包括位于至少一个工作存储器装置内的许多软件应用、模块、服务或其他元件,包括诸如客户端应用或网络浏览器的操作系统和应用程序。应当理解,替代实施方案可以具有与上述不同的许多变化。例如,还可以使用定制硬件并且/或者特定元件可以在硬件、软件(包括便携式软件,例如小程序)或两者中实现。此外,可以采用与其他计算装置(诸如网络输入/输出装置)的连接。

用于包含代码或代码部分的存储介质和计算机可读介质可以包括本领域中已知或使用的任何适当的介质,所述介质包括存储介质和通信介质,诸如但不限于以任何方法或技术实现用于存储和/或传输信息的易失性和非易失性、可移动和不可移动介质,所述信息诸如计算机可读指令、数据结构、程序模块或其他数据,所述介质包括RAM、 ROM、电可擦除可编程只读存储器(“EEPROM”)、闪速存储器或其他存储器技术、光盘只读存储器(“CD-ROM”)、数字通用盘(DVD) 或其他光存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储装置或者可用来存储所需信息并且可由系统装置访问的任何其他介质。基于本文所提供的公开内容和教义,本领域普通技术人员将了解实现各个实施方案的其他方式和/或方法。

因此,说明书和附图视为说明性而非限制性意义。然而,明显的是,在不脱离如权利要求所阐述的本发明的更广泛的精神和范围的情况下,可以进行各种修改和改变。

其他变化在本公开的精神内。因此,虽然所公开的技术易于进行各种修改和替代构造,但是其某些示出的实施方案在附图中示出并已在上文详细描述。然而,应当理解,不意图将本发明限制为所公开的一种或多种具体形式,相反,本发明旨在覆盖落入本发明的精神和范围内的所有修改、替代构造和等效物,如所附权利要求中所限定的。

在描述公开的实施方案(特别是在所附权利要求的上下文中)的上下文中使用术语“一(a/an)”以及“所述”以及类似的指示物应被解释为涵盖单数和复数,除非本文另外指明或上下文明显矛盾。术语“包括”、“具有”、“包括”和“包含”均被解释为开放式术语(即意味着“包括但不限于”),除非另有说明。术语“连接的”在未经修改且涉及物理连接的情况下,应解释为部分地或整体地包含在内、附接到或接合在一起,即使会有一些物件介于其间。除非本文另有说明,否则本文的值的范围的叙述仅用于作为单独参考落在所述范围内的每个单独值的速记方法,并且将每个单独值并入本说明书中,如同本文单独列举每个单独值一样。术语“集”(例如,“项目集”)或“子集”的使用除非另有说明或与上下文相矛盾,否则应被解释为包括一个或多个成员的非空集合。此外,除非另有说明或与上下文相矛盾,否则对应集合的术语“子集”不一定表示对应集合的适当子集,但子集和对应集合可相等。

除非另外特别规定或另外与上下文明显矛盾,否则连接性语言,诸如具有形式“A、B、以及C中的至少一个”或“A、B以及C中的至少一个”的短语与上下文一起理解为一般用来呈现项目、项等可以是 A或B或C,或A和B和C的集合的任何非空子集。例如,在具有三个成员的集的说明性示例中,连接性短语“A、B、和C中的至少一个”和“A、B和C中的至少一个”是指以下集中的任一集:{A}、{B}、 {C}、{A,B}、{A,C}、{B,C}、{A,B,C}。因此,此类连接性语言一般并非意图暗示某些实施方案需要A中的至少一个、B中的至少一个以及C中的至少一个每个存在。

本文所描述的进程的操作可以任何合适的顺序执行,除非本文另外指明或者否则上下文明显矛盾。本文所描述的进程(或其变型和/ 或其组合)可以在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可以被实现为在一个或多个处理器上共同执行的代码 (例如,可执行指令、一个或多个计算机程序或一个或多个应用)、通过硬件或其组合实现。代码可以存储在计算机可读存储介质上,例如以包括可由一个或多个处理器执行的多条指令的计算机程序的形式进行存储。计算机可读存储介质可以是非暂时性的。

本文所提供的任何和所有示例或示例性语言(例如“诸如”)的使用仅旨在更好地说明本发明的实施方案,并且不对本发明的范围构成限制,除非另有说明。说明书中的任何语言都不应解读为指示任何未要求保护的要素是实施本发明所必需的。

本文描述了本公开的实施方案,包括本发明人已知的用于执行本发明的最佳模式。在阅读前面的描述之后,这些实施方案的变型对于本领域普通技术人员来说可能变得明显。本发明人期望本领域技术人员在适当情况下使用这种变型,并且本发明人希望本公开的实施方案以不同于本文具体描述的方式来实施。因此,本公开的范围包括根据适用法律允许的所附权利要求中所述的主题的所有修改和等效物。此外,除非本文另外指明或者否则上下文明显矛盾,否则所有可能变型的上述元素的任何组合都包含在本公开的范围内。

本文所引用的所有参考文献(包括公布、专利申请和专利)据此以引用方式并入,其程度等同于每个参考文献单独地且具体地被表示为以引用方式并入本文并且以其全文在本文得以陈述。

数据中心是容纳计算机系统和各种联网、存储和其他相关部件的设施。例如,数据中心可以向作为远程计算服务的企业和个人提供计算服务,或者提供“软件即服务”(例如,云计算)。为了促进数据中心资源的利用,虚拟化技术可以允许单个物理计算机器托管虚拟机的一个或多个实例,所述虚拟机作为独立计算机机器向所连接的计算机用户展现并操作。利用虚拟化,单个物理计算装置可以按照动态方式创建、维护或删除虚拟机。

数据中心的客户可以被提供关于所选择的资源以及如何建立并利用所述资源的广泛的选择。根据如何建立并利用资源,客户可以体验他们的资源的不同水平的性能。

在所有附图中,参考数字可以被重复使用来指示所参考元件之间的对应关系。提供附图以示出在本文所述的示例性实施方案并且不旨在限制本公开的范围。

图11是示出根据本公开的用于事件驱动处理网络流量流信息的机制的图;

图12是示出根据本公开的用于事件驱动处理网络流量流信息的机制的图;

图13是示出根据本公开的用于事件驱动处理网络流量流信息的机制的图;

图14是示出根据本公开的用于事件驱动处理网络流量流信息的机制的图;

图15是描绘根据本公开的用于事件驱动处理网络流量流信息的示例性过程的流程图;

图16是描绘根据本公开的用于事件驱动处理网络流量流信息的示例性过程的流程图;

图17是示出可以在一些实施方案中使用的示例性计算机环境的图;

图18是示出可以在一些实施方案中使用的示例性计算机系统的图;并且

图19是示出可以在一些实施方案中使用的示例性计算机环境的图。

描述了用于提供对提供商网络中的数据的访问的系统和方法的实施方案。对于提供商网络的计算资源的定义单元或子集,网络数据流在持续选定的时间单位并且在选定的时间间隔期间被捕获并存储。当持续时间单位的网络数据流被存储并且可用于处理时,生成事件通知。响应于这些事件之一,提供商网络可以处理持续时间单位的所存储的数据,并且使得网络数据流数据的所选择部分可用于请求客户。当持续另外的时间单位的另外的网络数据流被捕获并存储时,事件通知被发送到队列。基于从队列检索到的事件通知来处理存储的数据。如果一组存储的数据无法被处理或者如果在处理中存在延迟,那么对所述组存储的数据的事件通知可以被返回到队列中,以便在随后的时间进行处理。

诸如操作提供商网络的实体的服务提供商可以向客户(也可以称为实体或用户)提供诸如计算实例的计算资源和存储资源。客户可以是访问服务提供商的计算资源的任何人或实体。例如,服务提供商可以提供web服务平台。多名客户可以通过计算节点访问web服务平台,并向web服务平台发出指令。web服务平台也可以称为多租户 web服务平台,以表示多名客户可以访问所述平台。web服务平台可以通过对构成web服务平台的多个计算节点中的一个或多个执行计算操作来响应指令。

其他类型的资源可以由提供商网络来提供。例如,提供商网络可以提供监测和评估客户的实例和其他资源和在资源上运行的应用。这种监测和评估服务通常可以在本文称为资源分析服务。监测和评估的信息可以用于收集和跟踪各种度量,并提供关于系统和网络架构、资源利用率、应用性能以及与客户相关联的资源的操作健康状况的建议。这种信息可以对于保持实例和应用平稳且有效地操作是有用的。可以分析这种信息以确定客户的资源及其配置是否针对其预期用途进行了优化。

这类计算环境是大而复杂的,并且包括大量互连的装置,其中混合了流动通过虚拟和物理部件的各种类型的数据。诸如服务器和路由器的各种计算装置可以具有复杂的交互,并且一个区域中的行为可能影响整个计算环境的性能。在许多情况下,客户可以具有成百上千个实例,并且客户可能难以确定如何评估客户的配置和架构以及各种度量可以如何受到网络配置和架构决策的影响。

在许多情况下,提供商网络的客户可能对网络流量流信息感兴趣。例如,提供商网络可以在数据进入或退出所定义的网络边界的选定接口时收集IP网络流量。网络流量流信息可以对于分析网络流量流和容量以确定数据流量的来源和目的地以及正在生成的数据流量的容量是有用的。提供商网络可以执行一个或多个功能来收集所选接口上的IP流量统计信息,并存储用于网络流量分析的数据。网络流量流信息可以包括数据包,其包括入口接口、源IP地址、目的地IP 地址、源端口、目的地端口以及出口接口。

为给定的一组计算资源生成的网络流量流信息的量可能很大。例如,对于给定的小滴或其他定义的单位的计算能力,提供商网络可能希望过滤出不需要的数据流并识别由客户请求的流。由于数据的显著容量和用于提供所请求的流的处理量,所存储的网络流量流信息可能不被及时处理以赶上数据的收集,尤其是在使用轮询方法时,其中处理部件连续轮询以确定所捕获的网络流量流信息是否可用于处理。

本公开描述了用于处理网络流量流信息的事件驱动方法的系统和方法,其避免轮询并允许处理捕获的网络流量流信息而不丢失数据和信息。通过使用事件驱动方法,当存储的网络流量流信息可用于处理时,可以通知负责处理网络流量流信息的系统。可以为网络流量流信息的连续分组提供多个通知,使得处理工作流可以以排队方式处理网络流量流信息的分组。如果发生阻止对网络流量流信息的分组进行处理的问题或难题,那么所述分组可以被丢弃,并且处理可以继续下一个分组。稍后可以重新访问丢弃的分组,以便进行另外的处理尝试来确保处理所有捕获的数据。

在一些实施方案中,处理工作流可以访问通知队列,以确定是否需要处理任何丢弃的分组。可替代地,处理工作流可以分析存储的信息以确定是否需要处理任何丢弃的分组。网络流量流信息的事件驱动处理的使用可以因此允许在具有重要计算资源的计算环境中更完整地处理网络流量流信息,而不会丢失或丢弃数据,并且允许处理工作流在计算环境的当前条件下与切实可行的一样快地处理数据。

在一些实施方案中,经处理的网络流量流信息可以被提供给请求客户,所述请求客户可以访问与其分配的计算资源相关的网络流量流信息。在客户不正确地建立安全规则或者其他配置的情况下,所描述的事件驱动过程可能是有用的,从而阻止处理工作流完成为客户的数据发布任务。这类不完整的事件可以在稍后的时间排队进行重复尝试,从而在没有损失的情况下提供履行客户的数据请求的可能性。

在一些实施方案中,数据的分组可以称为数据包或数据桶,其可以包括用于离散定义的一组计算资源(诸如虚拟计算环境中的小滴) 的网络流量流信息。例如,在这种情境下,用于小滴的数据包或数据桶可以包括在十分钟周期内收集的网络流量流信息。可以以定义的时间间隔(例如,每分钟)收集网络流量流信息。

图11是示出根据本公开的用于提供网络流量流信息的事件驱动处理的示例性系统的图。在图11中,描述了根据实施方案的用于提供计算资源的系统1100。系统1100可以例如在如本文所述的一个或多个数据中心中实现。系统1100可以包括计算资源组1110、1120、1130、1140,其可以包括多个虚拟和物理资源。例如,计算实例可以被配置来通过网关向公共网络的计算机用户提供虚拟计算服务。例如,虚拟计算服务可以将一组远程访问企业应用提供给例如可以是企业客户的员工的一组用户。应当理解,一些实施方案可以涉及图中未示出的附加资源。

图11还示出网络流量流平面1150和网络流量流包1160。网络流量流收集器1170可以有助于将网络流量流包1160存储在网络流量流存储装置1180中。当确定的时间段已过去时,或者当已发生某一其他测量指示时,事件1165可以被发送到网络流量流过程1190。

图12是示出根据一个实施方案的用于提供网络流量流信息的事件驱动处理的一个示例性系统的图。图12示出经受监测和捕获网络流量流信息的资源组1210。在一个实施方案中,资源组的数据流量可以由在内核空间和用户空间中运行的部件和应用来处理。例如,用于处理包的规则可以由内核模块来实现,并且包可以被存储在缓冲器中。在用户空间中运行的应用可以处理存储的包,并且处理包可以放置在缓冲器中以用于上传到存储装置1220。图12还示出网络流发布者1240,其被配置来从队列1250接收已由状态发布者1280提供的指示数据可用于处理的通知1270。网络流发布者1240从存储装置 1220访问数据包,以便在存储装置1220中进行处理。在实施方案中,存储装置1220可以被配置来发送指示数据可用于处理的事件。网络流发布者1240还访问客户信息以确定哪些客户已能够发布网络流量流信息。在一个实施方案中,网络流发布者1240可以被配置来从高速缓存1260检索数据以确定客户已请求了哪些信息、确定客户请求哪些信息、根据客户和客户的信息来解析数据包中的数据、识别与客户请求匹配的特定数据、并将识别的数据存储在日志1230中。

图13是示出根据一个实施方案的用于提供网络流量流信息的事件驱动处理的示例性系统中的数据流的图。图13示出来自资源分组 1310的数据被存储在存储装置1320中。在选定的通知点或其他标准下,事件被发送到通知引擎1350。通知引擎1350向队列1340发送可以针对存储的网络流量流信息访问存储装置1320的通知。流发布者1330可以被配置来访问队列1340并且访问日志1325,以便记录网络流量流信息的标签。图13还示出从高速缓存1380接收关于存储在数据库1370中的客户配置信息的信息的流发布者1330和网络状态发布者1390。客户配置信息可以从应用编程接口(API)1395作为信息来接收,所述应用编程接口(API)1395将接口暴露于控制台1360,所述控制台1360包括管理部件1362和创建/描述/删除部件1364。

图14是根据一个实施方案的添加用于提供网络流量流信息的事件驱动处理的示例性系统的另外细节的图。图14示出存储在服务器 1410中以用于存储在数据库1420中的客户配置和请求的示例性数据记录。如果实现,数据记录可以包括用于记录的标识符,指示接受的流量、拒绝的流量或所有流量是否应被标记的类型,请求的状态(例如,激活或暂停),尝试次数,以及其他信息。数据记录可用于工作流1430,所述工作流1430包括被配置来维护日志1450的网络流发布者1440。存储在日志1450中的网络流量流数据可以包括版本、接口标识符、源地址、目的地地址、源端口、目的地端口、包、字节、时间戳,并且流量工作流1430的类型还包括用于提供通知1480的状态发布者1445。通知1470可以由存储装置1475产生,因为网络流量流数据桶或数据包存储在存储装置1475中。

在示例性用例中,用于提供网络流量流信息的事件驱动的处理的所描述的系统可以用于通过系统监测日志来公开由所请求的客户接受和/或拒绝的网络流量。例如,用于提供网络流量流信息的事件驱动处理的系统可以采用IP地址表并且在已被接受或拒绝的包上生成日志数据。系统可以以定义的时间间隔捕获这些包,并且以更大的时间间隔将包发送到存储桶或存储包,以便进一步处理。诸如图14的网络流发布者1440的聚合工作流可以过滤掉不需要的日志数据,并且选择并发送相关的流量信息。聚合工作流可以从虚拟私有云、子网或者计算和/或网络容量的某个其他定义的单元的数据包中提取客户指定的流量类型。

网络流发布者1440可以被配置来由诸如图14的通知1470的事件通知来触发。在接收到来自队列1460的通知事件之后,网络流发布者1440可以从存储装置访问相关联的网络流量流信息包,并且为所述包生成诸如图14的日志1450的日志。如果与网络流量流信息相关联的客户已启用流日志的发布,那么可以通过诸如图13的API 1395的应用编程接口(API)来将日志提供给监测和报告功能,所述发布许可被正确地配置,并且其他限制不激活。如果对于给定数据包不存在网络流量流信息,那么网络流发布者1440可以提供没有要报告的流量信息的指示。

图15示出用于提供对提供商网络中的数据的访问的示例性操作过程,所述提供商网络被配置来向提供商网络的客户提供在网络计算资源上实现的虚拟计算服务。在实施方案中,通过图15所示的操作来实现网络流量流信息的事件驱动处理,所述处理以操作1500开始以开始操作过程。所述过程可以针对通过网络通信的多个计算节点来实现。计算节点可以包括多个虚拟机。操作1500之后可以是操作 1502。操作1502示出接收用于监测计算节点的子集的信息。所述子集可以例如基于提供商网络的客户来定义,所述客户已请求访问其分配的计算资源的网络流量流信息。所述子集还可以由提供商网络定义为将要被监测以用于后续分析的网络流量流信息的计算节点。

操作1502之后可以是操作1504。操作1504示出接收通过网络发送的数据包。在一些实施方案中,接收网络控制平面中的数据包。在其他实施方案中,接收跨网络发送的数据包。操作1504之后可以是操作1506。操作1506示出检查数据包以确定数据包是否是进入或退出计算节点的子集之一的网络流量流数据包。操作1506之后可以是操作1508,所述操作1508示出存储被确定为是进入或退出所述子集的一个计算节点的网络流量流数据包的数据包。在一些实施方案中,在预定时间间隔期间执行操作1502、1504和1506。例如,网络流量流数据包可以以一分钟的间隔来存储。

操作1508之后可以是操作1510。操作1510示出在预定时间段之后将存储的数据包移动到数据存储区。例如,存储的数据包可以每十分钟就移动到数据存储区。操作1510之后可以是操作1512。操作 1512示出当存储的数据包被移动到数据存储区时向一个或多个队列发送通知。例如,参考图13,通知引擎1350可以向队列1340发送可以针对存储的网络流量流信息访问存储装置1320的通知。在一些实施方案中,一个或多个队列可以被实现为分布式队列。操作1512 之后可以是操作1514。操作1514示出在随后的预定时间段内重复所述接收数据包,检查并存储所述数据包。例如,可以以十分钟间隔或者以如由提供商网络配置的其他时间间隔来重复操作1504至1512。操作1514之后可以是操作1516。操作1516示出从一个或多个队列检索排队的通知并且根据所述排队的通知来访问数据存储区中的数据包。例如,参考图14,网络流发布者1440可以被配置来由诸如通知1470的事件通知来触发。在接收到通知事件之后,网络流发布者 1440可以从存储装置访问相关联的网络流量流信息包,并且为所述包生成诸如图14的日志1450的日志。所述队列中的通知可以以先进先出的方式来处理,以便可以按顺序处理所存储的数据包。在一些实施方案中,如果一个或多个队列被实现为分布式队列,那么可以从一个队列检索通知并对其进行处理。

操作1516之后可以是操作1518。操作1518示出处理所检索的数据包以识别将要提供给编程接口的网络流量流数据。操作1518之后可以是操作1520。操作1520示出针对未完成所述处理的所存储的数据包向一个或多个队列发送通知。例如,可以阻止一些网络流量流数据被发布,因为可能由于为客户的数据而配置的安全设置而阻止客户。通过在尚未完成处理的存储的数据包的队列中保留通知,可以重复尝试完成所述处理,直到可以完成处理或达到最大超时为止。

在一些实施方案中,数据流量可以包括网络流量流数据。此外,访问可以由发布者部件来提供,所述发布者部件被配置来过滤所识别的数据流量并将其发布到所指示的客户。所述通知可以由状态发布者部件来发送,所述状态发布者部件被配置来接收所捕获的数据流量被存储在数据存储区中的指示,并将所述通知发送到发布者部件。数据存储区可以是被配置来存储所捕获的数据流量的永久性存储资源。

图16示出用于提供对提供商网络中的数据的访问的示例性操作过程,所述提供商网络向提供商网络的客户分配虚拟计算服务。在实施方案中,通过图16所示的操作来实现网络流量流信息的事件驱动处理,所述处理以操作1600开始以开始操作过程。操作1600之后可以是操作1602。操作1602示出存储用于虚拟化计算资源的网络流量流数据的基于时间的分组。

操作1602之后可以是操作1604。操作1604示出当存储基于时间的分组时提供通知。操作1604之后可以是操作1606,所述操作1606 示出检索一个或多个通知。操作1606之后可以是操作1608,所述操作1608示出处理在通知中识别的基于时间的分组。所述处理操作可以包括识别并发布与客户相关联的网络流量流数据,所述客户已请求发布用于相关联的虚拟化计算资源的网络流量流数据。

在一些实施方案中,基于由提供商网络定义的连续时隙来确定基于时间的分组。基于时间的分组可以基于虚拟化计算资源的所选择的子集来存储。网络流量流数据的基于时间的分组可以被存储在被配置来存储所捕获的数据流量的永久性存储资源中。此外,虚拟化计算资源的所选择的子集可以是单位虚拟化计算能力。

在一些实施方案中,通知存储在一个或多个队列中并从一个或多个队列检索。所述处理可以包括接受或拒绝数据流量。所述发布可以包括使经处理的网络流量流可用于用于虚拟化计算资源、网络流分析器或客户定义的存储装置的监测服务。所述发布可以由被配置来过滤网络流量流数据并将其发布到相关联的客户的发布者部件来执行。

在一些实施方案中,所选择的子集包括虚拟专用网络、子网或虚拟网络接口。此外,通知可以由状态发布者部件来提供,所述状态发布者部件被配置来接收捕获的网络流量流被存储的指示并将所述通知发送到发布者部件。

应当理解,本文呈现的主题可以被实现为计算机进程、计算机控制的设备或计算系统或者诸如计算机可读存储介质的制品。尽管在一个或多个计算装置上执行的程序模块的一般上下文中呈现了本文所描述的主题,但是本领域的技术人员应认识到可结合其他类型的程序模块执行其他实现方式。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、部件、数据结构以及其他类型的结构。

本领域的技术人员还将理解,本文所描述的主题的可以在除了本文所描述的这些之外的其他计算机系统配置上实践或者可结合所述其他计算机系统配置实践,所述其他计算机系统配置包括:多处理器系统、基于微处理器的或可编程的消费电子产品、小型计算机、大型计算机、手持计算机、个人数字助理、电子阅读器、蜂窝电话装置、专用硬件装置、网络设备等。本文描述的实施方案还可以在分布式计环算境中实践,其中由通过通信网络加以链接的远程处理装置执行任务。在分布式计算环境中,程序模块可以位于本地和远程存储器存储装置两者中。

通过或代表实体(诸如公司或组织)建立的用于将可通过互联网和/或其他网络访问的一个或多个服务(诸如各种类型的基于云的计算或存储装置)提供到分布式客户端集合的网络可以称为提供商网络。这种提供商网络可以包括托管可以用于实现并分配由提供商网络提供的基础设施和服务的各种资源池(诸如物理和/或虚拟计算机服务器、存储装置、网络设备等的集合)的一个或多个数据中心。在一些实施方案中,资源可以称为叫作“实例”(诸如虚拟或物理计算实例或存储实例)的单元中的客户端。虚拟计算实例可以例如包括具有(可以通过指示CPU的类型和数量、主存储器大小等来指定的)指定计算能力和指定的软件堆栈(例如,操作系统的特定版本,其可以继而在管理程序的顶部运行)的一个或多个服务器。

可以在不同的实施方案中单独地或组合地使用多种不同类型的计算装置来实现提供商网络的资源,包括通用或专用计算机服务器、存储装置、网络装置等。在一些实施方案中,客户端或用户可以被提供对资源实例的直接访问,例如通过给予用户管理员登录和密码。在其他实施方案中,提供商网络运营商可以允许客户端为指定的客户端应用指定执行需求,并且代表客户端在适用于应用的执行平台(诸如应用服务器实例、Java

图17示出可以实现本文所描述的实施方案的示例性计算环境。图17是示意性地示出可以通过通信网络1730通过用户计算机1707a 和1707b(其可以在本文单数地称为“计算机1707”或以复数称为“多个计算机1707”)而向用户1700a和1700b(其可以在本文单数地称为“用户1700”或以复数称为“多个用户1700”)提供计算资源的数据中心1710的示例的图。数据中心1710可以被配置来提供用于在永久或根据需要的基础上执行应用的计算资源。由数据中心1710提供的计算资源可以包括各种类型的资源,诸如数据处理资源、数据存储资源、数据通信资源等。每种类型的计算资源可以是通用的,或者可用于许多特定配置中。例如,数据处理资源可以用作虚拟机实例。实例可以被配置来执行应用,包括web服务器、应用服务器、媒体服务器、数据库服务器等。数据存储资源可以包括文件存储装置、块存储装置等。

每种类型或每种配置的计算资源可以具有不同大小,诸如大型资源,其由许多处理器、大量存储器和/或较大存储容量组成;以及小型资源,其由较少处理器、更少量的存储器和/或更小的存储容量组成。例如,客户可以选择分配如web服务器的许多小型处理资源,和 /或如数据库服务器的一个大型处理资源。

数据中心1710可以包括提供可用作虚拟机实例1718a和1718b (其可以在本文单数地称为“虚拟机实例1718”或以复数称为“多个虚拟机实例1718”)的计算资源的服务器1716a和1716b(其可以在本文单数地称为“服务器1716”或以复数称为“多个服务器1716”)。虚拟机实例1718可以被配置来执行应用,包括web服务器、应用服务器、媒体服务器、数据库服务器等。可以提供的其他资源包括数据存储资源(未示出),并且可以包括文件存储装置、块存储装置等。

参考图17,通信网络1730可以例如是链接网络的公共可访问网络,并且可能由各种不同方(诸如互联网)操作。在其他实施方案中,通信网络1730可以是专用网络,例如像非特权用户完全或部分不可访问的公司或大学网络。在其他实施方案中,通信网络1730可以包括具有对互联网的访问和/或来自互联网的访问一个或多个专用网络。

通信网络1730可以提供对计算机1707的访问。计算机1707可以是由用户1700或数据中心1710的其他客户使用的计算机。例如,用户计算机1707a或1707b可以是服务器、台式或膝上型个人计算机、平板计算机、无线电话、个人数字助理(PDA)、电子书阅读器、游戏机、机顶盒或者能够访问数据中心1710的任何其他计算装置。用户计算机1707a或1707b可以(例如,通过电缆调制解调器或数字用户线路(DSL))直接连接到互联网。虽然仅描绘了两个用户计算机1707a和1707b,但是应当理解,可以存在多个用户计算机。

用户计算机1707还可以用于配置由数据中心1710提供的计算资源的各方面。在这方面,数据中心1710可以提供web接口,通过所述web接口,可通过使用在用户计算机1707上执行的web浏览器应用程序来配置数据中心的操作的各方面。可替代地,在用户计算机1707上执行的独立应用程序可以访问由数据中心1710公开的应用编程接口(API)以便执行配置操作。还可以使用用于配置数据中心1710 的操作的其他机制,包括部署对应用的更新。

图17所示的服务器1716a和1716b可以是适当地配置用于提供上述计算资源的标准服务器,并且可以提供用于执行一个或多个应用的计算资源。在一个实施方案中,计算资源可以是虚拟机实例1718。在虚拟机实例的示例中,每个服务器1716可以被配置来执行能够执行虚拟机实例的实例管理器1770a或1770b(其在本文中可以单数地称为“实例管理器1770”或以复数称为“多个实例管理器1770”)。例如,实例管理器1770可以是虚拟机监测器(VMM)或者被配置来使得能够在服务器1716上执行虚拟机实例1718的另一类型的程序。如上所述,每个虚拟机实例1718可以被配置来执行应用的全部或一部分。

应理解的是,尽管以上公开的实施方案是在虚拟机实例的情境中讨论的,但是其他类型的实现方式也可以与本文所公开的概念和技术一起使用。例如,本文公开的实施方案也可以与不利用虚拟机实例的计算系统一起使用。

在图17所示的示例性数据中心1710中,路由器1714可以用于互连服务器1716a和1716b。路由器714也可以连接到网关1740,所述网关1740连接到通信网络1730。路由器1714可以例如通过基于这种通信的特性(例如,包括源地址和/或目的地地址、协议标识符等的报头信息)和/或专用网络的特性(例如,基于网络拓扑的路由等)来适当地转发包或其他数据通信来管理数据中心1710内的网络内的通信。应当理解,为了简单起见,示出所述示例的计算系统和其他装置的各个方面,而不示出某些常规细节。附加的计算系统和其他装置可以在其他实施方案中互连,并且可以以不同的方式互连。

应理解的是,在图17中示出的网络拓扑已大大简化,并且可使用更多的网络和联网装置来互连本文所公开的各种计算系统。这些网络拓扑和装置对本领域技术人员来说应是明显的。

还应当理解,图17中描述的数据中心1710仅仅是说明性的,并且可以利用其他实现方式。此外,应理解的是,本文所公开的功能可以以软件、以硬件或以软件与硬件的组合来实现。其他实现方式对本领域技术人员来说应是明显的。还应理解的是,服务器、网关或其他计算装置可以包括可交互并且执行所述类型的功能的硬件或软件的任何组合,其包括但不限于台式计算机或其他计算机、数据库服务器、网络存储装置和其他网络装置、PDA、平板电脑、移动电话、无线电话、寻呼机、电子管理器、互联网器材、(例如,使用机顶盒和/或个人/数字视频记录器的)基于电视的系统以及包括适当通信能力的各种其他消费品。此外,由所示出模块提供的功能可以在一些实施方案中以较少的模块来组合或分布于另外的模块中。类似地,在一些实施方案中,可以不提供所示出模块中的一些的功能和/或可使用其他另外的功能。

提供商网络可以被配置有部署部件来辅助客户部署计算资源的新实例。部署部件可以从客户接收配置,所述配置包括描述新实例应如何被配置的数据。例如,所述配置可以:指定应在新实例中安装的一个或多个应用或软件部件,提供将要在新实例中执行的脚本和/或其他类型的代码,提供指定应如何准备应用高速缓存的高速缓存热身逻辑以及其他类型的信息。部署部件利用客户提供的配置和高速缓存热身逻辑来启动、配置并预先准备计算资源的新实例。

在至少一些实施方案中,实现本文描述的一种或多种技术的一部分或全部的计算装置,包括用于实现用于网络流量流信息的事件驱动处理的系统的功能的技术,可以包括通用计算机系统,其包括或被配置来访问一个或多个计算机可访问介质。图18示出这种通用计算装置1800。在示出的实施方案中,计算装置1800包括通过输入/输出 (I/O)接口1880耦合到系统存储器1820的一个或多个处理器1810a、 1810b和/或1810n(其可以在本文单数地称为“处理器1810”或以复数称为“多个处理器1810”)。计算装置1800还包括耦合到I/O接口1880 的网络接口1840。

在各种实施方案中,计算装置1800可以是包括一个处理器1810 的单处理器系统,或者包括若干处理器1810(例如两个、四个、八个或另一合适数量)的多处理器系统。处理器1810可以是能够执行指令的任何合适的处理器。例如,在各种实施方案中,处理器1810 可以是实现各种指令集架构(ISA)中任何一种架构的通用或嵌入式处理器,所述架构诸如x86、PowerPC、SPARC、或MIPS ISA或任何其他合适ISA。在多处理器系统中,每个处理器1810可以通常但不一定实现相同的ISA。

系统存储器1820可以被配置来存储可由处理器1810访问的指令和数据。在各种实施方案中,系统存储器1820可以使用任何合适存储器技术来实现,所述存储器技术诸如静态随机存取存储器 (SRAM)、同步动态RAM(SDRAM)、非易失性/快闪型存储器或任何其他类型的存储器。在示出的实施方案中,实现一个或多个所需功能的程序指令和数据(诸如上述那些方法、技术和数据)被示出作为代码1825和数据1826存储在系统存储器1820内。

在一个实施方案中,I/O接口1880可以被配置来协调处理器 1810、系统存储器1820和装置中的任何外围装置之间的I/O流量,包括网络接口1840或其他外围接口。在一些实施方案中,I/O接口 1880可以执行任何必需协议、定时或其他数据转换以便将来自一个部件(例如,系统存储器1820)的数据信号转换成适合于由另一个部件(例如,处理器1810)使用的格式。在一些实施方案中,例如, I/O接口1880可以包括对于通过各种类型的外围总线附接的装置的支持,所述外围总线诸如外围部件互连(PCI)总线标准或通用串行总线(USB)标准的变型。在一些实施方案中,I/O接口1880的功能可以分成两个或更多个单独的部件,例如像北桥和南桥。另外,在一些实施方案中,I/O接口1880的一些或所有功能,诸如到系统存储器 1820的接口,可以直接并入处理器1810中。

网络接口1840可以被配置来允许数据在计算装置1800与附接到一个或多个网络1850的其他一个或多个装置1860(例如像图11至图18中所示的其他计算机系统或装置)之间进行交换。在各种实施方案中,网络接口1840可以支持通过任何合适的有线或无线通用数据网络(例如像以太网网络类型)进行通信。此外,网络接口1840 可以支持通过电信/电话网络(诸如模拟语音网络或数字光纤通信网络)、通过存储区域网络(诸如光纤信道SAN)或通过任何其他合适类型的网络和/或协议进行通信。

在一些实施方案中,系统存储器1820可以是被配置来存储如上文针对图11和图12所描述以用于实现对应的方法和设备的实施方案的程序指令和数据的计算机可访问介质的一个实施方案。然而,在其他实施方案中,可以在不同类型的计算机可访问介质上接收、发送或存储程序指令和/或数据。一般来说,计算机可访问介质可以包括非临时性的存储介质或存储器介质,诸如磁性介质或光学介质,例如通过I/O接口1880耦合到计算装置1800的磁盘或DVD/CD。非暂时性计算机可访问存储介质还可以包括可作为系统存储器1820或另一类型的存储器而包括在计算装置1800的一些实施方案中的任何易失性或非易失性介质,诸如RAM(例如,SDRAM、DDR SDRAM、RDRAM、 SRAM等)、ROM等。此外,计算机可访问介质可以包括传输介质或信号,诸如通过通信介质(诸如网络和/或无线链路)传送的电信号、电磁信号或数字信号,诸如可以通过网络接口1840来实现。在各种实施方案中,诸如图18中示出的多个计算装置的部分或全部可以用来实现所述功能;例如,在各种不同装置和服务器上运行的软件部件可以合作来提供所述功能。在一些实施方案中,除了或者代替使用通用计算机系统来实现,所述功能的部分可以使用存储装置、网络装置或专用计算机系统来实现。如本文使用的术语“计算装置”是指至少所有这些类型的装置,并且不限于这些类型的装置。

由诸如公司或公共部门组织的实体建立以提供通过互联网和/或其他网络可访问的一种或多种服务(诸如各种类型的基于云的计算或存储装置)到一组分布式客户端的网络可以称为提供商网络。这种提供商网络可以包括托管实现并分配由提供商网络提供的基础设施和服务需要的各种资源池的多个数据中心,诸如物理和/或虚拟计算机服务器、存储装置、网络设备等的集合。在一些实施方案中,资源可以称为叫作“实例”(诸如虚拟或物理计算实例或存储实例)的单元中的客户端。虚拟计算实例可以例如包括具有(可以通过指示CPU的类型和数量、主存储器大小等来指定的)指定计算能力和指定的软件堆栈(例如,操作系统的特定版本,其可以继而在管理程序的顶部运行)的一个或多个服务器。

可以在不同的实施方案中单独地或组合地使用多种不同类型的计算装置来实现提供商网络的资源,包括通用或专用计算机服务器、存储装置、网络装置等。在一些实施方案中,客户端或用户可以被提供对资源实例的直接访问,例如通过给予用户管理员登录和密码。在其他实施方案中,提供商网络运营商可以允许客户端为指定的客户端应用指定执行需求,并且代表客户端在适用于应用的执行平台(诸如应用服务器实例、Java

在许多环境中,实现不同类型的虚拟化计算、存储和/或其他网络可访问功能的提供商网络的运营商可以允许客户在各种资源获得模式下预定或购买对资源的访问。计算资源提供商可以为客户提供选择和启动期望的计算资源、将应用部件部署到计算资源、并且维护在环境中执行的应用的设施。此外,计算资源提供商可以为客户提供另外的设施,以便在对应用的需求或应用的容量需要改变时,手动地或通过自动缩放来快速且轻松地扩大或缩小分配给应用的资源的数量和类型。由计算资源提供商提供的计算资源可以以离散单元(可以称为实例)来获得。实例可以表示物理服务器硬件平台、在服务器上执行的虚拟机实例、或者两者的某种组合。实例的各种类型和配置可以是可用的,包括执行不同操作系统(OS)和/或管理程序以及各种安装的软件应用、运行时等的不同大小的资源。例如,实例可以进一步在代表底层计算硬件的数据中心或其他地理位置的特定可用性区域中是可用的。

在一些实施方案中,提供商网络可以被组织成多个地理区域,并且每个区域可以包括一个或多个可用性区域。可用性区域(其也可以称为可用性容器)继而可以包括一个或多个不同的位置或数据中心,其被配置来使得给定可用性区域中的资源可以与其他可用性区域中的故障隔离或绝缘。也就是说,一个可用性区域的故障可能不会预期导致任何其他可用性区域中的故障。因此,资源实例的可用性配置文件旨在独立于在不同可用性区域中的资源实例的可用性配置文件。客户端可以能够通过在相应的可用性区域中启动多个应用实例来保护其应用免于在单个位置处发生故障。同时,在一些实现方式中,在驻留在相同的地理区域内的资源实例之间可以提供廉价且低延时的网络连接(并且相同的可用性区域的资源之间的网络传输可以甚至更快)。

提供商网络可以使实例“按需”可用,从而允许客户选择特定类型和配置的多个实例(例如,大小、平台、租赁、可用性区域等),并且快速启动实例用于部署。按需实例可以在对需求或容量需要随时间改变时,进一步手动或自动通过自动缩放而根据需要添加或移除。例如,客户可以基于运营小时数和/或实际使用资源的数量来承担与其按需实例相关的持续使用成本。

计算资源提供商还可以使预留的实例可用于客户。预留的实例可以为客户提供持续固定期限(诸如一年或三年)预留许多特定类型和配置的实例的能力,以用于例如如果并且当启动实例时,用减少的每小时或其他使用成本来交换较低的预付成本。这可以允许客户响应于需求的增加来推迟与扩展部署的应用相关的成本,同时确保在需要时可以使用合适的资源。虽然预留的实例为客户提供用于缩放其应用的可靠的备用容量,但是购买预留的实例也可能将客户锁定在特定可用性区域中的特定数量、类型和/或配置的计算资源中持续比预期更长的时间段。如果应用的技术架构或需求发生变化,那么客户可能无法实现客户对预留实例的投资回报。

在某些情况下,这类提供商网络的运营商可以为其客户端实现一组灵活的资源预留、控制和访问接口。例如,提供商网络的资源管理器可以实现编程资源预留接口(例如,通过网站或一组网页),其允许客户端了解、选择、购买对资源实例的访问和/或预留资源实例。在下文讨论的一些实施方案中,其中诸如资源管理器或定价优化器的实体被描述为实现一个或多个编程接口,诸如网页或API,所述实体的接口管理器子部件可以负责接口相关功能。在许多实施方案中,等同的接口相关功能可以由资源管理器外部的单独的或独立的接口管理器来实现。这种接口可以包括允许浏览资源目录和所支持的不同类型或大小的资源的细节和规格以及所支持的不同的预留类型或模式、定价模型等的能力。

在一些实施方案中,诸如在图19中,数据中心1900可以被视为共享计算资源和/或共享基础设施的集合。例如,如图19所示,数据中心1900可以包括虚拟机时隙1904、物理主机1902、电源1906、路由器1908、隔离区1910和地理位置1912。虚拟机时隙1904可以称为时隙或资源时隙。物理主机1902可以由多个虚拟机时隙1904共享,每个时隙1904能够托管诸如客机域的虚拟机。多个物理主机1902 可以共享电源1906,诸如设置在服务器机架上的电源1906。路由器 1908可以跨若干电源1906服务多个物理主机1902来路由网络流量。隔离区1910可以服务许多路由器1908,隔离区1910是可以由诸如备用生成器的冗余资源来服务的一组计算资源。隔离区1910可以驻留在诸如数据中心1900的地理位置1912处。供应服务器1914可以包括被配置有指令的存储器和处理器,所述指令用于分析用户数据并且使用在计算中的确定的角色和共享资源/基础设施来对可用实现资源进行排序。供应服务器1914还可以管理用于供应和撤销计算资源以及检测计算资源的健康和/或故障的工作流。

供应服务器1914可以确定资源在数据中心内的布局。在一些实施方案中,所述布局可以至少部分地基于可用的计算资源和/或计算资源之间的关系。在一个实施方案中,资源之间的距离可以通过共享资源的程度来测量。所述距离可以根据角色在资源的排名中使用。例如,主机1902上与第二系统共享路由器1908的第一系统可以比仅共享隔离区1910的第三系统更靠近第二系统。根据应用,可能希望保持距离较低以增加吞吐量或者较高增加耐久性。在另一个实施方案中,距离可以根据非共享资源来定义。例如,共享路由器1908的两个时隙1904可以具有物理主机1902和电源1906的距离。在距离计算中,资源的每个差异可以被不同地加权。

当选择准备的资源以转移到客户账户时,也可以使用布局计算。在一个实施方案中,客户端请求具有操作系统的虚拟机。供应服务器 1914可以确定所述请求可以用时隙1904中的分段业务量满足。可以作出布局决策,所述布局决策确定可能需要共享哪些基础设施,以及哪些基础设施是不希望共享的。通过使用布局决策,可以从可用的资源池中选择满足至少一些布局决策特性的分段业务量。例如,可以在集群计算设置中使用分段业务量池。当请求新业务量时,供应服务器 1914可以确定在其他现有业务量附近的布局对于延时问题是所希望的。因此,所述决策可以发现共享路由器1908是所希望的,但是共享电源1906和物理主机1902不是所希望的。可以随后选择与这些属性匹配的池中的业务量,并且优选地放置在与其他业务量相同的路由器1908上,而不是相同的物理主机1902或电源1906上。在诸如与数据库分片相关的布局决策的其他实例中,共享基础设施可能不太可取,并且可以选择具有与其他相关业务量相同的较少的基础设施的业务量。

在前述部分中所述的过程、方法和算法中的每一个可以体现在由一个或多个计算机或计算机处理器执行的代码模块中,并且完全或部分地由所述代码模块自动进行。所述代码模块可以存储在任何类型的非暂时计算机可读介质或计算机存储装置(诸如硬盘驱动器、固态存储器、光盘等)上。所述过程和算法可以部分地或全部地在专用电路中实现。所公开的过程和处理步骤的结果可以永久地或以其他方式存储在任何类型的非暂时性计算机存储装置(例如像易失性或非易失性存储装置)中。

上文所述的各种特征和过程可以彼此独立地使用或可以各种方式进行组合。所有可能的组合和子组合意图落入本公开的范围内。此外,可以在一些实现方式中省略某些方法和过程方框。本文所述的方法和过程也不限于任何特定的顺序,并且与之相关的方框或状态可以按其他适当的顺序执行。例如,所描述的方框或状态可以按不同于已特别公开的次序的次序来执行,或者多个方框或状态可以组合在单个方框或状态中。示例性方框或状态可以串行地、并行地或以某种其他方式执行。方框或状态可以被添加至所公开的示例性实施方案或者可以从这些实施方案中移除。本文所述的示例性系统和部件可以以不同于所述方式的方式被配置。例如,与所公开的示例性实施方案相比,元件可以被添加、移除或重新布置。

还应理解的是,各种项目被示出为在使用时存储在存储器中或者存储装置上,且为了存储器管理和数据完整性,可以在存储器与其他存储装置之间传送这些项目或它们的部分。可替代地,在其他实施方案中,软件模块和/或系统中的一些或全部可以在另一装置上的存储器中执行,并且通过计算机间的通信来与所示出的计算系统通信。此外,在一些实施方案中,可以以其他方式(诸如,至少部分地在固件和/或硬件中)实现或提供所述系统和/或模块中的一些或全部,包括但不限于一个或多个专用集成电路(ASIC)、标准集成电路、控制器(例如,通过执行适当的指令并且包括微控制器和/或嵌入式控制器)、现场可编程门阵列(FPGA)、复杂可编程逻辑装置(CPLD)等。所述模块、系统和数据结构中的一些或全部也可以(例如作为软件指令或结构化数据)存储在计算机可读介质(诸如硬盘、存储器、网络或通过适当驱动器或通过适当连接来读取的便携式介质制品)上。所述系统、模块和数据结构也可以作为所生成的数据信号(例如,作为载波或其他模拟或数字传播信号的部分)在各种计算机可读传输介质(包括基于无线的介质和基于有线/电缆的介质)上传输,并且可以采取多种形式(例如,作为单个模拟信号或多路复用的模拟信号的部分,或作为多个离散的数字数据包或帧)。在其他实施方案中,这种计算机编程产品也可以采取其他形式。因此,本发明可以用其他计算机系统配置来实践。

除非另外特别说明,或者在所用上下文中另外加以理解,否则诸如尤其是“能够”、“可”、“可能”、“可以”、“例如”等等本文所使用的条件语言通常意图表达:某些实施方案包括某些特征、元件和/或步骤,但其他实施方案不包括这些特征、元件和/或步骤。因此,这种条件语言通常并非意图暗示所述特征、元件和/或步骤无论如何都是一个或多个实施方案所必需的,或者并非暗示一个或多个实施方案必须包括用于在借助和不借助作者输入或者提示的情况下决定是否包括这些特征、元件和/或步骤或是否在任何特定实施方案中执行这些特征、元件和/或步骤的逻辑。术语“包括”、“包括”、“具有”等是同义的,并以开放的方式包括性地使用,而且不排除额外元件、特征、动作、操作等等。另外,术语“或者”以其包括性意义(并且不以其排除性意义)使用,从而使得当(例如)用来连接一列表元件时,术语“或者”意味着所述列表中元件的一个、一些或全部。

尽管已经描述某些示例性实施方案,但是这些实施方案仅仅通过示例呈现,且并非意图限制本文所公开的发明的范围。因此,在前文描述中没有内容意在暗示任何特定特征、特性、步骤、模块或方框是必须的或不可缺少的。实际上,本文所述的新颖方法和系统可以以多种其他形式体现;此外,在不脱离本文所公开的发明的精神的情况下,可以对本文所述的方法和系统做出各种省略、替代和形式变化。所附权利要求书和其等效物意图涵盖将会落在本文所公开的某些发明的范围和精神内的这类形式或修改。

可以鉴于以下条款对本公开的实施方案进行描述:

1.一种为通过网络通信的多个计算节点提供网络流量流数据的方法,所述计算节点中的每一个包括多个虚拟机,所述方法包括:

接收用于监测所述计算节点的子集的信息;

在预定的时间间隔期间:

接收通过所述网络发送的数据包;

检查所述数据包以确定所述数据包是否是进入或退出所述计算节点的子集之一的网络流量流数据包;

存储被确定为是进入或退出所述子集的所述一个计算节点的网络流量流数据包的数据包;

在预定时间段之后,将所述存储的数据包移动到数据存储区;

当所述存储的数据包被移动到所述数据存储区时向一个或多个队列发送通知;

在随后的预定时间段内重复所述接收数据包、检查并存储;

从所述一个或多个队列检索所述通知并且根据所述通知来访问所述数据存储区中的所述数据包;

处理所述检索的数据包以识别将要提供给编程接口的网络流量流数据;以及

针对未完成所述处理的存储的数据包向所述一个或多个队列发送通知。

2.如条款1所述的方法,其中所述预定时间间隔是所述预定时间段的子集。

3.如条款1或2所述的方法,其还包括过滤并发布所述识别的数据流量。

4.如条款1-3中任一项所述的方法,其中响应于所述存储的数据包已移动到所述数据存储区的指示来发送所述通知。

5.如条款1-4中任一项所述的方法,其中所述一个或多个队列被实现为分布式队列。

6.一种被配置来提供对提供商网络中的数据的访问的系统,所述提供商网络向所述提供商网络的客户分配虚拟化计算资源,所述系统包括:

至少一个存储器,在所述至少一个存储器中存储有计算机指令,所述计算机指令在由所述系统的一个或多个处理器执行时至少引起所述系统:

存储用于所述虚拟化计算资源的网络流量流数据的基于时间的分组;

当存储所述基于时间的分组时提供通知;以及

检索所述通知中的一个或多个并且处理在所述一个或多个通知中识别的所述基于时间的分组,所述处理包括识别并发布与用户相关联的网络流量流数据,所述用户已请求发布用于相关联的虚拟化计算资源的所述网络流量流数据。

7.如条款6所述的系统,其中基于由所述提供商网络定义的一系列连续时隙来确定所述基于时间的分组。

8.如条款6或7所述的系统,其中所述基于时间的分组被基于所述虚拟化计算资源的所选择的子集来存储。

9.如条款8所述的系统,其中所述虚拟化计算资源的所述所选择的子集是单位虚拟化计算能力。

10.如条款6-9中任一项所述的系统,其中所述通知存储在一个或多个队列中并从所述一个或多个队列检索。

11.如条款6-10中任一项所述的系统,其中所述处理包括识别已被接受或拒绝的数据流量。

12.如条款6-11中任一项所述的系统,其中所述发布包括使所述经处理的分组可用于用于所述虚拟化计算资源、网络流分析器或者客户定义的存储装置的监测服务中的一个或多个。

13.如条款8-12中任一项所述的系统,其中所述所选择的子集包括虚拟专用网络、子网或虚拟网络接口。

14.如条款6-13中任一项所述的系统,其中所述发布由被配置来过滤所述网络流量流数据并将其发布到所述相关联的用户的发布者部件来执行。

15.如条款14所述的系统,其中所述提供所述通知由状态发布者部件来执行,所述状态发布者部件被配置来接收所述网络流量流被存储的指示并将所述通知发送到所述发布者部件。

16.如条款6-15中任一项所述的系统,其中网络流量流数据的所述基于时间的分组被存储在被配置来存储所述网络流量流数据的永久性存储资源中。

17.一种上面存储有计算机可读指令的非暂时计算机可读存储介质,所述计算机可读指令包括当在计算节点上执行时至少引起以下各项的指令:

存储用于提供商网络的虚拟化计算资源的分组的网络流量流数据;

将在选择的时间范围内已为至少一个分组存储网络流量流数据的通知进行排队;以及

访问所述排队的通知并处理在所述排队的通知中识别的所述存储的网络流量流数据,所述处理包括识别与所述提供商网络的客户相关联的网络流量流数据,所述客户已请求访问用于相关联的虚拟化计算资源的网络流量流数据。

18.如条款17所述的非暂时计算机可读介质,其还包括当在计算节点上执行时至少引起发布所述识别的网络流量流数据的指令。

19.如条款18所述的非暂时计算机可读介质,其中当不满足对于所述发布的一个或多个条件时,终止对分组的发布。

20.如条款17-19中任一项所述的非暂时计算机可读介质,其还包括当在计算节点上执行时至少引起对分组的处理的停止并且在随后的时间恢复所述分组的处理的指令。

相关技术
  • 用于多租户环境的网络流日志的系统和方法
  • 用于多租户环境的网络流日志
技术分类

06120112157540