CN105283865A - 服务提供者网络中私用虚拟网络的自动创建 - Google Patents

服务提供者网络中私用虚拟网络的自动创建 Download PDF

Info

Publication number
CN105283865A
CN105283865A CN201480024131.1A CN201480024131A CN105283865A CN 105283865 A CN105283865 A CN 105283865A CN 201480024131 A CN201480024131 A CN 201480024131A CN 105283865 A CN105283865 A CN 105283865A
Authority
CN
China
Prior art keywords
network
data
configuration
service provider
customer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201480024131.1A
Other languages
English (en)
Other versions
CN105283865B (zh
Inventor
S·J·伊莱莎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of CN105283865A publication Critical patent/CN105283865A/zh
Application granted granted Critical
Publication of CN105283865B publication Critical patent/CN105283865B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/084Configuration by using pre-existing information, e.g. using templates or copying from other elements
    • H04L41/0843Configuration by using pre-existing information, e.g. using templates or copying from other elements based on generic templates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0853Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

可以收集关于网络的配置的数据,所述网络如由操作服务提供者网络的服务提供者的客户操作的客户网络。可提供一种适当的接口,如用户接口,以允许用户添加、删除或以其他方式修改所收集的网络配置数据。随后可利用所收集的并且可能被修改的网络配置数据在所述服务提供者网络中创建私用虚拟网络。可以将所述私用虚拟网络实现为使得其具有与所述客户网络相同或类似的网络配置。

Description

服务提供者网络中私用虚拟网络的自动创建
背景技术
一些基于网络的计算服务提供者允许客户永久地或根据需要购买和利用计算资源,如虚拟机实例。除了虚拟机实例之外,此类计算服务提供者通常允许客户购买和利用其他类型的计算资源。例如,可准许客户购买文件和数据块存储资源、数据库资源、联网资源和其他类型的计算资源的访问权和使用权。利用这些计算资源作为构建块,这种基于网络的计算服务的客户能够创建提供各种类型的功能的定制解决方案,如应用托管、备份和存储、内容分发、万维网(“Web”)托管、企业信息技术(“IT”)解决方案、数据库服务等。
对于如以上所述那些的服务提供者的客户或潜在客户来说,有时可能难以将他们的现有网络和计算资源迁移到基于网络的计算服务中。例如,可能需要大量的手工技术努力以便将服务提供者网络提供的服务配置用于复制由客户网络和客户网络上的计算资源实现的功能。迁移到服务提供者网络所需的技术努力可能是昂贵的且耗时的,并且因此可能呈现将基于网络的计算服务用于某些类型的客户的显著障碍。
本文所做出的公开正是对于这些和其他考虑而呈现。
附图简述
图1是根据本文所公开的一个实施方案的示出本文所描述的用于在服务提供者网络中自动创建私用虚拟网络的一个说明性机制的的各方面的网络体系结构图;
图2是根据本文所公开的一个实施方案的示出用于在服务提供者网络中自动创建私用虚拟网络的一个说明性例程的流程图;
图3是根据本文所公开的一个实施方案的示出用于从网络资源收集用于在服务提供者网络中自动创建私用虚拟网络时使用的网络配置数据的一个说明性例程的流程图;
图4是根据本文所公开的一个实施方案的示出用于提供用于修改从网络资源收集的所收集的网络配置数据的用户接口的一个说明性例程的流程图;
图5是根据本文所公开的一个实施方案的示出用于本文所公开的实施方案的一个说明性操作环境的系统和网络图,所述说明性操作环境包括提供用于实现私用虚拟网络和其他类型的计算资源的功能的服务提供者网络;
图6是根据本文所公开的一个实施方案的图示用于数据中心的一种配置的计算系统图,所述数据中心实现本文所公开的用于自动创建私用虚拟网络的概念和技术的各方面;并且
图7是示出用于实现计算设备的说明性计算机硬件体系结构的计算机体系结构图,所述计算设备可用于实现本文所呈现的各种实施方案的各方面。
具体实施方式
以下详细描述涉及用于在服务提供者网络中自动创建私用虚拟网络(“PVN”)的技术。PVN是由基于网络的计算服务提供者提供的网络中的、服务提供者的特定客户可私自访问的逻辑网络。服务提供者可使用各种网络虚拟化技术来实现PVN。
利用本文所述的技术,基于网络的计算服务提供者的客户能够迅速且容易地在服务提供者网络中创建PVN,所述PVN复制由客户操作的另一网络(在本文中被称为“客户网络”)提供的一些或所有功能。以这种方式,客户可免于先前在服务提供者网络中手动地配置由客户网络提供的功能的困难任务。
根据本文呈现的实施方案,公开了用于在服务提供者网络中自动创建PVN的计算机实现的机制。本文所公开的机制可与服务提供者操作的基于网络的分布式计算环境(其在本文中可被称为“服务提供者网络”)结合来操作,客户可通过所述服务提供者网络永久地或根据需要购买和利用计算资源,如虚拟机实例、数据存储资源、数据库资源、联网资源如PVN和其他类型的计算资源。
服务提供者可向创建和使用计算资源的客户收取操作所述资源的费用。服务提供者还可利用各种购买模式来确定向客户收取的使用由服务提供者提供的计算资源的费用量。如以上所提及,这种服务提供者的客户能够利用计算资源作为构建块来创建提供各种类型的功能的客户解决方案,如应用托管、备份和存储、内容分发、Web托管、企业IT解决方案、数据库服务等。
同样如以上所提及,对于计算服务提供者的客户来说,将服务提供者网络提供的组件和服务配置用于复制由客户网络和客户网络上的任何计算资源实现的功能可能是困难的。例如,客户可在场内(on-premises)客户网络(即,由客户在客户拥有和/或操作的物理位置处操作的网络)中操作物理服务器计算机、数据库服务器和数据存储设备。客户可能对将这些计算资源中的一些或全部所提供的功能迁移到服务提供者网络中感兴趣。然而,对于客户来说,将客户网络提供的功能复制在服务提供者网络中可能是困难的。本文所公开的各种实施方案解决这些和潜在的其他考虑因素。
为了解决以上阐述的考虑因素中的至少一些,本文所公开的实施方案提供用于在服务提供者网络中自动创建PVN的计算机实现的机制。在一个特定的实现方式中,所述机制包括网络发现模块。网络发现模块可实现为被配置来在客户网络中操作的计算系统上执行的软件组件。例如,网络发现模块可在物理服务器计算机或在客户网络中操作的虚拟机实例上执行。还可利用专用硬件设备来提供本文公开为由网络发现模块提供的功能。
网络发现模块被配置来收集限定网络如客户网络的配置的数据。为了提供这种功能,网络发现模块可利用适当的协议来访问由网络上的网络资源提供的管理接口。例如,网络发现模块可利用简单网络管理协议(“SNMP”)来访问网络上的网络资源并且得到网络配置数据。还可利用其他类型的机制来从网络上的网络资源得到网络配置数据。网络资源包括但不限于:网络交换机、网络路由器、负载平衡设备、网络防火墙、网络管理系统等。
由网络发现模块收集的网络配置数据可包括限定网络配置的各方面的任何类型的数据。例如,并且非限制性地,网络配置数据可包括限定由客户网络利用的网络地址空间的数据、限定客户网络中的一个或多个子网的数据、限定存在于客户网络中的一个或多个网络访问控制列表(“ACL”)的数据、限定存在于客户网络中的一个或多个路由规则的数据、限定存在于客户网络中的一个或多个网络地址转换(“NAT”)实例的数据、限定客户网络中的防火墙的数据以及限定存在于客户网络中的一个或多个互联网网关设备的数据。网络发现模块还可从其他类型的网络设备收集其他类型的网络配置数据。
一旦已收集到描述网络配置的网络配置数据,网络发现模块还可提供用户可通过其修改所收集的网络配置数据的适当接口,如用户接口(“UI”)。例如,并且非限制性地,可准许用户选择网络中所识别网络资源的子集或超集用于包括在服务提供者网络中的PVN中。具体地,如果网络包括任何子网络(“子网”),那么用户可能够选择将要包括在将于服务提供者网络中创建的PVN中的子网。以这种方式,可准许用户选择用于包括在服务提供者网络中的PVN中的子网的子集。还可提供用户可通过其修改所收集的网络配置数据的其他类型的接口,如API或命令行接口。
还可准许用户利用UI来指定服务提供者网络中的PVN所利用的网络地址。在一些实现方式中,UI还可被配置来提供由服务提供者网络中的PVN使用的网络地址的推荐。作为一个示例,UI可为PVN推荐与客户网络内所利用的网络地址不重叠或以其他方式冲突的网络地址。
UI还可提供用于以其他方式修改网络配置数据的功能。例如,可准许用户添加、删除或修改NAT实例、网络ACL、路由规则、防火墙、互联网网关、负载平衡设备和/或其他联网资源。还可准许UI以允许用户以本文未具体提及的其他方式来修改网络配置数据。另外,也可提供除UI之外的接口用于修改网络配置数据。
一旦用户已完成对网络配置数据的修改(如果有的话),就可利用网络配置数据来创建PVN部署模板。PVN部署模板包括描述将在服务提供者网络中创建的PVN的配置的数据。例如,并且非限制性地,PVN部署模板可指定将由PVN利用的网络地址、PVN中的子网、将在PVN中使用的网络ACL、将在PVN中使用的路由规则、将在PVN中实现的NAT实例、将在PVN中实现的互联网网关和/或防火墙、和/或限定将在服务提供者网络中实现PVN的方式的其他类型的信息。
在一个实施方案中,网络发现模块创建PVN部署模板。在其他实施方案中,另一组件,如服务提供者网络中的组件,可利用所收集的网络配置数据来创建PVN部署模板。在一些实现方式中,可直接利用网络配置数据来在服务提供者网络中创建PVN而无需创建PVN部署模板。
服务提供者网络内的组件,如虚拟网络部署组件,可利用PVN部署模板来在服务提供者网络中例示PVN。作为替代,虚拟网络部署组件可直接利用网络配置数据来在服务提供者网络中例示PVN。根据用户对网络配置数据所做的修改,可创建具有与客户网络的配置相同或类似的配置的PVN。以这种方式,客户可免于先前在由服务提供者网络提供的PVN中手动地配置由客户网络提供的功能的困难任务。
一旦已创建PVN,客户就可开始将计算资源,如虚拟机实例和其他类型的计算资源,添加到PVN。以下将关于图1-图7呈现关于上述用于在服务提供者网络中自动创建私用虚拟网络的各种组件和过程的额外细节。
应理解,本文所呈现的主题可实现为计算机进程、计算机控制的装置、计算系统或制造产品(如计算机可读存储介质)。尽管本文所描述的主题是在一个或多个计算设备上执行的程序模块的一般上下文中呈现,但本领域的技术人员应认识到可与其他类型的程序模块结合来执行其他实现方式。一般来说,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构以及其他类型的结构。
本领域的技术人员还应理解,本文所描述的主题的各方面可在除本文描述的那些之外的其他计算机系统配置上或与其结合来实践,所述其他计算机系统配置包括多处理器系统、基于微处理器的或可编程的消费性电子产品、微型计算机、大型计算机、手持式计算机、个人数字助理、电子阅读器、蜂窝电话设备、专用硬件设备、网络设备等。如以上简要提及的,本文所描述的实施方案可在分布式计算环境中实践,在所述分布式计算环境中可由通过通信网络链接的远程计算设备来执行任务。在分布式计算环境中,程序模块可定位于本地存储器存储设备和远程存储器存储设备两者中。
在以下详细描述中,对形成本文的一部分并且以说明方式示出具体实施方案或示例的附图进行参考。本文的附图并未按比例绘制。在若干图式(其在本文中可被称为“图”)中,相同的数字表示相同的元件。
图1是示出本文所描述的用于在服务提供者网络中自动创建PVN的一个说明性机制的网络体系结构图。如以上简要描述的,本文所公开的各种机制可与服务提供者网络102结合来操作,在所述服务提供者网络102中客户可永久地或根据需要购买和利用来自服务提供者的计算资源104A-104N(其在本文中可被称为“资源104”),如虚拟机实例、联网资源、存储资源或其他类型的计算资源。
每种类型或配置的计算资源104均可从操作不同大小的服务提供者网络102的服务提供者处获得。例如,服务提供者可提供可供购买和使用的虚拟机实例或其他类型的数据处理资源,所述虚拟机实例或其他类型的数据处理资源具有处理器能力、主存储器、磁盘存储装置和操作系统的许多不同配置。服务提供者还可提供其他类型的资源104以供客户购买和使用。例如,服务提供者可永久地或根据需要提供:数据库资源;文件或数据块存储资源;和/或联网资源,如负载平衡资源、域名服务(“DNS”)资源和虚拟联网资源(如本文所描述的PVN);和/或其他类型的资源。
操作服务提供者网络102的服务提供者还可向创建和使用资源104的客户收取操作资源104的费用。针对特定资源104所收取的费用可基于资源104的类型和/或配置。针对特定资源104所收取的费用还可基于资源104被利用的时间量。例如,在数据处理资源的情况下,如同虚拟机实例,可基于资源被利用的时间量来收取使用资源的费用。在数据存储资源104的情况下,可基于所存储的数据量和/或传入或传出资源的数据量来计算费用。针对其他类型的资源104的费用还可基于其他考虑因素。服务提供者还可利用各种购买模式来确定向客户收取的使用由服务提供者提供的资源104的费用量。
在一个特定实现方式中,上述资源104可通过由服务提供者操作的一个或多个数据中心来提供。如本领域技术人员所已知的,数据中心是用来容纳和操作计算机系统和相关联组件的设施。数据中心通常还包括冗余和备用电力、通信、冷却和安全系统。数据中心可定位于地理上不同的位置,并且还可连接至各种其他设施(如共同定位设施)和各种广域网(“WAN”)116(如互联网)。在图1所示的环境中,服务提供者可操作被配置来向其客户提供服务提供者网络102中的资源104的一个或多个数据中心。以下将关于图5和图6来提供关于用于提供本文所公开的功能的服务提供者网络102的实现方式的细节。
上述各种资源104还可根据需要以自动化的方式供应和解除供应。例如,客户可向服务提供者网络102提交例示新的计算资源104的实例(如虚拟机实例)的请求。响应于接收这种请求,服务提供者网络102内的供应组件(图1中未示出)或一个或多个其他组件可根据客户的请求来创建新的虚拟机实例。随后,可准许客户根据需要利用新的虚拟机实例。可以类似的方式例示其他类型的计算资源。例如,并且如以下将更详细地描述,虚拟网络部署组件120是服务提供者网络102中的被配置来部署联网资源如PVN的组件。
当客户已完成使用完计算资源104如虚拟机实例时,客户可请求解除供应资源104。响应于所述请求,服务提供者网络102中的供应组件或另一组件可致使解除供应计算资源104。还可以类似的方式供应和解除供应其他类型的计算资源104。服务提供者网络102还可基于对计算资源104的需求或其他因素来提供用于自动扩展和/或解除扩展资源104的功能。
如图1所示,操作服务提供者网络102的服务提供者的客户或潜在客户可操作还包括一个或多个计算资源的客户网络106。如同服务提供者网络102中的计算资源104,客户网络106中的计算资源可包括数据处理资源、数据存储资源、数据库资源、联网资源108A-108C以及其他类型的计算资源。联网资源108A-108C可包括网络组件,如网络交换机、网络路由器、网络防火墙和其他类型的网络组件。
在一些实施方案中,客户网络106是场内客户网络。如以上简要提及的,场内客户网络是由客户在由客户拥有和/或操作的物理位置处操作的网络。例如,客户可在他们的办公室或其他设施中操作客户网络106。在其他实施方案中,客户网络106还可以上述方式在服务提供者提供的服务提供者网络102中实现。
如以上所提及,对于计算服务提供者的客户来说,将客户网络106所提供的功能迁移到服务提供者网络102中可能是困难的。例如,在图1所示的示例中,客户可能对将在客户网络106中操作的计算资源所提供的功能迁移到服务提供者网络102中感兴趣。然而,对于客户来说,在服务提供者网络102中配置并且创建提供由客户网络106中的网络资源108A-108C提供的功能的PVN122可能是困难的。
为了协助计算服务提供者的潜在客户迁移到服务提供者网络102,本文所呈现的实施方案利用网络发现模块112。如以上简要提及的,网络发现模块112可实现为被配置来在客户网络106中的计算系统110(如物理计算机或虚拟机实例)上执行的软件组件。在一些实施方案中,网络发现模块112可在服务提供者网络102中的计算系统上执行。
当使用服务提供者网络102来实现客户网络106时,网络发现模块112还可在服务提供者网络102中的计算资源104上执行。例如,当客户考虑从一个服务提供者切换到另一服务提供者时,在服务提供者网络102中的计算资源104上执行网络发现模块112可能是期望的。
还可以在硬件中、在硬件和软件的组合中或以另一方式来实现由网络发现模块112提供的功能。网络发现模块112可被配置来在后台执行并且利用最少的计算资源。以这种方式,网络发现模块112的执行将不会影响在同一个计算系统110上执行的其他进程。网络发现模块112还可被配置来以分布式的方式在许多计算系统上执行。
如以上简要讨论的,网络发现模块112被配置来从实现客户网络106的网络资源108A-108C收集网络配置数据114。网络资源108A-108C包括但不限于:网络交换机、网络路由器、网络防火墙、网络管理系统、负载平衡设备以及其他类型的联网组件。网络配置数据114限定客户网络106的配置的各方面。
为了得到网络配置数据114,网络发现模块112可利用适当的协议来访问由客户网络106上的网络资源108A-108C提供的管理接口。例如,网络发现模块112可利用SNMP或另一合适的协议来访问客户网络106上的网络资源108A-108C,并且得到网络配置数据114。网络发现模块112还可利用其他类型的机制,如但不限于API调用、命令行调用和硬件设备的专有管理端口,以从客户网络106上的网络资源108A-108C得到网络配置数据114。在一些实现方式中,网络发现模块112被配置来利用插件程序模块,所述插件程序模块被配置来与由各种制造商创建的网络设备对接并且从所述网络设备检索网络配置数据114。
由网络发现模块112收集的网络配置数据114可包括限定网络如客户网络106的配置的各方面的任何类型的数据。例如,并且非限制性地,网络配置数据114可包括限定由客户网络106利用的网络地址空间的数据、限定客户网络106中的一个或多个子网的数据、限定存在于客户网络106中的一个或多个网络ACL的数据、限定存在于客户网络106中的一个或多个路由规则的数据、限定存在于客户网络106中的一个或多个NAT实例的数据、限定客户网络106中的防火墙的数据、限定客户网络106中的一个或多个负载平衡设备的数据、以及限定存在于客户网络106中的一个或多个互联网网关设备的数据。网络发现模块112还可以从本文中未具体提及的其他类型的网络设备收集其他类型的网络配置数据114。
一旦已收集到描述客户网络106的配置的网络配置数据114,网络发现模块112还可提供用户可通过其查看和修改所收集的网络配置数据114的适当接口,如UI。例如,UI可显示所收集的网络配置数据114。具体地,UI可呈现客户网络106中所识别的子网的列表、在客户网络106中使用的网络ACL、在客户网络106中使用的无类别域间路由选择(“CIDR”)范围、客户网络106中的任何NAT实例或互联网网关设备、和/或其他类型的网络配置数据114。
UI还可提供用于允许用户选择客户网络106中所识别网络资源108A-108C的子集或超集以包括在服务提供者网络102中的PVN122中的功能。具体地,如果客户网络106包括任何子网,那么可准许用户选择将要包括在将于服务提供者网络102中创建的PVN122中的子网。以这种方式,可准许用户选择用于包括在服务提供者网络102中的PVN122中的子网的子集。以类似的方式,UI还可提供用于选择其他类型的网络资源108A-108C以包括在将于客户网络102中创建的PVN122中或从其中排除的功能。
还可准许用户利用由网络发现模块112提供的UI或其他类型的接口来改变和/或指定由将要在服务提供者网络102中创建的PVN122利用的网络地址。在一些实现方式中,接口还可被配置来提供用于由服务提供者网络102中的PVN122使用的网络地址的推荐。作为一个示例,UI可为PVN122或PVN122内的子网推荐与客户网络106内所利用的网络地址不重叠或以其他方式冲突的网络地址。
UI还可提供用于以其他方式修改网络配置数据114的功能。例如,可准许用户对网络配置数据114添加、删除或修改NAT实例、负载平衡设备、网络ACL、路由规则、防火墙、互联网网关和/或其他联网资源108。还可准许UI以允许用户以本文未具体提及的其他方式来修改网络配置数据114。另外,也可提供除UI之外的接口来修改网络配置数据。
在一些实施方案中,上述UI是由服务提供者网络102中的组件提供。例如,网络发现模块112可将所收集的网络配置数据114传输至服务提供者网络102中的组件。随后,那个组件可提供适当的UI或其他类型的接口,用于以上述方式和/或其他方式来修改网络配置数据114。也可利用其他网络中的其他组件来修改所收集的网络配置数据114。
在一个实施方案中,一旦用户已完成对网络配置数据114的修改(如果有的话),就可利用网络配置数据114来创建PVN部署模板118。PVN部署模板118包括描述将在服务提供者网络102中创建的PVN122的配置的数据。例如,并且非限制性地,PVN部署模板118可指定将由PVN122利用的网络地址、PVN122中的子网、将在PVN122中使用的网络ACL、将在PVN122中使用的路由规则、将在PVN122中实现的NAT实例、将在PVN122中实现的互联网网关和/或防火墙、和/或限定将在服务提供者网络102中实现PVN122的方式的其他类型的信息。可利用JavaScript对象表示法(“JSON”)或以另一合适语言来实现PVN部署模板118。可将PVN部署模板118限定成使得在服务提供者网络102中的所创建PVN122具有与客户网络106的配置相同或类似的配置。
在一个实施方案中,网络发现模块112创建PVN部署模板118。在另一实施方案中,不同的组件,如服务提供者网络102中的组件,可利用所收集的网络配置数据114来创建PVN部署模板118。此外,在一些实现方式中,可不创建PVN部署模板118。在这些实现方式中,可直接利用所收集的网络配置数据114来在服务提供者网络102中创建PVN122而无需首先创建PVN部署模板118。
在一个实施方案中,服务提供者网络102内的组件,如虚拟网络部署组件120,可利用PVN部署模板118来在服务提供者网络102中例示PVN122。作为替代,虚拟网络部署组件120可直接利用网络配置数据114来在服务提供者网络102中例示PVN122。根据用户对网络配置数据114所做的修改,可创建具有与客户网络106的配置相同或类似的配置的PVN122。以这种方式,操作客户网络106的客户可免于先前在由服务提供者网络102提供的PVN122中手动地配置由客户网络所提供的功能的困难任务。
一旦已创建PVN122,客户就可开始将计算资源104,如虚拟机实例和其他类型的计算资源104,添加到PVN122。以下将关于图2-图7来呈现关于上述用于在服务提供者网络102中自动创建PVN122的各种组件和过程的额外细节。
图2是根据本文所公开的一个实施方案的示出用于在服务提供者网络102中自动创建PVN122的一个说明性例程200的流程图。应理解,本文关于图2和其他图所描述的逻辑操作,可实现为(1)在计算系统上运行的计算机实现的行为或程序模块的序列和/或(2)计算系统内互连的机器逻辑电路或电路模块。本文所述的各种组件的实现方式是取决于计算系统的性能和其他要求的选择问题。因此,本文所描述的逻辑操作被不同地称为操作、结构设备、行为或模块。这些操作、结构设备、行为和模块可以软件、固件、专用数字逻辑以及其任何组合实现。还应理解,可执行比图中示出和本文描述的更多或更少的操作。这些操作也可以与本文中所描述的那些并行地执行或以与其不同的次序来执行。
例程200在操作202处开始,在所述操作202处,将网络发现模块112安装在客户网络106中的至少一个计算系统110上。例如,并且如上所述,可将网络发现模块112安装在连接至客户网络106的物理计算机或虚拟机上。一旦已将网络发现模块112安装在连接至客户网络106的计算系统110上,例程200就行进至操作204。
在操作204处,执行网络发现模块112用于从客户网络106上的各种网络资源108A-108C收集网络配置数据114。如以上所提及,网络发现模块112可访问由网络资源108A-108C暴露的各种管理接口,以得到网络配置数据114。以下将关于图3来提供关于这个过程的额外细节。
例程200从操作204行进至操作206,在所述操作206处,网络发现模块112或另一组件提供用于显示所收集的网络配置数据114并且用于准许用户修改所收集的网络配置数据114的UI或其他类型的接口。以下关于图4来提供关于可通过这种接口做出的各种类型的修改的细节。
例程200从操作206行进至操作208,在所述操作208处,利用网络配置数据114来创建PVN部署模板118。如以上所提及,PVN部署模板118包括描述将要在服务提供者网络102中创建的PVN122的配置的数据。同样如以上所提及,可以不在每个实现方式中都创建PVN部署模板118。相反,在一些实现方式中,可直接利用所收集的和潜在修改的网络配置数据114来在服务提供者网络102中配置PVN122。
从操作210,网络发现模块112将PVN部署模板118传输至服务提供者网络102中的虚拟网络部署组件120。在一些实施方案中,可通过服务提供者网络102内的服务或其他组件来创建PVN部署模板118。在这些实施方案中,对于网络发现模块112来说,将PVN部署模板118传输至虚拟网络部署组件120可能是不必要的。另外,并且如以上所提及的,可以不在每个实现方式中都利用PVN部署模板118。
例程200从操作210行进至操作212,在所述操作212处,虚拟网络部署组件120利用PVN部署模板118来在服务提供者网络102中创建PVN122。如以上所提及,可将PVN122创建成使得其具有与客户网络106相同或类似的配置。一旦已创建PVN122,客户就可利用虚拟私用网络(“VPN”)、直接网络连接、通过互联网网关或以另一方式来访问服务提供者网络102中的PVN122。
例程200从操作212行进至操作214,在所述操作214处,客户可将计算资源104部署到新创建的PVN122。例如,客户可配置各种虚拟机实例用于在PVN122上操作。也可以类似的方式将可从操作服务提供者网络102的服务提供者处获得的其他类型的计算资源104配置在PVN122上。例程200从操作214行进至操作216,其在所述操作216处结束。
图3是根据本文所公开的一个实施方案的示出用于从网络资源108收集用于在服务提供者网络102中自动创建PVN122时使用的网络配置数据114的一个说明性例程300的流程图。如以上所提及,网络发现模块112可访问由网络资源108A-108C暴露的各种管理接口,以得到网络配置数据114。图3图示可收集到的各种类型的网络配置数据114的各方面。
例程300在操作302处开始,在所述操作302处,网络发现模块112从客户网络106中的网络资源108A-108C收集限定由客户网络106利用的网络地址空间的大小的数据。随后,例程300继续至操作304,在所述操作304处,网络发现模块112从客户网络106中的网络资源108A-108C收集限定网络地址空间(如在客户网络106中限定的真实网络地址)的数据。
随后,例程300从操作304行进至操作306,在所述操作306处,网络发现模块112从客户网络106中的网络资源108A-108C收集限定客户网络106中的任何子网的数据。例程300随后行进至操作308,在所述操作308处,网络发现模块112从客户网络106中的网络资源108A-108C收集限定在客户网络106中所使用的任何网络ACL的数据。
随后,例程300从操作308行进至操作310,在所述操作310处,网络发现模块112从客户网络106中的网络资源108A-108C收集限定在客户网络106中使用的任何路由规则的数据。例程300随后行进至操作312,在所述操作312处,网络发现模块112从客户网络106中的网络资源108A-108C收集限定在客户网络106中使用的任何NAT实例的数据。类似地,在操作314处,网络发现模块112从客户网络106中的网络资源108A-108C收集限定在客户网络106中使用的任何互联网网关的数据。
随后,例程300从操作316行进至操作318,在所述操作318处,网络发现模块112可从客户网络106中的网络资源108A-108C收集上文未具体提及的其他类型的网络配置数据114。在这点上,应理解,以上描述的各种类型的网络配置数据114仅仅是说明性的,并且可以本文描述的方式来收集和利用其他类型的网络配置数据114。例程300从操作316行进至操作318,其在所述操作318处结束。
图4是根据本文所公开的一个实施方案的示出用于提供用于修改从客户网络106中的网络资源108A-108C收集的网络配置数据114的UI的一个说明性例程400的流程图。如以上简要提及的,尽管下文大体描述了UI,但可提供其他类型的接口和/或机制以允许用户查看和/或修改所收集的网络配置数据114。
例程400在操作402处开始,在所述操作402处,可显示所收集的网络配置数据114。例如,并且如以上简要描述的,可呈现包括以下的UI:客户网络106中所识别的子网的列表、在客户网络中使用的网络ACL、在客户网络106中使用的CIDR范围、客户网络106中的任何NAT实例或互联网网关设备以及其他类型的网络配置数据114。例程400随后从操作402行进至操作404。
在操作404处,呈现允许用户选择客户网络106中所识别网络资源108的子集或超集以包括在服务提供者网络102中的PVN122中的UI。具体地,UI可提供用于允许用户选择将要包括在将于服务提供者网络102中创建的PVN122中的子网的功能。以这种方式,可准许用户选择用于包括在PVN122中的子网的子集。UI还可提供用于包括其他网络资源108或从PVN122中排除其他网络资源108的功能。
例程400从操作404行进至操作406,在所述操作406处,提供允许用户修改和/或指定将由服务提供者网络102中的PVN122利用的网络地址的UI。如以上所提及,在一些实现方式中,UI还可被配置来提供用于由服务提供者网络102中的PVN122使用的网络地址的推荐。作为一个示例,UI可推荐用于由PVN122使用的与客户网络106内所利用的CIDR范围不重叠或以其他方式冲突的网络地址。应理解,在一些实施方案中,可准许客户创建供PVN122使用的、与客户网络106内所使用的网络地址不重叠的网络地址。在这些实现方式中,客户可利用代理层或另一机制来确保不暴露重叠。这在以下情况下可能是有用的:例如用于测试和其他目的,在PVN122中创建与客户网络106的全部或一部分的网络拓扑结构相同的网络拓扑结构(包括寻址)。
例程400从操作406行进至操作408,在所述操作408处,提供用于允许用户在网络配置数据114中添加、删除和/或修改网络资源108的UI。例如,可准许用户在网络配置数据114中添加、删除和/或修改NAT实例、防火墙、互联网网关、负载平衡设备和/或其他联网资源108。类似地,在操作408处,可提供用于允许用户添加、删除和/或修改由网络配置数据114指定的网络ACL和/或路由规则的UI。
例程400从操作410行进至操作412,在所述操作412处,可提供用于允许用户添加、修改和/或删除如由网络配置数据114指定的PVN122的配置的其他方面的UI。在这点上,应理解,可提供用于允许用户指定上文未具体提及的PVN122的其他操作方面的功能。例程400从操作412行进至操作414,其在所述操作414处结束。
应理解,在一些实施方案中,网络发现模块112还可被配置成具有其他类型的功能。例如,在一个实施方案中,网络发现模块112被配置来发现存在于客户网络106中的防火墙规则。可通过查询网络资源108上的适当管理接口、通过“嗅探”客户网络106上的分组或者以另一方式来发现防火墙规则。
一旦已识别出一个或多个防火墙规则,网络发现模块112就可将识别防火墙规则的数据传输至服务提供者网络102中的虚拟网络部署组件120或另一组件。防火墙规则随后可被转换成用于由PVN122中的计算资源104(如虚拟机实例)使用的安全组规则。以这种方式,可以识别在客户网络106中限定的防火墙规则并且将其转换成适于在服务提供者网络102中的VPN122中使用的安全组规则。在这点上,应理解,网络发现模块112和上文描述的其他组件还可被配置成具有本文中未具体提及的额外的功能。
图5是示出用于本文所公开的实施方案的一个说明性操作环境的系统和网络图,所述说明性操作环境包括可被配置来提供上文描述的用于自动创建PVN122的功能的服务提供者网络102。如以上简要讨论的,服务提供者网络102可永久地或根据需要提供计算资源104。由服务提供者网络102提供的计算资源104可包括各种类型的计算资源104,如数据处理资源、数据存储资源、联网资源、数据通信资源等。
每种类型的计算资源104可以是通用的,或者可用于许多特定配置中。例如,并且如以上简要描述的,数据处理资源可在许多不同的配置中用作虚拟机实例。虚拟机实例可被配置来执行应用,包括Web服务器、应用服务器、媒体服务器、数据库服务器以及其他类型的应用。数据存储资源可包括文件存储设备、块存储设备等。
同样如以上简要提及的,在一个实现方式中,服务提供者网络102所提供的计算资源104是由一个或多个数据中心502A-502N(其在本文中可以单数形式称为“数据中心502”和以复数形式称为“数据中心502”)启用。数据中心502是用以容纳并操作计算机系统和相关联组件的设施。数据中心502通常包括冗余和备用电力、通信、冷却以及安全系统。数据中心502还可位于地理上不同的位置。以下将关于图6来描述用于数据中心502的一种说明性配置,所述说明性配置实现本文所公开的用于在服务提供者网络102中自动创建PVN122的功能的各方面。
服务提供者网络102的客户和其他用户可通过WAN116来访问由服务提供者网络102提供的计算资源。尽管图5中示出WAN116,但应理解,可利用将数据中心502连接至远程客户和其他用户的局域网(“LAN”)、互联网或本领域中已知的任何其他联网拓扑结构。还应理解,也可利用此类网络的组合。客户可利用VPN、直接网络连接、通过互联网网关或以另一方式来访问PVN122。
图6是根据本文所公开的一个实施方案的图示用于数据中心502的一种配置的计算系统图,所述配置实现本文所公开的用于在服务提供者网络102中自动创建PVN122的概念和技术的各方面。图6中所示的示例数据中心502包括用于提供计算资源104的若干服务器计算机602A-602F(其在本文中可以单数形式称为“服务器计算机602”或以复数形式称为“服务器计算机602”)。
服务器计算机602可以是适当配置用于提供本文描述的计算资源的标准塔架或机架安装的服务器计算机。例如,在一个实现方式中,服务器计算机602被配置来提供计算资源104A-104N。如以上所提及,计算资源104可以是数据处理资源、数据存储资源、数据库资源、联网资源如PVN等。服务器602中的一些还可被配置来执行能够例示和/或管理资源104的资源管理器604。例如,在虚拟机实例的情况下,资源管理器604可以是被配置来启用执行例如单个服务器计算机602上的多个虚拟机实例的管理程序或另一类型的程序。
图6中所示的数据中心502还包括服务器计算机602F,所述服务器计算机602F可被保留用于执行管理数据中心502、服务器计算机602和计算资源104的操作的各种软件组件。在一些实施方案中,如以上关于图1所描述的实施方案,服务器计算机602F还可被配置来执行虚拟网络部署组件120。也可利用数据中心502内的其他计算系统来执行这个组件。也可利用其它配置。
在图6所示的示例数据中心502中,利用适当的LAN606来使服务器计算机602A-602F互连。LAN606还连接至图5所示的WAN116。应理解,图1-图6所示的配置和网络拓扑结构已被极大地简化,并且可利用更多的计算系统、网络和联网设备来使本文所公开的各种计算系统互连并且提供以上描述的功能。还可利用适当的负载平衡设备或软件模块用于平衡数据中心502A-502N的每一个之间、每个数据中心502中的服务器计算机602A-602F中的每一个之间、以及潜在地数据中心502中的每个中的计算资源104之间的负载。应理解,关于图6所描述的数据中心502仅仅是说明性的并且可利用其他实现方式。
图7示出计算机700的示例计算机体系结构,所述计算机700能够执行以上描述的用于在服务提供者网络102中自动部署PVN122的程序组件。图7所示的计算机体系结构图示常规的服务器计算机、工作站、台式计算机、膝上型计算机、平板电脑、网络设备、个人数字助理(“PDA”)、电子阅读器、数字蜂窝电话或其他计算设备,并且可用以执行本文呈现的软件组件的任何方面。例如,图7所示的计算机体系结构可用以执行图1示出和以上描述的网络发现模块112或虚拟网络部署组件120。
计算机700包括基板702或“母板”,所述基板702或“母板”是众多组件或设备可通过系统总线或其他电通信路径连接至其上的印刷电路板。在一个说明性实施方案中,一个或多个中央处理单元(“CPU”)704与芯片集706结合来操作。CPU704可以是执行操作计算机700所必需的算术和逻辑运算的标准可编程处理器。
CPU704通过从一个离散的物理状态转变到下一个离散的物理状态来执行操作,所述转变是通过操纵在这些状态之间进行区分并且改变这些状态的切换元件来完成。切换元件通常可包括:维持两个二进制状态之一的电子电路,如触发器;以及基于一个或多个其他切换元件的状态的逻辑组合来提供输出状态的电子电路,如逻辑门。这些基本的切换元件可组合来创建更复杂的逻辑电路,包括寄存器、加减器、算术逻辑单元、浮点单元等。
芯片集706提供CPU704与基板702上的其余组件和设备之间的接口。芯片集706可提供到用作计算机700中的主存储器的随机访问存储器(“RAM”)708的接口。芯片集706还可提供到计算机可读存储介质如只读存储器(“ROM”)710或非易失性RAM(“NVRAM”)的接口,所述计算机可读存储介质用于存储有助于启动计算机700并且有助于在各种组件和设备之间传递信息的基本例程。根据本文所描述的实施方案,ROM710或NVRAM还可存储操作计算机700所必需的其他软件组件。
在联网的环境中,计算机700可使用通过网络(如局域网720)到远程计算设备和计算机系统的逻辑连接进行操作。芯片集706可包括用于通过NIC712(如吉比特以太网适配器)提供网络连通性的功能。NIC712能够通过网络720将计算机700连接至其他计算设备。应理解,多个NIC712可存在于计算机700中,从而将所述计算机连接至其他类型的网络和远程计算机系统。
计算机700可连接至为所述计算机提供非易失性存储的大容量存储设备718。大容量存储设备718可存储系统程序、应用程序、其他程序模块和数据,这已经在本文中更加详细地描述过。可通过连接至芯片集706的存储控制器714将大容量存储设备718连接至计算机700。大容量存储设备718可由一个或多个物理存储单元组成。存储控制器714可通过以下接口与物理存储单元对接:串行连接SCSI(“SAS”)接口、串行高级技术附件(“SATA”)接口、光纤信道(“FC”)接口、或用于在计算机与物理存储单元之间进行物理连接并传递数据的其他类型的接口。
计算机700可通过转变物理存储单元的物理状态以反映所存储的信息来将数据存储在大容量存储设备718上。在本说明书的不同的实现方式中,物理状态的具体转变可取决于各种因素。此类因素的示例可包括但不限于用来实现物理存储单元的技术,不论大容量存储设备718表征为主要存储设备或次级存储设备等。
例如,计算机700可通过以下方式来将信息存储至大容量存储设备718:通过存储控制器714发出用于改变磁盘驱动单元内的特定位置的磁性特性、光学存储单元中的特定位置的反射或折射特性、或者固态存储单元中的特定电容器、晶体管或其他离散组件的电特性的指令。在不背离本说明书的范围和精神的情况下,物理介质的其他转变也是可能的,提供前述示例仅为了便于此描述。计算机700还可通过检测物理存储单元内的一个或多个特定位置的物理状态或特性来从大容量存储设备718读取信息。
除了上述大容量存储设备718之外,计算机700可访问其他计算机可读存储介质以存储和检索信息,如程序模块、数据结构或其他数据。本领域的技术人员应理解,计算机可读存储介质可以是提供用于存储非易失性数据并且可由计算机700访问的任何可用介质。
举例来说,计算机可读存储介质可包括以任何方法或技术实现的易失性和非易失性、可移动和不可移动的介质。计算机可读存储介质包括RAM、ROM、可擦可编程ROM(“EPROM”)、电可擦可编程ROM(“EEPROM”)、快闪存储器或其他固态存储技术、光盘ROM(“CD-ROM”)、数字通用光盘(“DVD”)、高清晰度DVD(“HD-DVD”)、蓝光光盘或其他光学存储装置、磁带盒、磁带、磁盘存储装置或其他磁性存储设备、或能够用来以非暂时性的形式存储所需的信息的任何其他介质。
大容量存储设备718可存储用以控制计算机700的操作的操作系统730。根据一个实施方案,操作系统包括LINUX操作系统。根据另一实施方案,操作系统包括来自微软公司的SERVER操作系统。根据另外的实施方案,操作系统可包括UNIX或SOLARIS操作系统。应理解,还可利用其它操作系统。大容量存储设备718可存储由计算机700利用的其他系统或应用程序和数据,如网络发现模块112、虚拟网络部署组件120和/或上述的其他软件组件和数据中的任何软件组件和数据。大容量存储设备718还可存储本文中未具体指出的其他程序和数据。
在一个实施方案中,大容量存储设备718或其他计算机可读存储介质被编码成具有计算机可执行指令,当被加载到计算机700中时,所述计算机可执行指令将计算机从通用计算系统转变成能够实现本文所描述的实施方案的专用计算机。如上所述,这些计算机可执行指令通过指定CPU704在状态之间如何转变来使计算机700转变。根据一个实施方案,计算机700可以访问存储计算机可执行指令的计算机可读存储介质,当由计算机700执行时,所述计算机可执行指令执行以上关于图2-图4所描述的各种例程。计算机700还可包括用于执行本文描述的其他计算机实现的操作中的任何操作的计算机可读存储介质。
计算机700还可包括用于接收和处理来自许多输入设备(如键盘、鼠标、触控板、触摸屏、电子笔或其他类型的输入设备)的输入的一个或多个输入/输出控制器716。类似地,输入/输出控制器716可将输出提供给显示器,如计算机监视器、平板显示器、数字投影仪、打印机、绘图仪或其他类型的输出设备。应理解,计算机700可不包括图7所示的所有组件,可包括图7未明确示出的其他组件,或者可利用与图7所示的体系结构完全不同的体系结构。
基于前述内容,应理解,本文已呈现用于在服务提供者网络102中自动创建PVN122的技术。此外,尽管已经通过专用于计算机结构特征、方法行为和计算机可读介质的语言描述了本文所呈现的主题,但应当理解,所附权利要求中限定的本发明不必限于本文所描述的特定特征、行为或介质。相反,特定特征、行为和介质是作为实现所附权利要求书的示例形式而公开。
本公开的实施方案可鉴于以下条款来描述:
1.一种具有存储在其上的计算机可执行指令的计算机可读存储介质,所述计算机可执行指令在由计算机执行时,致使所述计算机:
从客户网络中的多个网络资源收集网络配置数据,所述网络配置数据描述所述客户网络的配置;
使用所收集的网络配置数据来创建虚拟网络部署模板;并且
将所述虚拟网络部署模板提供给部署组件,所述部署组件被配置来利用所述虚拟网络部署模板在服务提供者网络中创建具有与所述客户网络的所述配置类似的配置的私用虚拟网络。
2.如条款1所述的计算机可读存储介质,其中所述计算机可读存储介质还具有存储在其上的计算机可执行指令,所述计算机可执行指令在由所述计算机执行时,致使所述计算机提供用于在创建所述虚拟网络部署模板之前修改所述所收集的网络配置数据的用户接口。
3.如条款2所述的计算机可读存储介质,其中所述网络配置数据限定所述客户网络中的多个子网,并且其中所述用户接口还被配置来提供用于选择用于包括在所述服务提供者网络中的所述私用虚拟网络中的所述子网的子集的功能。
4.如条款3所述的计算机可读存储介质,其中所述网络配置数据还限定由所述客户网络中的所述多个子网使用的网络地址,并且其中所述用户接口还被配置来提供用于由所述私用虚拟网络中的子网使用、与所述客户网络中使用的网络地址不重叠的网络地址的推荐。
5.一种具有存储在其上的计算机可执行指令的计算机可读存储介质,所述可执行指令在由计算机执行时,致使所述计算机:
与连接至客户网络的多个网络资源通信,以从所述多个网络资源收集限定所述客户网络的配置的网络配置数据;并且
将限定所述客户网络的所述配置的数据传输至在服务提供者网络中操作的部署组件,所述部署组件被配置来利用所述限定所述客户网络的所述配置的数据在所述服务提供者网络中创建具有与所述客户网络的所述配置类似的配置的私用虚拟网络。
6.如条款5所述的计算机可读存储介质,其中所述限定所述配置的数据包括虚拟网络部署模板。
7.如条款5所述的计算机可读存储介质,其中连接至所述客户网络的所述网络资源包括网络交换机、网络路由器、负载平衡设备或网络防火墙中的一个或多个。
8.如条款5所述的计算机可读存储介质,其中所述限定所述客户网络的所述配置的数据包括以下中的一个或多个:
限定由所述客户网络利用的网络地址空间的数据,
限定所述客户网络中的一个或多个子网的数据,
限定存在于所述客户网络中的一个或多个网络访问控制列表(ACL)的数据,
限定存在于所述客户网络中的一个或多个路由规则的数据,
限定存在于所述客户网络中的一个或多个网络地址转换(NAT)实例的数据,以及
限定存在于所述客户网络中的一个或多个互联网网关设备的数据。
9.如条款5所述的计算机可读存储介质,其中所述计算机可读存储介质还具有存储在其上的计算机可执行指令,所述计算机可执行指令在由所述计算机执行时,致使所述计算机提供用于在将所述限定所述客户网络的所述配置的数据传输至所述部署组件之前修改所述限定所述客户网络的所述配置的数据的接口。
10.如条款9所述的计算机可读存储介质,其中所述客户网络包括多个子网,并且其中所述接口还被配置来提供用于选择用于包括在所述服务提供者网络中的所述私用虚拟网络中的所述子网中的一个或多个的功能。
11.如条款10所述的计算机可读存储介质,其中所述接口还被配置来提供用于由所述服务提供者网络中的所述私用虚拟网络使用、与所述客户网络中使用的网络地址不干扰的网络地址的推荐。
12.一种用于私用虚拟网络的自动创建的计算机实现的方法,所述方法包括执行用于以下的计算机实现的操作:
在第一网络上操作计算设备以从在所述第一网络上操作的多个网络资源收集限定所述第一网络的配置的数据;以及
将所收集的限定所述第一网络的所述配置的数据传输至在第二网络上操作的组件,所述组件被配置来利用所收集的限定所述第一网络的所述配置的数据在所述第二网络中创建具有与所述第一网络的所述配置类似的配置的私用虚拟网络。
13.如条款12所述的计算机实现的方法,其中所述第二网络包括服务提供者网络。
14.如条款13所述的计算机实现的方法,其中所述第一网络包括由操作所述服务提供者网络的服务提供者的客户操作的网络。
15.如条款12所述的计算机实现的方法,其中在所述第一网络上操作的所述多个网络资源包括网络交换机、网络路由器、负载平衡设备或网络防火墙中的一个或多个。
16.如条款12所述的计算机实现的方法,其还包括:在将所收集的数据传输至所述第二网络之前,使用所收集的限定所述第一网络的所述配置的数据来创建虚拟网络部署模板。
17.如条款16所述的计算机实现的方法,其中将所收集的限定所述第一网络的所述配置的数据传输至在第二网络上操作的组件包括:将所述虚拟网络部署模板传输至在所述第二网络上操作的所述组件,并且其中在所述第二网络上操作的所述组件被配置来利用所述虚拟网络部署模板在所述第二网络中创建所述私用虚拟网络。
18.如条款12所述的计算机实现的方法,其还提供被配置来在将所收集的限定所述第一网络的所述配置的数据传输至在所述第二网络上操作的所述组件之前,启用修改所述限定所述第一网络的所述配置的数据的接口。
19.如条款18所述的计算机实现的方法,其中所述第一网络包括多个子网,并且其中所述接口还被配置来提供用于选择用于包括在所述第二网络中的所述私用虚拟网络中的所述子网中的一个或多个的功能。
20.如条款19所述的计算机实现的方法,其中所述接口还被配置来提供用于由所述私用虚拟网络中的子网使用的网络地址的推荐。
21.一种用于创建私用虚拟网络的系统,所述系统包括:
一个或多个计算机,所述一个或多个计算机被配置来
从在第一网络上操作的多个网络资源收集限定所述第一网络的配置的数据,并且
利用所收集的限定所述第一网络的所述配置的数据在第二网络中创建具有与所述第一网络的所述配置类似的配置的私用虚拟网络。
22.如条款21所述的系统,其中所述第二网络包括服务提供者网络。
23.如条款22所述的系统,其中所述第一网络包括由操作所述服务提供者网络的服务提供者的客户操作的网络。
24.如条款23所述的系统,其中在所述第一网络上操作的所述多个网络资源包括网络交换机、网络路由器、负载平衡设备或网络防火墙中的一个或多个。
25.如条款24所述的系统,其中所述一个或多个计算机还被配置来:使用所收集的限定所述第一网络的所述配置的数据创建虚拟网络部署模板,并且利用所述虚拟网络部署模板在所述第二网络中创建所述私用虚拟网络。
上述主题仅通过说明的方式提供并且不应被解释为限制性的。此外,所要求保护的主题并不局限于解决本公开中任何部分所指出的任何或所有缺点的实现方式。可无需遵循所示和所描述的示例实施方案和应用并且在不背离本发明的真实精神和范围的情况下对本文所描述的主题作出各种修改和改变,本发明的真实精神和范围在以下权利要求中阐明。

Claims (15)

1.一种用于私用虚拟网络的自动创建的计算机实现的方法,所述方法包括执行用于以下的计算机实现的操作:
从客户网络中的多个网络资源收集网络配置数据,所述网络配置数据描述所述客户网络的配置;
使用所述所收集的网络配置数据来创建虚拟网络部署模板;以及
将所述虚拟网络部署模板提供给部署组件,所述部署组件被配置来利用所述虚拟网络部署模板在服务提供者网络中创建具有与所述客户网络的所述配置类似的配置的私用虚拟网络。
2.如权利要求1所述的计算机实现的方法,其还包括:在创建所述虚拟网络部署模板之前,提供用于修改所述所收集的网络配置数据的用户接口。
3.如权利要求2所述的计算机实现的方法,其中所述网络配置数据限定所述客户网络中的多个子网,并且其中所述用户接口还被配置来提供用于选择用于包括在所述服务提供者网络中的所述私用虚拟网络中的所述子网的子集的功能。
4.如权利要求3所述的计算机实现的方法,其中所述网络配置数据还限定由所述客户网络中的所述多个子网使用的网络地址,并且其中所述用户接口还被配置来提供用于由所述私用虚拟网络中的子网使用、与所述客户网络中使用的网络地址不重叠的网络地址的推荐。
5.如权利要求1所述的计算机实现的方法,其中所述网络配置数据包括以下中的一个或多个:
限定由所述客户网络利用的网络地址空间的数据,
限定所述客户网络中的一个或多个子网的数据,
限定存在于所述客户网络中的一个或多个网络访问控制列表(ACL)的数据,
限定存在于所述客户网络中的一个或多个路由规则的数据,
限定存在于所述客户网络中的一个或多个网络地址转换(NAT)实例的数据,以及
限定存在于所述客户网络中的一个或多个互联网网关设备的数据。
6.一种用于私用虚拟网络的自动创建的计算机实现的方法,所述方法包括执行用于以下的计算机实现的操作:
在第一网络上操作计算设备以从在所述第一网络上操作的多个网络资源收集限定所述第一网络的配置的数据;以及
将所述所收集的限定所述第一网络的所述配置的数据传输至在第二网络上操作的组件,所述组件被配置来利用所述所收集的限定所述第一网络的所述配置的数据在所述第二网络中创建具有与所述第一网络的所述配置类似的配置的私用虚拟网络。
7.如权利要求6所述的计算机实现的方法,其中所述第二网络包括服务提供者网络,并且其中所述第一网络包括由操作所述服务提供者网络的服务提供者的客户操作的网络。
8.如权利要求6所述的计算机实现的方法,其中在所述第一网络上操作的所述多个网络资源包括网络交换机、网络路由器、负载平衡设备或网络防火墙中的一个或多个。
9.如权利要求6所述的计算机实现的方法,其还包括:在将所述所收集的数据传输至所述第二网络之前,使用所述所收集的限定所述第一网络的所述配置的数据来创建虚拟网络部署模板,并且其中将所述所收集的限定所述第一网络的所述配置的数据传输至在第二网络上操作的组件包括将所述虚拟网络部署模板传输至在所述第二网络上操作的所述组件,并且其中在所述第二网络上操作的所述组件被配置来利用所述虚拟网络部署模板在所述第二网络中创建所述私用虚拟网络。
10.如权利要求6所述的计算机实现的方法,其还提供被配置来在将所述所收集的限定所述第一网络的所述配置的数据传输至在所述第二网络上操作的所述组件之前,启用修改所述限定所述第一网络的所述配置的数据的接口,并且其中所述第一网络包括多个子网,并且其中所述接口还被配置来提供用于选择用于包括在所述第二网络中的所述私用虚拟网络中的所述子网中的一个或多个的功能。
11.如权利要求10所述的计算机实现的方法,其中所述接口还被配置来提供用于由所述私用虚拟网络中的子网使用的网络地址的推荐。
12.一种用于创建私用虚拟网络的系统,所述系统包括:
一个或多个计算机,所述一个或多个计算机被配置来
从在第一网络上操作的多个网络资源收集限定所述第一网络的配置的数据,并且
利用所述所收集的限定所述第一网络的所述配置的数据在第二网络中创建具有与所述第一网络的所述配置类似的配置的私用虚拟网络。
13.如权利要求12所述的系统,其中所述第二网络包括服务提供者网络,并且其中所述第一网络包括由操作所述服务提供者网络的服务提供者的客户操作的网络。
14.如权利要求13所述的系统,其中在所述第一网络上操作的所述多个网络资源包括网络交换机、网络路由器、负载平衡设备或网络防火墙中的一个或多个。
15.如权利要求14所述的系统,其中所述一个或多个计算机还被配置来:使用所述所收集的限定所述第一网络的所述配置的数据创建虚拟网络部署模板,并且利用所述虚拟网络部署模板在所述第二网络中创建所述私用虚拟网络。
CN201480024131.1A 2013-04-29 2014-04-28 服务提供者网络中私用虚拟网络的自动创建 Active CN105283865B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/872,725 US10142173B2 (en) 2013-04-29 2013-04-29 Automated creation of private virtual networks in a service provider network
US13/872,725 2013-04-29
PCT/US2014/035714 WO2014179229A1 (en) 2013-04-29 2014-04-28 Automated creation of private virtual networks in a service provider network

Publications (2)

Publication Number Publication Date
CN105283865A true CN105283865A (zh) 2016-01-27
CN105283865B CN105283865B (zh) 2018-05-25

Family

ID=51790259

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480024131.1A Active CN105283865B (zh) 2013-04-29 2014-04-28 服务提供者网络中私用虚拟网络的自动创建

Country Status (5)

Country Link
US (1) US10142173B2 (zh)
EP (1) EP2992444B1 (zh)
JP (1) JP6170237B2 (zh)
CN (1) CN105283865B (zh)
WO (1) WO2014179229A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017162030A1 (zh) * 2016-03-22 2017-09-28 中兴通讯股份有限公司 一种虚拟网络的生成方法和装置
CN109117227A (zh) * 2018-08-01 2019-01-01 长沙拓扑陆川新材料科技有限公司 一种用户界面生成区块功能链的方法

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9294524B2 (en) 2013-12-16 2016-03-22 Nicira, Inc. Mapping virtual machines from a private network to a multi-tenant public datacenter
US9215213B2 (en) 2014-02-20 2015-12-15 Nicira, Inc. Method and apparatus for distributing firewall rules
US9503427B2 (en) 2014-03-31 2016-11-22 Nicira, Inc. Method and apparatus for integrating a service virtual machine
US9906494B2 (en) 2014-03-31 2018-02-27 Nicira, Inc. Configuring interactions with a firewall service virtual machine
US9215210B2 (en) * 2014-03-31 2015-12-15 Nicira, Inc. Migrating firewall connection state for a firewall service virtual machine
US9918346B2 (en) * 2015-04-17 2018-03-13 Barracuda Networks, Inc. System for connecting, securing and managing network devices with a dedicated private virtual network
DE112016001895T5 (de) * 2015-04-24 2018-01-04 Shoretel, Inc. Bereitstellen von Hybrid-Diensten
JP2017011467A (ja) * 2015-06-22 2017-01-12 日本電信電話株式会社 ネットワーク管理装置およびネットワーク管理プログラム
US10243848B2 (en) 2015-06-27 2019-03-26 Nicira, Inc. Provisioning logical entities in a multi-datacenter environment
US9680706B2 (en) 2015-06-30 2017-06-13 Nicira, Inc. Federated firewall management for moving workload across data centers
US10348685B2 (en) 2016-04-29 2019-07-09 Nicira, Inc. Priority allocation for distributed service rules
US10135727B2 (en) 2016-04-29 2018-11-20 Nicira, Inc. Address grouping for distributed service rules
US11171920B2 (en) 2016-05-01 2021-11-09 Nicira, Inc. Publication of firewall configuration
US11425095B2 (en) 2016-05-01 2022-08-23 Nicira, Inc. Fast ordering of firewall sections and rules
US11082400B2 (en) 2016-06-29 2021-08-03 Nicira, Inc. Firewall configuration versioning
US11258761B2 (en) 2016-06-29 2022-02-22 Nicira, Inc. Self-service firewall configuration
US10826723B1 (en) * 2018-02-23 2020-11-03 Amazon Technologies, Inc. Virtual network address space auto-migration
US10673694B2 (en) 2018-05-29 2020-06-02 Amazon Technologies, Inc. Private network mirroring
US11368407B2 (en) 2018-05-29 2022-06-21 Amazon Technologies, Inc. Failover management using availability groups
WO2019231887A1 (en) * 2018-05-29 2019-12-05 Amazon Technologies, Inc. Private network mirroring
US20200192762A1 (en) * 2018-12-18 2020-06-18 Storage Engine, Inc. Methods, apparatuses and systems for configuring a network environment for a server
US11310202B2 (en) 2019-03-13 2022-04-19 Vmware, Inc. Sharing of firewall rules among multiple workloads in a hypervisor
US11374879B2 (en) 2019-06-17 2022-06-28 Cyxtera Data Centers, Inc. Network configuration of top-of-rack switches across multiple racks in a data center
US11202195B2 (en) 2020-03-13 2021-12-14 At&T Intellectual Property I, L.P. Systems and methods for configuring routers and for facilitating communication between routers
US11088916B1 (en) 2020-04-06 2021-08-10 Vmware, Inc. Parsing logical network definition for different sites
US11522812B1 (en) * 2020-10-30 2022-12-06 Splunk Inc. Workflows for configuring the ingestion of user data from a service provider network into a data intake and query system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030041136A1 (en) * 2001-08-23 2003-02-27 Hughes Electronics Corporation Automated configuration of a virtual private network
US7698398B1 (en) * 2003-08-18 2010-04-13 Sun Microsystems, Inc. System and method for generating Web Service architectures using a Web Services structured methodology
US8417938B1 (en) * 2009-10-16 2013-04-09 Verizon Patent And Licensing Inc. Environment preserving cloud migration and management

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08328984A (ja) 1995-05-31 1996-12-13 Matsushita Electric Works Ltd ネットワーク管理システム
ATE326801T1 (de) * 1999-06-10 2006-06-15 Alcatel Internetworking Inc Virtuelles privates netzwerk mit automatischer aktualisierung von benutzererreichbarkeitsinformation
JP2002185512A (ja) 2000-12-12 2002-06-28 Hitachi Ltd ネットワーク接続性検証方法
US6766364B2 (en) 2002-01-15 2004-07-20 Telcordia Technologies, Inc. Template based configuration and validation of a network for enabling a requested service to be compatible with the previously enabled services
FR2948248B1 (fr) 2009-07-16 2011-08-19 Univ Paris Curie Procede et systeme pour deployer a la volee et sur demande au moins un reseau virtuel.
US7953865B1 (en) * 2009-12-28 2011-05-31 Amazon Technologies, Inc. Using virtual networking devices to manage routing communications between connected computer networks
WO2012100092A2 (en) * 2011-01-19 2012-07-26 Servicemesh, Inc. System and method for a cloud computing abstraction layer with security zone facilities
SG191979A1 (en) 2011-01-24 2013-08-30 Shell Int Research Process for the production of ethylene oxide
US8407323B2 (en) * 2011-07-12 2013-03-26 At&T Intellectual Property I, L.P. Network connectivity wizard to support automated creation of customized configurations for virtual private cloud computing networks
US20130166504A1 (en) * 2011-12-27 2013-06-27 RiverMeadow Software, Inc. Systems and methods for virtual machine migration

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030041136A1 (en) * 2001-08-23 2003-02-27 Hughes Electronics Corporation Automated configuration of a virtual private network
US7698398B1 (en) * 2003-08-18 2010-04-13 Sun Microsystems, Inc. System and method for generating Web Service architectures using a Web Services structured methodology
US8417938B1 (en) * 2009-10-16 2013-04-09 Verizon Patent And Licensing Inc. Environment preserving cloud migration and management

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017162030A1 (zh) * 2016-03-22 2017-09-28 中兴通讯股份有限公司 一种虚拟网络的生成方法和装置
CN107222325A (zh) * 2016-03-22 2017-09-29 中兴通讯股份有限公司 一种虚拟网络的生成方法和装置
CN109117227A (zh) * 2018-08-01 2019-01-01 长沙拓扑陆川新材料科技有限公司 一种用户界面生成区块功能链的方法

Also Published As

Publication number Publication date
JP2016521504A (ja) 2016-07-21
US10142173B2 (en) 2018-11-27
JP6170237B2 (ja) 2017-07-26
EP2992444A4 (en) 2016-09-28
EP2992444B1 (en) 2020-01-01
CN105283865B (zh) 2018-05-25
EP2992444A1 (en) 2016-03-09
WO2014179229A1 (en) 2014-11-06
US20140325037A1 (en) 2014-10-30

Similar Documents

Publication Publication Date Title
CN105283865A (zh) 服务提供者网络中私用虚拟网络的自动创建
KR101717228B1 (ko) 가상 데스크탑들을 위한 애플리케이션 마켓플레이스
KR101839060B1 (ko) 자동화된 데스크탑 배치
WO2021051933A1 (zh) 容器云平台的可用域建设方法、装置、设备及存储介质
CA2978183C (en) Executing commands within virtual machine instances
US9021097B2 (en) Unified cloud computing infrastructure to manage and deploy physical and virtual environments
US8930543B2 (en) Dynamically building a set of compute nodes to host the user's workload
US11805004B2 (en) Techniques and interfaces for troubleshooting datacenter networks
US9009359B2 (en) Emulating multiple universal serial bus (USB) keys so as to efficiently configure different types of hardware
US20110119191A1 (en) License optimization in a virtualized environment
US20150193466A1 (en) Architecture and method for cloud provider selection and projection
Riahi et al. A multi-objective decision support framework for virtual machine placement in cloud data centers: a real case study
CN116324714A (zh) 将域特定语言与通用语言组合以用于无服务器网络功能
US20220138015A1 (en) Shared enterprise cloud
CN116235477A (zh) 识别用于部署网络功能的执行环境
CN116324712A (zh) 用于无服务器网络功能的域特定语言
US9720853B2 (en) Universal serial bus (USB) key functioning as multiple USB keys so as to efficiently configure different types of hardware
Gavanda et al. Mastering VMware vSphere 6.7: Effectively deploy, manage, and monitor your virtual datacenter with VMware vSphere 6.7
Gentzsch Linux containers simplify engineering and scientific simulations in the cloud
Han et al. Graph abstraction based Virtual Network management framework for SDN
Oh et al. A Survey on Microservices Use Cases for AI based Application on Hybrid Cloud
US11797284B2 (en) Composable deployer architecture
US10305733B1 (en) Defining software infrastructure using a physical model
US20230216888A1 (en) Identity Management Recommendations For Use of Existing Policies
Jiang et al. Research on the Deployment Strategy of Enterprise-Level JCOS Cloud Platform

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant