虚拟网络接口对象的制作方法

文档序号:6497124阅读:271来源:国知局
虚拟网络接口对象的制作方法
【专利摘要】用于管理虚拟网络接口对象的接口的方法和装置。系统可包括资源实例和网络接口虚拟化协调器。响应于记录创建请求,所述协调器创建可包括IP地址、子网信息和安全属性的接口记录。所述协调器可响应于将所述记录附加到资源实例的请求而使得定向到所述IP地址的流量能够流到所述资源实例。响应于后续分离请求,到所述IP地址的所述流量可在所述资源实例被禁用。所述接口记录可响应于另一附加请求而被附加到另一资源实例,从而使得定向到所述IP地址的流量能够流到所述第二资源实例。
【专利说明】虚拟网络接口对象
【背景技术】
[0001]许多公司和其它组织操作互连许多计算系统以支持其操作的计算机网络,其中例如计算系统被共置(例如,作为局域网的一部分),或者位于多个不同的地理位置(例如,通过一个或多个专用或公共中间网络连接)。例如,容纳大量互连计算系统的数据中心已变得司空见惯,例如由单一组织操作并代表单一组织的专用数据中心,和由实体企业操作以向客户提供计算资源的公共数据中心。一些公共数据中心运营商向各种客户拥有的硬件提供网络接入、电源和安全的安装设施,而其它公共数据中心运营商提供也包括可供他们的客户使用的硬件资源的“全程服务”设施。然而,由于典型数据中心的规模和范围增大,配置、实施和管理物理计算资源的任务已变得越来越复杂。
[0002]商用硬件的虚拟化技术的问世已提供关于为具有多样化需求的许多客户管理大规模计算资源方面的益处,从而允许多个客户高效并安全地共享各种计算资源。例如,虚拟化技术可通过向每个用户提供由单个物理计算机托管的一个或多个虚拟机来允许单个物理计算机在多个用户之间共享,其中每个此类虚拟机是软件模拟,所述软件模拟充当向用户提供他们是给定硬件计算资源的唯一操作员和管理员的错觉的不同的逻辑计算系统,同时也在各种虚拟机之间提供应用程序隔离和安全。另外,一些虚拟化技术能够提供跨越两个或多个物理资源的虚拟资源,例如具有跨越多个不同物理计算系统的多个虚拟处理器的单个虚拟机。另举一例,虚拟化技术可通过向每个用户提供可被分布在多个数据存储设备的虚拟化的数据存储来允许数据存储硬件在多个用户之间共享,其中每个此类虚拟化的数据存储充当向用户提供他们是数据存储资源的唯一操作员和管理员的错觉的不同的逻辑数据存储。
[0003]提供不同类型的虚拟化计算、存储和/或其它服务的数据中心的操作员通常依赖于标准网络协议来使用例如各种类型的网络接口卡(NIC)的商用网络硬件以接收客户请求并向此类请求传输响应。尽管虚拟化技术有最新进展,虚拟服务器的许多网络相关的属性仍通常在个别物理网络接口卡的水平上进行管理。随着虚拟化服务的客户所要求的不同类型的动态网络配置变化的复杂性增大,物理NIC水平上的网络管理可能会变得越来越繁琐。
【专利附图】

