首页> 中国专利> 对服务提供商网络处的虚拟网络的网络流量进行镜像

对服务提供商网络处的虚拟网络的网络流量进行镜像

摘要

描述了使得用户能够配置发送到与在服务提供商网络处的计算资源的虚拟网络相关联的计算资源或由其接收的网络流量的镜像的技术。所述镜像网络流量可以用于许多不同的目的,包括例如网络流量内容检查、取证和威胁分析、网络故障排除、数据丢失防护等。用户可以配置这种网络流量镜像,而无需在期望进行网络流量镜像的每个计算资源上手动安装和管理网络捕获代理或其他此类进程。用户可以使镜像网络流量以分组捕获(或“pcap”)文件的形式存储在存储服务,其可以由任何数量的可用带外安全设备和监测设备使用,所述可用带外安全设备和监控设备包括其他用户特定的监测工具和/或所述服务提供商网络的其他服务。

著录项

说明书

背景技术

服务提供商网络向用户提供了利用各种类型的与计算相关的资源,诸如计算资源(例如,执行虚拟机(VM)实例或容器)、数据/存储资源、与网络相关的资源、应用程序资源、访问策略或角色、身份策略或角色、机器图像、路由器和其他数据处理资源等等的能力。这些和其他计算资源可以作为服务,诸如可以执行计算实例的硬件虚拟化服务、可以存储数据对象的存储服务等提供。

一些这样的服务提供商网络的用户可以创建虚拟网络,其中用户可以在服务提供商网络内供应计算资源的逻辑上隔离的集合。用户可以为这类虚拟网络定制网络配置,包括创建面向公共和面向私有的子网、配置安全组和网络访问控制列表等。然而,管理和分析遍历这种虚拟网络的实际网络流量的能力提出了一些挑战。

附图说明

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

图1是示出根据一些实施方案的用于对与服务提供商网络的虚拟网络相关联的网络流量进行镜像的环境的图。

图2是示出根据一些实施方案的用于处理从在服务提供商网络处的用户的虚拟网络镜像的网络流量的计算实例群的部件的图。

图3示出了根据一些实施方案的将镜像网络流量转换为分组捕获数据的计算实例群的示例。

图4是示出根据一些实施方案的使用服务提供商网络的各种辅助服务来处理和分析存储在存储服务处的分组捕获数据的图。

图5是示出根据一些实施方案的用于使得用户能够镜像与服务提供商网络处的虚拟私有网络相关联的网络流量的方法的操作的流程图。

图6示出了根据一些实施方案的示例性服务提供商网络环境。

图7是根据一些实施方案的向客户提供存储服务和硬件虚拟化服务的示例性提供商网络的框图。

图8示出了根据一些实施方案的将提供商网络上的虚拟网络提供给至少一些客户的示例性提供商网络。

图9示出了根据一些实施方案的在提供商网络上的示例性虚拟网络中的子网和安全组。

图10是示出可以用于一些实施方案中的示例性计算系统的框图。

具体实施方式

描述了使得用户能够配置发送到与在服务提供商网络处的计算资源的虚拟网络相关联的计算资源或由其接收的网络流量的镜像的方法、设备、系统和非暂时性计算机可读存储介质的各种实施方案。获得对与用户的虚拟网络相关联的此类网络流量的可见性的能力对于若干期望目的中的任一个来说可能是有益的,所述期望目的包括例如网络流量内容检查、取证和威胁分析、网络故障排除、数据丢失防护等。根据本文所述的实施方案,用户可以相对于其虚拟网络配置此类网络流量镜像,包括对全部有效载荷数据的镜像,而无需在期望进行网络流量镜像的每个计算资源上手动安装和管理网络捕获代理或其他此类进程。在一些实施方案中,镜像的网络流量被发送到计算实例群,所述计算实例群被设计为处理网络流量并且将处理的数据转发到可以包括各种流式传输和存储服务的一个或多个用户指定的目的地。作为一个示例,处理的网络流量可以以分组捕获(或“pcap”)文件的形式存储在服务提供商网络的存储服务,其可以由任何数量的其他带外安全服务、监测设备或任何其他服务或应用程序使用。

虚拟网络通常使得用户能够在服务提供商网络处供应计算资源的逻辑上隔离的集合,并且管理各种相关的能力,诸如安全服务、防火墙和入侵检测系统。虚拟网络在一些方式上可能非常类似于例如,在用户自己的本地数据中心中操作的传统网络。虚拟网络可以与和同一用户帐户相关联的其他虚拟网络以及和服务提供商网络的其他用户帐户相关联的那些虚拟网络在逻辑上隔离开。

在传统的数据中心中,网络管理员可以安装各种软件代理或硬件装置,以捕获由网络中的装置传输的网络流量,以检测各种类型的网络和安全问题。本文描述的实施方案提供了这些和其他类型的网络流量监测特征,以用于计算在服务提供商网络处的用户虚拟网络的资源。可以将在用户的虚拟网络内实现计算资源的计算装置配置为创建所选网络流量的镜像副本并且将镜像网络流量发送到用户指定的目的地。在一些示例中,用户可以使镜像流量被存储在存储资源处,存储资源由服务提供商网络提供,并且用户可以在存储资源处回顾地分析镜像网络流量。用户可以可选地在其在虚拟网络中的计算实例上运行各个代理,以执行基本的网络流量镜像;然而,在各个计算实例处的代理的配置无法很好地扩展,特别是当用户的虚拟网络可能增长到包括数百、数千或甚至更多的计算实例时。

本文所述的实施方案使得用户能够容易地配置其计算实例和其他服务提供商网络管理的资源,诸如负载平衡器、互联网网关、网络地址转换(NAT)网关等,以根据用户配置来镜像网络流量。如上所述,例如,网络流量可以被镜像到计算实例群,其处理数据并且可以将镜像网络流量路由至一个或多个流式传输服务、存储服务或其他用户指定的目的地,以进行进一步的处理和分析。由计算实例群进行的处理可以包括添加各种类型的元数据和/或将网络流量转换为分组捕获文件或转换为网络流量的任何其他表示。多个工具和算法(包括例如基于机器学习(ML)的工具)可以使用存储的分组捕获数据或从计算实例群流式传输的数据,来检测潜在的网络或安全相关问题。除其他益处之外,配置此类流量镜像的能力使得用户能够容易地监测与其在服务提供商网络处的虚拟网络相关联的网络流量,并且提供一致的方式来访问、分类和合并网络流量至任何类型的目的地的输送,包括带外安全和监测工具或在服务提供商网络处可用的其他服务。

图1是示出使得用户能够配置发送到与在服务提供商网络处的计算资源的虚拟网络相关联的计算资源或由其接收的网络流量的镜像的环境的框图。在一些实施方案中,在任何数量的其他可能的服务中,硬件虚拟化服务106和存储/流式传输服务104作为服务提供商网络100的一部分操作,并且各自包括由在一个或多个数据中心和地理位置处的一个或多个电子装置执行的一个或多个软件模块。使用一个或多个电子装置112(其可以是服务提供商网络100的一部分或与其相分离)的用户110可以经由一个或多个网络(诸如互联网)与服务提供商网络100的各种服务进行交互。

服务提供商网络100为用户提供了利用各种类型的计算相关资源,诸如,计算资源(例如,执行虚拟机(VM)实例和/或容器、执行批作业、执行代码而非预供应服务器)、数据/存储资源(例如,对象存储、块级存储、数据档案存储、数据库和数据库表等)、网络相关资源(例如,配置虚拟网络(包括多组计算资源)、内容递送网络(CDN)、域名服务(DNS))、应用程序资源(例如,数据库、应用程序构建/部署服务)、访问策略或角色、身份策略或角色、机器图像、路由器及其他数据处理资源等中的一个或多个的能力。这些和其他计算资源可以作为服务,诸如可以执行计算实例的硬件虚拟化服务、可以存储数据对象的存储服务等提供。提供商网络100的用户(或“客户”)可以利用与客户帐户相关联的一个或多个用户帐户,然而这些术语也可以根据使用情景而在某种程度上互换使用。用户可以经由一个或多个接口116,诸如通过使用应用程序编程接口(API)调用、经由被实现为网站或应用程序的控制台等跨一个或多个中间网络114(例如,互联网)与提供商网络100进行交互。接口116可以是提供商网络100的控制平面118的一部分,或者用作其前端,其包括支持和启用可能会更直接地提供给客户的服务的“后端”服务。

为了提供这些和其他计算资源服务,提供商网络100通常依赖于虚拟化技术。例如,虚拟化技术可以用于为用户提供控制或利用计算实例(例如,使用访客操作系统(O/S)的VM,所述访客操作系统使用管理程序来操作,所述管理程序可以在或可以不在底层主机O/S的顶上进一步操作;可以在或可以不在VM中操作的容器;可以在无底层管理程序的“裸机”硬件上执行的实例)的能力,其中可以使用单个电子装置来实现一个或多个计算实例。因此,用户可以直接利用由提供商网络托管的计算实例来执行各种计算任务,或者可以通过提交要由提供商网络执行的代码来间接地利用计算实例,该提供商网络继而利用计算实例来执行代码(通常无需用户具有对所涉及的底层计算实例的任何控制或了解)。

如图1所示,用户已经配置了在服务提供商网络100处的虚拟网络102。如上所述,虚拟网络102表示服务提供商网络的用户可以在其中供应计算资源的逻辑隔离集合的网络。为了建立虚拟网络102,用户可以将一个或多个计算资源(例如,VM 120A至120C)分配给虚拟网络102。在一些实施方案中,虚拟网络102可以包括任何数量的其他类型的资源,包括容器、块存储、数据库、与网络相关的资源等。一系列公共IP地址也可以分配给虚拟网络102,并且提供商网络100的一个或多个联网节点(例如,路由器、交换机等)可以分配给虚拟网络102。在一些实施方案中,虚拟网络102可以包括私有网关124中的一个或多个,并且包括公共网关126,其使得虚拟网络102内的计算资源能够经由中间网络114直接与实体通信,反之亦然,而不是经由私有通信信道或除此以外。

在一个实施方案中,虚拟网络102可以可选地细分为两个或更多个子网或子网130A、130B。例如,在包括私有网关124和公共网关126两者的实现方式中,虚拟网络102可以细分为子网130A和子网130B,所述子网130A包括可通过私有网关124获得的资源(在该示例中为VM 120A),所述子网130B包括可通过公共网关126获得的资源(在该示例中为VM120B)。

在一个实施方案中,用户可以将分配的公共IP地址分配给虚拟网络102中的资源。然后,中间网络114上的网络实体可以将流量发送到由用户发布的公共IP地址;流量由服务提供商网络100路由到相关联的计算实例。通过中间网络114由服务提供商网络100将来自计算实例的返回流量路由回网络实体。应注意,计算实例与网络实体之间的路由通信可能需要网络地址转换,以在计算实例的公共IP地址和本地IP地址之间转换。

在一个实施方案中,用户的虚拟网络102的每个计算资源可以与一个或多个虚拟网络接口相关联(例如,在托管VM 120A的计算装置132A处运行的VM 120A可以与一个或多个虚拟网络接口134A相关联,在托管VM 120B的计算装置132B处运行的VM 120B可以与一个或多个虚拟网络接口134B相关联,并且在托管VM 120C的计算装置132C处运行的VM 120C可以与一个或多个虚拟网络接口134C相关联)。虚拟网络接口是代表虚拟网卡的虚拟网络102的逻辑联网部件。这些虚拟网络接口可以与用户的帐户相关联地创建,并且附接到用户的虚拟网络102中的VM。虚拟网络接口也可以与计算实例脱离并且附接到其他计算实例,其中当网络接口附接到各种实例或脱离各种实例时,网络接口的属性随其改变。在一些实施方案中,用户还可以修改虚拟网络接口的属性,包括更改其安全组和管理与该接口相关联的IP地址。

在一些实施方案中,虚拟网络接口可以至少部分地在一个或多个卸载卡(其包括一个或多个处理器,并且可能包括一个或多个网络接口)处实现,一个或多个卸载卡使用I/O接口(例如,实现外围部件互连快速(PCI-E)标准的一个版本或诸如快速路径互连(QPI)或超路径互连(UPI)的另一互连的总线)连接到计算装置132A至132C。例如,在一些实施方案中,计算装置132A至132C托管计算实例(例如,VM120A至120C),并且一个或多个卸载卡执行虚拟化管理器和其他软件,该虚拟化管理器和其他软件可以管理在主机电子装置处的计算实例和相关联的虚拟网络接口。作为一个示例,在一些实施方案中,卸载卡可以执行计算实例管理操作,诸如暂停和取消暂停计算实例、启动和终止计算实例、执行存储器传输/复制操作、路由网络流量等等。在一些实施方案中,由卸载卡与由计算装置的其他处理器执行的管理程序(例如,根据来自管理程序的请求)协作执行这些管理操作。然而,在一些实施方案中,由一个或多个卸载卡实现的虚拟化管理器可以容纳来自其他实体(例如,来自计算实例本身)的请求,并且可以不与任何单独的管理程序协作或服务于任何单独的管理程序。

根据本文所述的实施方案,虚拟网络接口的一个可配置属性是是否启用对遍历网络接口的网络流量(即,由网络接口接收或发送的网络流量)的镜像。如上所述,有时出于若干原因,包括例如内容检查、取证和威胁分析、网络故障排除等中的任一个,用户期望启用对与虚拟网络的计算资源相关联的网络流量的镜像。在图1中被标记为“1”的圆圈处,用于管理在服务提供商网络处的虚拟网络的硬件虚拟化服务或任何其他服务接收请求以在与服务提供商网络的虚拟网络相关联的一个或多个虚拟网络接口处启用流量镜像会话。在一些实施方案中,可以经由应用程序编程接口(API)、命令行接口(CLI)、基于Web的控制台或由服务提供的任何其他接口来接收该请求。在一个实施方案中,创建流量镜像会话的请求标识一个或多个源虚拟网络接口(即,要执行所请求的网络流量镜像处),一个或多个目的地(即,要发送镜像网络流量处),标识要镜像什么类型的网络流量(例如,仅入口流量或出口流量,仅与特定协议相关联的流量等)的可选过滤器和其他可能的参数。

在一个实施方案中,在网络流量镜像请求中标识的源可以包括以下项中的一个或多个:一个或多个标识的虚拟网络接口(例如,由用户基于与虚拟网络接口相关联的标识符来标识),虚拟网络的一个或多个标识的子网,整个虚拟网络,公共或私有网关,基于元数据标识虚拟网络接口的集合(例如,基于与用户帐户中的虚拟网络接口相关联的一个或多个“标签”)或其任何组合。所标识的虚拟网络接口例如可以与各种计算实例(例如,VM 120A至120C中的任一个)、公共或私有网关、负载平衡器、NAT网关或虚拟网络102内的任何其他计算资源相关联。在一些实施方案中,用户可以请求镜像遍历特定网络路径的网络流量,例如,仅镜像遍历虚拟网络的公共网关或私有网关的网络流量。

在一个实施方案中,接收到的请求可以替代地是在一个或多个虚拟网络接口处停止、暂停、重启或删除先前创建的网络流量镜像会话的请求。在一些实施方案中,请求可以替代地是修改现有网络流量镜像会话的请求,例如,用于修改现有会话以包括或移除先前标识的镜像源,用于更改、添加或移除镜像网络流量的目的地,或用于修改与先前创建的网络流量镜像会话相关联的任何其他属性。在这些示例中,接收到这种请求的服务提供商网络的服务可以生成附加配置数据,该附加配置数据被发送到相关计算装置,从而使计算装置相对于所标识的流量镜像会话进行所请求的操作。

在一个实施方案中,创建网络流量镜像会话的请求可以指定网络流量过滤选项。例如,过滤选项可以用于标识用户期望已经镜像的网络流量的类型,其中相关计算装置仅镜像与定义的过滤器相匹配的网络流量。在其他示例中,过滤器可以另外地或替代地用于将选定类型的网络流量排除在镜像之外。可以在网络流量镜像请求中指定的过滤规则可以包括例如仅镜像由一个或多个虚拟网络接口接收的入站流量,或仅镜像出站流量,或仅镜像与指定协议相关联的网络流量(例如,仅TCP、HTTP或DNS流量),仅镜像与指定的源端口相关联的流量,仅镜像被发送到指定目的地IP范围的流量,仅镜像被发送到指定目的地端口的流量等等。以下是可以用于创建网络流量镜像会话的命令示例,包括镜像源、目的地和各种类型的过滤器的规范:“创建-vpc-流量-镜像-vpc-id--镜像-源<镜像-源-ARN,IGW,VGW,子网,VPC>--镜像-目的地<存储-桶>[--流量-方向<--入口,出口,两者>--截取-长度<1-65535>--协议<--TCP,UDP,任何>--源-IP--源端口<端口号>>--目的地-IP--目的地端口<端口号>--时间-限制<秒>--捕获-频率<秒>]。”

作为使用过滤器的另一个示例,用户可以指定过滤器,过滤器定义了网络地址的集合,用户期望其资源不从该网络地址的集合接收网络流量。当该示例过滤器匹配时,仅可以对从定义的网络地址集合接收的分组进行镜像。作为另一个特定示例,组织的员工可能与IP地址相关联,并且管理员期望知道该员工何时发起至特定子网的任何实例的SSH连接。可以将该镜像流量发送到目的地,例如,使管理员接收何时检测到这种流量的通知。作为又一个示例,可以将过滤器配置为镜像从某些指定的地理区域接收的网络流量,并且可以将镜像流量的目的地配置为响应地更新各种安全组规则。

在一个实施方案中,例如,如果用户请求镜像与整个虚拟网络102相关联的网络流量,客户则可以进一步指定用户是否期望仅镜像网络内流量、仅网络间流量或两者。类似地,镜像与一个或多个标识的子网(例如,子网130A、130B)相关联的网络流量的请求可以包括仅镜像子网内流量,仅网络间流量或两者的指示。

在一个实施方案中,在目的地是用于存储从镜像的网络流量创建的分组捕获文件的存储服务104的示例中,用户可以指定要存储所创建的分组捕获文件的在存储服务104处的一个或多个存储位置(例如,一个或多个存储“桶”)。在其他示例中,如果用户没有明确地将存储位置标识为请求的一部分,则可以在存储服务104处创建默认存储位置。

在一些实施方案中,网络流量镜像请求可选地还可以指定指示要捕获的每个网络分组的量的快照长度(例如,指定的长度可以是1字节至65535字节),镜像会话的时间限制(例如,默认值可以是600秒并且可以将值0指定为禁用时间限制),指定分组捕获频率的捕获频率(例如,值60可能指示将网络流量数据捕获至单独的文件中,单独的文件各自具有60秒的捕获网络分组,其中任何时间数量都是可能的),以及最大捕获文件大小(例如,用户可以在创建新文件之前指定每个分组捕获文件的最大尺寸),发起镜像会话的触发条件(例如,一旦在虚拟网络接口处标识出来则会使接口开始镜像网络流量的网络流量的模式或类型)。

在被标记为“2”的圆圈处,硬件虚拟化服务至少部分地通过标识与由请求标识的虚拟网络接口相关联的计算装置的集合以及生成用于配置所标识的计算装置的配置信息来处理请求。在一个实施方案中,该请求由硬件虚拟化服务106或管理虚拟网络102的任何其他服务处理。例如,如果在圆圈“1”处接收到的网络流量镜像请求标识了与虚拟网络102相关联的一个或多个特定虚拟网络接口(例如,一个或多个虚拟网络接口134A),硬件虚拟化服务106则可以标识计算装置(例如,计算设备132A),其托管特定虚拟网络接口所附接至的VM。计算装置的标识可以基于,例如,由硬件虚拟化服务106维护的映射信息,其将每个虚拟网络接口与虚拟网络接口所附接至的计算实例和主机计算装置关联起来。

如果用户改为请求镜像与整个子网或整个虚拟网络102相关联的网络流量,硬件虚拟化服务106则确定哪些计算装置与要将配置发送至的虚拟网络中的虚拟网络接口相关联。例如,硬件虚拟化服务106可以存储指示计算装置-虚拟网络对的映射信息,并且基于该映射,服务可以确定哪些计算装置管理用于相关子网络或整个虚拟网络的接口。在一个实施方案中,硬件虚拟化服务106创建用于附接有至少一个相关虚拟网络接口的每个计算装置的配置信息,其中配置信息使计算装置配置相关接口以根据该配置来镜像网络流量。如上所述,配置信息可以包括用户指定的配置选项,包括例如哪些源接口要镜像网络流量,哪些目的地接口要接收镜像网络流量,那些目的地的特性,可选的过滤配置等其他可能的参数。

在被标记为“3”的圆圈处,示例计算装置接收配置信息,并且配置与该计算装置相关联的一个或多个虚拟网络接口,以根据在圆圈“2”处生成的配置信息来镜像网络流量。如上所述,在一些实施方案中,计算装置处镜像的网络流量的配置可以包括配置计算装置的卸载卡以根据配置镜像发送到计算装置或由计算装置接收的网络流量。在其他示例中,配置可以另外地或替代地包括配置在计算装置上运行的管理程序、VM或其他应用程序的一个或多个部件以执行镜像。尽管图1中的示例示出了接收配置信息的单个计算装置,但是这种配置信息也可以由虚拟网络102中的任意数量的计算装置接收以及用于对其进行配置,这取决于在初始请求中标识的源。

在被标记为“4”的圆圈处,被配置为镜像网络流量的计算装置发送或接收网络流量,并且根据在圆圈“3”处接收到的配置创建网络流量的镜像副本。网络流量通常可以包括发送至在计算装置上执行的任何应用程序或进程或由其接收的任何类型的网络流量,包括发送至在计算装置处运行的任何用户计算实例或应用程序或由其接收的网络流量。

如上所述,计算装置通常可以被配置为根据任何定义的过滤器和其他用户指定的配置来镜像遍历一个或多个特定虚拟网络接口的网络流量。在一个实施方案中,网络流量的镜像通常包括创建所接收/发送的网络分组的副本,例如,在计算装置的卸载卡处。在一些实施方案中,创建网络流量的镜像副本还可以包括创建封装层,其提供关于镜像网络流量的附加信息,包括例如相关联的虚拟网络接口的、虚拟网络、VM、用户、网络镜像会话等的标识符。如下所述,这些标识符可以由接收镜像网络流量的各种进一步的处理步骤使用。

