用来支持流量政策执行的实体处理注册表的制作方法
【专利摘要】一种提供者网络可针对网络实体处理实施网络实体注册表,该网络实体处理被包括在针对提供者网络执行的网络流量政策中。可在网络实体注册表中维持网络实体条目,该网络实体条目指定针对在网络流量控制政策中包括的网络实体处理的网络地址信息。可由网络流量控制器执行网络流量控制政策。在接收到网络实体条目的更新时,可更新所述网络实体条目并且可将在所述网络实体条目中指定的网络地址信息提供到在提供者网络中实施的网络流量控件的子组用于那些网络流量控件针对所述更新网络实体条目执行包括所述网络实体处理的网络流量政策。在一些实施方案中,可不由网络实体条目拥有者更新网络实体条目。
【专利说明】
用来支持流量政策执行的实体处理注册表
【背景技术】
[0001]用于商用硬件的虚拟化技术的出现已针对具有多样化需求的诸多客户提供关于管理大规模计算资源的益处,从而允许由多个客户有效地且安全地共享各种计算资源。例如,虚拟化技术可允许通过对每一个用户提供由单物理计算机器代管的一个或多个虚拟机器而在多个用户当中共享单物理计算机器(其中每一个这种虚拟机器是充当独特逻辑计算系统的软件模拟,所述独特逻辑计算系统对用户提供所述用户是给定硬件计算资源的唯一操作者和管理者的错觉),同时还在各个虚拟机器当中提供应用程序隔离和安全。作为另一实例,虚拟化技术可允许通过对每一个用户提供可横跨多个数据存储装置分布的虚拟化数据存储而在多个用户当中共享数据存储硬件,其中每一个这种虚拟化数据存储充当独特逻辑数据存储,所述独特逻辑数据存储对用户提供所述用户是数据存储资源的唯一操作者和管理者的错觉。
[0002]可利用虚拟化技术来创建诸多不同类型的服务,或针对客户端系统或装置执行不同功能。例如,可使用虚拟机器以针对外部客户执行基于网络的服务,诸如电子商务平台。还可使用虚拟机器以针对内部客户实施服务或工具,诸如被实施为公司内部网络的部分的信息技术(IT)服务。因此,可将网络流量引导到这些虚拟机器以便执行由利用虚拟机器执行的服务或功能提供的各种功能或任务。为了确保对在虚拟机器处接收的网络流量执行经授权或受控制访问,可采用控制往返虚拟机器的网络流量的网络流量政策。因为虚拟机器在其中操作的网络环境可改变,所以网络流量政策可对应地改变。然而,在实施对网络流量政策的多次改变时,针对其数量可缩放的一组多样化虚拟机器管理流量政策可被证实是繁重的。
【附图说明】
[0003]图1是说明根据一些实施方案的在网络中的网络实体注册表和多个网络实体的图。
[0004]图2是说明根据一些实施方案的对网络实体注册表中的网络实体条目的更新的数据流程图。
[0005]图3是说明根据一些实施方案的网络实体条目、包括网络实体处理的网络流量政策和安全组的实例的框图。
[0006]图4是说明根据一些实施方案的针对在网络流量控制器处执行的网络流量政策中包括的网络实体处理实施网络实体注册表的虚拟计算资源提供者的框图。
[0007]图5是说明根据一些实施方案的由用于虚拟化主机的网络流量控制器进行的网络流量处理的框图。
[0008]图6是说明根据一些实施方案的网络实体条目拥有者、网络实体条目修改器和网络实体注册表当中的交互的框图。
[0009]图7是说明根据一些实施方案的流量源、网络流量控制器和网络实体注册表当中的交互的框图。
[0010]图8是说明根据一些实施方案的用于针对在针对提供者网络执行的网络流量政策中包括的网络实体处理实施网络实体注册表的各种方法和技术的高级流程图。
[0011 ]图9是说明根据一些实施方案的用于从网络实体条目拥有者获得对网络实体条目的更新的批准的各种方法和技术的高级流程图。
[0012]图10是说明根据一些实施方案的用于注册网络流量控制器以接收针对对在网络实体注册表中的网络实体条目的网络实体处理的网络地址信息的各种方法和技术的高级流程图。
[0013]图11是说明根据一些实施方案的用于获得针对更新网络实体条目的指定网络地址信息的各种方法和技术的高级流程图。
[0014]图12是说明根据一些实施方案的示例性计算系统的框图。
[0015]虽然本文中通过实例描述实施方案的若干实施方案和说明性图式,但所属领域技术人员将意识到,所述实施方案不限于所描述实施方案或图式。应了解,图式和其详细描述并非旨在将实施方案限于所公开的特定形式,但相反,意图是涵盖属于如由所附权利要求书定义的精神和范围的所有修改、等效物和替代物。本文中所使用的标题仅用于组织目的且并非意在用来限制本发明描述或权利要求书的范围。如遍及本申请所使用,在许可意义(即,意指具有...的可能性)而非强制性意义(即,意指必须)上使用字词“可”。相似地,字词“包括(include、including和includes),,意指包括但不限于。
【具体实施方式】
[0016]根据一些实施方案,本文中描述的系统和方法可针对在针对提供者网络执行的网络流量政策中包括的网络实体处理实施网络实体注册表。提供者网络可对客户端、操作者或其它客户供应对一个或多个计算资源的访问和/或控制。这些资源可包括被配置来通过网络通信的各种类型的计算系统或装置。例如,在一些实施方案中,提供者网络可以保留计算实例的方式将虚拟计算资源提供到客户端、用户或其它类型的客户(例如,充当独特逻辑计算系统的虚拟机器,所述独特逻辑计算系统对用户提供所述用户是给定硬件计算资源的唯一操作者和管理者的错觉)。提供者网络的客户端可保留(即,购买(purchase或buy)) —个或多个计算资源(诸如计算实例)以执行各种功能、服务、技术和/或应用。作为执行这些功能、服务、技术和/或应用的部分,可在不同计算资源处允许、禁止或以其它方式管理网络流量。例如,对电子商务网站提供认证服务的一组计算资源(诸如多个服务器)仅可接受来自一组特定互联网协议(IP)地址的网络流量。可在网络流量政策中描述这个约束、允许、禁止或其它网络流量控制(例如,“ALLOW在端口 X上来自IP地址Y的流量”)。提供者客户端可配置网络流量政策以针对多个计算资源执行相同动作,从而形成用于多个计算资源的安全组。安全组可应用多个网络流量控制政策,其继而可具有一个或多个网络流控制政策。
[0017]利用计算资源的提供者客户端可利用可获取新资源所具备的灵活性。可快速地缩放虚拟计算资源例如以满足诸如针对实施快速增长网页服务的提供者客户端的需求。随着计算实例数量增长,管理不同安全政策和安全组可变得复杂且耗时。例如,计算实例可属于多个不同安全组,所述安全组中的每一个可执行多个不同网络流量政策。针对对网络流量政策的每次改变手动地更新每一个安全组可被证实对提供者客户端来说是昂贵的且可能不允许改变网络流量政策以对改变网络流量状况快速地作出反应。
[0018]图1是说明根据一些实施方案的在网络中的网络实体注册表和多个网络实体的图。在一些实施方案中,可更新网络流量政策和其相关安全组,而无需手动地改变每一个受影响组或政策。例如,网络流量政策可包括对在网络实体注册表中维持的网络实体条目的网络实体处理。如图1中所说明,在各个实施方案中,提供者网络100可实施网络实体注册表120以将不同网络实体的条目既维持在提供者网络100内又维持在提供者网络100外部。网络实体通常可是可将数据(即,网络流量)发送到其它计算系统或装置或者从其它计算系统或装置接收数据的一个或多个不同计算系统或装置。网络实体可被识别为(但不限于)单IP地址,诸如可识别特定主机、IP地址范围,诸如可识别网络的子网(可包括IP地址和掩码)、域名或主机名,诸如可被转化成不同IP地址、各种网络机构(诸如虚拟私有网络(VPN))的端点、不同实体组(诸如由安全组定义)或在定位特定实体中使用的任何其它信息。在各个实施方案中,网络实体可能好像是任意可寻址元件或(否则)无关可寻址元件。在一些实施方案中,网络实体的条目可维持在网络实体注册表120中,且包括针对实体的网络地址或位置信息和处理名或识别符。在一些实施方案中,还可维持针对网络实体条目的其它信息,诸如网络条目(例如,网络地址信息)的各个部分的版本号和/或一个或多个现有版本。可维持网络实体条目的部署进度(例如,何时和/或如何提供网络地址信息)。在一些实施方案中,网络实体注册表120还可维持描述执行包括对特定网络实体条目的处理的网络流量政策的网络流量控制器或其它系统、组件或装置的信息。
[0019]例如,网络实体182可是单系统(或是计算装置的系统或网络的端点)。例如,网络实体注册表可维持网络实体182的条目,其指定针对网络实体182的网络地址信息,诸如可寻址元件122a的IP地址。网络流量控制器122b可被配置来通过提供者网络100提供往返网络可寻址元件122a的访问。在另一实例中,网络实体184可包括多个可寻址元件124a和126a(连同其各自的网络流量控制器124b和126b)。针对网络实体184的网络地址信息可包括IP地址范围,或将网络实体184识别为子网。还可维持为可寻址元件组(其可是或不是相同子网的成员(可与网络实体184相同))的网络实体的条目。例如,网络实体174可是包括可一起相关联以执行共同网络流量政策的多个可寻址元件132a、134a和136a(以及其各自的网络流量控制器132b、134b和136b)的安全组。可寻址元件132a可是其它计算系统或装置的网络的端点,而可寻址元件134a和136a可是单计算系统的可寻址元件。网络实体可包括不同数量和/或大小。网络实体172例如是其中比网络实体174少I个可寻址元件(可寻址元件142a和144a以及其各自的网络流量控制器142b和144b)的安全组。提供者网络100外部的网络实体还可在网络实体注册表120中具有对应条目,因为可朝向提供者网络100内的各种资源引导来自外部实体的网络流量110。
[0020]在各个实施方案中,网络实体注册表120可被实施为用于管理提供者网络的网络流量政策的服务的部分。例如,网络实体注册表可被实施为可管理或协调针对为提供者网络资源建立的安全组的网络流量政策的安全组管理服务的部分。安全组管理服务可与其它服务(诸如映射服务或者其它路由组件或服务)通信,以将针对网络实体条目的指定网络地址信息提供到执行网络流量控制政策的其它系统。尽管被说明为相邻于可寻址元件,但在一些实施方案中网络流量控制器可定位在单独系统或装置上,网络流量通过所述系统或装置流动到可寻址元件。
[0021]图2是说明根据一些实施方案的对在网络实体注册表中的网络实体条目的创建和/或更新的数据流程图。在网络实体注册表220处注册新网络实体和/或接收对网络实体条目272的更新(被说明为实施为安全组管理服务210的部分)。在网络实体注册表220的各自的条目中作出对应于更新的改变或创建新实体条目。可使用各种不同结构化数据存储(诸如数据库或其它存储方案)来存储网络实体条目。在一些实施方案中,可在允许注册新网络实体或对网络实体条目的更新之前满足认证和授权证书和/或程序。
[0022]针对更新网络实体条目(或新网络实体条目),可将在网络实体条目中指定的网络地址信息提供到执行包括对网络实体条目282的处理(例如,包括处理id或其它处理参考)的网络流量控制政策的网络流量控制器。可以不同方式将网络地址信息提供到网络流量控制器。例如,在一些实施方案中,可实施推送技术,从而在接收或维持更新或新条目时将针对网络实体条目的网络地址信息发送到网络流量控制器。例如,安全组管理服务210可维持关于与特定安全组以及特定安全组的成员相关联的网络流量政策的信息。因此,可在安全组管理服务210中描述、列举或指出安全组A 242的网络流量控制器252,且将针对网络实体条目的网络地址信息发送到基于这个成员信息识别的网络流量控制器252。相似地,针对安全组B 244和安全组C,246,可维持成员信息,其允许安全组管理服务210识别执行安全组B的网络流量控制器254和执行安全组C的网络流量控制器256。可替代地,在一些实施方案中,网络流量控制器252、254和256可请求(例如,使用轮询行为)用于针对各自的网络实体处理的新或更新网络实体条目的网络地址信息。请注意,在各个实施方案中,网络流量控制器252、254和256可是在提供者网络中执行网络流量政策的更大数量的网络流量控制器的子组。例如,在各个实施方案中,针对新或更新网络实体条目执行不包括网络实体处理的网络流量政策的所述网络流量控制器可不接收网络地址信息282。
[0023]如上文所论述,网络流量政策可包括对在网络实体注册表中维持的网络实体条目的网络实体处理。图3是说明根据一些实施方案的网络实体条目、包括网络实体处理的网络流量政策和安全组的实例的框图。网络实体注册表310维持多个网络实体条目,诸如条目330、332和334。每一个网络实体条目可包括用来识别网络实体和/或与网络实体通信的针对网络实体的网络地址信息,诸如IP地址、IP地址范围、掩码和各种其它形式的网络地址信息。网络实体条目还可包括可包括在网络流量政策中以指示指定针对网络流量政策的网络地址信息的网络实体条目的处理,诸如处理参考或识别符。在一些实施方案中,可维持识别网络实体条目的特定版本(例如,版本号或时间戳)的版本识别符。在一些实施方案中,除可提供到网络流量控制器以例如回滚改变的当前实体条目以外,还可维持实体条目的多个现有版本。
[0024]网络流量政策可实施诸多不同类型的网络流量控制。例如,一些网络流量政策可被配置来允许或禁止流量。网络流量政策344a允许在端口 9876上来自网络实体处理340的传入TCP流量。同时网络流量政策344b允许在端口 443上到网络实体处理344的传出TCP流量。还可使用网络流量政策来执行如在网络流量政策346a中所说明的网络流控制(诸如节流流量),从而诸如在网络流量政策346b中以特定顺序处理流量或以特定方式存储流量。在一些实施方案中,可使用包括网络实体处理的网络流量政策作出网络带宽调整。在网络流量政策中可包括各种不同类型的属性或信息,诸如特定协议、端口和/或流量类型。如上文在图1中所提及,网络实体可包括多个系统或装置以及子网、VPN端点、网关或其它安全机构以及组,诸如多个网络实体的安全组。因此,网络流量政策可以诸多不同方式被配置来控制来自这些实体的流量,且因此网络流量政策的先前实例并非旨在限制性。
[0025]网络实体处理可在网络实体处理所参考的特定网络实体条目中扩展有指定网络地址信息。如果例如网络实体处理340具有“bob_network”的处理参考,那么包括处理“bob_network”的网络实体条目330可指定网络地址信息以扩展处理340以用于执行网络流量政策344a和346b。相似地,网络实体处理可具有也包括在网络实体条目344中的id,诸如实体2ABY1ο
[0026]在一些实施方案中,网络流量政策可与特定安全组相关联,针对为特定安全组的成员或与特定安全组相关联的所有计算资源执行网络流量政策。例如,针对为安全组302a的成员的计算资源执行网络流量政策344a和344b两者。相似地,针对为安全组302b的成员或与安全组302b相关联的计算资源执行网络流量政策346a和346b两者。在一些实施方案中,计算资源可与多个安全组相关联。因此,特定计算资源(诸如特定计算实例)可是安全组302a和302b的成员。
[0027]请注意,先前描述并非旨在限制性,但仅提供为提供者网络、网络实体注册表和网络流量政策的实例。各种其它组件可与执行包括针对网络实体条目的处理的网络流量政策交互或协助执行包括针对网络实体条目的处理的网络流量政策。
[0028]本说明书接着包括虚拟计算资源提供者的一般描述,其可针对包括在针对提供者网络执行的网络流量政策中的网络实体处理实施网络实体注册表。然后,论述虚拟计算资源提供者的各个实例,包括可用作实施虚拟计算资源提供者的部分的不同组件/模块或组件/模块布置。然后,论述用来针对包括在针对提供者网络执行的网络流量政策中的网络实体处理实施网络实体注册表的多种不同方法和技术,随附流程图中说明所述方法和技术中的一些。最后,提供可在上面实施各种组件、模块、系统、装置和/或节点的示例性计算系统的描述。遍及本说明书提供各个实例。
[0029]图4是说明根据一些实施方案的针对在网络流量控制器处执行的网络流量政策中包括的网络实体处理实施网络实体注册表的虚拟计算资源提供者的框图。可由实体(诸如公司或公共部门组织)设置提供者网络400以将可经由互联网和/或其它网络访问的一个或多个服务(诸如各种类型的基于云端的计算或存储)提供到客户端450。提供者网络400可包括代管实施和分发由提供者网络400提供的基础结构和服务所需的各种资源池的众多数据中心,诸如物理和/或虚拟化计算机服务器、存储装置、联网设备等的集合。在一些实施方案中,提供者网络300可提供计算资源。在一些实施方案中,可将这些计算资源提供到称为“实例”424(诸如虚拟或物理计算实例或存储实例)的单元中的客户端。
[0030]虚拟计算实例424可例如包括具有指定计算能力(其可通过指示CHJ的类型和数量、主存储器大小等来指定)和指定软件栈(例如,操作系统的特定版本,其继而可在超管理器的顶部上运行)的一个或多个服务器。在不同实施方案中,可单独地或组合地使用多种不同类型的计算装置来实施提供者网络400的计算实例424,包括通用或专用计算机服务器、存储装置、网络装置等。在一些实施方案中,实例客户端450或其它任何其它用户可被配置(和/或授权)来将网络流量引导到计算实例424。
[0031]计算实例424可操作或实施各种不同平台,诸如应用服务器实例、Java?虚拟机器(JVM)、通用或专用操作系统、支持各种解译或编译编程语言(诸如Ruby、Perl、Python、C、C++等)的平台、或适于执行客户端450应用而例如无需客户端450访问实例424的高性能计算平台。在一些实施方案中,计算实例具有基于预期正常运行时间比的不同类型或配置。特定计算实例的正常运行时间比可被定义为启动实例的时间量对保留实例的总时间量的比。在一些实施方式中,正常运行时间比还可称为利用率。如果客户端预期使用计算实例达保留实例的时间的相对小部分(例如,长达一年保留的30%-35%),那么客户端可决定将实例保留为低正常运行时间比实例,且根据相关联定价政策支付打折的每小时使用费。如果客户端预期具有需要实例占用大部分时间的稳态工作量,那么客户端可保留高正常运行时间比实例且可能支付甚至更低的每小时使用费,但在一些实施方案中可根据定价政策针对整个保留持续时间收取每小时费用,而不管实际使用时数是多少。在一些实施方案中,还可支持针对具有对应定价政策的中等正常运行时间比实例的选项,其中预付成本和每小时成本落在对应高正常运行时间比成本与低正常运行时间比成本之间。
[0032]计算实例配置还可包括具有一般用途或特定用途的计算实例,诸如针对计算密集型应用的计算工作量(例如,高流量网页应用、广告服务、成批处理、视频编码、分布式分析、高能物理学、基因组分析和计算流体动力学)、图形密集型工作量(例如,游戏串流、3D应用串流、服务器端图形工作量、显现、财政模型化和工程设计)、存储器密集型工作量(例如,高性能数据库、分布式存储器的高速缓冲存储器、存储器中分析、基因组组装和分析)和存储最优化工作量(例如,数据仓储和群集文件系统)。计算实例的大小,诸如特定数量的虚拟CPU核心、存储器、高速缓冲存储器、存储设备以及任何其它性能特性。计算实例的配置还可包括其在特定数据中心、可用区、地理位置、地点等中的位置和(在保留计算实例的情况下)保留期限长度。
[0033]在各个实施方案中,计算实例可与一个或多个不同安全组相关联。如上文所提及,安全组可针对安全组的成员处的网络流量执行一个或多个网络流量政策。安全组中的成员可能与计算实例的物理位置或实施方式无关。安全组图例482说明用来标记安全组中的成员的各种不同底纹。例如,在相同虚拟化主机420a上实施的计算实例424al、424a2、424a3和424a4可属于不同安全组A、B和C。在不同物理位置处实施其它组成员,诸如安全组B的实例424bl、424b4和424n3。相似地,还不同地定位安全组A的实例424&1、424&3、42牝2和424112以及安全组C的实例424a2、424b3、424cl和424n4。特定安全组的成员数量或其关联可变动,且这个先前论述和说明并非旨在限制特定安全组中的组成员的数量。每一个安全组A、B和C可针对其成员实例执行各自的网络流量政策。在一些实施方案中,每一个安全组中的一个或多个网络流量政策可包括相同网络实体处理(与上文关于图2所论述相同)。先前描述并非旨在限制,但仅旨在说明对于由提供者网络400提供的计算实例424来说可能的诸多不同配置。
[0034]如图4中所说明,虚拟化主机420(诸如虚拟化主机420a、420b到420η)可在一些实施方案中实施和/或管理多个计算实例424,且可是一个或多个计算装置,诸如下文关于图12描述的计算系统2000。虚拟化主机320可包括能够例示和管理多个不同客户端可访问虚拟机器或计算实例424的虚拟化管理模块422,诸如虚拟化管理模块422a、422b到422η。虚拟化管理模块422可包括例如操作系统的超管理器和管理实例,其可在一些实施方式中称为“domain-zero”或“domO”操作系统。domO操作系统可无法由计算实例424代表其运行的客户端访问,但是反而可负责网络提供者的各种管理或控制平面操作,包括处理引导到计算实例424或从计算实例424引导的网络流量。
[0035]如图4中所说明,虚拟化管理模块422可包括网络流量控制器426,诸如网络流量控制器426a、426b到426η。网络流量控制器426可被配置来针对计算实例424执行各种网络流量政策,诸如可基于计算实例424的安全组关联执行。图5是根据一些实施方案的由虚拟化主机的网络流量控制器处理的网络流量的框图。如上文所论述,虚拟化主机502可实施多个计算实例520a、520b、520c到520η。虚拟化主机502还可实施虚拟化管理模块522和网络流量控制器516。计算实例520的网络流量500可在网络流量控制器516处从另一网络实体接收为入站网络流量或从计算实例520接收为出站网络流量。针对接收的特定网络流量,网络流量控件516可识别将应用的特定网络流量政策,诸如政策518a、518b和/或518η。例如,可使用路由表或其它元数据来识别特定实例520的网络流量政策。网络流量政策可应用于网络流量,从而根据所述政策允许、拒绝、约束、限制等网络流量。在政策中包括的网络实体处理可被扩展来根据下文关于图6-11描述的各种技术通过网络实体处理来应用在政策中引用的针对网络实体的网络地址信息。在一些实施方案中,网络流量控制器516可从安全组管理服务440和/或网络实体注册表442请求指定网络地址信息。在一些实施方案中,网络流量控制器可维持针对网络实体处理接收的网络地址信息的多个版本,且可根据来自安全组管理服务440和/或注册表442的指令或基于自决而恢复版本。
[0036]尽管被说明为由虚拟化主机420实施,但在一些实施方案中,可与虚拟化主机420分开地(诸如在不同系统或计算装置上)实施网络流量控制器426。可在任何地方实施网络流量控制器426,特定可寻址元件(例如,实例424)的网络流量可能需要行进通过网络流量控制器426以便到达其目的地(S卩,在流量路径中)。因此,图4和5中的网络流量控制器的先前论述和说明并非旨在限制性。
[0037]返回到图4,在各个实施方案中,提供者网络400可实施安全组管理服务440,以诸如通过根据下文在图6-11中描述的各种技术将网络实体注册表442中的网络实体条目中指定的网络地址信息提供到网络流量控制器426和/或映射服务430来管理安全组更新或改变。可由一个或多个节点、服务、系统或装置实施安全组管理服务440,诸如下文关于图12描述的计算系统2000。在一些实施方案中,安全组管理服务可将映射信息维持在网络流量控制器426、计算实例424、安全组、网络流量政策与特定网络实体处理之间。在一些实施方案中,网络流量控制器426可注册监听器或以其它方式指示与特定网络实体条目、与安全组管理器服务440的关系以便接收关于网络实体条目的更新或通知。
[0038]在各个实施方案中,安全组管理服务440可实施网络实体注册表442。如上文关于图1-3所论述,网络实体注册表442可被配置来维持网络实体的网络实体条目,包括网络地址信息、网络实体处理以及其它信息,诸如版本识别符、网络实体条目的其它版本和/或网络实体条目的部署或调度。网络实体注册表442可被实施为用来维持网络实体条目的数据库、索引、结构化数据存储、其它方案。在一些实施方案中,关联还可被维持为网络流量政策,包括各自的网络实体处理和/或网络安全组关联。
[0039]内部网络410可包括在提供者网络400的不同组件之间(诸如虚拟化主机420、映射服务430和安全组管理服务440以及外部网络460(例如,互联网)建立联网链路所必需的硬件(例如,调制解调器、路由器、交换机、负载平衡器、代理服务器等)和软件(例如,协议栈、会计软件、防火墙/安全软件等)。在一些实施方案中,提供者网络400可采用互联网协议(IP)穿隧技术来提供覆盖网络,可使用隧道以经由所述覆盖网络传递封装的数据包通过内部网络410JP穿隧技术可提供映射和封装系统以用于在网络410上创建覆盖网络且可提供单独名称空间以用于覆盖层和内部网络110层。可对照覆盖层中的数据包与映射目录(例如,由映射服务430提供)以确定其隧道目标应是什么。IP穿隧技术提供虚拟网络拓扑;向客户端450呈现的接口可附接到覆盖网络使得在客户端450提供其想要数据包发送到的IP地址时,通过与知道IP覆盖地址在何处的映射服务(例如,映射服务130)通信而在虚拟空间中运行IP地址。在一些实施方案中,映射服务430可将网络流量控制政策提供到各种网络流量控制器426以用于执行。在这些实施方案中,映射服务430可获得或具备对针对网络流量政策中包括的网络实体处理的网络地址信息的访问,且将网络地址信息提供到网络流量控制器426以用于执行。在各个实施方案中,映射服务430可接收针对网络流量政策的网络地址信息以便扩展网络实体处理。然后,可由映射服务430提供将扩展的网络实体处理提供到可执行包括网络实体处理的网络流量政策的各自的网络流量控制器。
[0040]客户端450可包括可被配置来向网络提供者400提交请求的任何类型的客户端。例如,给定客户端450可包括网页浏览器的合适版本,或可包括被配置来执行为由网页浏览器提供的执行环境的扩展版或在由网页浏览器提供的执行环境内执行的插件或其它类型的代码模块。可替代地,客户端450可包括可使用计算实例424来执行各种操作的应用,诸如数据库应用(或其用户接口)、媒体应用、办公室应用或任何其它应用。在一些实施方案中,这个应用可包括用于生成和处理基于网络的服务请求而无需针对所有类型的基于网络的数据实施全力浏览器支持的足够协议支持(例如,对超文字传送协议(HTTP)的合适版本)ο在一些实施方案中,客户端450可被配置来根据表述性状态转移(REST)样式的基于网络的服务架构、基于文档或消息的基于网络的服务架构或另一合适的基于网络的服务架构,生成基于网络的服务请求。在一些实施方案中,客户端450(例如,计算客户端)可被配置来以对在利用由计算实例424提供的计算资源的客户端424上实施的应用透明的方式提供对计算实例424的访问。
[0041]客户端450可经由外部网络460将基于网络的服务请求递送到提供者网络400。在各个实施方案中,外部网络460可包括在客户端450与提供者网络400之间建立基于网络的通信所必需的任何合适的联网硬件及协议组合。例如,网络460通常可包括共同地实施互联网的各种电信网络和服务提供者。网络460还可包括私有网络(诸如局域网(LAN)或广域网(WAN))以及公共或私有无线网络。例如,给定客户端450和提供者网络400两者可分别提供在具有其自身内部网络的企业内。在这个实施方案中,网络460可包括在给定客户端450与互联网之间以及在互联网与提供者网络400之间建立联网链路所必需的硬件(例如,调制解调器、路由器、交换机、负载平衡器、代理服务器等)和软件(例如,协议栈、会计软件、防火墙/安全软件等)。应注意,在一些实施方案中,客户端450可使用私有网络而非公共互联网与提供者网络400通信。
[0042]图6是说明根据一些实施方案的网络实体条目拥有者、网络实体条目修改器和网络实体注册表当中的交互的框图。网络实体注册表442(或安全组管理器服务440)可实施接口 600,诸如编程接口(例如,API)或图形接口,可经由所述接口 600向网络实体注册表400提出请求。网络实体条目拥有者602(其可是利用提供者网络的计算实例或其它计算资源来实施各种应用、服务或功能的提供者网络400的客户端或可是可信网络实体条目提供者)可向网络实体注册表442注册610网络实体条目。网络实体注册表442可接收注册请求(例如,如果有效身份或认证证书包括在所述请求中)。在一些实施方案中,不当或未经授权创建或更新请求可生成发送回到请求者的错误消息。例如,在一些实施方案中,一些网络实体条目是静态的。用来更新静态网络实体条目的请求可返回用来更新静态网络实体条目的请求的错误或拒绝。在一些实施方案中,可将网络实体条目的通知(和/或针对所述条目的指定网络地址信息)提供620给执行包括对条目的处理的网络流量政策的网络流量控制器606。
[0043]在一些实施方案中,网络实体条目修改器604(其可不是网络实体条目的拥有者)可将更新请求630发送到网络实体注册表442以更新特定网络实体条目。在一些实施方案中,可通过来自网络实体条目拥有者602的请求更新批准获得更新批准,如在640处所指示。如果已批准(诸如如果从网络实体条目拥有者602接收批准650),那么可将更新网络实体条目(和/或所述更新条目的指定网络地址信息)的通知提供660给执行包括对条目的处理的网络流量政策的网络流量控制器606。在一些实施方案中,如果未获得批准,那么可在注册表442处恢复条目的先前版本,或可发送可能已接收网络地址信息的对网络流量控制器的指示以恢复或获得针对网络实体条目的网络地址信息的不同版本。在一些实施方案中,对网络实体条目630的更新或改变是临时的(例如,具有指定或默认效力时间段)。在一些实施方案中,更新批准650可是改变的再授权(再次作为临时更新或永久性改变)。
[0044]图7是说明根据一些实施方案的流量源、网络流量控制器和网络实体注册表当中的交互的框图。网络流量控制器760可执行网络流量政策(如上文关于图5所描述),包括包含网络实体处理的网络流量政策。网络流量控制器760可经由网络实体注册表接口 600 (上文关于图6所描述)从网络实体注册表442接收网络地址信息,其与在由网络流量控制器760执行的网络流量政策中包括的处理有关。可评估从流量源750接收的网络流量700 (其可是从计算实例流出到外部目的地的流量或入站时对于特定计算实例接收的流量)。可应用704包括网络实体处理的政策与针对网络实体注册表442中的网络实体的当前条目的指定网络地址信息。如果网络实体条目发生改变、更新或修改,那么可将针对更新条目的网络地址信息从网络实体注册表442提供740到网络流量控制器760。例如,可将通知发送到可使用条目的新版本的控制器760。然后,控制器760可请求针对条目的新版本的指定网络地址信息。可替代地,在一些实施方案中,控制器760可周期性地(或非周期性地)向条目的新版本的注册表442轮询在控制器760处执行的网络政策中包括的处理。在一些实施方案中,在进行更新时,可将针对更新网络实体条目的网络地址信息推出到网络流量控制器760。一旦提供与更新网络实体条目相关联的网络地址信息740,则可评估在控制器760处接收的网络流量720且应用网络流量政策与针对更新条目的指定网络地址信息,如在722处所指示。
[0045]已关于由提供者网络提供的虚拟计算资源给定针对在针对上文关于图4-7所论述的提供者网络执行的网络流量政策中包括的网络实体处理实施网络实体注册表的实例。各种其它类型或配置的提供者网络可实施这些技术。其它虚拟计算资源(例如,针对其实施安全组和网络流量政策)可实施网络实体注册表。例如,虚拟块存储卷可执行朝向个别存储卷引导的网络流量政策。图8是说明根据一些实施方案的用于针对在针对提供者网络执行的网络流量政策中包括的网络实体处理实施网络实体注册表的各种方法和技术的高级流程图。可使用如上文关于图4-7描述的虚拟计算资源提供者的各个组件或其它提供者网络组件实施这些技术。
[0046]如在810处所指示,可将多个网络实体条目维持在网络实体注册表处,每一个均指定针对在网络流量控制器处针对提供者网络内的可寻址元件执行的网络流量政策中包括的网络实体处理的网络地址信息。如上文所提及,在一些实施方案中,可寻址元件可是提供者网络中接收和发送网络流量的计算资源或其它装置,可由网络流量控制器针对所述网络流量执行一个或多个网络流量政策。网络实体注册表可维持包括用来识别网络实体和/或与网络实体通信的针对网络实体的网络地址信息(诸如IP地址、IP地址范围、掩码和各种其它形式的网络地址信息)的条目(如上文关于图3所提及)。网络实体条目还可包括可包括在网络流量政策中以指示指定针对网络流量政策的网络地址信息的网络实体条目的处理,诸如处理参考或识别符。在一些实施方案中,可维持识别网络实体条目的特定版本(例如,版本号或时间戳)的版本识别符。在一些实施方案中,除当前实体条目以外,还可维持实体条目的多个先前版本。
[0047]如在820处所指示,在一些实施方案中,可接收用来更新特定网络实体条目的请求。例如,更新请求可能希望改变在实体中的网络地址信息(例如,在新子网中添加新IP地址,改变IP地址范围,添加差异或交换),改变针对网络实体条目的部署信息(例如,对网络流量控制器)或对网络实体条目的任何其它改变。在一些实施方案中,可执行各种认证检查或协议。例如,可验证请求者的身份,并且可确定用来执行更新的授权。响应于接收请求,可根据请求更新特定网络实体条目,如在830处所指示。
[0048]如在840处所指示,可将在更新网络条目中指定的网络地址信息提供到提供者网络中执行包括针对更新网络实体条目的网络实体处理的网络流量政策的网络流量控制器。例如,可由多个网络流量控制器实施多个网络流量控制政策。这些网络流量控制器的子组可执行包括对更新的特定网络实体条目的处理的网络流量政策。因此,在各个实施方案中,可将指定网络流量政策提供到网络流量控制器子组的网络流量控制器。在一些实施方案中,可不直接将网络流量信息提供到网络流量控制器。反而,可将网络流量信息提供到最终可对网络流量控制器提供网络流量信息的中间系统或装置。例如,映射服务或其它系统可注册和接收针对网络实体处理的网络地址信息且更新/提供/发送/重新配置执行包括网络实体处理与针对更新条目的网络地址信息的政策的网络流量控制器。
[0049]在至少一些实施方案中,可能无需执行新网络实体条目或对网络实体条目的更新,以便将网络地址信息提供到网络流量控制器。因此,在一些实施方案中,可不执行元素820和830,但是反而针对给定网络实体条目,可将网络地址信息提供到执行包括所述条目的网络流量政策的网络流量控制器子组。还可应用用于提供网络信息的各种技术,诸如上文和下文所论述的推或拉模型。例如,即使网络地址信息尚未改变,仍可周期性地将针对不同网络实体条目的网络地址信息发送到网络流量控制器。
[0050]在一些实施方案中,网络实体条目更新可是临时的。例如,更新请求可指定用于对网络实体条目的更新的持续时间。在一些实施方案中,在条目的时间段到期时,网络实体条目可恢复到条目的先前版本。在一些实施方案中,一些网络实体条目可是静态的或一成不变的,且因此可不更新(但其可被删除和/或可删除包括静态网络处理的网络流量政策)。
[0051]可以各种方式将网络地址信息提供到网络流量控制器。在一些实施方案中,可识别执行包括对更新的特定网络实体条目的处理的网络流量政策的网络流量控制器。例如,网络流量控制器可注册或请求对网络实体注册表处的指定网络实体处理的更新。基于这个注册信息,可识别针对特定网络实体条目的网络流量控制器。在一些实施方案中,网络流量实体控制器可请求针对网络实体条目的网络地址信息的新版本(例如,作为轮询行为的部分)。还可根据部署进度将网络地址信息提供到网络流量控制器。例如,在将新版本的网络地址信息提供到定位在数据中心B中的计算实例之前2小时,可对针对定位在数据中心A中的计算实例实施的网络流量控制器提供所述网络地址信息。在一些实施方案中,可实施随机化部署进度以通过随机阻挡和不阻挡网络流量通过更新网络实体条目来模拟网络中断和其它问题。
[0052]在一些实施方案中,可由诸多不同实体创建、注册、更新或以其它方式修改网络实体条目。在一些实施方案中,拥有、控制、配置或管理计算资源的提供者网络的客户端或其它用户可设置或相关联于针对安全组和/或安全组的网络流量政策以及网络实体条目,在网络流量政策中包括对所述网络实体条目的处理。例如,网页服务(例如,内容分发服务)的开发者或提供者可利用多个计算实例和相关联不同实例,其中具有随附网络流量政策的一个或多个安全组用于处理朝向网页服务的计算实例引导的各种类型的网络流量。开发者还可授权第三方(或其它实体)更新或重新配置针对网页服务的网络实体条目。如果例如内容分发服务允许其它服务连接到网站或将媒体上传到网站(例如,社交媒体服务),那么内容分发服务可授权可信社交媒体服务更新由在网络流量政策中包括的网络实体处理引用的网络实体条目,所述网络流量政策允许流量到所述处理。可使用各种授权技术来委任和/或授权不是网络实体条目拥有者(例如,不是与政策对象相关联的相关联网络流控制政策的计算实例的拥有者)的其它实体。图9是说明根据一些实施方案的用于从网络实体条目拥有者获得对网络实体条目的更新的批准的各种方法和技术的高级流程图。
[0053]如在910处所指示,可接收并非来自网络实体条目拥有者的针对网络实体条目的更新请求。在各个实施方案中,更新请求可包括各种认证证书(例如,身份符记)和/或授权证书。在一些实施方案中,可至少部分基于并非来自网络实体条目拥有者的这些或其它证书确定更新请求。所述请求可包括对将要应用的网络实体条目的改变(例如,额外允许的或不同的IP地址)。可根据用于注册、创建和/或修改注册表(诸如上文关于图4描述的注册表442)处的网络实体条目的接口(诸如API接口)格式化和接收更新请求。在一些实施方案中,可执行对网络实体条目的更新并将其提供到执行包括针对网络实体条目的网络实体处理的网络流量政策的网络流量控制器(诸如由上文关于图8所论述的各种技术描述)。在一些实施方案中,可额外地将更新网络实体条目标记为临时或未经批准。对网络实体条目的未经批准改变可触发额外批准机制。
[0054]例如,如在920处所指示,在一些实施方案中,可从网络实体条目拥有者请求对网络实体条目的更新的批准。如上文所提及,描述网络实体条目的元数据可包括可用于实施或更新网络实体条目的网络实体条目拥有者的身份、优选联系方法、对政策对象的预先批准或经授权更新或其它信息。可通过经由安全组管理服务接口将消息发送到政策对象拥有者来请求批准。例如,作为虚拟计算资源提供者的客户端,网络实体条目拥有者可具有对图形用户接口(诸如控制面板)的访问,可对所述图形用户接口传达通知批准请求的网络实体条目拥有者的指示、警告或其它方式。在一些实施方案中,可预先将优选通知或联系方法提供到安全组管理服务,所述优选通知或联系方法可指示:指明电子邮件、文字消息或电话呼叫是朝向特定帐户或电话号码引导。描述改变以及修改网络实体条目的实体身份的信息可包括在批准请求中。可使用经由其提出批准请求的相同或不同通信方法提供批准。在一些实施方案中,批准请求可包括对改变自身的修改或者对网络实体条目的实施方式、调度或执行的改变。
[0055]在一些实施方案中,如果获得批准(如由来自元素930的积极退出所指示),那么可维持针对更新网络实体条目的网络地址信息,如在940处所指示。例如,在一些实施方案中,可将更新网络实体条目标记为经批准或从未经批准改变清单移除等,以便使网络实体条目改变是永久性的。如果未获得批准(例如,在特定时间段内,接收消极或未经批准响应)(如来自元素930的消极退出所指示),那么可提供将要执行在网络实体条目中指定的网络地址信息的先前版本的指示,如在950处所指示。
[0056]图10是说明根据一些实施方案的用于注册网络流量控制器以接收针对对在网络实体注册表中的网络实体条目的网络实体处理的网络地址信息的各种方法和技术的高级流程图。如在1010处所指示,可将注册请求发送到网络实体注册表以用于网络流量控制器执行包括针对网络实体条目的处理的网络流量政策。例如,注册请求可指定用于诸如通过下列项接收网络实体条目的更新的通知或更新机制:在执行更新时包括用来将更新针对网络实体条目的指定网络地址信息发送到网络流量控制器(或仅用来通知网络流量控制器执行更新)的请求。在一些实施方案中,如在1020处所指示,可在网络流量控制器处从网络实体注册表接收指定网络地址信息。在一些实施方案中,可局部地存储这个指定信息(可能连同针对对网络实体条目的网络实体处理的网络地址信息的先前版本)。如在1030处所指示,可在流量控制器处接收网络流量且可识别包括针对网络实体条目的网络实体处理的网络流量政策。可执行识别的网络流量政策使得可使用针对网络实体处理接收的指定网络地址信息来执行网络流量政策,如在1040处所指示(例如,阻挡或允许网络地址信息被识别为“121.133.130.0I” 的“Bob_network”)。
[0057]如上文所提及,在一些实施方案中,网络流量控制器可请求针对更新网络实体条目的网络地址信息。图11是说明根据一些实施方案的用于获得针对更新网络实体条目的指定网络地址信息的各种方法和技术的高级流程图。在一些实施方案中,如在1110处所指示,可将针对对在网络流量控制器处执行的网络流量政策中包括的网络实体处理的更新网络地址信息的请求发送到网络实体注册表。例如,请求可包括针对网络实体条目的版本号。如果可在网络实体注册表处使用更高版本号,那么可提供更新网络地址信息。如果提供更新网络地址信息(如由来自1120的积极退出所指示),那么可使用指定网络地址信息来执行包括针对网络实体条目的网络实体处理的网络流量政策,如在1130处所指示。然而,如果不接收更新或不从网络实体注册表接收响应,那么可允许轮询周期在发送针对更新网络地址信息的另一请求之前(如在1110处所指示)消逝,如在1122处所说明。
[0058]可鉴于下列条款描述本公开的实施方案:
[0059]1.一种系统,其包括:
[0060]多个计算节点,其实施提供者网络,其中所述提供者网络实施多个网络流量控制器,其中所述多个网络流量控制器中的每一个针对所述提供者网络内的一个或多个可寻址元件执行各自的网络流量政策;
[0061 ]网络实体注册表,其被配置来:
[0062]维持多个网络实体条目,每一个均指定针对在所述多个网络流量控制器处执行的所述多个网络流量政策中的各自一个或多个网络流量政策中包括的网络实体处理的网络地址信息;
[0063]接收用来更新所述多个网络实体条目中的特定一个的请求;
[0064]响应于接收所述请求:
[0065]根据所述更新请求,更新所述特定网络实体条目,其中所述多个网络流量控制器的子组执行网络流量政策,所述网络流量政策包括针对在所述特定网络实体条目中指定的所述网络地址信息的网络实体处理;以及
[0066]将在所述更新网络实体条目中指定的所述网络地址信息提供到执行包括所述网络实体处理的所述各自一个或多个网络流量政策的网络流量控制器的所述子组的网络流量控制器,以便根据在所述更新网络实体条目中指定的所述网络地址信息执行所述各自一个或多个网络流量政策。
[0067]2.根据条款I所述的系统,其中为了将在所述更新网络实体条目中指定的所述网络地址信息提供到执行包括所述网络实体处理的所述各自一个或多个网络流量政策的所述网络流量控制器子组的网络流量控制器,所述网络实体注册表被配置来:
[0068]从执行包括所述网络实体处理的所述各自一个或多个网络流量政策的网络流量控制器的所述子组的所述网络流量控制器中的每一个接收请求;以及
[0069]响应于来自网络流量控制器的所述子组的所述网络流量控制器的每一个请求,将所述更新网络实体条目的所述网络地址信息发送到所述请求网络流量控制器。
[0070]3.根据条款I所述的系统,其中为了将在所述更新网络实体条目中指定的所述网络地址信息提供到执行包括所述网络实体处理的所述各自一个或多个网络流量政策的所述网络流量控制器子组的网络流量控制器,所述网络实体注册表被配置来:
[0071]识别执行包括所述网络实体处理的所述各自一个或多个网络流量政策的网络流量控制器的所述子组的所述网络流量控制器中的每一个;以及
[0072]将所述更新网络实体条目的所述网络地址信息发送到网络流量控制器的所述子组的所述识别的网络流量控制器。
[0073]4.根据条款I所述的系统,其中所述提供者网络是虚拟计算资源提供者,其中所述提供者网络内的所述可寻址元件是计算实例,其中所述网络流量控制器每一个均在同样实施所述一个或多个计算实例的不同虚拟化主机上实施,所述网络流量控制器针对所述一个或多个计算实例执行各自的网络流量政策,其中针对多个安全组中的特定安全组的成员执行所述各自的网络流量政策中的每一个,且其中所述一个或多个计算实例是所述多个安全组中的一个或多个安全组的成员。
[0074]5.—种方法,其包括:
[0075]由一个或多个计算装置执行:
[0076]将多个网络实体条目维持在网络实体注册表处,每一个均指定针对在多个网络流量控制器处执行的各自一个或多个网络流量政策中包括的网络实体处理的网络地址信息,其中所述多个网络流量控制器中的每一个针对提供者网络内的一个或多个可寻址元件执行各自的网络流量政策;
[0077]针对给定网络实体条目,将在所述给定网络实体条目中指定的所述网络地址信息提供到执行包括所述网络实体处理的网络流量政策的网络流量控制器的子组的网络流量控制器,以便根据在所述给定网络实体条目中指定的所述网络地址信息执行所述网络流量政策。
[0078]6.根据条款5所述的方法,其中所述将在所述给定网络实体条目中指定的所述网络地址信息提供到所述网络流量控制器子组的所述网络流量控制器包括:
[0079]从执行包括所述网络实体处理的所述各自一个或多个网络流量政策的网络流量控制器的所述子组的所述网络流量控制器中的每一个接收请求;以及
[0080]响应于来自网络流量控制器的所述子组的所述网络流量控制器的每一个请求,将所述给定网络实体条目的所述网络地址信息发送到所述请求网络流量控制器。
[0081]7.根据条款5所述的方法,其中所述将在所述给定网络实体条目中指定的所述网络地址信息提供到所述网络流量控制器子组的所述网络流量控制器包括:
[0082]识别执行包括所述网络实体处理的所述各自一个或多个网络流量政策的网络流量控制器的所述子组的所述网络流量控制器中的每一个;以及
[0083]将所述给定网络实体条目的所述网络地址信息发送到网络流量控制器的所述子组的所述识别的网络流量控制器。
[0084]8.根据条款5所述的方法,其中根据所述更新网络实体条目的部署进度,执行所述将在所述给定网络实体条目中指定的所述网络地址信息提供到所述网络流量控制器子组的所述网络流量控制器,使得在与所述提供者网络内的所述一个或多个可寻址元件中的另一可寻址元件不同的时间,针对所述提供者网络内的所述一个或多个可寻址元件中的至少一个可寻址元件执行包括所述网络实体处理的所述网络流量政策。
[0085]9.根据条款5所述的方法,其还包括:
[0086]接收用来更新所述给定网络实体条目的请求;
[0087]响应于接收所述请求:
[0088]根据所述更新请求,更新所述给定网络实体条目;以及
[0089]执行所述将在所述给定网络实体条目中指定的所述网络地址信息提供到网络流量控制器的所述子组的所述网络流量控制器。
[0090]10.根据条款9所述的方法,其中不从所述给定网络实体条目的网络实体条目拥有者接收用来更新所述给定网络实体条目的所述请求,且其中所述方法还包括:
[0091]响应于接收所述请求:
[0092]从所述网络实体条目拥有者请求对所述给定网络实体条目的所述更新的批准;以及
[0093]响应于从所述网络实体条目拥有者获得对所述给定网络实体条目的所述更新的批准,执行所述更新所述给定网络实体条目和所述提供在所述给定网络实体条目中指定的所述网络地址信息。
[0094]11.根据条款9所述的方法,其中不从所述给定网络实体条目的网络实体条目拥有者接收用来更新所述给定网络实体条目的所述请求,且其中所述方法还包括:
[0095]响应于接收所述请求:
[0096]从网络实体对象条目请求对所述给定网络实体条目的所述更新的批准;以及
[0097]响应于无法从所述网络实体条目拥有者获得对所述给定网络实体条目的所述更新的批准,向执行包括所述网络实体处理的所述网络流量政策的网络流量控制器的所述子组的所述网络流量控制器指示将要执行针对所述网络实体处理的先前网络地址信息。
[0098]12.根据条款5所述的方法,其还包括:
[0099]接收用来更新所述多个网络实体条目中的另一网络实体条目的请求,其中将另一实体网络实体条目维持为静态网络实体条目;以及
[0100]响应于接收针对所述静态网络实体条目的所述更新请求,拒绝所述更新请求。
[0101]13.根据条款5所述的方法,其中所述提供者网络是虚拟计算资源提供者,其中所述提供者网络内的所述可寻址元件是计算实例,其中所述网络流量控制器每一个均在同样实施所述一个或多个计算实例的不同虚拟化主机上实施,所述网络流量控制器针对所述一个或多个计算实例执行各自的网络流量政策,其中针对多个安全组中的特定安全组的成员执行所述各自的网络流量政策中的每一个,且其中所述一个或多个计算实例是所述多个安全组中的一个或多个安全组的成员。
[0102]14.一种非暂时性计算机可读存储介质,其存储在由一个或多个计算装置执行时促使所述一个或多个计算装置实施下列各项的程序指令:
[0103]将多个网络实体条目维持在网络实体注册表处,每一个均指定针对在多个网络流量控制器处执行的各自一个或多个网络流量政策中包括的网络实体处理的网络地址信息,其中所述多个网络流量控制器中的每一个针对提供者网络内的一个或多个可寻址元件执行各自的网络流量政策;
[0104]接收用来更新所述多个网络实体条目中的特定网络实体条目的请求;
[0105]响应于接收所述请求:
[0106]根据所述更新请求,更新所述特定网络实体条目,其中所述多个网络流量控制器的子组执行网络流量政策,所述网络流量政策包括针对在所述特定网络实体条目中指定的所述网络地址信息的网络实体处理;以及
[0107]将在所述更新网络实体条目中指定的所述网络地址信息提供到执行包括所述网络实体处理的所述各自一个或多个网络流量政策的所述网络流量控制器子组的网络流量控制器,以便根据在所述更新网络实体条目中指定的所述网络地址信息执行所述各自一个或多个网络流量政策。
[0108]15.根据条款14所述的非暂时性计算机可读存储介质,其中在所述将在所述更新网络实体条目中指定的所述网络地址信息提供到执行包括所述网络实体处理的所述各自一个或多个网络流量政策的所述网络流量控制器子组的所述网络流量控制器中,所述程序指令还促使所述一个或多个计算装置实施:
[0109]从执行包括所述网络实体处理的所述各自一个或多个网络流量政策的网络流量控制器的所述子组的所述网络流量控制器中的每一个接收请求;以及
[0110]响应于来自所述网络流量控制器子组的所述网络流量控制器的每一个请求,将所述更新网络实体条目的所述网络地址信息发送到所述请求网络流量控制器。
[0111]16.根据条款14所述的非暂时性计算机可读存储介质,其中在所述将在所述更新网络实体条目中指定的所述网络地址信息提供到执行包括所述网络实体处理的所述各自一个或多个网络流量政策的所述网络流量控制器子组的所述网络流量控制器中,所述程序指令还促使所述一个或多个计算装置实施:
[0112]识别执行包括所述网络实体处理的所述各自一个或多个网络流量政策的网络流量控制器的所述子组的所述网络流量控制器中的每一个;以及
[0113]将所述更新网络实体条目的所述网络地址信息发送到所述网络流量控制器子组的所述识别的网络流量控制器。
[0114]17.根据条款16所述的非暂时性计算机可读存储介质,其中所述程序指令还促使所述一个或多个计算装置实施:
[0115]在执行所述识别所述网络流量控制器之前,从执行包括所述网络实体处理的所述各自一个或多个网络流量政策的所述网络流量控制器子组的所述网络流量控制器接收注册请求;
[0116]其中所述识别所述网络流量控制器至少部分基于所述注册请求。
[0117]18.根据条款14所述的非暂时性计算机可读存储介质,其中所述特定网络实体对象的更新版本是所述特定网络实体对象的临时版本,且其中所述程序指令还促使所述一个或多个计算装置实施:
[0118]在所述特定网络实体对象的所述临时版本的时间段到期时,向与由所述网络实体对象的所述更新版本描述的所述各自一个或多个网络流量政策相关联的所述一个或多个网络流量控件指示将要执行所述网络实体对象的先前版本。
[0119]19.根据条款14所述的非暂时性计算机可读存储介质,其中不从所述特定网络实体对象的网络实体对象拥有者接收用来更新所述特定网络实体对象的所述请求,且其中所述程序指令还促使所述一个或多个计算装置实施:
[0120]响应于接收所述请求:
[0121]从所述网络实体对象拥有者请求对所述特定网络实体对象的所述更新的批准;以及
[0122]响应于从所述网络实体对象拥有者获得对所述特定网络实体对象的所述更新的批准,执行所述创建所述特定网络实体对象的所述更新版本和所述提供所述网络实体对象的所述更新版本。
[0123]20.根据条款14所述的非暂时性计算机可读存储介质,其中所述提供者网络是虚拟计算资源提供者,其中所述提供者网络内的所述可寻址元件是计算实例,其中所述网络流量控制器每一个均在同样实施所述一个或多个计算实例的不同虚拟化主机上实施,所述网络流量控制器针对所述一个或多个计算实例执行各自的网络流量政策,其中针对多个安全组中的特定安全组的成员执行所述各自的网络流量政策中的每一个,且其中所述一个或多个计算实例是所述多个安全组中的一个或多个安全组的成员。
[0124]在各个实施方案中,可通过任何硬件和软件组合实施本文中描述的方法。例如,在一个实施方案中,可由包括执行程序指令的一个或多个处理器的计算机系统(例如,如图12中的计算机系统)实施方法,所述程序指令存储在耦接到所述处理器的计算机可读存储介质上。程序指令可被配置来实施本文中描述的功能(例如,实施本文中描述的虚拟计算资源提供者的各种服务器和其它组件的功能)。如图中所说明和本文中描述的各种方法表示示例性方法实施方案。可改变任何方法的顺序,且可添加、重新排序、组合、省略、修改等各种元件。
[0125]可在可与各种其它装置交互的一个或多个计算机系统上执行用于动态地更新如本文中描述的虚拟计算资源的安全组政策的安全组管理的实施方案。图12说明根据各个实施方案的示例性计算机系统的框图。例如,在不同实施方案中,计算机系统2000可被配置来实施计算群集、分布式键值数据存储和/或客户端的节点。计算机系统2000可是多种类型的装置中的任何一种,包括但不限于个人计算机系统、桌上型计算机、膝上型或笔记型计算机、主计算机系统、手持计算机、工作站、网络计算机、消费型装置、应用服务器、存储装置、电话、手机或(通常)任何类型的计算装置。
[0126]计算机系统2000包括经由输入/输出(I/O)接口2030耦接到系统存储器2020的一个或多个处理器2010(其中的任何一个可包括可是单线程或多线程的多个核心)。计算机系统2000还包括耦接到I/O接口2030的网络接口2040。在各个实施方案中,计算机系统2000可是包括一个处理器2010的单处理器系统或包括若干处理器2010(例如,两个、四个、八个或另一合适数量)的多处理器系统。处理器2010可是能够执行指令的任何合适处理器。例如,在各个实施方案中,处理器2010可是实施任何各种指令集架构(ISA)的通用或嵌入式处理器,诸如x86、PowerPC、SPARC、或MIPS ISA、或任何其它合适ISA。在多处理器系统中,处理器2010中的每一个可(通常但未必)实施相同ISA。计算机系统2000还包括用于通过通信网络(例如,互联网、LAN等)与其它系统和/或组件通信的一个或多个网络通信装置(例如,网络接口 2040)。例如,在系统2000上执行的客户端应用可使用网络接口 2040以与在单服务器或实施本文中描述的数据仓库系统的一个或多个组件的服务器的群集上执行的服务器应用通信。在另一实例中,在计算机系统2000执行的服务器应用的实例可使用网络接口 2040以与可在其它计算机系统(例如,计算机系统2090)上实施的服务器应用的其它实例(或另一服务器应用)通信。
[0127]在所说明实施方案中,计算机系统2000还包括一个或多个永久性存储装置2060和/或一个或多个I/o装置2080。在各个实施方案中,永久性存储装置2060可对应于磁碟机、磁带机、固态存储器、其它大容量存储装置或任何其它永久性存储装置。计算机系统2000(或在其上操作的分布式应用或操作系统)可(根据需要)将指令和/或数据存储在永久性存储装置2060中,且可(根据需要)检索存储的指令和/或数据。例如,在一些实施方案中,计算机系统2000可代管存储系统服务器节点,且永久性存储设备2060可包括附接到所述服务器节点的SSD。
[0128]计算机系统2000包括被配置来存储可由处理器2010访问的指令和数据的一个或多个系统存储器2020。在各个实施方案中,可使用任何合适存储器技术实施(例如,下列一个或多个:高速缓冲存储器、静态随机访问存储器(SRAM)、DRAM、RDRAM、EDO RAM、DDRlORAM、同步动态RAM(SDRAM)、Rambus RAM、EEPR0M、非易失性/快闪型存储器或任何其它类型的存储器)系统存储器2020。系统存储器2020可包括可由处理器2010执行以实施本文中描述的方法和技术的程序指令2025。在各个实施方案中,可以平台本机二进制、任何解译语言(诸如JavaTM字节码)或任何其它语言(诸如C/C++、JavaTM等)或其任何组合编码程序指令2025ο例如,在所说明实施方案中,程序指令2025包括可执行以在不同实施方案中实施虚拟计算资源提供者网络的功能的程序指令。在一些实施方案中,程序指令2025可实施单独客户端、服务器节点和/或其它组件。
[0129]在一些实施方案中,程序指令2025可包括可执行以实施可是各种操作系统中的任何一种(UNIX、LINUX、SolarisTM、MacOSTM、WindowsTM等)的操作系统(未示出)的指令。任何或所有程序指令2025可被提供为可包括具有指令存储在其上的非暂时性计算机可读存储介质的计算机程序产品或软件,所述指令可用来对计算机系统(或其它电子装置)编程以根据各个实施方案执行过程。非暂时性计算机可读存储介质可包括用于以可由机器(例如,计算机)读取的形式(例如,软件、处理应用)存储信息的任何机构。一般来说,非暂时性计算机可访问介质可包括经由I/o接口 2030耦接到计算机系统2000的计算机可读存储介质或存储器介质,诸如磁介质或光学介质,例如,磁盘或DVD/CD-ROM。非暂时性计算机可读存储介质还可包括可包括在计算机系统2000中的一些实施方案(如系统存储器2020或任何类型的存储器)中的任何易失性或非易失性介质,诸如RAM(例如,SDRAM、DDR SDRAM、RDRAM、SRAM等)、ROM等。在其它实施方案中,可使用经由诸如可经由网络接口 2040实施的通信介质(诸如网络和/或无线链路)递送的光学、声学或其它形式的传播信号(例如,载波、红外信号、数字信号等)传达程序指令。
[0130]在一些实施方案中,系统存储器2020可包括可如本文中所描述般配置的数据存储2045。通常,系统存储器2020(例如,系统存储器2020内的数据存储2045)、永久性存储设备2060和/或远端存储设备2070可存储数据块、数据块复制品、与数据块和/或其状态相关联的元数据、配置信息和/或可用于实施本文中描述的方法和技术中的任何其它信息。
[0131]在一个实施方案中,I/O接口 2030可被配置来协调处理器2010、系统存储器2020与系统中的任何外围装置之间的I/0流量,包括通过网络接口 2040或其它外围接口。在一些实施方案中,I/O接口 2030可执行任何必需协议、时序或其它数据变换以将来自一个组件(例如,系统存储器2020)的数据信号转换成适于由另一组件(例如,处理器2010)使用的格式。在一些实施方案中,I/O接口 2030可包括对通过各种类型的外围总线附接的装置(举例来说,诸如外围组件互连(PCI)总线标准或通用串行总线(USB)标准的变体)的支持。在一些实施方案中,I/O接口 2030的功能可分成两个或两个以上单独组件,举例来说,诸如北桥和南桥。再者,在一些实施方案中,I/O接口 2030的一些或所有功能(诸如到系统存储器2020的接口)可直接并入到处理器2010中。
[0132]例如,网络接口2040可被配置来允许在计算机系统2000与附接到网络的其它装置(诸如其它计算机系统2090(其可实施本文中描述的数据库系统的一个或多个存储系统服务器节点、数据库引擎头节点和/或客户端))之间交换数据。额外地,网络接口 2040可被配置来允许计算机系统2000与各种I/O装置2050和/或远端存储设备2070之间的通信。在一些实施方案中,输入/输出装置2050可包括适于由一个或多个计算机系统2000输入或检索数据的一个或多个显示终端机、键盘、小键盘、触板、扫描装置、语音或光学辨识装置、或任何其它装置。多个输入/输出装置2050可存在于计算机系统2000中或可分布在包括计算机系统2000的分布式系统的各种节点上。在一些实施方案中,相似输入/输出装置可与计算机系统2000分离且可通过有线或无线连接(诸如通过网络接口 2040)与包括计算机系统2000的分布式系统的一个或多个节点交互。网络接口 2040通常可支持一个或多个无线联网协议(例如,W1-Fi/IEEE 802.11或另一无线联网标准)。然而,在各个实施方案中,网络接口2040可经由任何合适有线或无线通用数据网络(举例来说,诸如其它类型的以太网网络)支持通信。额外地,网络接口 2040可经由电信/电话网络(诸如模拟语音网络或数字光纤通信网络)、经由存储区域网络(诸如光纤信道SAN)或经由任何其它合适类型的网络和/或协议支持通信。在各个实施方案中,计算机系统2000可包括多于、少于或不同于图12中所说明的组件(例如,显示器、视频卡、音频卡、外围装置、其它网络接口,诸如ATM接口、以太网接口、帧中继接口等)。
[0133]应注意,本文中描述的任何分布式系统实施方案或任何其组件可被实施为一个或多个基于网络的服务。例如,计算服务内的计算群集可向客户端(如基于网络的服务)呈现采用本文中描述的分布式计算系统的计算服务和/或其它类型的服务。在一些实施方案中,可由被设计来通过网络支持可互操作机器对机器交互的软件和/或硬件系统实施基于网络的服务。基于网络的服务可具有以机器可处理格式(诸如网页服务描述语言(WSDL))描述的接口。其它系统可以由基于网络的服务的接口的描述规定的方式与基于网络的服务交互。例如,基于网络的服务可定义其它系统可调用的各种操作,且可定义在请求各种操作时预期可符合其它系统的特定应用编程接口(API)。
[0134]在各个实施方案中,可通过使用包括与基于网络的服务请求相关联的参数和/或数据的消息来请求或调用基于网络的服务。可根据特定标记语言(诸如可扩展标记语言(XML))格式化和/或可使用协议(诸如简单对象访问协议(SOAP))封装这个消息。为了执行基于网络的服务请求,基于网络的服务客户端可组装包括请求的消息且使用基于互联网的应用层传送协议(诸如超文字传送协议(HTTP))将消息递送到对应于基于网络的服务的可寻址端点(例如,统一资源定位符(URL))。
[0135]在一些实施方案中,可使用表述性状态转移(“RESTful”)技术而非基于消息的技术实施基于网络的服务。例如,可通过HTTP方法(诸如PUT、GET或DELETE)内包括的参数调用而非在SOAP消息内封装根据RESTful技术实施的基于网络的服务。
[0136]尽管上文已相当详细地描述实施方案,但一旦完全明白上文公开,众多变动和修改对所属领域技术人员来说可变得显而易见。应认为,下文权利要求书被解释为涵盖所有这些修改和改变,且因此应在说明性而非约束性意义上看待上文描述。
【主权项】
1.一种方法,其包括: 由一个或多个计算装置执行: 将多个网络实体条目维持在网络实体注册表处,每一个均指定针对在多个网络流量控制器处执行的各自一个或多个网络流量政策中包括的网络实体处理的网络地址信息,其中所述多个网络流量控制器中的每一个针对提供者网络内的一个或多个可寻址元件执行各自的网络流量政策; 针对给定网络实体条目,将在所述给定网络实体条目中指定的所述网络地址信息提供到执行包括所述网络实体处理的网络流量政策的网络流量控制器的子组的网络流量控制器,以便根据在所述给定网络实体条目中指定的所述网络地址信息执行所述网络流量政策。2.根据权利要求1所述的方法,其中所述将在所述给定网络实体条目中指定的所述网络地址信息提供到网络流量控制器的所述子组的所述网络流量控制器,包括: 从执行包括所述网络实体处理的所述各自一个或多个网络流量政策的网络流量控制器的所述子组的所述网络流量控制器中的每一个接收请求;以及 响应于来自网络流量控制器的所述子组的所述网络流量控制器的每一个请求,将所述给定网络实体条目的所述网络地址信息发送到所述请求网络流量控制器。3.根据权利要求1所述的方法,其中所述将在所述给定网络实体条目中指定的所述网络地址信息提供到网络流量控制器的所述子组的所述网络流量控制器,包括: 识别执行包括所述网络实体处理的所述各自一个或多个网络流量政策的网络流量控制器的所述子组的所述网络流量控制器中的每一个;以及 将所述给定网络实体条目的所述网络地址信息发送到网络流量控制器的所述子组的所述识别的网络流量控制器。4.根据权利要求1所述的方法,其中根据所述更新网络实体条目的部署进度执行所述将在所述给定网络实体条目中指定的所述网络地址信息提供到网络流量控制器的所述子组的所述网络流量控制器,使得在与所述提供者网络内的所述一个或多个可寻址元件中的另一可寻址元件不同的时间,针对所述提供者网络内的所述一个或多个可寻址元件中的至少一个可寻址元件执行包括所述网络实体处理的所述网络流量政策。5.根据权利要求5所述的方法,其还包括: 接收用来更新所述给定网络实体条目的请求; 响应于接收所述请求: 根据所述更新请求,更新所述给定网络实体条目;以及 执行所述将在所述给定网络实体条目中指定的所述网络地址信息提供到网络流量控制器的所述子组的所述网络流量控制器。6.根据权利要求5所述的方法,其中不从所述给定网络实体条目的网络实体条目拥有者接收用来更新所述给定网络实体条目的所述请求,并且其中所述方法还包括: 响应于接收所述请求: 从所述网络实体条目拥有者请求对所述给定网络实体条目的所述更新的批准;和 响应于从所述网络实体条目拥有者获得对所述给定网络实体条目的所述更新的批准,执行所述更新所述给定网络实体条目和所述提供在所述给定网络实体条目中指定的所述网络地址信息。7.根据权利要求5所述的方法,其中不从所述给定网络实体条目的网络实体条目拥有者接收用来更新所述给定网络实体条目的所述请求,并且其中所述方法还包括: 响应于接收所述请求: 从网络实体对象条目请求对所述给定网络实体条目的所述更新的批准;以及 响应于无法从所述网络实体条目拥有者获得对所述给定网络实体条目的所述更新的批准,向执行包括所述网络实体处理的所述网络流量政策的网络流量控制器的所述子组的所述网络流量控制器指示将要执行针对所述网络实体处理的先前网络地址信息。8.根据权利要求1所述的方法,其还包括: 接收用来更新所述多个网络实体条目中的另一网络实体条目的请求,其中将另一实体网络实体条目维持为静态网络实体条目;以及 响应于接收针对所述静态网络实体条目的所述更新请求,拒绝所述更新请求。9.根据权利要求1所述的方法,其中所述提供者网络是虚拟计算资源提供者,其中所述提供者网络内的所述可寻址元件是计算实例,其中所述网络流量控制器每一个均在同样实施所述一个或多个计算实例的不同虚拟化主机上实施,所述网络流量控制器针对所述一个或多个计算实例执行各自的网络流量政策,其中针对多个安全组中的特定安全组的成员执行所述各自的网络流量政策中的每一个,并且其中所述一个或多个计算实例是所述多个安全组中的一个或多个安全组的成员。10.—种包括一个或多个计算装置的系统,所述一个或多个计算装置包括耦接到一个或多个存储器的一个或多个处理器,所述一个或多个存储器存储在由所述一个或多个计算装置执行时促使所述一个或多个计算装置进行下列各项的程序指令: 将多个网络实体条目维持在网络实体注册表处,每一个均指定针对在多个网络流量控制器处执行的各自一个或多个网络流量政策中包括的网络实体处理的网络地址信息,其中所述多个网络流量控制器中的每一个针对提供者网络内的一个或多个可寻址元件执行各自的网络流量政策; 接收用来更新所述多个网络实体条目中的特定一个的请求; 响应于接收所述请求: 根据所述更新请求,更新所述特定网络实体条目,其中所述多个网络流量控制器的子组执行网络流量政策,所述网络流量政策包括针对在所述特定网络实体条目中指定的所述网络地址信息的网络实体处理;以及 将在所述更新网络实体条目中指定的所述网络地址信息提供到执行包括所述网络实体处理的所述各自一个或多个网络流量政策的网络流量控制器的所述子组的网络流量控制器,以便根据在所述更新网络实体条目中指定的所述网络地址信息执行所述各自一个或多个网络流量政策。11.根据权利要求10所述的系统,其中在所述将在所述更新网络实体条目中指定的所述网络地址信息提供到执行包括所述网络实体处理的所述各自一个或多个网络流量政策的网络流量控制器的所述子组的所述网络流量控制器中,所述程序指令还促使所述一个或多个计算装置: 从执行包括所述网络实体处理的所述各自一个或多个网络流量政策的网络流量控制器的所述子组的所述网络流量控制器中的每一个接收请求;以及 响应于来自网络流量控制器的所述子组的所述网络流量控制器的每一个请求,将所述更新网络实体条目的所述网络地址信息发送到所述请求网络流量控制器。12.根据权利要求10所述的系统,其中在所述将在所述更新网络实体条目中指定的所述网络地址信息提供到执行包括所述网络实体处理的所述各自一个或多个网络流量政策的网络流量控制器的所述子组的所述网络流量控制器中,所述程序指令还促使所述一个或多个计算装置: 识别执行包括所述网络实体处理的所述各自一个或多个网络流量政策的网络流量控制器的所述子组的所述网络流量控制器中的每一个;以及 将所述更新网络实体条目的所述网络地址信息发送到网络流量控制器的所述子组的所述识别的网络流量控制器。13.根据权利要求12所述的系统,其中所述程序指令还促使所述一个或多个计算装置:在执行所述识别所述网络流量控制器之前,从执行包括所述网络实体处理的所述各自一个或多个网络流量政策的网络流量控制器的所述子组的所述网络流量控制器接收注册请求; 其中所述识别所述网络流量控制器至少部分基于所述注册请求。14.根据权利要求10所述的系统,其中所述特定网络实体对象的更新版本是所述特定网络实体对象的临时版本,并且其中所述程序指令还促使所述一个或多个计算装置: 在针对所述特定网络实体对象的所述临时版本的时间段到期时,向与由所述网络实体对象的所述更新版本描述的所述各自一个或多个网络流量政策相关联的所述一个或多个网络流量控件指示将要执行所述网络实体对象的先前版本。15.根据权利要求10所述的系统,其中不从所述特定网络实体对象的网络实体对象拥有者接收用来更新所述特定网络实体对象的所述请求,并且其中所述程序指令还促使所述一个或多个计算装置: 响应于接收所述请求: 从所述网络实体对象拥有者请求对所述特定网络实体对象的所述更新的批准;以及 响应于从所述网络实体对象拥有者获得对所述特定网络实体对象的所述更新的批准,执行所述创建所述特定网络实体对象的所述更新版本和所述提供所述网络实体对象的所述更新版本。
【文档编号】H04L12/24GK105981331SQ201580007364
【公开日】2016年9月28日
【申请日】2015年1月15日
【发明人】E·G·阿道格拉
【申请人】亚马逊科技公司