【附图说明】
[0004]图1示出根据至少一些实施方案的示例性系统环境。
[0005]图2示出根据至少一些实施方案的接口记录的构成要素的实例。
[0006]图3示出根据一些实施方案的其中接口记录被附加到资源实例的操作。
[0007]图4示出根据一些实施方案的其中接口记录被从资源实例分离的操作。
[0008]图5示出根据一些实施方案的其中接口记录被附加到与记录之前被附加的资源实例不同的实例的操作。
[0009]图6示出根据一些实施方案的其中第二接口记录被附加到资源实例的操作。
[0010]图7示出根据一些实施方案的其中具有附加的接口记录的资源实例被从一个服务平台移到另一个的操作。
[0011]图8a-8d提供根据一些实施方案的可通过将接口记录附加到资源实例实现的许多示例性网络配置的说明。
[0012]图9是根据至少一些实施方案的网络接口虚拟化协调器可提供的示例性基于网页的接口的部分的说明。
[0013]图10是根据至少一些实施方案的用于提供接口记录服务的方法的流程图。
[0014]图11是示出可用于一些实施方案的示例性计算机系统的框图。
[0015]虽然在本文中以举例的方式描述了若干实施方案和说明性附图的实施方案,但是本领域技术人员应认识到,实施方案并不限于此类实施方案或附图。应理解,附图及其详细描述并不旨在将实施方案限于所揭露的特定形式,相反,旨在包括所有落入所附权利要求书定义的精神和范围内的修改、等效物和替代物。本文所用的标题仅用于组织目的,而不意味着用来限制本说明书或权利要求书的范围。如本申请书通篇所使用,用语“可”用作许可的意义(即,意味着有可能),而不是强制的意义(即,意味着必须)。类似地,用语“包括(include/including/includes) ” 意指包括但不限于。
【具体实施方式】
[0016]描述了用于管理虚拟网络接口对象的方法和装置的各种实施方案。由例如公司或公共机构的实体设置以向一组分布式客户端提供可通过互联网(例如各种类型的基于云的计算或存储)访问的一个或多个服务的网络可在本文档中被称为供应商网络。此类供应商网络可包括托管各种资源池的许多数据中心,例如实施并分布供应商提供的服务所需的物理和虚拟计算机服务器、存储设备、网络设备的集合。
[0017]由于许多不同的原因,例如为了极大提高可用以访问不同的资源集合的灵活性而不必求助于繁琐的安全设置修改、重新配置和/或物理移动网络接口卡,在一些实施方案中,供应商网络的操作员可设置网络接口的一组虚拟化服务。此类服务可由负责维护一组接口记录并对所述接口记录实施各种操作的网络接口虚拟化协调器(在本文档中也可使用缩写“NIVC”来表示)启动,以管理访问供应商网络的各种资源所需的网络操作。在一些实施方案中,NIVC的功能的不同部分可并入若干不同的协同操作的软件组件和/或设备,例如在供应商网络的各种硬件平台上运行的管理程序或操作系统软件的模块、边缘设备上的路由器软件等。
[0018]在一个实施方式中,供应商网络可向客户提供许多虚拟化的计算资源和/或存储资源的实例,每个实例可能需要网络寻址以允许客户与之互动。在此类实施方式中,NIVC可允许客户请求创建可修改且可传送的接口记录,所述接口记录包括客户希望设置然后随时间推移按需要与各种资源实例相关且不相关的网络配置信息的各种要素(例如,安全策略、寻址和路由信息)。在一些实施方案中,接口记录可包括一个或多个互联网协议(IP)地址和一个或多个IP地址属于的子网的子网标识符。另外,各种安全相关的设置可被包括在接口记录中,从而例如识别允许哪些实体或用户执行下文进一步详细描述的“附加”和“分离”操作。NIVC可创建请求的接口记录,且在一个实施方案中将它存储在接口记录的持久存储库或数据库中。
[0019]在一些实施方案中,客户可请求NIVC将接口记录“附加”到例如虚拟化计算服务器或存储服务器的资源实例,从而使得资源实例能够接收定向到接口记录的IP地址的传入流量,并使得来自资源实例的传出流量能够指示它起源于所述IP地址。网络流量可流过碰巧被安装在物理平台上的一个或多个物理网络接口卡(NIC),虚拟化的资源实例目前可在所述物理平台上被实例化,但是接口记录的属性可被认为是独立于任何特定的NIC(或NICs),且也独立于任何特定的资源实例。例如,在给定时间点,接口记录可能与资源实例相关或不相关(即,可能或不可能“被附加”到资源实例)。在它与任何资源实例不相关期间,接口记录可能以非活动模式或静态模式存在于NIVC的接口记录存储库中,从而保留其属性。
[0020]在一些实施方案中,响应于将接口记录从它目前被附加到的资源实例“分离”的请求,NIVC可确保定向到接口记录的一个或多个IP地址的流量不再到达资源实例。客户也可请求NIVC现在将接口记录附加到与其之前被附加到的资源实例不同的资源实例(例如,不同的虚拟化计算服务器)。这个新的附加操作然后可使用任何合适的一组物理NIC来使得针对包括在接口记录内的IP地址的IP流量到达新附加的资源实例,因此允许客户通过资源实例轻松地传送网络配置设置和相关安全设置而无需直接处理物理[C。在各种实施方案中,例如修改与给定接口记录相关的IP地址、修改安全设置、结算相关操作等的各种其它操作可由虚拟网络接口协调器支持。
[0021]示例件系统环塏
[0022]图1示出根据至少一些实施方案的示例性系统环境。系统100可包括多个资源实例120,例如,被设置以向客户端148提供例如云计算服务或云存储服务的各种类型的服务的供应商网络的实例120A、120B、120C和120D。客户端148进而可在例如具有相关后端数据库的网站的实例120上实施各种服务,并将它们暴露给其自己的客户。资源实例120例如可实施驻留在例如图1的服务平台150A、150B和150C的一个或多个物理平台上的虚拟化服务,例如虚拟计算系统或虚拟存储系统。提供虚拟计算系统的资源实例120的服务平台150例如可包括具有一个或多个CPU的硬件服务器(以及相关存储器、存储和网络硬件)和实施计算系统的虚拟化的软件(例如,管理程序和/或操作系统的元素)。类似地,提供虚拟存储系统的服务平台150例如可包括部分或所有的一个或多个硬件存储设备(例如,磁盘阵列或存储设备)和相关处理元件和软件。
[0023]在一些实施方案中,资源实例120可被从一个平台150传送到另一个平台,例如,虚拟计算系统可被最初发到一个物理服务器上,然后按需要移到另一物理服务器。另外,多个资源实例可驻留在一个服务平台150上,例如,资源实例120B和120C被示出为驻留在服务平台150B上。在不同的实施方案中,可使用各种方案来分布具有多个驻地资源实例120的服务平台150B的物理资源(例如,CPU和网卡)。在一个实施方案中,一些资源可被专门分配给资源实例,例如,如果服务平台150B具有四个CPU,那么两个CPU可被分配给资源实例120B,而另外两个可被分配给资源实例120C。在另一实施方案中,可使用时间片来共享物理资源,例如,所有四个CPU可由任一资源实例使用,其中调度机制被设置以决定如何在给定时间片内在实例间分布CPU周期,这取决于CPU周期的计算要求。在图1示出的实施方案中,每个服务平台150具有一个或多个物理网络接口卡(NIC),服务平台150A具有NIC110A,服务平台150B具有NIC110B,且服务平台150C具有NIC110C和IlOD0流到碰巧驻留在给定服务平台150上的资源实例120并从资源实例120流出的网络流量流经服务平台中的一个或多个NIC110。在一些实施方式中,单个资源实例120可跨越多个硬件服务平台150,在这种情况下,可使用可在多个服务平台150中任何服务平台150上获得的任何NICI10在一个实施方案中,资源实例120可包括非虚拟化服务器,S卩,可使用在裸硬件服务平台150上运行的传统操作系统而不是使用管理程序软件来实施资源实例。
[0024]在示出的实施方案中,系统100可包括网络接口虚拟化协调器(NIVC) 180,网络接口虚拟化协调器(NIVC) 180可操作以向网络接口提供一组虚拟化服务。客户端148可提交各种类型的请求153,包括创建接口记录170、将接口记录附加到资源实例120、使接口记录分离、修改接口记录、查询接口记录等的请求;下文进一步详细描述这些类型的操作中的每一个。响应于给定请求153,NIVC180可执行可影响服务平台150上的接口记录170和资源实例120的各种操作,所述操作如由标注为157A、157B、157C和157D的箭头所指示。例如,NIVC180可响应于来自客户端148的创建请求而产生接口记录(例如,170A和170B),所述接口记录可各自含有一组网络相关属性,所述属性可按需与各种资源实例120相关和不相关。接口记录170可在一组存储器内数据结构中产生,且在一些实施方式中可被存储在存储库185中,例如持久性存储上的数据库。使用TCP/IP协议的网络的接口记录例如可包括下文进一步详细描述的一个或多个IP地址、含有所述一个或多个IP地址的子网的一个或多个子网标识符,和一组安全属性。在一些实施方式中,接口记录170也可包括一个或多个其它字段,例如各种状态字段、源地址和目的地址检查设置、结算相关信息、目前相关资源实例120的识别、目前与接口记录相关的物理网络接口卡110的媒体访问控制(MAC)地址等。使用TCP/IP之外的网络协议的网络的接口记录可包括适于所使用的协议的网络地址相关信息。
[0025]在一些实施方案中,NIVC180可被配置以根据接口记录170中指定的网络和安全属性来执行“附加”操作,以使接口记录170与资源实例120动态相关,借此使得流量能够流到资源实例120并从资源实例120流出。例如,在一个实施方式中,响应于从客户端148接收的附加请求153,NIVC180可执行以下操作中的一些或所有操作:(a)基于指定接口记录170和/或其它地方中存储的安全信息,验证客户端被授权以请求将接口记录附加到指定资源实例120 ;(b)核实接口记录的网络信息(一个或多个IP地址、子网标识符等)适于激活到指定资源实例120或来自指定资源实例120的网络流量(例如,NIVC180可检查IP地址是否已用于另一实例而因此不可用);(c)确保物理NICllO可操作且可用于在资源实例120目前所驻留的服务平台150上供资源实例120使用;(d)例如在服务平台150上和在适当的路由器、网关和供应商网络的其它网络设备上运行的管理程序或操作系统软件中,启动或进行必需的配置变化,以允许特定的资源实例120开始从接口记录中指定的一个或多个IP地址发送流量并在所述一个或多个IP地址处接收流量;和(e)改变接口记录170和/或存储库185以反映所执行的附加操作。在一些实施方式中,作为配置变化的部分,例如路由表条目的新的或修改的路由信息可被传播到一组路由器、网关等。在一个实施方案中,NIVC180可确保只要每个资源实例120被激活或发出,所述资源实例就附加有至少一个接口记录170。
[0026]在一些实施方案中,NIVC180也可操作以使接口记录170与其目前被附加到的资源实例120“分离”或不相关。在此类实施方案中,响应于来自客户端148的分离请求153,NIVC180可防止定向到或来自接口记录170中指定的一个或多个IP地址的另外的流量流到资源实例或从资源实例流出。为了这样做,NIVC180可执行以下操作中的一些或所有操作:(a)基于指定接口记录170和/或其它地方中存储的安全信息,验证客户端被授权以请求附加来自指定资源实例120的接口记录;(b)例如在服务平台150上和在适当的路由器、网关和其它网络设备上运行的管理程序或操作系统软件中,启动或进行必需的配置变化,以防止与接口记录170的IP地址相关的网络流量流到指定资源实例120或从指定资源实例120流出;和(c)改变接口记录170和/或存储库185以反映所执行的附加操作。
[0027]在一些实施方案中,NIVC180然后可应客户端的请求将之前被附加到特定资源实例120然后从所述资源实例120分离的接口记录170附加到任何期望的资源实例(与其之前被附加到的资源实例不同或相同的资源实例)。在此类实施方案中,所述IP地址可首先在一个“附加期间”使用,以通过特定NICl IOA在一个资源实例120A上发送并接收流量,然后在后续“附加期间”,可能通过不同的NIC110B和/或在不同的服务平台150上在不同的资源实例120B上发送并接收流量。除了允许客户端在不同时间将给定IP地址映射到不同的资源实例120,NIVC180也可允许客户端再使用与接口记录170相关的一些或所有安全设置,因此大幅降低进行网络配置变化所需的努力和复杂性。在许多实施方案中,多个接口记录170可被附加到单个资源实例120,因此允许多个IP地址用于相同的资源实例。在一些实施方式中,单个接口记录170可被同时附加到多个资源实例120:例如,NIVC180可能能够将定向到接口记录170中指定的单个IP地址的流量分布或负载均衡在两个或多个资源实例120上。在各种实施方案中,使用NIVC180的这些能力,可实施IP地址、子网和网络安全设置到资源实例120的高灵活映射。
[0028]接口记录的示例性构成要素
[0029]图2示出根据至少一些实施方案的接口记录170的构成要素的实例。在一些实施方式中,仅可实施图2示出的元素或字段的子集,且并非所有实施的字段可能都必须被填充(即,一些字段可能会留空白或空)。当创建接口记录170时,可为其创建新的接口标识符201。在一些实施方式中,描述字段202可由请求接口记录创建的客户端148填充,例如,“新闻网站接口 I ”。在一些实施方案中,其中将使用接口记录的供应商网络可包括多个逻辑分区,且在所述情况下,接口记录170可包含逻辑分区标识符203。例如,供应商网络的操作员可通过留出一组服务平台150、一组网络地址范围、其它设备或资源,和网络管理能力供客户专用来为特定客户建立逻辑分区,从而有效地向客户提供其自己隔离和专用的数据中心,虽然客户使用的设备可实际上位于其它客户共享的设施上。在一些实施方案中,逻辑分区可包括地理分布的资源,从而准予客户具有访问资源的虚拟专用“云”的益处。在一些情况下,接口记录170可包括区标识符204,区标识符204例如可指示数据中心的地理区域或集合,所述数据中心的服务平台150可用于附加到接口记录170。
[0030]在不同实施方案中,可在接口记录170中包括若干类型的网络寻址相关字段中的任何字段。在一些实施方案中,可为接口记录指定一个或多个专用IP地址205 ;这些IP地址可内部用于在供应商网络中路由,且可能不可从供应商网络外部直接访问。在一些实施方案中,也可包括一个或多个公共IP地址215 ;这些IP地址例如可能在供应商网络外部对于公共互联网或供应商网络的对等网络的各种路由器可见。在各种实施方案中,各种设备或组件(包括例如NIVC180的组件)可如所需地实施任何期望的网络地址转换技术以在公共IP地址215和专用IP地址205之间转换。可在接口记录内包括一个或多个子网标识符225。
[0031]如本文广泛使用的术语子网是网络的逻辑可见细分。在IP网络的情况下,属于子网的逻辑或物理设备的集合可用其IP地址中最常见、相同、最重要的位组来寻址。这使得IP地址逻辑分区为两个字段:网络或路由前缀和“剩余”字段。剩余字段可充当逻辑或物理设备的特定标识符。路由前缀可用无类别域间路由(CIDR)表示法来表示,其可写为网络的第一地址加上前缀的比特长度,用斜线(/)字符隔开。例如,10.1.1.0/24是始于地址 10.1.1.0的互联网协议版本4网络的前缀,,所述网络前缀分配有24个比特,而剩余的8个比特被保留用于设备识别。在IPv4中,路由前缀也可用子网掩码的形式指定,所述子网掩码用如地址的四点分十进制表示法来表示。例如,255.255.255.0是10.1.1.0/24前缀的网络掩码。略有不同的表示法可用于IP版本6网络且用于使用TCP/IP协议族以外的协议的网络。由于各种原因而通常可使用子网,例如以在不同的网络可寻址设备集合之间提供逻辑隔离,以便为了更便于管理而将逻辑分区的资源(例如虚拟专用云)安排为层次结构。在一些实施方式中,接口记录170中包括的子网标识符225可包括字符串,所述字符串又可包括或编码子网的CIDR表示法例如,“子网-df543fda-10.1.1.0/24”。在一个实施方案中,也可在接口记录170中包括域名服务器(DNS)的识别。
[0032]在一些实施方案中,接口记录170可包括安全相关属性235。一些供应商网络可允许用户为接口记录170可被附加到的资源实例120处允许的传入和/或传出流量类型指定规则,例如包括防火墙相关的规则;所述规则可被称为“安全组”且通过安全组字段245识另IJ。各种端口和协议限制可使用所述规则来强制执行,且多个规则可与所述接口记录相关。例如,用户可使用安全组来确保只允许HTTP和HTTP传出或传入流量,将TCP或UDP(用户数据报协议)端口的集合限于允许流量的范围,根据各种策略过滤传入和传出流量等。在一些实施方式中,可指定附加列表247,从而指示允许哪些用户或实体请求将接口记录170附加到资源实例120。在一些情况下,单独的分离列表可用以指定哪些实体可分离接口记录170,而在其它情况下,例如附加列表247的单个列表可用以识别授权的附加和分离。在一些实施方案中,IP地址设置器列表249中可提供被允许以设置或修改接口记录170的IP地址(例如,公共IP地址215和/或专用IP地址205)的用户或实体集合,而所有者/变址字段253中可指定具有接口记录170的用户或实体集合(或可修改其各种其它字段)。例如,在一些实施方式中,可允许字段253中识别的所有者/变址来改变附加列表247或IP地址设置器列表,因此改变被允许附加或分离接口记录或修改其IP地址的实体集合。虽然术语“列表”已用于字段247、249和253,但是在各种实施方案中,列表之外的逻辑数据结构(例如,数组、哈希表、集合等)可用以表示被给予各种安全权限、角色和/或功能的实体组。
[0033]在一些实施方案中,可允许用户“终止”资源实例120。例如,客户端148可设置虚拟计算服务器资源实例120,将接口记录170附加到实例,在实例上运行所需的计算集合,然后当所需的计算完成(因此指示不再需要资源实例120)时发出请求以终止实例。在此类实施方案中,“DeleteOnTerminate”设置251可用以指定当资源实例120被终止时附加的接口记录170发生了什么事情。如果DeleteOnTerminate被设置为附加到资源实例120的接口记录170终止“真”,那么NIVC180可删除接口记录170 (例如,记录可从存储库185删除)。如果DeleteOnTerminate被设置为“假”,那么NIVC180可保留接口记录170,例如使得它可再次被附加到某个其它资源实例。在一个实施方案中,当接口记录170被附加到资源实例120时,可创建与接口记录分开的附加记录以代表所述关系,且DeleteOnTerminate属性可作为与接口记录相关的替代或补充而与附加记录相关。在此类实施方案中,接口记录170可包括目前涉及接口记录的附加中每一个的一个或多个附加记录的引用或指针,且可为每个附加记录设置“DeleteOnTerminate”的不同值。在所述环境中,碰巧未附加到任何资源实例120的实例记录170只要其保持未附加就可能不具有与其相关的“DeleteOnTerminate”属性。通过这样保持接口记录与资源实例无关,可减少客户端248的每次激活新的实例时设置各种安全相关和其它属性的开销。
[0034]在一个实施方案中,接口记录170可包含路由相关信息,例如是否要对被传输到资源实例120的网络数据包执行源和/或目的检查的指示265,接口记录170被附加到资源实例120。在一些实施方案中,如果源/目的检查设置被设置为“假”或“关闭”,那么可基于数据包的源和目的IP地址来进行路由决定,例如,数据包可被从一个子网转发到另一个;而如果设置是“真”或“打开”,那么资源实例可能不执行路由。因此,在一些实施方案中,源/目的字段265可用以控制接口记录所附加到的资源实例是否对并非最终目的地的数据包执行路由或网关功能,或所述资源实例是否忽略所述数据包。在其它实施方案中,接口记录170中可另外或替代地包括例如路由表条目的其它类型的路由相关信息。在一些实施方式中,可包括结算相关信息267,从而例如识别将要支付与接口记录170相关的网络流量的实体或用户。在一些实施方式中,客户可至少部分地基于他们创建的实例记录170的数量来支付,而不管有多少实例记录被附加到资源实例;在其它实施方式中,结算可包括经常性支出(例如,基于实例记录的数量和/或附加的实例记录的数量)和非经常性支出(例如,基于流量测量)。
[0035]接口状态字段268可用以指示接口记录170的当前状态,例如,接口记录是“可用”、“禁用”,还是“修复中”。类似地,在一些实施方案中,附加状态字段269可用以指示接口记录170目前被附加、被分离还是在被附加或被分离过程中。在一个实施方式中,如上所述,在执行对应附加操作时,可创建附加记录(与接口记录170分开),且目前附加接口记录170的一个或多个标识符可被存储在附加id字段271中。在一些实施方案中,接口记录170目前被附加到的一个或多个资源实例120的标识符可存储在所附加的实例字段273中,且请求附加的用户或实体可通过附加所有者字段275来识别。在一个实施方案中,目前可用于定向到接口记录170的IP地址或从所述IP地址定向的流量的一个或多个NICllO的标识符的列表可例如以MAC地址字段277的形式来保存。在一些实施方式中,也可用接口记录保留监测信息279,例如,关于流到接口记录的IP地址或从所述IP地址流出的流量的量的统计。在各种实施方案中,接口记录170中可包括图2中未示出的其它字段。在一些实施方案中,客户端可使标签(例如,根据VLAN标准(例如,802.1Q标准)格式化的虚拟局域网(VLAN)标签)与接口记录170相关以实施网络隔离。在此类实施方案中,此类标签也可存储在接口记录170中或引用自接口记录170。
[0036]在一个实施方案中,图2中示出的字段中的一些字段可用其它对象的引用或指针来代替。例如,接口记录170的安全信息可存储在不同的安全对象中,且接口记录170可存储安全对象的引用。类似地,在一些实施方式中,将资源实例120附加到接口记录170的每个附加可由附加对象表示,且接口记录可指向或代表合适的附加对象。
[0037]附加、分离和实例化移动操作[0038]图3-7示出在各种实施方案中NIVC180支持的若干类型的操作的实例。图3示出根据一些实施方案的其中接口记录170被附加到资源实例120的操作。附加请求301可被客户端148发送到NIVC180,从而识别接口记录170A和接口记录将被附加到的资源实例120A。在图3中,请求301的表不法“++”(如在“ 170A++120A”中)指不请求是附加请求。在接收到请求之后,NIVC180可核实请求的客户端被授权以请求附加且接口记录中的寻址和其它信息有效,然后根据接口记录170A中指定的细节来启动必需的配置变化以使得流量能够流到资源实例120A并从资源实例120A流出。在图3中,NIVC180响应于附加请求301而执行的操作由标注为311的箭头和附加指示符321来指示。如前文所述,例如,若干配置变化可能必须在资源实例120A驻留的平台150A的管理程序或操作系统上且在例如所使用的供应商网络的路由器和网关的各种网络设备上进行和/或传播。在一些实施方案中,接口记录170A自身可例如通过改变各种构成要素的值来修改,所述构成要素例如接口状态268、附加状态269、附加ID271、附加到的实例273、附加所有者275和/或MAC地址字段277。在示出的实例中,接口记录的MAC地址字段277可被设置为NICllO的MAC地址,即如NIC周围的虚线示出的资源实例120A可用的NIC。
[0039]在一个实施方案中,接口记录170可在资源实例的生命周期的不同阶段被附加到资源实例120。例如,当特定接口记录被附加到资源实例120时,资源实例120可在启动之后处于运行状态(且可能已经服务于在其已附加到的另一接口记录的IP地址接收的请求)。在一些实施方案中,即使资源实例120目前未启动或运行(例如,当资源实例被停止或暂停或者在激活过程中时),NIVC180也可允许接口记录170被附加到资源实例120。在这种情况下,例如,网络接口记录可在资源实例被激活或启动之前,甚至在选择其将被发到的服务平台150之前被附加到资源实例。如果在请求附加操作时不能得到充足的信息,例如如果将要使用的一个或多个NIC的MAC地址尚不清楚,那么NIVC180可将接口记录170A的字段中的一些留为空白或空,直到可获得那些值为止。在一些实施方案中,NIVC180可产生和/或存储每个附加的记录或数据结构,例如,具有相关附加标识符的对象可被存储在存储库185或某个其它数据库中,从而识别资源实例120A、接口记录170A,和关于附加的其它信息,例如启动或完成附加操作的时间。在一些实施方案中,给定客户端148可具有可用于客户端的资源实例120的接口记录170的集合或池,且客户端可简单地请求NIVC180从接口记录的池选择可用的接口记录170以附加到指定的资源实例120。
[0040]在一些实施方案中,用于附加到接口记录170的资源实例120的IP地址可在附加操作完成之后修改。例如,如果识别为被授权以改变例如公共IP地址215或专用IP地址205的IP地址的用户或实体将IP地址修改请求发送到NIVC180,那么NIVC可进行使请求的变化有效的所必需的配置变化。例如,在接收到接口记录170的IP地址修改请求之后,NIVC可首先确定哪些资源实例120 (如果有的话)目前被附加到接口记录170,然后使得定向到改变的IP地址的流量能够到达这些资源实例,并自身在接口记录170中进行所需变化。在一个实施方案中,与接口记录170相关的IP地址中的一个或多个(例如,公共IP地址215或专用IP地址205)可由NIVC180代表来自分配给客户端的IP地址集合的客户端来选择。
[0041]图4示出根据一些实施方案的其中接口记录170被从资源实例120分离的操作。分离请求401可被客户端148发送到NIVC180,从而识别接口记录170A和接口记录从其分离的资源实例120A。在图3中,请求401的表示法“一”(如在“170A—120A”中)指示请求是分离请求。在一些实施方式中,在接收到请求之后,NIVC180可首先核实指定的接口记录170A目前实际附加到资源实例120A。如果接口记录170A没有附加到资源实例120A,那么NIVC180可将错误信息发送回请求的客户端148,或在一些实施方式中,简单地记录和/或忽略请求。如果接口记录170A被附加到资源实例120A,那么NIVC180可检查请求的客户端被授权以请求分离,然后根据接口记录170A中指定的细节来启动必需的配置变化以使得流量不能流到资源实例120A或从资源实例120A流出。NIVC180响应于分离请求301而执行的操作在图4中由标注为411的箭头和附加指示符321上的“X”来指示。分离配置变化可实际上简单地撤消之前所述的附加配置变化。在一些实施方案中,接口记录170A自身可例如通过改变各种构成要素的值来修改,所述构成要素例如接口状态268、附加状态269、附加ID271、附加到的实例273、附加所有者275和/或MAC地址字段277。在示出的实例中,接口记录的MAC地址字段277可在分离之后被设置为空。
[0042]在一些实施方案中,分离请求401可能没有明确地识别将要被分离的接口记录170A,相反,请求的客户端可简单地指示任何附加的接口记录170A应被从指定的资源实例120分离。在这种情况下,NIVC180可能可操作以首先例如通过在存储库185中查阅信息来发现哪些接口记录170应从指定的资源实例120分离,然后启动分离操作。当资源实例被关闭、禁用、终止或丢弃时,例如可产生所述请求(分离所有附加的接口记录170)。在一些实施方式中,如果针对接口记录170和附加的资源实例120正被终止而将“DeleteOnTerminate”字段被设置为真的,那么接口记录自身可被从存储库185删除;否贝U,如果“DeleteOnTerminate”被设置为假,那么接口记录可与其属性一起保留在存储库中,供日后可能重新使用。如上文所述,在一些实施方案中,“DeleteOnTerminate”属性可与接口记录可引用的附加记录相关,而非与接口记录自身相关。在一些实施方式中,分离请求401可能不必指示资源实例120A,而可仅指示指定的接口记录170A应从它碰巧被附加到的任何资源实例120 (如果有的话)分离。
[0043]图5示出根据一些实施方案的其中之前被附加到一个资源实例120A然后与之分离的接口记录170A被附加到不同的资源实例120C的操作。附加请求501可被客户端148发送到NIVC180,从而识别接口记录170A和接口记录将被附加到的资源实例120C。在图5中,如在图3中,表示法“++” (如在“170A++120C”中)指示请求是附加请求。在接收到请求之后,NIVC180可执行类似于上文结合图3的描述所述的功能的功能,这次将接口记录170C附加到资源实例120C,资源实例120C位于与之前所附加的实例120A不同的服务平台(150B),并使用不同的NIC(如图5中虚线所指示的NIC110B)。NIVC180响应于附加请求501而执行的操作在图5中由标注为511的箭头和附加指示符521来指示。使用可被动态附加到不同资源实例120(且可动态改变所使用的NIC110)的接口记录170允许NIVC180向客户端148提供用于其应用程序的网络架构的显著灵活性,和跨业务边界合作的机会,如下文将在用例部分描述。例如,在一个环境中,资源实例120可被设置以处理来自客户的特定应用程序的网页服务请求。在所述环境中,简单地通过将接口记录170A从如图4中示出的一个资源实例120A分离,然后将接口记录附加到不同的资源实例120C,同时保持接口记录170A的IP地址不变,之前被在资源实例120A处理的传入网页服务请求的工作量现在可在资源实例120C上处理。这样可允许客户端148提供增强的可用性(例如,如果资源实例120A遇到停电或故障),或用于部署网页服务应用程序的增强版的易于使用的机制(例如,如果资源实例120C具有增强版)。
[0044]在一些实施方案中,NIVC180可允许多个接口记录170被附加到相同的资源实例120。图6是一个此类实施方案的说明,其中第二接口记录170B被附加到资源实例120C,资源实例120C已附加有接口记录170A。响应于附加请求601,NIVC180可执行类似于针对图3的附加请求301所述的操作的操作,使得去往和来自资源实例120C的网络流量最终根据接口记录170A和170B的属性流动。NIVC180响应于附加请求601而执行的操作在图6中由标注为611的箭头和另外的附加指示符621来指示。在图6示出的实例中,单个NIC110B被用以处理附加的接口记录170A和170B的流量。在一些实施方案中,接口记录170和物理NICl 10之间的映射可为灵活的:即,流经给定NICl 10的流量可对应于任何数量的接口记录170,且给定接口记录170的流量可流经多个物理NIC110。
[0045]在一些实施方式中,资源实例120可通过服务平台150传送,同时保留其附加的接口记录170和对应的网络相关属性中的至少一些属性。图7示出根据至少一些实施方案的其中具有附加的接口记录170A的资源实例120A(如之前在图3示出)被从一个服务平台150A移到资源实例150C的操作。在图7中,客户端148将“移动实例”请求701发送到系统100的实例管理器780,从而指示目前为止位于服务平台150A上的资源实例120A现在应位于服务平台150C上。请求701的表示法“一”(如在“120A — 150C”中)指示请求是移动请求。在接收到请求之后,实例管理器780和NIVC180可执行实施请求的移动所需的任务。例如,移动请求701可被验证以确保请求者有正确的权限,资源实例120A然后可被暂停或被带入暂时排队传入请求的状态。资源实例120A然后可被发到服务平台150C上或在服务平台150C示例性,然后可启动使定向到附加接口 170A的IP地址的流量流经服务平台150C上一个或多个合适的NICllO所需的配置变化。在图7示出的实例中,去往和来自资源实例120A的流量在实例移动之后被路由通过NIC110C(在一些实施方案中,接口记录170A的MAC地址字段可被修改以反映这个情况)。这样,可使资源实例的网络属性(即,其附加的接口记录的网络属性)实质上独立于所使用的实际网络硬件。虽然图8中示出单独的实例管理器780,但是在一些实施方案中,移动资源实例的功能可与接口虚拟化功能一起进行管理,即,相同的软件和/或硬件实体可支持资源实例管理操作以及接口记录管理操作。
[0046]示例件用例
[0047]上述功能示例性的将一个或多个接口记录170动态附加到资源实例120的指定IP地址和子网并与之分离的能力允许客户轻松设置若干不同有用类型的网络配置。图8a_8d提供根据一些实施方案的若干所述可实现的示例性网络配置的说明。
[0048]图8a_8d中示出的网络配置示出了可包含资源实例120的供应商网络的3个不同的组织或层级:逻辑分区级,子网级和接口记录级。所述供应商网络的操作员可允许给定客户(例如,希望使用供应商网络支持的虚拟计算和/或虚拟存储服务的企业或组织)设置专供所述客户使用的一个或多个逻辑分区。逻辑分区例如可包括相对大的服务平台150的集合和相对大数量的可用于各种资源实例120的IP地址,资源实例120可被发到如客户所需的这些服务平台上,且可向客户提供所述资源集合的网络管理能力。在一些实施方案中,例如,逻辑分区的IP地址的集合可被以CIDR表示法指定为“/16”±夹,例如“10.1.0.0/16”,其指示多达65,536个IP地址可用于所述逻辑分区。在一些实施方案中,逻辑分区可被称为“虚拟专用云”。在一些实施方式中,逻辑分区可设置有一个或多个网关,例如互联网网关或虚拟专用网络(VPN)网关。另外,在一些实施方式中,可为每个逻辑分区设置默认DNS服务器,且当设置逻辑分区时也可设置一个或多个子网和路由表条目。例如,在一个实施方式中,当客户请求设置具有“/16”块的逻辑分区时,可请求客户指定也可被设置在逻辑分区中的至少一个“/24”子网的CIDR规范。例如“10.1.1.0/24”的“/24”子网包括256个IP地址。在一些实施方案中,代表其设置逻辑分区的客户可被允许以执行所需的各种网络管理任务,例如设置各种大小的子网,和如所需地创建、附加并分离接口记录170。不同的逻辑分区和子网可被设置以实现各种程度的逻辑隔离:例如,客户可能希望将软件开发构建相关的网络流量与企业电子邮件网络流量分离,且可设置适当层次的逻辑分区和进行这种行为的子网。在一个实施方案中,CIDR规范可代表接口记录170的专用IP地址(例如存储在图2示出的字段205中),而公共IP地址(存储在字段215中)可根据其它策略来选择。在一些实施方案中,子网(图2的字段225)和逻辑分区(字段203)的标识符可存储在接口记录中。在一些实施方案中,接口记录的一些或所有寻址信息(逻辑分区标识符、子网标识符、专用和/或公共IP地址)可在创建接口记录170之后被动态修改。
[0049]用例场景1:单个子网中的多个IP地址
[0050]图8a示出根据一个实施方案的简单的网络配置,其中两个接口记录170A和170B与子网811A中的单个资源实例120A相关。接口记录170A被示出为具有示例性IP地址X.X.X.9,且接口记录170B被示出为具有示例性IP地址X.x.x.10。(两个地址常见的表示法“X.X.X”意指两个IPV4地址的前三个点分隔的元素在这个情况下相同,例如两个地址可为11.2.3.9和11.2.3.10。)在一些实施方案中,通过如所示出地附加多个接口记录170,如所期望多的不同的IP地址可与相同的资源实例相关。这可能有用,以例如由IP地址来隔离不同的应用程序或应用程序实例的流量。例如,在一个环境中,若干不同的网站可被设置在单个资源实例120上,每个网站都具有其自己的IP地址。在另一实施方案中,客户可具有服务于相同的基本内容的多个网页服务器,所述基本内容被设置在单个资源实例120上,且客户可能希望将每个网页服务器与不同的IP地址相关。
[0051]用例场景2:附加到单个逻辑:分区中的多个子网
[0052]图8b示出根据一个实施方案的其中来自不同子网的两个接口记录170A和170C与单个资源实例120A相关的配置。接口记录170A被示出为在子网811A内具有示例性IP地址X.X.0.9,且接口记录170C被示出为在不同子网811B内具有示例性IP地址X.x.1.10。这种配置可例如适用于其中网络管理流量流经一个子网811A而应用程序数据流量流经另一子网811B的环境,其中每个子网具有不同的安全属性。在一个所述情况下,网络管理流量的子网811A可具有比用于应用程序数据的子网811B更严格的安全规则和访问控制。在另一实例中,附加到多个子网811的资源实例120也可被配置以执行各种网络安全功能。例如,如果来自第一子网811A的流量必须被通过资源实例120路由到第二子网811B,那么资源实例可实施防火墙、充当防病毒网关、执行入侵检测和/或其它类型的网络流量分析、筛选或监测等。
[0053]在一些实施方案中,类似于图8b示出的配置也可用以动态并有效地将资源实例120从一个子网移到另一子网。例如,客户可在资源实例120A上设置应用程序服务器实例,所述应用程序服务器实例被在专用于软件开发环境的子网811A内附加到接口记录170A,并在应用程序服务器实例上部署了更新的应用程序版本。如果客户希望对更新的版本开始质量保证(QA)测试,且QA测试环境是在与开发子网811A隔离的子网811B中,那么可进行以下步骤。首先,来自子网811B的第二接口记录170C可被附加到资源实例120A。然后,接口记录170A可被从资源实例120A分离,因此使得测试能够单独在期望的QA子网中进行,而无需在不同的资源实例上部署更新的应用程序版本。类似地,应用程序可易于通过其它开发生命周期阶段过渡来移动,例如从QA环境移到生产环境等。
[0054]在一个环境中,客户可能希望将前端网页服务器或可从外部网络(即,包含资源实例120的供应商网络外部的设备)访问的其它资源的集合与例如可存储敏感数据的数据库服务器的后端服务器的集合隔离,以防止从外部网络对后端服务器进行直接网络访问。在这种情况下,在一些实施方案中,图8b的资源实例120A可使用子网811A的前端流量和子网811B的后端流量。因此,网页服务的请求可在资源实例120A上运行的网页服务器上通过子网811A来接收,且满足这些请求所需的对应的后端请求可被发送到子网811B中的后端服务器。来自后端服务器的响应可被接收自子网811B,并通过子网811A传输回请求者。
[0055]在一些实施方式中,在不同子网中被附加到多个接口记录170的实例120也可被用作路由器。例如,如果在资源实例上接收的数据包具有可通过一个子网从资源实例获得的源IP地址和可通过另一子网获得的目的IP地址,且设置了所需的合适配置设置(例如,如果适当地设置了路由表条目),那么实例可通过第二子网将数据包路由到目的地址。
[0056]用例场景3:附加到相同客户的多个逻辑:分区
[0057]图Sc示出根据一个实施方案的其中来自设置用于相同客户(客户A)的不同逻辑分区801A和801B的两个接口记录170A和170D与单个资源实例120A相关的配置。接口记录170A被示出为在逻辑分区801A的子网811A内具有示例性IP地址10.0.0.9,且接口记录170D被示出为在不同的逻辑分区801B的子网811B内具有IP地址172.16.1.10。这种配置可用于若干目的。两个逻辑分区801A和801B可能已代表客户A设置了各种原因中的任何原因,例如以将客户A的专用内部网的流量与定向到客户A暴露给他们自己的客户的非军事区(DMZ)网络的流量隔离。例如,在所述环境中,图Sc的资源实例120A可被配置以执行分区间路由。在一些实施方案中,客户可能希望具有由可从两个逻辑分区中的设备访问的资源实例120A提供的服务,所述服务也可通过使用类似于图Sc的配置来示例性。
[0058]当然,上文用例I和2中讨论的NIVC180支持的其它能力中的一些能力也可使用图8c中示出的配置类型来在逻辑分区边界延伸。例如,在各种实施方案中,可向在两个不同CIDR/16地址范围中的给定资源实例120提供多个IP地址,资源实例可在逻辑分区上移动等。在一些实施方案中,资源实例120A也可在逻辑分区801上提供代理服务,或可用以实施在与数据网络不同的逻辑分区中的管理网络。
[0059]用例场景4:附加到不同客户的逻辑:分区
[0060]在一些实施方案中,NIVC180可能能够在设置用于不同客户的逻辑分区上提供若干桥接服务。图8d示出根据一个实施方案的其中来自设置用于各自客户的不同逻辑分区801A和801B (分区801A用于客户A,且分区801B用于客户B)的两个接口记录170A和170E与单个资源实例120A相关的配置。
[0061]图8d中示出的功能可示例性若干不同的协作场景。在一个实例中,客户A和客户B可协作一个项目。客户A可能已在其逻辑分区801A中资源实例120A上部署了内容服务器应用程序。客户B可能希望访问所述内容服务器应用程序,但是可能没有一个公司想将这个服务器暴露于公共互联网。相反,客户B可在其自己的逻辑分区801B中创建接口记录170E,且在所述接口记录170E上设置权限以允许客户A附加。客户A可将接口记录170E附加到资源实例120A,资源实例120A在客户A的逻辑分区801A中运行内容服务器。因此,两个客户可安全地访问内容服务器而无需进行大量变化。另外,在一些实施方式中,客户A可使用接口记录170E的安全属性来确保客户B仅可获得一个HTTP或多个HTTP端口,或者可用所期望的其它方式来限制客户B的逻辑分区的访问。
[0062]在可示例性客户之间的对等的第二场景中,客户A和B可在若干项目上协作,且可能想私人访问彼此的逻辑分区。在一个此类实施方案中,客户A可在资源实例120A上推出网关应用程序(例如,防火墙或路由器),且客户B可创建接口记录170E。网关应用程序所有者客户A可将接口记录170E附加到资源实例120A,使得两个逻辑分区通过运行网关应用程序的双宿主资源实例120A来连接。这个场景可对两个客户的逻辑分区的IP地址范围进行一些限制,例如,在一些实施方式中,如果其具有重叠的IP地址,那么可能需要进行某些形式的网络地址转换。在一些环境中,资源实例120A可被在专用网络应用程序(例如,路由器设备或防火墙设备)上托管。
[0063]在一些实施方案中,跨分区附加能力也可用于提供技术支持能力。在一个所述场景中,客户A可在资源实例120A上使用来自供应商X的应用程序,其中供应商X也是系统100的操作员的客户。客户A可能遇到与应用程序相关的问题且可能想接收来自供应商X的“现场”支持。客户A可联系供应商X,且供应商X可在其自己的逻辑分区中创建接口记录170E并给予客户A附加权限。客户A可将其资源实例120A附加到供应商X的接口记录170E,例如使得供应商X可使用安全外壳(SSH)或远程桌面协议(RDP)来访问陷入困境的应用程序并按需要执行故障排除。可支持所述支持,而无需使用互联网网关或虚拟专用网络网关来访问客户A的逻辑分区。另外,在一些实施方案中,客户A可修改出口策略(例如,使用接口记录170E的安全属性)以防止任何流量被从资源实例120A传输到供应商X的逻辑分区801B。这可防止供应商X无意或恶意访问客户A的逻辑分区801A中的其它资源。
[0064]在一些实施方案中,管理服务供应商(MSP)也可能能够利用跨分区附加能力。MSP(客户A)可托管其自己逻辑分区(例如,801A)中的应用程序,并将接口记录170附加到其客户的逻辑分区(例如,MSP客户B的分区801B),因此在其自己的分区中向MSP客户提供端点以访问MSP应用程序。MSP可保持控制其中其应用程序运行的资源实例(例如,120A),而MSP客户可能能够通过MSP客户的网络空间中的IP地址来访问MSP应用程序。MSP应用程序可包括各种不同类型服务中的任何服务,例如,客户关系管理(CRM)、内容管理、协作、数据库等。
[0065]除了图8a_8d中示出的实例之外,在各种实施方案中,NIVC180的能力也可示例性其它类型的服务。例如,当附加到接口记录170的第一资源实例120出现故障或有故障时且如果这样,高可用性(HA)形式可通过将接口记录170附加到能够提供与第一资源实例类似的服务的第二资源实例来实施。在系统100支持各种服务(例如,关系数据库服务、map-reduce或其它分布式或并行计算服务、部署服务或负载均衡服务)的实施方案中,附加到多个客户逻辑分区的资源实例120可用以实施各种服务的管理和控制服务。所述管理服务可被称为“控制平面”能力,如与用于传输非管理应用程序数据或用户数据的“数据平面”能力相区分。
[0066]示例件网页梓口
[0067]在一些实施方案中,NIVC180可操作以实施界定并支持一些或所有上述接口记录相关服务的一个或多个接口。例如,可实施一个或多个应用程序编程接口(API),或可在各种实施方式中提供各种类型的图形用户接口(GUI)或命令行接口。图9是根据至少一些实施方案的NIVC180可提供的示例性基于网页的接口的部分的说明。
[0068]图9的网页900包括若干表单字段,客户端148可填写所述表单字段以提供接口记录创建请求的细节的。在网页900的区域903中,可提供友好的问候和概述消息。表单字段904可允许客户端指定接口记录的名称和描述。在实施逻辑分区的实施方案中,可提供表单字段905以允许客户端为请求的接口记录170指定逻辑分区。在一些实施方式中,逻辑分区的标识符集合可例如通过下拉菜单而自动提供,所述标识符集合授权客户端148选择1,和/或字段905可预填充有客户端可修改的默认逻辑分区标识符。表单字段909可用以指定接口记录的子网标识符。一个或多个IP地址(包括专用和/或公共IP地址)可使用表单字段917来指定。表单字段921可用于指定各种安全属性,例如安全组、允许附加接口记录的实体的列表等。字段925可能可选地用以识别接口记录将要被附加到的资源实例120。在一些实施方式中,如在字段905的情况下,网页900上的若干其它字段也可预填充有默认值,和/或一系列允许选项可通过下拉菜单或类似的机制来提供。提交按钮931可用以提交接口记录创建请求。
[0069]在一个实施方式中,NIVC180可产生请求的客户端148可能未填写的一些或所有字段的值。在一些实施方式中,通过使用基于网页的接口,可在创建接口记录的过程期间使用若干不同的网页。当客户端填写一个表单条目时,NIVC180可能能够自定义或缩小可用于后续表单条目的选项集合。在一些实施方式中,通过如网页900的接口来提交表单数据可导致调用NIVC180可支持的一个或多个API调用。
[0070]在各种实施方案中,也可提供类似于图9中示出用于创建接口记录170的接口以进行NIVC180支持的其它类型的操作,例如附加操作、分离操作、删除操作、IP地址改变操作等。在一些实施方案中,可允许客户端148提交查询以例如确定接口记录170的状态、识别附加到给定资源实例120的接口记录170、列出客户端148在给定子网或逻辑分区中设置的所有接口记录等。
[0071]接口记录操作的方法
[0072]图10是根据至少一些实施方案的用于提供接口记录操作的方法的流程图。如流程图中元素1800所示,接口虚拟化服务可例如以NIVC180的形式来实施。在一些实施方式中,服务可由软件和/或硬件组件的组合来实施,例如通过在供应商网络中各种设备上运行的管理程序软件、操作系统软件,或路由软件的组件来实施。如元素1805示出,服务的一个元素可被配置以等待接口虚拟化请求,所述接口虚拟化请求可例如通过类似于图10中示出的基于网页的接口来接收。
[0073]取决于接收的特定类型的请求,可进行适当的动作集合以作为响应。例如,如果接收到创建新的接口记录的请求(图10的元素1810),那么所述记录170可被实例化并被可选地存储在存储库中(元素1815)。如果接收到附加现有接口记录的请求(元素1820),那么定向到指定用于接口记录的一个或多个IP地址或从所述IP地址流出的流量可在请求附加到的资源实例120上示例性(元素1825)。如果接收到分离请求(元素1830),那么去往和来自接口记录的IP地址的流量可在接口记录被附加到的资源实例上被禁用(元素1835)。如果接收到删除接口记录的请求(元素1840),那么记录可被例如从存储库185删除(元素1845)。
[0074]在接收到修改接口记录(例如,以改变IP地址)的请求(元素1850)之后,记录可如所请求地被修改,且可启动任何需要的配置变化(元素1855)。在接收到接口记录查询(例如,以确定一个或多个接口记录的状态)(元素I860)之后,可产生并提供对查询的响应(元素1865)。在任一情况下,合适的授权和安全检查可在执行一个或多个请求的动作之前执行。在一些实施方式中,一些类型的接口记录操作可被实施为幂等操作,例如,如果接收到将IP地址改变成A.B.C.D的第一请求,然后是请求相同变化的第二请求,那么第二请求可没有任何效果。在一些实施方式中,如果接收到意外的、不支持的、未经授权的或无效的请求,那么可产生错误信息。在对给定请求做出响应之后,服务则可等待下一个接口虚拟化请求。在一些实施方式中,图10中示出的功能的部分可并行实施,例如,一次可处理一个以上的请求。在一些实施方式中,可组合若干请求,例如,可支持创建并附加实例记录的单个请求。
[0075]可鉴于以下条款描述示例性实施方案:
[0076]1.一种系统,其包括:
[0077]多个资源实例,包括第一资源实例和第二资源实例;和
[0078]网络接口虚拟化协调器;
[0079]其中所述网络接口虚拟化协调器可操作以:
[0080]响应于接口记录创建请求,产生接口记录,所述接口记录包括第一互联网协议(IP)地址、包含所述第一 IP地址的第一子网的子网标识符和第一组安全属性,并将所述接口记录存储在存储库中;
[0081]响应于将所述接口记录附加到所述第一资源实例的第一附加请求,使得所述第一资源实例能够根据所述第一组安全属性通过第一网络接口卡来接收针对所述第一 IP地址的流量;
[0082]响应于将所述接口记录从所述第一资源实例分离的分离请求,防止所述第一资源实例接收针对所述第一 IP地址的流量;和
[0083]响应于将所述接口记录附加到所述第二资源实例的第二附加请求,使得所述第二资源实例能够根据所述第一组安全属性通过第二网络接口卡来接收针对所述第一 IP地址的流量。
[0084]2.如条款I所述的系统,其中所述网络接口虚拟化协调器还可操作以:
[0085]响应于第二接口记录创建请求,产生包括第二 IP地址的第二接口记录,并将所述第二接口记录存储在所述存储库中;和
[0086]响应于将所述第二接口记录附加到所述第一资源实例的新的附加请求,使得所述第一资源实例能够接收针对所述第二 IP地址的流量。
[0087]3.如条款2所述的系统,其中所述第二 IP地址是第二子网的部分,且其中所述第二接口记录包括所述第二子网的子网标识符。[0088]4.如条款3所述的系统,其中所述网络接口虚拟化协调器还可操作以:
[0089]在所述第一资源实例处接收来自源IP地址的网络数据包,其中所述源IP地址可通过所述第一子网从所述第一资源实例获得,且其中所述网络数据包具有可通过所述第二子网从所述第一资源实例获得的目的IP地址;和
[0090]通过所述第二子网将所述网络数据包路由到所述目的IP地址。
[0091]5.如条款I所述的系统,其中所述接口记录包括一个或多个另外的IP地址,且其中,响应于将所述接口记录附加到所述第一资源实例的所述第一附加请求,所述网络接口虚拟化协调器还可操作以使得所述第一资源实例能够接收针对所述一个或多个另外的IP地址的流量。
[0092]6.如条款I所述的系统,其中所述网络接口虚拟化协调器还可操作以:
[0093]响应于包括新的IP地址的IP地址修改请求,
[0094]修改所述接口记录以包括所述新的IP地址;
[0095]识别所述接口记录被附加到的所述多个资源实例中的目前附加的资源实例;和
[0096]使得所述目前附加的资源实例能够接收定向到所述新的IP地址的流量。
[0097]7.—种方法,其包括:
[0098]响应于接口记录创建请求,产生接口记录,所述接口记录包括IP地址和包含所述第一 IP地址的第一子网的子网标识符,并将所述接口记录存储在持久存储库中;
[0099]响应于将所述接口记录附加到多个资源实例中第一资源实例的第一附加请求,使得所述第一资源实例能够接收针对所述第一 IP地址的流量;和
[0100]响应于将所述接口记录从所述第一资源实例分离的分离请求,防止所述第一资源实例接收针对所述第一 IP地址的流量,并将所述接口记录保留在所述持久存储库中。
[0101]8.如条款7所述的方法,还包括:
[0102]响应于第二接口记录创建请求,产生包括第二 IP地址的第二接口记录;和
[0103]响应于将所述第二接口记录附加到所述第一资源实例的第二附加请求,使得所述第一资源实例能够接收针对所述第二 IP地址的流量。
[0104]9.如条款8所述的方法,其中所述第二 IP地址是第二子网的部分,且其中所述第二接口记录包括所述第二子网的子网标识符。
[0105]10.如条款9所述的方法,还包括:
[0106]在所述第一资源实例接收来自源IP地址的网络数据包,其中所述源IP地址可通过所述第一子网从所述第一资源实例获得,且其中所述网络数据包具有可通过所述第二子网从所述第一资源实例获得的目的IP地址;和
[0107]通过所述第二子网将所述网络数据包路由到所述目的IP地址。
[0108]11.如条款9所述的方法,还包括:
[0109]响应于包括新的IP地址的IP地址修改请求,
[0110]修改所述接口记录以包括所述新的IP地址;
[0111]识别所述接口记录被附加到的所述多个资源实例中的目前附加的资源实例;和
[0112]使得所述目前附加的资源实例能够接收定向到所述新的IP地址的流量。
[0113]12.如条款9所述的方法,其中所述第一子网是具有第一常见互联网域名路由(CIDR)地址前缀的网络的第一逻辑分区的部分,且所述第二子网是具有第二 CIDR地址前缀的所述网络的第二逻辑分区的部分。
[0114]13.如条款7所述的方法,其中所述接口记录包括一组安全属性,所述安全属性包括识别被授权以提交附加请求的一个或多个实体的第一授权条目。
[0115]14.如条款13所述的方法,其中所述组安全属性包括识别被授权以修改所述第一授权条目的一个或多个实体的第二授权条目。
[0116]15.一种存储计算机可执行以实施以下动作的程序指令的非临时性计算机可访问存储介质:
[0117]响应于接口记录创建请求,产生接口记录,所述接口记录包括IP地址和包含所述第一 IP地址的第一子网的子网标识符,并将所述接口记录存储在持久存储库中;和
[0118]响应于将所述接口记录附加到多个资源实例中第一资源实例的第一附加请求,其中所述第一资源实例在其启动之后处于运行状态,使得针对所述第一 IP地址的流量能够在所述第一资源实例接收。
[0119]16.如条款15所述的非临时性计算机可访问存储介质,其中所述程序指令可由计算机执行以实施:
[0120]响应于第二接口记录创建请求,产生包括第二 IP地址的第二接口记录;和
[0121]响应于将所述第二接口记录附加到所述第一资源实例的第二附加请求,使得所述第一资源实例能够接收针对所述第二 IP地址的流量。
[0122]17.如条款16所述的非临时性计算机可访问存储介质,其中所述第二 IP地址是第二子网的部分,且其中所述第二接口记录包括所述第二子网的子网标识符。
[0123]18.如条款17所述的非临时性计算机可访问存储介质,其中所述程序指令可由计算机执行以实施:
[0124]在所述第一资源实例接收来自源IP地址的网络数据包,其中所述源IP地址可通过所述第一子网从所述第一资源实例访问,且其中所述网络数据包具有可通过所述第二子网从所述第一资源实例访问的目的IP地址;和
[0125]通过所述第二子网将所述网络数据包路由到所述目的IP地址。
[0126]19.如条款15所述的非临时性计算机可访问存储介质,其中所述接口记录包括一组安全属性,所述安全属性包括识别被授权以修改所述IP地址的一个或多个实体的授权条目。
[0127]20.如条款15所述的非临时性计算机可访问存储介质,其中所述接口记录包括一组安全属性,所述安全属性包括识别以下中至少一个的授权条目:传入流量的端口限制、传入流量的协议限制、传出流量的协议限制,或传出流量的协议限制。
[0128]21.如条款15所述的非临时性计算机可访问存储介质,其中所述程序指令可由计算机执行以实施:
[0129]响应于包括新的IP地址的IP地址修改请求,
[0130]修改所述接口记录以包括所述新的IP地址;
[0131]识别所述接口记录被附加到的所述多个资源实例中的目前附加的资源实例;和
[0132]使得所述目前附加的资源实例能够接收定向到所述新的IP地址的流量。
[0133]22.如条款17所述的非临时性计算机可访问存储介质,其中所述第一子网是指定用于传输客户端应用程序数据的数据子网,且所述第二子网是指定用于传输网络管理数据的管理子网。
[0134]23.如条款16所述的非临时性计算机可访问存储介质,其中所述第一 IP地址是代表第一客户维护的第一网络逻辑分区的部分,且其中所述第二 IP地址是代表第二客户维护的第二网络逻辑分区的部分。
[0135]说明性计算机系统
[0136]在至少一些实施方案中,实施部分或所有本文描述的一个或多个技术(包括提供关于接口记录170的各种服务和操作的技术)的服务器可包括通用计算机系统,所述通用计算机系统包括或配置以访问一个或多个计算机可访问媒体,例如图11示出的计算机系统2000。在示出的实施方案中,计算机系统2000包括一个或多个处理器2010,处理器2010通过输入/输出(I/O)接口 2030耦接到系统存储器2020。计算机系统2000还包括耦接到I/O接口 2030的网络接口 2040。
[0137]在各种实施方案中,计算机系统2000可为包括一个处理器2010的单处理器系统,或包括若干处理器2010(例如,两个、四个、八个或另一合适的数量)的多处理器系统。处理器2010可为能够执行指令的任何合适的处理器。例如,在各种实施方案中,处理器2010可为实施各种指令集架构(ISA)中任何指令集架构的通用或嵌入式处理器,所述指令集架构例如x86、PowerPC、SPARC或MIPS ISA,或任何其它合适的ISA。在多处理器系统中,处理器2010中每一个可通常但不一定实施相同的ISA。
[0138]系统存储器2020可被配置以存储处理器2010可访问的指令和数据。在各种实施方案中,系统存储器2020可使用任何适当的存储器技术来实施,例如静态随机存取存储器(SRAM)、同步动态RAM(SDRAM)、非易失性/闪存型存储器,或任何其它类型的存储器。在示出的实施方案中,实施一个或多个期望的功能(例如,上述那些方法、技术和数据)的程序指令和数据被示出为存储在系统存储器2020中作为代码2025和数据2026。
[0139]在一个实施方案中,I/O接口 2030可被配置以协调处理器2010、系统存储器2020和设备中任何外围设备(包括网络接口 2040或其它外围接口)之间的I/O流量。在一些实施方案中,I/O接口 2030可执行任何必需的协议、计时或其它数据转换以将来自一个组件(例如,系统存储器2020)的数据信号转换成适于由另一组件(例如,处理器2010)使用的格式。在一些实施方案中,I/O接口 2030可包括通过各种类型的外设总线附加的设备的支持,例如外围组件互连(PCI)总线标准或通用串行总线(USB)标准的变型。在一些实施方案中,I/O接口 2030的功能可被分成两个或多个单独的组件,例如北桥和南桥。又,在一些实施方案中,一些或所有I/O接口 2030的功能(例如,系统存储器2020的接口)可被直接并入处理器2010。
[0140]网络接口 2040可被配置以允许数据在计算机系统2000和附加到一个或多个网络2050的其它设备2060之间进行交换,其它设备2060例如如图1到图10中示出的其它计算机系统或设备。在各种实施方案中,网络接口 2040可通过任何合适的有线或无线通用数据网络(例如以太网络类型)支持通信。另外,网络接口 2040可通过电信/电话网络(例如模拟语音网络或数字光纤通信网络),通过存储区域网络(例如光纤通道SAN),或通过任何其它合适类型的网络和/或协议来支持通信。
[0141]在一些实施方案中,系统存储器2020可为计算机可访问介质的一个实施方案,所述计算机可访问介质被配置以存储如上文图1到图10所述用于实施虚拟网络接口记录的方法和装置的实施方案的程序指令和数据。然而,在其它实施方案中,程序指令和/或数据可被接收、发送或存储在不同类型的计算机可访问介质上。一般来说,计算机可访问介质可包括非临时性存储介质或存储器介质,例如磁性或光学介质,例如,通过I/o接口 2030耦接到计算机系统2000的盘或DVD/CD。非临时性计算机可访问存储介质也可包括任何易失性或非易失性介质,例如,RAM(例如SDRAM、DDR SDRAM、RDRAM、SRAM等)、ROM等,所述易失性或非易失性介质在计算机系统2000的一些实施方案中可被包括作为系统存储器2020或另一种类型的存储器。另外,计算机可访问介质可包括通过例如网络和/或无线链路的通信介质传送的传输介质或信号,例如电、电磁或数字信号,例如可通过网络接口 2040来实施。在各种实施方案中,例如图11中示出的多个计算机系统中的部分或全部可用以实施所述功能;例如,在各种不同设备和服务器上运行的软件组件可协作以提供功能。
[0142]益论
[0143]各种实施方案还可包括在计算机可访问介质上接收、发送或存储根据以上描述实施的指令和/或数据。一般来说,计算机可访问介质可包括存储介质或存储器介质,例如磁性或光学介质(例如,盘或DVD/CD-R0M)、易失性或非易失性介质(例如,RAM(例如SDRAM、DDR、RDRAM、SRAM等)、ROM等),以及通过例如网络和/或无线链路的通信介质传送的传输介质或信号(例如,电、电磁或数字信号)。
[0144]如附图中示出且本文描述的各种方法代表方法的示例性实施方案。所述方法可在软件、硬件,或它们的组合中实施。可改变方法的顺序,且可添加、重新排序、组合、省略、修改各种元素等。
[0145]如受益于本发明的本领域技术人员将显而易见,可进行各种修改和变化。旨在包含所有所述修改和变化,因此,以上描述应被认为是说明性而非限制性的。
【权利要求】
1.一种方法,其包括: 响应于接口记录创建请求,产生接口记录,所述接口记录包括IP地址和包含所述第一IP地址的第一子网的子网标识符,并将所述接口记录存储在持久存储库中; 响应于将所述接口记录附加到多个资源实例中的第一资源实例的第一附加请求,使得所述第一资源实例能够接收针对所述第一 IP地址的流量;和 响应于将所述接口记录从所述第一资源实例分离的分离请求,防止所述第一资源实例接收针对所述第一 IP地址的流量,并将所述接口记录保留在所述持久存储库中。
2.如权利要求1所述的方法,其还包括: 响应于第二接口记录创建请求,产生包括第二 IP地址的第二接口记录;和响应于将所述第二接口记录附加到所述第一资源实例的第二附加请求,使得所述第一资源实例能够接收针对所述第二 IP地址的流量。
3.如权利要求2所述的方法,其中所述第二IP地址是第二子网的部分,且其中所述第二接口记录包括所述第二子网的子网标识符。
4.如权利要求3所述的方法,其还包括: 在所述第一资源实例处接收来自源IP地址的网络数据包,其中所述源IP地址可通过所述第一子网从所述 第一资源实例获得,且其中所述网络数据包具有可通过所述第二子网从所述第一资源实例获得的目的IP地址;和 通过所述第二子网将所述网络数据包路由到所述目的IP地址。
5.如权利要求3所述的方法,其还包括: 响应于包括新的IP地址的IP地址修改请求, 修改所述接口记录以包括所述新的IP地址; 识别所述接口记录被附加到的所述多个资源实例中的目前附加的资源实例;和 使得所述目前附加的资源实例能够接收定向到所述新的IP地址的流量。
6.如权利要求3所述的方法,其中所述第一子网是具有第一常见互联网域名路由(CIDR)地址前缀的网络的第一逻辑分区的部分,且所述第二子网是具有第二 CIDR地址前缀的所述网络的第二逻辑分区的部分。
7.如权利要求1所述的方法,其中所述接口记录包括一组安全属性,所述安全属性包括识别被授权以提交附加请求的一个或多个实体的第一授权条目。
8.如权利要求7所述的方法,其中所述一组安全属性包括识别被授权以修改所述第一授权条目的一个或多个实体的第二授权条目。
9.一种系统,其包括: 处理器,其耦接到存储计算机可执行以实施以下项的程序指令的非临时性计算机可访问存储介质: 响应于接口记录创建请求,产生接口记录,所述接口记录包括IP地址和包含所述第一IP地址的第一子网的子网标识符,并将所述接口记录存储在持久存储库中;和 响应于将所述接口记录附加到多个资源实例中第一资源实例的第一附加请求,其中所述第一资源实例在其启动之后处于运行状态,使得针对所述第一 IP地址的流量能够在所述第一资源实例处被接收。
10.如权利要求9所述的系统,其中所述程序指令还可由计算机执行以:响应于第二接口记录创建请求,产生包括第二 IP地址的第二接口记录;和 响应于将所述第二接口记录附加到所述第一资源实例的第二附加请求,使得所述第一资源实例能够接收针对所述第二 IP地址的流量。
11.如权利要求10所述的系统,其中所述程序指令还可由计算机执行以: 在所述第一资源实例处接收来自源IP地址的网络数据包,其中所述源IP地址可通过所述第一子网从所述第一资源实例访问,且其中所述网络数据包具有可通过与所述第二 IP地址相关的第二子网从所述第一资源实例访问的目的IP地址;和 通过所述第二子网将所述网络数据包路由到所述目的IP地址。
12.如权利要求9所述的系统,其中所述接口记录包括一组安全属性,所述安全属性包括识别被授权以修改所述IP地址的一个或多个实体的授权条目。
13.如权利要求9所述的系统,其中所述接口记录包括一组安全属性,所述安全属性包括识别以下至少一项的授权条目:传入流量的端口限制、传入流量的协议限制、传出流量的协议限制或传出流量的协议限制。
14.如权利要求10所述的系统,其中所述第二IP地址是第二子网的部分,且其中所述第一子网是被指定用于传输客户端应用程序数据的数据子网,且所述第二子网是被指定用于传输网络管理数据的管理子网。
15.如权利要求10所述的系统,其中所述第一IP地址是代表第一客户维护的第一网络逻辑分区的部分,且其中所述第二 IP地址是代表第二客户维护的第二网络逻辑分区的部分。
【文档编号】G06F15/16GK103946834SQ201280056307
【公开日】2014年7月23日 申请日期:2012年11月16日 优先权日:2011年11月18日
【发明者】E·W·舒尔策, A·C·汤普森, A·甘古利, P·C·伊尔, T·L·霍尔格斯, C·J·利菲霍克兹, I·R·赛勒 申请人:亚马逊科技公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1