在被标记为“5”的圆圈处,计算装置将网络流量的镜像副本,包括任何附加元数据发送到在配置信息中标识的一个或多个目的地网络位置。根据一个实施方案,网络流量的镜像副本被发送到计算实例群140,该计算实例群140可选地相对于镜像的网络流量执行一个或多个操作,并且将镜像的流量路由到用户指定的目的地。镜像网络流量的目的地例如,可以是以下项中的一个或多个:一个或多个用户指定的网络位置(例如,与附加到服务提供商网络100内的另一计算实例的虚拟网络接口相对应的网络地址),服务提供商网络的一项或多项服务,一个或多个内部或外部应用程序或任何其他网络可访问的位置。如在图1的示例中所示,镜像的网络流量可以可选地被发送至服务提供商网络的一个或多个存储装置104或流式传输服务142。

在被标记为“6”的圆圈处,计算实例机群处理镜像的网络流量并且将其路由到一个或多个目的地。例如,计算实例群140可以将镜像的网络流量数据转换为分组捕获数据136(包括例如分组捕获文件138A至138N),以存储在与服务提供商网络的用户相对应的存储服务104处的一个或多个存储位置处。在一些实施方案中,为了使计算实例群140能够随着镜像网络流量的量随时间的增加或减少而缩放,计算实例群可以与一个或多个自动缩放组、网络负载平衡器以及将接收的网络流量分布在该群的可用计算实例上的其他可能的部件相关联。在一个实施方案中,处理镜像的网络流量可以包括标识与镜像的网络流量相关联的配置信息(例如,基于包括在镜像的网络流量中的一个或多个标识符),可选地将附加元数据添加至镜像的网络流量,将网络流量转换为不同格式(例如,将网络分组转换为分组捕获数据),压缩数据,加密数据或对接收的镜像流量执行任何其他操作。

如上所述,计算实例群140对镜像网络流量的处理可以包括将镜像网络流量转换为分组捕获数据。分组捕获数据通常可以包括任何文件格式,其可以由各种网络流量分析、网络安全或其他类型的应用程序使用。例如,分组捕获数据可以格式化为可以由特定类型的应用程序处理的二进制数据,或者以各种纯文本格式(诸如,CSV文件)中的任一种或可以用于表示网络流量信息的任何其他数据格式进行格式化。尽管图1的示例示出了被发送至存储服务104和/或流式传输服务142的网络流量,但是如下所述,网络流量也可以另外地或替代地发送至任何数量的其他类型的服务或应用程序,包括例如网络威胁情报服务等。

图2是示出了根据一些实施方案的用于处理从在服务提供商网络处的用户的虚拟网络镜像的网络流量的计算实例群的图。如图2所示,可以实现计算实例群204以从与服务提供商网络100内的任何数量的虚拟网络202A至202N相关联的任何数量的计算装置接收镜像的网络流量214。计算实例群204可以包括任何数量的计算装置206A至206N,其各自托管任何数量的VM 208A至208N,其中可以根据从虚拟网络202A至202N接收的流量的量或基于预计将来会接收到的流量的量来缩放该群204的大小。

在一个实施方案中,计算实例群204根据与镜像的网络流量相关联的配置信息来处理其接收的镜像网络流量。例如,计算实例群可以分析镜像的网络流量,以标识与流量相关联的配置信息。可以基于镜像网络流量中包括的一个或多个标识符,诸如,例如,用户帐户标识符、虚拟网络标识符、虚拟网络接口标识符、IP地址等来标识配置信息。可以由计算实例群从配置了网络流量镜像的另一个服务定期地获得配置信息。

在一个实施方案中,对由计算实例群接收的镜像网络流量的处理可以包括修改和/或补充镜像网络流量,以及将镜像网络流量路由到一个或多个用户指定的目的地(例如,数据存储服务、数据流式传输服务、应用程序等)。镜像网络流量的修改和/或补充可以包括例如将镜像网络流量转换为另一种数据格式(例如,转换为网络分组文件),对镜像网络流量进行分段,聚集两个或更多个单独的网络流量流,移除或修改镜像网络流量中的部分,将元数据添加到镜像网络流量或由配置信息指定的任何其他操作。计算实例群还可以将镜像的网络流量或其处理版本路由到如由配置信息指定的一个或多个目的地。

如图2所示,在一个示例中,镜像网络流量214由计算实例群204处理并且转换为分组捕获数据,其中分组捕获数据被存储在与服务提供商网络处的单独用户帐户相关联的单独的存储位置216A至216N处。例如,用户1分组捕获数据210A被存储在与第一用户帐户相关联的存储位置216A处,而用户2分组捕获数据210B则被存储在与第二用户帐户相关联的单独存储位置216B处,其中每个存储位置可能与各种访问规则相关联以防止对数据的未经授权的访问。计算实例群204可以基于与网络流量相关联的标识符(例如,用户帐户标识符、虚拟网络接口标识符、虚拟网络标识符等)来确定在何处存储接收的网络流量。

如上所述,在一个实施方案中,分组捕获文件(例如,分组捕获文件212A至212N、218和220A至220N)可以包括用于元数据的附加字段,其包括关于镜像网络流量的源的信息。例如,包括在分组捕获文件中的元数据可以包括以下项中的一个或多个:虚拟网络标识符(例如,从虚拟网络202A至202N中的哪一个接收到网络流量)、与网络流量相关联的用户帐户标识符、虚拟网络接口标识符、计算实例标识符、容器/任务标识符、与计算实例相关联的标签以及用于捕获流量的过滤器的标识符。在一个实施方案中,用户可以指定在存储服务104处的生命周期配置,以管理所存储的分组捕获数据的生命周期。

在一些实施方案中,可以直接经由存储服务查询存储在存储服务104处的数据。例如,存储服务104可以包括使得用户能够查看和查询在存储服务104处存储的分组捕获数据或其他数据格式的功能。例如,直接查询存储在存储服务104处的数据的能力使得用户能够这样做,而不必将数据导出到另一个数据存储位置,诸如可以在其中查询数据的数据库。例如,用户可以使用存储服务104查询具有指定目的地IP地址的特定大小的所有分组,或查询发送到指定地理区域的网络流量、与特定协议相关联的流量、在特定时间框架内发送或接收的流量等。

图3示出了根据一些实施方案的将镜像网络流量转换为分组捕获数据的示例。如图3所示,将镜像的网络分组304从与虚拟网络302相关联的计算装置发送到计算实例群204,如关于图2所述。图3还示出了镜像网络分组304至分组捕获数据306的转换。如图所示,通常可以以表示包含在镜像网络分组304中的网络分组的任何二进制或纯文本格式来格式化分组捕获数据306(例如,由分组捕获文件310表示)。在一些实施方案中,用户可以指定用户期望用作初始流量镜像请求的一部分的分组捕获数据306的类型。在一个实施方案中,镜像网络分组304的处理还可以包括创建元数据308,以与分组捕获数据相关联地存储。元数据308可以例如,由镜像网络流量通过计算实例群204最终路由至的任何其他服务或应用程序使用。

图4是示出使用服务提供商网络的各种服务来处理和分析存储在存储服务处的分组捕获数据的图。在图4中,将镜像网络流量404从服务提供商网络100的一个或多个虚拟网络402A至402N发送到计算实例群(图4中未示出),该计算实例群将镜像网络流量路由到存储服务104。如上所述,计算实例群可以将镜像网络流量404转换为分组捕获文件,并且将分组捕获文件存储在与服务提供商网络100的各个用户相关联的存储位置处。

在一个实施方案中,将分组捕获数据存储在存储服务104处使得数据能够由服务提供商网络的多个其他应用程序或服务(包括例如,威胁检测服务406、无服务器的计算服务408、数据监测服务410以及其他可能的服务)中的任一个使用。这些各种服务可以用于对所存储的执行取证和威胁分析,以分析流量模式,执行响应的安全或网络配置动作,以及许多其他可能的配置动作。

图5是示出根据一些实施方案的用于使得用户能够镜像与服务提供商网络的虚拟网络相关联的网络流量的方法的操作500的流程图。操作500(或本文描述的其他过程或其变型和/或组合)的一些或全部在配置有可执行指令的一个或多个计算机系统的控制下执行,并且作为共同在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用程序)由硬件或其组合来实现。代码例如以包括可由一个或多个处理器执行的指令的计算机程序的形式存储在计算机可读存储介质上。计算机可读存储介质是非暂时性的。在一些实施方案中,操作500中的一个或多个(或全部)由硬件虚拟化、存储服务和/或其他附图的其他部件执行。

操作500包括,在框502处,接收对遍历与服务提供商网络处的虚拟网络相关联的虚拟网络接口的网络流量进行镜像的请求,请求标识镜像网络流量的目的地,并且虚拟网络包括与服务提供商网络的至少一个用户相关联并且由至少一个计算装置托管的计算资源的逻辑隔离集合。在一个实施方案中,虚拟网络接口是在对网络流量进行镜像的请求中标识的一组虚拟网络接口中的一个,其中所述组对应于以下项中的一个或多个:标识的虚拟网络接口的集合、虚拟网络的一个或多个计算资源、虚拟网络的子网络、整个虚拟网络、与指定标签相关联的虚拟网络接口的集合。遍历虚拟网络接口的网络流量可以包括取决于请求而发送到虚拟网络接口和/或由其接收的网络流量。

在一个实施方案中,一个或多个操作包括以下项中的一个或多个:将元数据添加至网络流量的镜像副本,将网络流量的镜像副本转换为分组捕获数据格式,并且其中目的地是以下项中的一个或多个:存储服务、流数据服务、安全服务、应用程序。在一个实施方案中,目的地是服务提供商网络的存储服务,并且其中计算实例群将网络流量的镜像副本转换为一个或多个分组捕获文件并且将一个或多个分组捕获文件存储在与服务提供商网络的至少一个用户相关联的存储服务处的一个或多个存储位置处。在一个实施方案中,计算实例群接收从与服务提供商网络的多个不同用户相关联的多个虚拟网络镜像的网络流量。

在一个实施方案中,请求还指定至少一个过滤器,其标识选定类型的网络流量以进行镜像,并且其中计算装置仅将与至少一个过滤器匹配的网络流量镜像到计算实例群。在一个实施方案中,请求还指定以下项中的一个或多个:指示何时开始对网络流量进行镜像的触发条件,以及用于对网络流量进行镜像的时间限制。

操作500还包括,在框504处,标识托管计算资源的计算装置,虚拟网络接口附接至计算装置。

操作500还包括,在框506处,将配置信息发送到计算装置,配置信息使计算装置将遍历虚拟网络接口的网络流量的镜像副本发送到在服务提供商网络处的计算实例群,计算实例群将网络流量的镜像副本路由至目的地。

操作500还包括,在框508处,由计算实例群从计算装置接收网络流量的镜像副本。

操作500还包括,在框510处,相对于网络流量的镜像副本执行一个或多个操作。在一个实施方案中,一个或多个操作包括以下项中的一个或多个:将元数据添加至网络流量的镜像副本,将网络流量的镜像副本转换为分组捕获数据格式,并且其中目的地是以下项中的一个或多个:存储服务、流数据服务、安全服务、应用程序。

操作500还包括,在框512处,将网络流量的镜像副本发送到由请求标识的目的地。

在一个实施方案中,操作还包括执行以下项中的一个或多个的附加请求:停止对网络流量的镜像,暂停对网络流量的镜像,恢复对网络流量的镜像,修改对网络流量的镜像。在一个实施方案中,操作还包括基于计算实例群所接收的镜像流量的量来缩放计算实例群。

图6示出了根据一些实施方案的示例性提供商网络(或“服务提供商系统”)环境。提供商网络600可以经由一个或多个虚拟化服务610向客户提供资源虚拟化,所述一个或多个虚拟化服务允许客户购买、租借或以其他方式获得在一个或多个数据中心中一个或多个提供商网络内的装置上实现的虚拟化资源(包括但不限于计算资源和存储资源)的实例612。本地互联网协议(IP)地址616可以与资源实例612相关联;本地IP地址是提供商网络600上的资源实例612的内部网络地址。在一些实施方案中,提供商网络600还可以提供客户可从提供商600获得的公共IP地址614和/或公共IP地址范围(例如,互联网协议版本4(IPv4)或互联网协议版本6(IPv6)地址)。

常规上,提供商网络600可以经由虚拟化服务610来允许服务提供商的客户(例如,操作包括一个或多个客户装置652的一个或多个客户端网络650A至650C的客户)使指派或分配给客户的至少一些公共IP地址614与指派给客户的特定资源实例612动态地相关联。提供商网络600还可允许客户将先前映射到分配给客户的一个虚拟化计算资源实例612的公共IP地址614重新映射到也分配给客户的另一虚拟化计算资源实例612。使用由服务提供商提供的虚拟化计算资源实例612和公共IP地址614,服务提供商的客户,诸如客户网络650A至650C的运营商可以例如,实现客户特定的应用并且在中间网络640,诸如互联网上呈现客户的应用程序。然后,中间网络640上的其他网络实体620可以生成到由一个或多个客户网络650A至650C发布的目的地公共IP地址614的流量;流量被路由到服务提供商数据中心,并且在数据中心处经由网络基板被路由到当前映射到目的地公共IP地址614的虚拟化计算资源实例612的本地IP地址616。类似地,来自虚拟化计算资源实例612的响应流量可以经由网络基板被路由回到中间网络640上到源实体620。

如本文中所使用的,本地IP地址是指例如提供商网络中的资源实例的内部或“私有”网络地址。本地IP地址可以在互联网工程任务组(IETF)的征求意见稿(RFC)1918保留的地址块之内和/或呈IETF RFC 4193指定的地址格式,并且在提供商网络内可以是可变的。来自提供商网络外部的网络流量不会直接路由到本地IP地址;而是,流量使用被映射到资源实例的本地IP地址的公共IP地址。提供商网络可以包括提供网络地址转换(NAT)或类似功能以实行从公共IP地址到本地IP地址(反之亦然)的映射的联网装置或设备。

公共IP地址是由服务提供商或客户分配给资源实例的互联网可变网络地址。例如,经由1:1NAT转换被路由到公共IP地址的流量,并且将其转发到资源实例的相应本地IP地址。

提供商网络基础设施可能会将一些公共IP地址分配给特定的资源实例;这些公共IP地址可以称为标准公共IP地址,或简称为标准IP地址。在一些实施方案中,标准IP地址到资源实例的本地IP地址的映射是所有资源实例类型的默认启动配置。

至少一些公共IP地址可以被分配给提供商网络600的客户或由提供商网络的客户获得;然后,客户可以将其分配的公共IP地址指派给分配给客户的特定资源实例。这些公共IP地址可以被称为客户公共IP地址,或简称为客户IP地址。代替如在标准IP地址的情况下一样由提供商网络600指派给资源实例,客户IP地址可以由客户例如经由服务提供商提供的API指派给资源实例。与标准IP地址不同,客户IP地址被分配给客户帐户,并且可根据需要或期望由相应客户重新映射到其他资源实例。客户IP地址与客户的账户相关联而不是与特定的资源实例相关联,并且客户控制该IP地址,直到客户选择释放它为止。与常规的静态IP地址不同,客户IP地址允许客户通过将客户的公共IP地址重新映射到与客户账户相关联的任何资源实例来掩盖资源实例或可用区故障。例如,客户IP地址使客户能够通过将客户IP地址重新映射到替换资源实例来解决关于客户的资源实例或软件的问题。

图7是根据一些实施方案的向客户提供存储服务和硬件虚拟化服务的示例性提供商网络的框图。硬件虚拟化服务720向客户提供多个计算资源724(例如,VM)。例如,可以将计算资源724租借或租赁给提供商网络700的客户(例如,实现客户网络750的客户)。每个计算资源724可以设置有一个或多个本地IP地址。提供商网络700可以被配置为将分组从计算资源724的本地IP地址路由到公共互联网目的地,以及从公共互联网源路由到计算资源724的本地IP地址。

提供商网络700可以为例如经由本地网络756耦合到中间网络740的客户网络750提供经由耦合到中间网络740和提供商网络700的硬件虚拟化服务720实现虚拟计算系统792的能力。在一些实施方案中,硬件虚拟化服务720可以提供一个或多个API702(例如,web服务接口),经由所述API,客户网络750可以例如经由控制台794(例如,基于web的应用程序、独立应用程序、移动应用程序等)访问由硬件虚拟化服务720提供的功能。在一些实施方案中,在提供商网络700处,客户网络750处的每个虚拟计算系统792可以对应于被租赁、租借或以其他方式提供给客户网络750的计算资源724。

客户可以例如经由一个或多个API 702从虚拟计算系统792和/或另一客户装置790(例如,经由控制台794)的实例访问存储服务710的功能性,以从提供商网络700所提供的虚拟数据存储区716(例如,文件夹或“桶”、虚拟化卷、数据库等)的存储资源718A至718N访问数据以及将数据存储到所述存储资源。在一些实施方案中,可以在客户网络750处提供虚拟化数据存储网关(未示出),所述虚拟化数据存储网关可以在本地缓存至少一些数据(例如,频繁访问的或关键的数据),并且可以经由一个或多个通信信道与存储服务710通信以从本地高速缓存上载新的或修改的数据,以便维护数据的主存储区(虚拟化数据存储区716)。在一些实施方案中,用户经由虚拟计算系统792和/或在另一个客户装置790可以经由充当存储虚拟化服务的存储服务710安装和访问虚拟数据存储区716卷,并且这些卷在用户看来可以是本地(虚拟化)存储装置798。

虽然在图7中未示出,但还可以经由一个或多个API702从提供商网络700内的资源实例访问一个或多个虚拟化服务。例如,客户、设备服务提供商或其他实体可以经由API702从提供商网络700上的相应的虚拟网络内部访问虚拟化服务,以请求分配虚拟网络内或另一虚拟网络内的一个或多个资源实例。

图8示出了根据一些实施方案的将提供商网络上的虚拟网络提供给用户的示例性提供商网络。例如,在服务提供商网络800处的用户虚拟网络860使得用户能够将其在用户网络850上的现有基础设施(例如,一个或多个客户装置852)连接到逻辑隔离的资源实例的集合(例如,VM 824A和824B以及存储装置818A和818B),以及扩展管理能力,诸如安全服务、防火墙和入侵检测系统以包括其资源实例。

用户的虚拟网络860可以经由私有通信信道842连接到用户网络850。私有通信信道842可以例如是根据网络隧道技术或中间网络840上的某种其他技术实现的隧道。在一些示例中,中间网络是共享网络或公共网络,诸如互联网。替代地,通过虚拟网络860和用户网络850之间的直接专用连接来实现私有通信信道842。

公共网络被广泛地定义为提供对多个实体的开放访问以及其之间的互连性。互联网或万维网(WWW)是公共网络的一个示例。与通常不限制访问的公共网络相反,共享网络被广泛地定义为访问被限制为两个或更多个实体的网络。例如,共享网络可以包括一个或多个局域网(LAN)和/或数据中心网络,或者两个或更多个相互连接以形成广域网(WAN)的LAN或数据中心网络。共享网络的示例包括但不限于公司网络和其他企业网络。共享网络可以位于从覆盖本地区域的网络至全球网络的范围中的任何位置处。应注意,共享网络可以与公共网络共享至少一些网络基础设施,并且共享网络可以耦合到一个或多个其他网络,其可以包括公共网络,其中具有在其他网络和共享网络之间的受控的访问。与公共网络,诸如互联网相反,共享网络也可以被视为私有网络。在一些实施方案中,共享网络或公共网络用作提供商网络和客户网络之间的中间网络。

为了为服务提供商网络800上的用户建立虚拟网络860,将一个或多个资源实例(例如,VM 824A和824B以及存储装置818A和818B)分配给虚拟网络860。应注意,其他资源实例(例如,存储装置818C和VM 824C)可以在服务提供商网络800上保持可用以供其他客户使用。一系列公共IP地址也可以分配给虚拟网络860。另外,可以将提供商网络800的一个或多个联网节点(例如,路由器、交换机等)分配给虚拟网络860。可以在虚拟网络860处的私有网关862和客户网络850处的网关856之间建立私有通信信道842。

在一些实施方案中,除了私有网关862之外或代替私有网关862,虚拟网络860包括公共网关864,其使得虚拟网络860内的资源能够经由中间网络840直接与实体(例如,网络实体844)通信,且反之亦然,而不是经由私有通信网络842或除了其之外进行。

虚拟网络860可以可选地细分为两个或更多个子网络或子网870。例如,在既包括私有网关862又包括公共网关864的实现方式中,虚拟网络860可以细分为子网870A,其包括可通过私有网关862获得的资源(在该示例中,为VM 824A和存储装置818A);以及子网870B,其包括可通过公共网关864获得的资源(在该示例中,为VM 824B和存储装置818B)。

用户可以将分配的公共IP地址指派给虚拟网络860中的资源实例。然后,中间网络840上的网络实体844可以将流量发送到由用户发布的公共IP地址;流量由服务提供商网络800路由到相关联的计算实例。来自资源实例的返回流量由提供商网络800通过中间网络840被路由回网络实体844。应注意,计算实例与网络实体844之间的路由流量可能需要网络地址转换,以在计算实例的公共IP地址和本地IP地址之间转换。

一些实施方案允许用户将用户的虚拟网络860中的公共IP地址重新映射(如图8所示)至用户的外部网络850上的装置。当接收到分组(例如,从网络实体844)并且网络800确定由分组指示的目的地IP地址已经被重新映射到外部网络850上的端点时,网络经由私有通信信道842或经由中间网络840处理分组至相应端点的路由。然后,响应流量通过提供商网络800从端点路由到网络实体844,或者由用户网络850直接路由到网络实体844。从网络实体844的角度来看,似乎网络实体844正在与提供商网络800上的用户的公共IP地址进行通信。然而,网络实体844实际上已经与客户网络850上的端点进行了通信。

虽然图8示出了在中间网络840上并且在提供商网络800外部的网络实体844,但是网络实体也可以是服务提供商网络800上的实体。例如,由提供商网络800提供的资源实例中的一个可以是将流量发送到由客户发布的公共IP地址的网络实体。

图9示出了根据一些实施方案的在服务提供商网络上的示例性虚拟网络910中的子网和安全组。在一些实施方案中,服务提供商网络,诸如图8中的提供商网络800允许客户在用户的虚拟网络910内,在子网914内或跨子网914建立并且管理虚拟安全组916(例如,916A至916D)。安全组916是资源实例918的逻辑分组,并且充当虚拟防火墙,其根据安全组规则控制允许到达安全组916内的一个或多个资源实例918的流量。用户可以在虚拟网络910内建立一个或多个安全组916,并且将虚拟网络910中的资源实例918与安全组916中的一个或多个相关联。在一些实施方案中,用户为每个安全组916建立和/或修改规则,该规则控制允许到达与安全组916相关联的资源实例918的入站流量。

在图9中示出的示例性虚拟网络910中,虚拟网络910被细分为两个子网914A和914B。对虚拟网络910的访问由网关930控制。每个子网914可以包括至少一个路由器912,其用于将流量路由至相应子网914上的资源实例918(以及从其进行路由)。在一些实施方案中,网络访问控制列表(ACL)用于控制对路由器912处的子网914的访问。在图9所示的例子中,资源实例918A至918E在子网914A上,并且资源实例918F至918J在子网914B上。用户已经建立了四个安全组916A至916D。如图9所示,安全组可以跨子网914扩展,包括在子网914A上的资源实例918A和918B以及在子网914B上的资源实例918F的安全组916A也是这样。另外,资源实例918可以被包括在两个或更多个安全组916中,包括在安全组916A和916B中的资源实例918A也是这样。

在一些实施方案中,实现如本文描述的用于使用户配置对被发送到与服务提供商网络处的计算资源的虚拟网络相关联的计算资源或由该计算资源接收的网络流量的镜像的技术中的一部分或全部的一种系统可以包括通用计算机系统,其包括或被配置为访问一个或多个计算机可访问介质,诸如图10所示的计算机系统1000。在所示的实施方案中,计算机系统1000包括经由输入/输出(I/O)接口1030耦合到系统存储器1020的一个或多个处理器1010。计算机系统1000还包括耦合到I/O接口1030的网络接口1040。虽然图10将计算机系统1000示出为单个计算装置,但在各种实施方案中,计算机系统1000可以包括一个计算装置或被配置为作为单个计算机系统1000一起工作的任何数量的计算装置。

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

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

在一个实施方案中,I/O接口1030可以被配置为协调装置中的处理器1010、系统存储器1020与任何外围装置(包括网络接口1040或其他外围接口)之间的I/O流量。在一些实施方案中,I/O接口1030可以执行任何必需协议、时序或其他数据变换以将来自一个部件(例如,系统存储器1020)的数据信号转换成适于供另一部件(例如,处理器1010)使用的格式。在一些实施方案中,I/O接口1030可以包括支持通过各种类型的外围总线(举例来说,诸如外围部件互连(PCI)总线标准或通用串行总线(USB)标准的变体)附接的装置。在一些实施方案中,I/O接口1030的功能可以分成两个或更多个单独部件,举例来说,诸如北桥和南桥。而且,在一些实施方案中,I/O接口1030(诸如至系统存储器1020的接口)的功能性中的一些或全部可以直接并入处理器1010中。

网络接口1040可以被配置为允许在计算机系统1000与附接到一个或多个网络1050的其他装置1060(例如诸如,其他计算机系统或如图1中示出的装置)之间交换数据。在各种实施方案中,例如,网络接口1040可以支持经由任何适当的有线或无线通用数据网络(诸如,以太网网络类型)进行的通信。另外,网络接口1040可以支持经由电信/电话网络(诸如模拟语音网络或数字光纤通信网络)、经由存储局域网(SAN)(诸如光纤通道SAN)或经由I/O任何其他合适类型的网络和/或协议进行的通信。

在一些实施方案中,计算机系统1000包括一个或多个卸载卡1070(包括一个或多个处理器1075,并且可能包括一个或多个网络接口1040),所述一个或多个卸载卡使用I/O接口1030(例如,实现快速外围组件互连快速(PCI-E)标准的一个版本或诸如快速路径互连(QPI)或超路径互连(UPI)的另一互连的总线)来连接。例如,在一些实施方案中,计算机系统1000可以充当托管计算实例的主机电子装置(例如,作为硬件虚拟化服务的一部分进行操作),并且一个或多个卸载卡1070执行可管理在主机电子装置上执行的计算实例的虚拟化管理器。作为示例,在一些实施方案中,一个或多个卸载卡1070可以执行计算实例管理操作,诸如暂停和/或取消暂停计算实例、启动和/或终止计算实例、执行存储器转移/复制操作等。在一些实施方案中,这些管理操作可以由一个或多个卸载卡1070与由计算机系统1000的其他处理器1010A至1010N执行的管理程序(例如,根据来自管理程序的请求)协作来执行。然而,在一些实施方案中,由一个或多个卸载卡1070实现的虚拟化管理器可以容纳来自其他实体(例如,来自计算实例本身)的请求,并且可以不与任何单独的管理程序协作(或服务于任何单独的管理程序)。

在一些实施方案中,系统存储器1020可以为被配置为存储如上文所描述的程序指令和数据的计算机可访问介质的一个实施方案。然而,在其他实施方案中,程序指令和/或数据可以在不同类型的计算机可访问介质上接收、发送或存储。一般来说,计算机可访问介质可以包括非暂时性存储介质或存储器介质,诸如磁性介质或光学介质,例如经由I/O接口1030耦合到计算机系统1000的磁盘或DVD/CD。非暂时性计算机可访问存储介质还可包括任何易失性或非易失性介质,诸如RAM(例如,SDRAM、双倍数据速率(DDR)SDRAM、SRAM等)、只读存储器(ROM)等,它们可作为系统存储器1020或另一种类型的存储器包括在计算机系统1000的一些实施方案中。此外,计算机可访问介质可包括经由通信介质(诸如网络和/或无线链路,诸如可经由网络接口1040实现)传达的传输介质或信号,诸如电信号、电磁信号或数字信号。

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

在本文中使用带括号的文本和具有虚线边界(例如,大破折号、小破折号、点破折号和点)的框来说明将附加特征添加至一些实施方案的可选操作。然而,这种表示法不应视为意味着这些是仅有的选项或任选操作,和/或在某些实施方案中,带有实线边界的框不是任选的。

在各种实施方案中,具有后缀字母的附图标记(例如,718A至718N)可以用于指示所引用实体的一个或多个实例,并且当存在多个实例时,每个实例不必相同,而是可以替代地共享一些一般特征或按惯例行事。此外,除非有相反的明确说明,否则所使用的特定后缀并不意味着暗示存在特定量的实体。因此,在各种实施方案中,使用相同或不同后缀字母的两个实体可以具有或可以不具有相同数量的实例。

提及“一个实施方案”、“实施方案”、“示例实施方案”等等表明所描述的实施方案可以包括某一特定特征、结构或特性,但是每个实施方案可能不一定包括该特定特征、结构或特性。此外,此类短语不一定是指同一实施方案。此外,当结合一个实施方案来描述特定特征、结构或特性时,应认为,无论是否明确描述,结合其他实施方案来实现此类特征、结构或特性也在本领域技术人员的知识范围内。

此外,在上述各种实施方案中,除非另外特别指出,否则诸如短语“A、B或C中的至少一个”之类的连接性语言不旨在被理解为表示A、B或C或其任何组合(例如,A、B和/或C)。就这点而言,这样的连接性语言不旨在并且不应该被理解为暗示给定的实施方案要求A中的至少一个、B中的至少一个或C中的至少一个各自存在。

可根据以下条款描述所公开的技术的至少一些实施方案:

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

由服务提供商网络的服务接收对遍历与在所述服务提供商网络处的虚拟网络相关联的虚拟网络接口的网络流量进行镜像的请求,所述请求标识所述镜像网络流量的目的地,并且所述虚拟网络包括与所述服务提供商网络的至少一个用户相关联的计算资源的逻辑隔离集合;

将配置信息发送到托管计算资源的计算装置,所述虚拟网络接口附接至所述计算装置,所述配置信息使所述计算装置将遍历所述虚拟网络接口的网络流量的镜像副本发送到在所述服务提供商网络处的计算实例群;

由所述计算实例群从所述计算装置接收所述网络流量的镜像副本;

相对于所述网络流量的镜像副本执行一个或多个操作;以及

将所述网络流量的所述镜像副本发送到由所述请求标识的所述目的地。

2.如条款1所述的计算机实现的方法,其中所述虚拟网络接口是在对所述网络流量进行镜像的所述请求中标识的一组虚拟网络接口中的一个,所述组对应于以下项中的一个或多个:标识的虚拟网络接口的集合、所述虚拟网络的一个或多个标识的计算资源、所述虚拟网络的子网络、整个虚拟网络、与指定标签相关联的虚拟网络接口的集合。

3.如条款1或2中任一项所述的计算机实现的方法,其中所述一个或多个操作包括以下项中的一个或多个:将元数据添加至所述网络流量的所述镜像副本,将所述网络流量的所述镜像副本转换为分组捕获数据格式;并且

其中所述目的地是以下项中的一个或多个:存储服务、流数据服务、安全服务、应用程序。

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

接收对遍历与在服务提供商网络处的虚拟网络相关联的虚拟网络接口的网络流量进行镜像的请求,所述请求标识所述镜像网络流量的目的地,并且所述虚拟网络包括与所述服务提供商网络的至少一个用户相关联的计算资源的逻辑隔离集合;

标识托管计算资源的计算装置,所述虚拟网络接口附接至所述计算装置;以及

将配置信息发送到所述计算装置,所述配置信息使所述计算装置将遍历所述虚拟网络接口的网络流量的镜像副本发送到在所述服务提供商网络处的计算实例群,所述计算实例群将所述网络流量的镜像副本路由至所述目的地。

5.如条款4所述的计算机实现的方法,其中所述目的地是所述服务提供商网络的存储服务,并且其中所述计算实例群将所述网络流量的所述镜像副本存储在与所述服务提供商网络的至少一个用户相关联的一个或多个存储位置处。

6.如条款4或5中任一项所述的计算机实现的方法,其中所述虚拟网络接口是在对所述网络流量进行镜像的所述请求中标识的一组虚拟网络接口中的一个,所述组对应于以下项中的一个或多个:标识的虚拟网络接口的集合、所述虚拟网络的一个或多个计算资源、所述虚拟网络的子网络、整个虚拟网络、与指定标签相关联的虚拟网络接口的集合。

7.如条款4至6中任一项所述的计算机实现的方法,其中所述计算实例群相对于所述网络流量的镜像副本执行一个或多个操作,所述一个或多个操作包括以下项中的一个或多个:将元数据添加到所述网络流量的所述镜像副本,将所述网络流量的所述镜像副本转换为分组捕获数据格式;并且

其中所述目的地是以下项中的一个或多个:存储服务、流数据服务、安全服务、应用程序。

8.如条款4至7中任一项所述的计算机实现的方法,其中所述目的地是所述服务提供商网络的存储服务,并且其中所述计算实例群将所述网络流量的所述镜像副本转换为一个或多个分组捕获文件并且将所述一个或多个分组捕获文件存储在与所述服务提供商网络的至少一个用户相关联的所述存储服务处的一个或多个存储位置处。

9.如条款4至8中任一项所述的计算机实现的方法,其中所述计算实例群接收从与所述服务提供商网络的多个不同用户相关联的多个虚拟网络镜像的网络流量。

10.如条款4至9中任一项所述的计算机实现的方法,其中所述请求还指定至少一个过滤器,其标识选定类型的网络流量以进行镜像,并且其中所述计算装置仅将与所述至少一个过滤器匹配的网络流量镜像到所述计算实例群。

11.如条款4至10中任一项所述的计算机实现的方法,其还包括:

接收执行以下项中的一个或多个的附加请求:停止在所述计算装置处对网络流量的镜像,暂停在所述计算装置处对网络流量的镜像,恢复在所述计算装置处对网络流量的镜像,修改在所述计算装置处对网络流量的镜像;以及

基于所述附加请求将附加配置信息发送到所述计算装置。

12.如条款4至11中任一项所述的计算机实现的方法,其中所述请求还指定以下项中的一个或多个:指示何时开始对所述网络流量进行镜像的触发条件,以及用于对所述网络流量进行镜像的时间限制。

13.如条款4至12中任一项所述的计算机实现的方法,其还包括基于由所述计算实例群接收的镜像网络流量的量来缩放所述计算实例群。

14.如条款4至13中任一项所述的计算机实现的方法,其中所述目的地是所述服务提供商网络的存储服务,并且其中所述计算实例群将所述网络流量的所述镜像副本转换为一个或多个分组捕获文件并且将所述一个或多个分组捕获文件存储在与所述服务提供商网络的至少一个用户相关联的一个或多个存储位置处,所述方法还包括:

接收查询,所述查询包括搜索标准,所述搜索标准标识存储在所述一个或多个分组捕获文件中的数据子集;以及

针对存储在所述存储服务处的所述分组捕获文件执行所述查询。

15.一种系统,其包括:

由第一一个或多个电子装置实现的硬件虚拟化服务,所述硬件虚拟化服务包括指令,所述指令在执行时使所述硬件虚拟化服务:

接收对遍历与在服务提供商网络处的虚拟网络相关联的虚拟网络接口的网络流量进行镜像的请求,所述请求标识所述镜像网络流量的目的地,所述虚拟网络包括与所述服务提供商网络的至少一个用户相关联并且由至少一个计算装置托管的计算资源的逻辑隔离集合;

标识托管计算资源的计算装置,所述虚拟网络接口附接至所述计算装置,以及

将配置信息发送到所述计算装置,所述配置信息使所述计算装置将遍历所述虚拟网络接口的网络流量的镜像副本发送到在所述服务提供商网络处的计算实例群;以及

由第二一个或多个电子装置实现的所述计算实例群,所述计算实例群包括指令,所述指令在执行时使所述计算实例群:

从所述计算装置接收所述网络流量的镜像副本,

相对于所述网络流量的镜像副本执行一个或多个操作,以及

将所述网络流量的所述镜像副本发送到由所述请求标识的所述目的地。

16.如条款15所述的系统,其中所述虚拟网络接口是在对所述网络流量进行镜像的所述请求中标识的一组虚拟网络接口中的一个,所述组对应于以下项中的一个或多个:标识的虚拟网络接口的集合、所述虚拟网络的一个或多个计算资源、所述虚拟网络的子网络、整个虚拟网络。

17.如条款15或16中任一项所述的系统,其中所述目的地是所述服务提供商网络的存储服务,并且其中所述计算实例群还包括指令,所述指令在执行时使所述计算实例群:

将所述网络流量的所述镜像副本转换为一个或多个分组捕获文件,以及

将所述一个或多个分组捕获文件存储在与所述服务提供商网络的至少一个用户相关联的所述存储服务处的一个或多个存储位置处。

18.如条款15至17中任一项所述的系统,其中所述目的地是以下项中的一个或多个:存储服务、流数据服务、安全服务、应用程序。

19.如条款15至18中任一项所述的系统,其中所述计算实例群接收从与所述服务提供商网络的多个不同用户相关联的多个虚拟网络镜像的网络流量。

20.如条款15至19中任一项所述的系统,其中所述请求还指定至少一个过滤器,其标识选定类型的网络流量以进行镜像,并且其中所述计算装置仅将与所述至少一个过滤器匹配的网络流量的镜像副本发送到所述计算实例群。

因此,说明书和附图应被认为是说明性的而不是限制性的。然而,将显而易见的是,在不脱离如在权利要求中阐述的本公开的更宽泛精神和范围的情况下,可对其做出各种修改和改变。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号