CN108370340A - 动态定义的混合云环境中的虚拟私有网络隧道 - Google Patents

动态定义的混合云环境中的虚拟私有网络隧道 Download PDF

Info

Publication number
CN108370340A
CN108370340A CN201680073245.4A CN201680073245A CN108370340A CN 108370340 A CN108370340 A CN 108370340A CN 201680073245 A CN201680073245 A CN 201680073245A CN 108370340 A CN108370340 A CN 108370340A
Authority
CN
China
Prior art keywords
vpn
cloud
vpn tunneling
tunneling
request
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
CN201680073245.4A
Other languages
English (en)
Other versions
CN108370340B (zh
Inventor
J·R·霍亚
N·纳加拉特纳姆
S·R·伊耶尔
K·K·卡帕蒂亚
R·K·穆瑟克瑞什纳恩
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN108370340A publication Critical patent/CN108370340A/zh
Application granted granted Critical
Publication of CN108370340B publication Critical patent/CN108370340B/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

Abstract

根据本公开,描述了一种用于在混合云环境中管理第一云和第二云之间的多个VPN隧道的方法,装置和计算机程序产品。VPN管理器从驻留在第一云中的第一云应用接收请求。该请求包括多个VPN隧道中的第一VPN隧道的第一组要求。所述请求被发送到第一云中的系统,其中第一系统根据第一组要求创建第一VPN隧道。VPN管理器接收与第一VPN隧道有关的事件。响应于所述事件,VPN管理器向包含第二组要求的第一系统发送修改请求。所述第一系统根据第二组要求调谐第一VPN隧道。第一VPN隧道的调谐可以包括将第一VPN隧道与第二VPN隧道合并,或将第一VPN隧道拆分成第一和第二VPN隧道。

Description

动态定义的混合云环境中的虚拟私有网络隧道
技术领域
本发明总体上涉及“云”计算环境中的通信。更具体地,涉及在混合云环境中动态创建虚拟专用网络隧道。
背景技术
新兴的信息技术(IT)传送模型是云计算,其通过互联网向计算机和其他设备按需提供共享资源,软件和信息。云计算可显着降低IT成本和复杂性,同时改进工作负载优化和服务交付。通过这种方法,应用实例可以托管并从基于Internet的资源中获得,这些资源可通过HTTP上的传统Web浏览器访问。示例应用可能是提供一组通用消息功能的应用,例如电子邮件,日历,联系人管理和即时消息。然后用户将通过互联网直接访问该服务。使用这项服务,企业可以将其电子邮件,日历和/或协作基础架构放入云中,以及最终用户可以使用适当的客户端访问他或她的电子邮件,或者执行日历操作。
云计算资源通常被容纳在运行网络应用的大型服务器农场中,或者使用硬件架构,所谓的裸机云托管,或者使用其中应用在虚拟服务器内运行的虚拟化架构,或者所谓的“虚拟机器“(VM),其映射到数据中心设施中的物理服务器上。虚拟机通常运行在管理程序之上,该管理程序是将物理资源分配给虚拟机的控制程序。
对于组织来说,已知的是将计算资源布置在混合云环境中,该混合云环境既包含其中计算资源为组织所拥有并且仅为该组织提供服务的私有云以及包含其中另一个组织为包括运营混合云的组织在内的多个“租户”提供计算服务的公共云。混合云模式的一个好处是拥有可直接访问的内部部署私有基础架构,同时在高需求时提供对公共云环境的访问。但是,通过这种集成,两种环境之间需要进行安全通信。通信建立的一种方式是通过专用的虚拟公共网络(VPN)隧道。
以下详细说明在混合云环境中改善VPN通信的方式。
发明内容
在下文中,描述了用于在混合云环境中管理第一云与第二云之间的多个VPN隧道的方法,装置和计算机程序产品。在本发明的第一方面中,由第一VPN管理器执行的方法管理多个VPN隧道。VPN管理器从驻留在第一云中的第一云应用接收请求。该请求包括多个VPN隧道中的第一VPN隧道的第一组要求。该请求被发送到第一云中的系统,其中第一系统根据第一组要求创建第一VPN隧道。VPN管理器接收与第一VPN隧道有关的事件。响应于该事件,VPN管理器向包含第二组要求的第一系统发送修改请求。第一系统根据第二组要求调谐第一VPN隧道。
在本发明的另一方面,包括处理器和容纳计算机程序指令的计算机内存的装置被用于管理多个VPN隧道。所述指令由所述处理器执行。这些指令包括从驻留在第一云中的第一云应用接收第一请求的程序代码。该请求包括用于多个VPN隧道中的第一VPN隧道的第一组要求。还包括将第一请求发送到第一云中的第一系统的程序代码。第一系统根据第一组要求创建第一VPN隧道。程序代码接收来自驻留在第一云中的第二云应用的第二请求。所述第二请求包括用于多个VPN隧道中的第二VPN隧道的第二组要求。程序代码将第二请求发送到第一云中的第一系统,其中第一系统根据第二组要求创建第二VPN隧道。程序代码然后接收与第一VPN隧道有关的事件。响应于该事件,程序代码向第一系统发送合并请求,以将第二VPN隧道合并到第一VPN隧道中。第一系统根据第二组要求调谐第一VPN隧道。
在本发明的另一方面,使用非暂时性计算机可读介质中的计算机程序产品管理多个VPN隧道。计算机程序指令包括从驻留在第一云中的第一云应用接收第一请求的程序代码。第一请求包括用于多个VPN隧道中的第一VPN隧道的第一组要求。程序代码将第一请求发送到第一云中的第一系统,其中第一系统根据第一组要求创建第一VPN隧道。程序代码接收来自驻留在第一云中的第二云应用的第二请求。第二请求包括用于多个VPN隧道中的VPN隧道的第二组要求。程序代码将第二请求发送到第一云中的第一系统,其中第一系统根据第二组要求修改第一VPN隧道。第一VPN隧道承载来自第一和第二云应用的流量。程序代码接收与第一VPN隧道有关的事件。响应于该事件,程序代码向第一系统发送拆分请求,以将第一VPN隧道拆分为第一VPN隧道和第二VPN隧道。第一系统根据用于第一应用的流量的第一组要求来调谐第一VPN隧道,以及根据用于第二应用的流量的第二组要求来调谐第二VPN隧道。
以上概述了所公开的主题的一些更相关的特征。这些特征应该被解释为仅仅是说明性的。通过以不同的方式应用所公开的主题或者通过如将描述的修改本发明,可以获得许多其他有益结果。
附图说明
为了更完整地理解本发明及其优点,现在参考以下结合附图的描述,其中:
图1描绘了其中可以实现本发明的说明性实施例的示例性方面的分布式数据处理环境的示例性框图;
图2是其中可以实现本发明的说明性实施例的示例性方面的数据处理系统的示例性框图;
图3示出了其中可以实现本发明的实施例的示例性云计算架构;
图4是本发明优选实施例的高级流程图;
图5示出了其中可以实施本发明的实施例的混合云环境;
图6示出了可以向管理员用户显示VPN隧道和VPN属性的图形用户界面;
图7A-7C分别描绘了改变属性,响应于用户应用需求的改变,合并VPN隧道和VPN隧道的拆分;
图8是本发明的一个实施例中的事件和日志管理的流程图;
图9是根据本发明的一个实施例的VPN隧道的创建和修改的流程图;和
图10描述了在由两个不同的VPN管理器基于联合模型管理的云环境之间创建VPN。
具体实施方式
混合云环境驱动对不同云托管环境之间的应用之间的安全通信的需求。随着应用和平台数量的增长,需要保护的通信路径数量迅速增加。如今,客户通常会安装专用VPN以在混合云环境中的不同云之间建立桥梁,但专用VPN会带来一些缺点,包括灵活性有限,并在环境中创建需要保护的大型通信洞(通过打开防火墙以允许通信)。对于比如跨混合云环境的事件管理等高度细粒度的需求,小型日志可能会从大量设备发送到中央服务器,然而传统的VPN选项需要在源设备和中央服务器之间打开广泛的通信信道远远超过了传输少量数据所需的通信信道。本发明提供了基于用于混合云环境的应用要求和拓扑要求比现有技术解决方案提供更高度调谐的VPN的手段。
“混合云环境”是云环境,其既包含其中计算资源被组织拥有并且仅为该组织提供服务的私有云和其中另一个组织为包括该组织在内的多个“租户”提供计算服务的公共云。
“节点”可以是能够通过网络中的通信信道发送,接收或转发信息的任何电子设备,客户端,服务器,对等端,服务,应用或其他对象。
“VPN代理”是管理作为隧道的端点的两个节点之一处的VPN隧道的应用。
“VPN管理器”是管理混合云环境中的VPN隧道的基础架构的云应用。在优选实施例中,VPN管理器还管理VPN代理的基础架构,VPN代理反过来管理各自的VPN隧道。
“VPN隧道”是两个节点之间的通信信道,其通过根据任何合适的加密隧道协议封装数据的互联网协议(IP)分组来传输数据。
现在参考附图并且具体参考图1和2。图1-2,提供了其中可以实现本公开的说明性实施例的数据处理环境的示例性图。应该理解的是,图1-2仅仅是示例性的,并非旨在声明或暗示关于可实现所公开的主题的方面或实施例的环境的任何限制。在不脱离本发明的精神和范围的情况下,可以对所描绘的环境进行许多修改。
现在参考附图,图1描绘了其中可以实现说明性实施例的各方面的示例性分布式数据处理系统的图形表示。分布式数据处理系统100可以包括其中可以实现说明性实施例的各方面的计算机网络。分布式数据处理系统100包含至少一个网络102,其是用于在分布式数据处理系统100内连接在一起的各种设备和计算机之间提供通信链路的介质。网络102可以包括连接,诸如有线,无线通信链路或光纤电缆。
在所描绘的示例中,服务器104和服务器106连同存储单元108连接到网络102。另外,客户端110,112和114也连接到网络102。这些客户端110,112和114可以例如是个人计算机,网络计算机等。在所描绘的示例中,服务器104向客户端110,112和114提供诸如引导文件,操作系统映像和应用的数据。在所示示例中,客户端110,112和114是服务器104的客户端。分布式数据处理系统100可以包括附加的服务器,客户端和未示出的其他设备。
在所描绘的示例中,分布式数据处理系统100是因特网,其中网络102表示使用传输控制协议/因特网协议(TCP/IP)协议套件来相互通信的网络和网关的全球集合。互联网的核心是主要节点或主计算机之间的高速数据通信线路的骨干,由成千上万路由数据和消息的商业,政府,教育和其他计算机系统组成。当然,分布式数据处理系统100还可以被实现为包括多个不同类型的网络,例如内联网,局域网(LAN),广域网(WAN)等等。如上所述,尽管图1意在作为示例,而不是作为所公开的主题的不同实施例的架构限制,并且因此,图1中所示的特定元件不应被认为是对可以实施本发明的说明性实施例的环境的限制。
现在参照图2,示出了其中可以实现本发明的说明性实施例的各方面的示例性数据处理系统的框图。数据处理系统200是诸如图1中的客户端110之类的计算机的示例,实现用于本发明的说明性实施例的过程的计算机可用代码或指令可以位于其中。
现在参考图2,示出了其中可以实现本发明的说明性实施例的数据处理系统的框图。数据处理系统200是诸如图1中的服务器104或客户端110之类的计算机的示例,用于说明性实施例的实现这些过程的计算机可用程序代码或指令可以位于其中。在该说明性示例中,数据处理系统200包括通信结构202,其提供处理器单元204,存储器206,永久性存储器208,通信单元210,输入/输出(I/O)单元212和显示器214之间的通信。
处理器单元204用于执行可以加载到存储器206中的软件的指令。取决于具体实现,处理器单元204可以是一个或多个处理器的一组或者可以是多处理器核心。此外,处理器单元204可以使用一个或多个异构处理器系统来实现,其中主处理器与单个芯片上的辅助处理器一起存在。作为另一说明性示例,处理器单元204可以是包含相同类型的多个处理器的对称多处理器(SMP)系统。
存储器206和持久性存储器208是存储设备的示例。存储设备是指能够临时存储信息和/或永久存储信息的任何硬件。在这些示例中,存储器206可以是例如随机存取存储器或任何其他合适的易失性或非易失性存储设备。根据特定的实施方式,永久性存储器208可以采取各种形式。例如,持久性存储器208可以包含一个或多个组件或设备。例如,持久存储器208可以是硬盘驱动器,闪存,可重写光盘,可重写磁带或上述的某种组合。永久存储器208使用的媒体也可以是可移除的。例如,可移动硬盘驱动器可以用于永久存储器208。
在这些示例中,通信单元210提供与其他数据处理系统或设备的通信。在这些例子中,通信单元210是网络接口卡。通信单元210可以通过使用物理和无线通信链路之一或二者来提供通信。
输入/输出单元212允许与可以连接到数据处理系统200的其他设备进行数据的输入和输出。例如,输入/输出单元212可以通过键盘和鼠标为用户输入提供连接。此外,输入/输出单元212可以将输出发送到打印机。显示器214提供了向用户显示信息的机制。
用于操作系统和应用或程序的指令位于永久存储器208上。这些指令可以被加载到存储器206中以供处理器单元204执行。不同实施例的过程可以由处理器单元204使用计算机实施的指令执行,计算机实施的指令可以位于诸如存储器206的存储器中。这些指令被称为程序代码,计算机可用程序代码或计算机可读程序代码,其可以由处理器单元204中的处理器读取和执行。不同实施例中的程序代码可以体现在不同的物理或有形的计算机可读介质上,例如存储器206或持久存储器208。
程序代码216以功能形式位于计算机可读介质218上,该计算机可读介质218可选择性地移除并且可以被加载或传送到数据处理系统200以由处理器单元204执行。程序代码216和计算机可读介质218在这些例子中形成计算机程序产品220。在一个示例中,计算机可读介质218可以是有形的形式,例如插入或放置在作为永久存储装置208的一部分的驱动器或其他装置中的光盘或磁盘,用于传输到存储器设备,诸如作为永久性存储器208的一部分的硬盘驱动器。在有形的形式中,计算机可读介质218还可以采取持久性存储器的形式,诸如连接到数据处理系统200的硬盘驱动器,拇指驱动器或闪存。计算机可读介质218的有形形式也被称为计算机可记录存储介质。在一些情况下,计算机可记录介质218可能不可移除。
可选地,程序代码216可以通过到通信单元210的通信链路和/或通过到输入/输出单元212的连接从计算机可读介质218传送到数据处理系统200。通信链路和/或连接在说明性示例中,可以是物理的或无线的。计算机可读介质还可以采取非有形介质的形式,例如包含程序代码的通信链路或无线传输。针对数据处理系统200示出的不同组件不意味着对可以实现本发明的不同实施例的方式提供架构限制。本发明的不同说明性实施例可以在数据处理系统中实现,所述数据处理系统包括除了数据处理系统200所示的那些之外或代替数据处理系统200所示的那些组件的组件。图2所示的其他组件可以与所示的说明性示例不同。作为一个示例,数据处理系统200中的存储设备是可以存储数据的任何硬件设备。存储器206,永久存储器208和计算机可读介质218是有形形式的存储设备的示例。
在另一个示例中,总线系统可以用于实现通信结构202并且可以包括一个或多个总线,诸如系统总线或输入/输出总线。当然,总线系统可以使用任何合适类型的架构来实现,该架构提供了连接到总线系统的不同组件或设备之间的数据传输。另外,通信单元可以包括用于发送和接收数据的一个或多个设备,诸如调制解调器或网络适配器。此外,存储器可以是例如存储器206或诸如在可能存在于通信结构202中的接口和存储控制器集线器中找到的高速缓存。
用于执行本发明的操作的计算机程序代码可以以一种或多种程序设计语言的任何组合来编写,所述程序设计语言包括面向对象的程序设计语言,诸如JavaTM,Smalltalk,C++,C#,Objective-C或者类似的,以及传统的程序编程语言。程序代码可以完全在用户的计算机上,部分在用户的计算机上,作为独立的软件包,部分在用户的计算机上并且部分在远程计算机上,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(LAN)或广域网(WAN),或者可以连接到外部计算机(例如,通过使用互联网服务提供商的互联网)。
本领域的普通技术人员将会理解,图1-2中的硬件可能会根据实施情况而有所不同。其他内部硬件或外围设备(例如闪存,等效非易失性存储器或光盘驱动器等)可用作图1-2中所示的硬件的附加或替代。而且,在不脱离所公开的主题的范围的情况下,本发明的说明性实施例的过程可以应用于除了先前提到的SMP系统之外的多处理器数据处理系统。
如将看到的,本文所描述的技术可以在诸如图1中所示的标准客户端-服务器范例内结合操作,其中客户端机器与在一台或多台机器上执行的互联网可访问的基于Web的门户进行通信。最终用户操作能够访问门户并与其交互的可连接因特网的设备(例如台式计算机,笔记本电脑,支持因特网的移动设备等)。通常,每个客户机或服务器机器是如图2所示的数据处理系统,包括硬件和软件,并且这些实体通过诸如因特网,内联网,外联网,专用网络或任何其他通信介质或链路的网络相互通信。数据处理系统通常包括一个或多个处理器,操作系统,一个或多个应用以及一个或多个实用程序。数据处理系统上的应用为Web服务提供本地支持,包括但不限于支持HTTP,SOAP,XML,WSDL,UDDI和WSFL等。有关SOAP,WSDL,UDDI和WSFL的信息可从万维网联盟(W3C)获得,万维网联盟负责开发和维护这些标准;有关HTTP和XML的更多信息可以从Internet Engineering Task Force(IETF)获得。假定熟悉这些标准。
云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。这些都是在2009年10月7日由Peter Mell和Tim Grance在“Draft NIST Working Definitionof Cloud Computing”中更具体描述和定义的。
具体而言,以下是典型的特征:
按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理PDA)对云的使用。
资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。
可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
服务模型通常如下:
软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。
平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。
部署模型通常如下:
私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。
共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。
混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。
代表性的云计算节点如以上的图2所示。具体而言,在云计算节点中存在计算机系统/服务器,其可与众多其它通用或专用计算系统环境或配置一起操作。众所周知,适于与计算机系统/服务器一起操作的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任意系统的分布式云计算技术环境,等等。
计算机系统/服务器可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定的任务或者实现特定的抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。计算机系统/服务器可以在通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
现在参考图3,通过附加的背景,示出了由云计算环境提供的一组功能抽象层。首先应当理解,图3所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图3所示,提供下列层和对应功能:
硬件和软件层300包括硬件和软件组件。硬件组件的例子包括:主机,例如系统;基于RISC(精简指令集计算机)体系结构的服务器,例如IBM系统;IBM 系统;IBM 系统;存储设备;网络和网络组件。软件组件的例子包括:网络应用服务器软件,例如IBM 应用服务器软件;数据库软件,例如IBM 数据库软件。(IBM,zSeries,pSeries,xSeries,BladeCenter,WebSphere以及DB2是国际商业机器公司在全世界各地的注册商标)。
虚拟层302提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器、虚拟存储、虚拟网络(包括虚拟私有网络)、虚拟应用和操作系统,以及虚拟客户端。
在一个示例中,管理层304可以提供下述功能:资源供应功能:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能:为根据SLA预测的对云计算资源未来需求提供预先安排和供应。
工作负载层306提供云计算环境可能实现的功能的示例。在该层中,可提供的工作负载或功能的示例包括:地图绘制与导航;软件开发及生命周期管理;虚拟教室的教学提供;数据分析处理;交易处理;以及其他(例如,私有云中的企业特定功能)。
预先理解的是,尽管这里包括的是关于云计算的详细描述,但是本文引用的教导的实现不限于云计算环境。相反,本发明的实施例能够结合现在已知或以后开发的任何其他类型的计算环境来实现。
混合云环境驱动对不同主机环境之间的应用之间的安全通信的需求。随着应用和平台数量的增长,安全通信路径的数量迅速增长。现有技术专用VPN在需要保护的环境中创建大型通信信道。许多传输需求都是高度细化的需求,例如事件管理,其中日志数据从许多设备发送到中央服务器;传统的VPN使用广泛的通信渠道,这是不必要的,并且存在安全风险。在云之间传输少量数据的应用的其他示例包括尝试基于周期性地同步数据的应用,例如一个月一次,或者监视发送常规但少量数据的应用。
现有技术的软件VPN可以通过为特定应用或特定云创建通信路径来部分解决该问题,然而,基于应用的解决方案通常仅应用于单个应用,可能难以管理,难以监视,并且没有利用规模效率。
本发明的实施例包括基于来自多个应用的应用需求动态部署和重新配置高度调谐的VPN并为混合云环境提供最佳拓扑的系统。
在高层次上,本发明的实施例的一般过程在图4中示出。如步骤401所示,云应用(无论它们在私有云还是公共云中)与中央VPN管理器交互以请求隧道创建。中央VPN管理器可以安装在公共云或私有云中,并作为SaaS,PaaS或IaaS能力提供给组织。为了简单起见,显示了单个云应用请求产生的流程。然而,在本发明的一个优选实施例中,多个云应用将同时与VPN管理器交互,图4中描述的过程对于各自的应用可能处于不同的阶段。在步骤403中,请求创建VPN隧道的应用提供对VPN隧道的期望要求,例如协议,端口,带宽限制以及其他特性,例如安全质量和吞吐量能力。
接下来,在步骤405中,VPN管理器提供VPN端点代理或简称为“VPN代理”,以安装在请求机器或同一云中的另一台机器上。在本发明的优选实施例中,VPN代理然后被安装在目标机器中。VPN端点代理可能略有不同,以适应请求机器的要求,例如,基于Linux的系统与基于iOS的系统。在本发明的一些实施例中,VPN代理可以是专用的,以不同类型配置,并且分配给特定VPN隧道的VPN代理的类型根据VPN隧道的请求质量和能力而变化。在本发明的其他实施例中,使用通用的全功能VPN代理,其可以提供各种VPN隧道类型。取决于请求是否是应用的,或是否是驻留在同一台计算机上的其他应用提出了先前的请求,VPN代理可能已经存在于端点或附近的机器。此外,本发明的实施例将现有的代理(例如Chef代理)或API用于现有的VPN控制器,而不是部署VPN代理。因此,在本发明的许多实施例中,步骤405是可选的。在步骤407中,VPN代理与VPN管理器通信以接收应用先前请求的部署配置细节,并且根据那些细节部署VPN隧道。
如步骤409所示,请求应用可以在整个VPN隧道的应用生命周期中改变期望的,请求的安全质量和吞吐量能力。VPN隧道的“调谐”可以改变隧道的安全性和其他能力,或者如下面所讨论的,可能涉及合并或拆分VPN隧道以适应云应用变化的需求。例如,在改变VPN隧道的特性的情况下,VPN管理器可以指示VPN代理将VPN隧道从在部署期间使用的大型VPN管道,双向,快速安全协议隧道改变为用于生产的小型单向,非常安全的的VPN管道的VPN隧道。VPN网络可以通过仅允许在最少数量的VPN隧道上的授权的应用所需的流量和权限来优化安全性。可以通过提供更多的VPN隧道来提高流量性能,增加允许的带宽,而可能的代价是安全性。在本发明的一个优选实施例中,应用将与VPN管理器通信,并且VPN管理器又将与VPN隧道的两个端点上的VPN代理通信。这一步,即动态改变VPN隧道的吞吐量和安全质量,可以在整个应用生命周期中重复。
如步骤411所示,应用可以向VPN管理器提供VPN过滤器插件。VPN过滤器将用于过滤通过VPN隧道的流量。通常,通过列出允许或拒绝用于哪些IP/端口的ACL字段,在流量退出VPN隧道之后和流量进入VPN隧道之前,VPN筛选器提供了允许或拒绝流量的能力。该步骤可以作为请求步骤403的一部分或稍后作为改变的安全质量的一部分来完成,例如作为步骤409中的改变请求的一部分。在步骤403中最初请求的VPN过滤器可以由以后请求的VPN过滤器替代或补充。请求新VPN过滤器的这一步可以在整个应用生命周期中重复。当VPN隧道与其他VPN隧道合并或拆分为多个VPN隧道时,响应于来自共享VPN隧道通信带宽的其他应用的请求,可以修改特定VPN隧道上的VPN过滤器。
如步骤413所示,通过事件和流量记录,VPN管理器提供对VPN配置的可视性。在本发明的最优选实施例中,提供事件记录。在本发明的一些实施例中,也提供流量记录。在本发明的一个优选实施例中,事件和流量记录是与VPN管理器有关的审计事件。在本发明的其他实施例中,与连接到其他应用的应用相关的事件可以经由VPN代理记录。例如,VPN代理可以记录应用使用的带宽,包括带宽历史记录。在其他实施例中,应用通信流量可以由代理记录。安全相关事件将由安全运营中心(SOC)用于监视安全漏洞。下面结合图8更详细地描述事件和流量记录。
在本发明的优选实施例中,在步骤415,如所需要的,VPN管理器将路由并重新路由通过现有VPN代理的流量并且部署新的VPN代理以优化流量流。响应于检测到的流量下降,例如使用可用的被存储和监控的流量日志,如果两个VPN隧道上流量的安全要求是兼容的,则VPN管理器可以指示VPN代理合并VPN隧道。检测可以在监控应用流量的VPN代理处执行。或者,响应于运行良好的应用,合并VPN隧道可能向VPN管理器发送消息,说明它已经从部署阶段过渡到生产阶段,因此需要更少的带宽。VPN管理器确定鉴于预计的需求减少,有机会合并VPN隧道。或者,新的或现有应用的新请求可能会导致新的VPN代理被创建,以处理新的预期负载或需求。应用的安全需求可能随应用生命周期而变化,这可能需要新的VPN代理。这一步骤可能需要将不同的VPN代理重新分配到不同的VPN隧道,去除不需要的VPN代理,并创建和提供新的VPN代理来处理合并的VPN隧道,或者如果有新的流量,处理新的VPN隧道。
同样如步骤417所描述的,因为应用在应用的生命周期期间做出的请求,被监视的流量改变,或者由于应用驻留在其上的机器中的改变,可能需要重新配置VPN隧道。随着应用拓扑的变化和机器的移动,VPN管理器将指示VPN代理根据需要重新配置,合并和拆分VPN。在本发明的优选实施例中,“拆分”VPN隧道涉及将来自现有应用或先前由单个VPN隧道处理的机器的流量重新路由到两个VPN隧道。相比之下,添加或创建新的VPN隧道会遇到来自应用的新的应用请求,该应用以前未由VPN管理器服务,但仅涉及来自新源的流量。VPN隧道的拆分可以包含来自新源的流量,但要被视为拆分,每个VPN隧道上的一些流量必须来自现有源。一定程度上,VPN隧道的重新配置以及重新配置VPN代理的前一步骤是类似的步骤,因为VPN代理可能需要重新配置并与VPN隧道同时重新分配,然而,在附图中为了清楚,重新配置VPN代理和重新配置VPN隧道作为单独的步骤示出。
在本发明的优选实施例中,VPN管理器的能力与端点处的VPN代理一致包括在混合云环境内的不同云之间创建新的VPN隧道的能力。VPN管理器能够配置隧道策略,例如带宽阈值(最小和最大值)以及安全策略。VPN管理器具有与其他管理其他云环境的VPN管理器联合的能力。响应于新的请求,应用生命周期的变化,流量或网络重新配置的变化或为现有VPN隧道动态配置VPN隧道规范,VPN管理器可以通过动态地合并或拆分VPN隧道,来优化VPN隧道基础架构。VPN管理器使用VPN隧道策略来决定是否允许建议的优化,以及现有VPN隧道基础架构是否可以适应新的VPN服务请求,或者是否需要合并、添加、拆分或重新配置VPN隧道。
创建和维护VPN隧道在现有技术中是众所周知的。VPN隧道可根据管理员或请求应用指定的要求创建。VPN隧道可以由软件应用或专用硬件设备创建。本发明解决的问题是,一旦创建,现有技术的VPN隧道就是静态的,并且不适应云环境中的变化,例如应用生命周期变化和网络拓扑变化。由于其静态特性,现有技术的VPN隧道比本发明的实施例呈现更多的安全风险。本发明的优选实施例调谐VPN隧道的基础架构以仅允许整个混合云环境内的云环境之间的必需流量。
以下提供了对本发明的选定说明性实施例的更详细描述。
如图5所示,本发明的一个优选实施例用于混合云环境中,该混合云环境集成托管私有云的内部基础架构501,IaaS基础架构503上的云工作负载以及SaaS环境505中的应用。该图还描绘了VPN管理器508在通用云环境507中操作。VPN管理器508驻留在其中的通用云环境507可以是私有云或公共云。机器A-D显示为驻留在IaaS基础架构501中,机器E和F显示在SaaS环境505中,机器GJ显示在私有云501中,机器K和L显示在通用云环境507中。日志和事件管理器512显示为驻留在机器M上。VPN管理器508或者驻留在机器K上或者驻留在机器L上。
如图5所示,根据本发明的说明性实施例配置VPN隧道509和511。在本发明的这个实施例中,管理员正在使用用户界面配置VPN隧道。在本发明的其他实施例中,VPN管理器可识别的应用直接向VPN管理器发出请求。管理员使机器A联系VPN管理器508并且向机器M请求VPN隧道连接511,以便可以将日志和事件信息报告给日志和事件管理器512。作为该请求的一部分,机器A提供对于VPN隧道的期望的要求513:
PROTOCOL:SYSLOG
端口:541
来源:10.1.1.5
目标:9.1.2.20
带宽:没有限制
过滤器:A(/^app1[a-z]{0,10}$/)
安全政策A
本领域技术人员将会理解,可以给出其他参数作为VPN隧道要求,并且这些仅仅是说明性的。
包含安全策略是可选的。安全策略很可能会被VPN管理器识别的应用包含。代替所提供的安全策略,VPN管理器将根据请求机器或应用提供的要求构建安全策略。此外,用于混合云环境内的各个云之间的通信可能存在默认的安全策略。如果默认安全策略与提供的或构建的安全策略之间发生冲突,则VPN管理器可能会通过用户界面向管理员发出警报,或者有解决此类冲突的规则,例如,提供的安全策略优先于默认安全策略。尽管在本发明的实施例中可以使用安全需求和安全策略,但是在本发明的优选实施例中,这些术语具有以下含义。“安全要求”是请求机器要求存在于VPN隧道中的安全类型参数。安全要求的例子包括要使用的VPN协议和加密安全协议。“安全策略”将指出如何在VPN隧道中使用安全要求。VPN只能使用请求者指定的安全要求,这可能是命令。作为另一个例子,如果请求者指定了安全要求,那么兼容协议的有限子集如果由另一个请求者请求或由另一个VPN隧道使用,这将形成候选人加入现有VPN隧道或合并VPN隧道的基础。或者,安全策略可以是宽容的,允许来自相同云的请求者指定的任何安全需求包含在VPN隧道中,但如果不是由授权的机器请求,则没有其他安全协议。作为另一个例子,安全策略可以声明某些安全要求在同一个VPN隧道中不兼容。因此,可以使用“安全策略”来评估多个应用或多个VPN隧道的“安全需求”是否兼容。
在本发明的一个优选实施例中,如果VPN管理器508先前未与机器M联系,则VPN管理器508等待来自机器M的连接。在该实施例中,管理员向VPN管理器注册机器M。响应于请求或注册,VPN管理器508分别在机器M和机器A上安装VPN代理515、517。接下来,通过安装的VPN代理515、517进行操作,VPN管理器508利用机器A请求513(系统日志,端口,单向,带宽等)中的指定参数来配置机器A与机器M之间的VPN 511。也就是说,VPN管理器508向VPN代理(或其他现有实体)执行的VPN代理发布指令和配置要求。如本领域技术人员所知,VPN隧道将使用选定的VPN安全技术,诸如互联网协议安全性(IPsec),安全套接字层/传输层安全性(SSL/TLS)或多协议标签交换(MPLS)以保护隧道。其他VPN安全协议包括数据报传输层安全(DTLS),Microsoft点对点加密(MPPE)和安全外壳(SSH)协议。机器A中的VPN安全要求可包括VPN安全协议的选择以及根据不同的加密标准(例如支持数据加密标准(DES)/三重DES(3DES)和具有不同的密钥大小或多播或组加密标准的高级加密标准(AES))加密数据的能力。VPN安全要求可以包括在加密之前根据诸如Lempel-Ziv-Stac(LZS)之类的标准压缩数据的能力。
管理员接下来具有机器B联系VPN管理器并请求到机器M的VPN连接。作为该请求的一部分,机器B为VPN提供期望的要求519:
议定书:SCP
端口:22
来源:10.1.1.5
目标:9.1.2.20
带宽:没有限制
过滤器:B(/^app2[a-z]{0,30}$/)
安全政策B
响应于该请求,VPN管理器508在机器B上安装VPN代理。VPN管理器识别源自机器A的预先存在的附近的VPN隧道511。在确定机器A和机器B的安全策略是兼容的之后,VPN管理器508通过机器B上的VPN代理配置机器B以将指定的流量发送到机器A。指定的流量是安全策略允许的流量。例如,某些安全策略可能只允许http流量,而不允许VPN通道上的ftp流量。然后,VPN管理器508重新配置A到M VPN隧道511以包括来自机器B要求519的VPN过滤器。以这种方式,来自一个机器的现有VPN隧道511可以被重新配置,以传递来自相同云503中的另一台机器的流量。产生的VPN隧道511具有以下属性521:来自两个源的单向,两个分组类型(每个应用一个),两个协议(系统日志和SCP)。用于VPN隧道的聚合VPN过滤器具有更多权限,因为它现在允许来自两个源和两个分组类型的流量,但是,在本发明的优选实施例中,VPN过滤器仍然检查正确的分组类型是来自正确的机器。
在本发明的这个说明性实施例中,VPN管理器508可以管理多于两个的其中的组织具有机器的云之间的VPN隧道。继续该示例,管理员请求创建来自机器F的从SaaS环境505中的通用SaaS应用到私有云501中的日志和事件管理器512的VPN隧道。管理员或通用SaaS应用所有者使用管理员提供的凭据向VPN管理器发出请求以创建VPN通道。该请求包含VPN期望的要求523:
议定书:SCP
端口:80
来源:15.1.1.5
目标:9.1.2.20
带宽:没有限制
过滤器:C(/^app3[a-z]{0,50}$/)
响应于该请求,VPN管理器508在机器F上安装VPN代理522.通过VPN代理522,VPN管理器508用来自初始请求523的指定过滤器来配置机器F和机器M之间的VPN隧道。
在本发明的该说明性实施例中,机器A和B通过VPN隧道511向机器M上的日志和事件管理器提供日志和事件数据,并且机器F通过VPN隧道509提供这样的数据。如图所示,位于同一地点的机器G和I还向日志和事件管理器提供日志和事件数据。由于机器G和I可以通过私有云501中的私有网络与机器M直接通信,所以不需要涉及VPN管理器508。
上述步骤提供了VPN隧道的初始配置的说明性示例。正如下面将要讨论的那样,随着应用在其生命周期中的需求发生变化,运行良好的应用可以发出更多请求以更改隧道所需的参数。例如,在部署或其他高使用率期间,应用将需要通过隧道的高带宽。例如,在其他时间,日常监控期间,应用将需要较低的带宽。应用可以发出更改请求带宽的更多请求。在本发明的替代实施例中,管理VPN隧道的VPN代理可以监视来自一组应用的流量。如果受监视的流量远低于请求的数量,则VPN代理或VPN管理器可以识别将隧道与其他合适的隧道合并的机会,或者为低带宽重新配置隧道。在生命周期结束时,例如卸载应用时,作为卸载过程的一部分,一个运行良好的应用将通知VPN管理器不再需要VPN隧道。应用的安全需求也可以在其生命周期中改变。在本发明的其他实施例中,事件和日志记录信息被呈现给管理员,该管理员可以基于从事件和日志记录信息感知到的应用生命周期改变来发出用于改变VPN代理和VPN隧道配置的请求。
图6描绘了由VPN管理器提供的样本仪表板中的图形用户界面600中的管理员视图的一个实施例。本领域技术人员将会理解,根据本发明的教导可以提供其他替代用户界面。在该视图中,紧接着结合图5描述的初始配置之后,示出了VPN隧道的当前状态视图。在当前状态视图的这个实施例中,仅示出了现有的VPN隧道,通过VPN隧道和使用VPN隧道的机器连接的云,而不是混合云环境中的其他组件。当前状态视图的其他实施例将显示其他组件。专用网络601中的机器M被示出为分别通过VPN隧道611和VPN隧道609耦合到IaaS基础架构603和SaaS环境605。来自机器A的所请求的配置参数显示在面板613中,而来自机器B的所请求的配置参数显示在面板619中。VPN隧道611的结果VPN参数显示在面板621中。类似地,来自机器F的所请求的配置参数在面板623中示出,而用于VPN隧道609的结果VPN参数在面板625中示出。在一个优选实施例中,面板613、619、621、623和625中的每一个都可由系统管理员编辑。通过编辑所请求的配置参数面板613、619或623中的一个,向VPN管理器发出用于机器上运行的其中一个机器或应用所需的VPN特性的新请求。一旦该请求被执行,VPN特性的更新将显示在适当的VPN参数面板621或625中。
如果面板中没有足够的空间可用,将出现滚动控件,允许管理员浏览所有可用参数。不可编辑的参数可能以灰色的方式呈现。在本发明的优选实施例中设想了网络的其他视图。例如,可以呈现网络中的所有机器,以便可以创建新的VPN连接。点和拖曳机制可以用来定义新的隧道。为了响应管理员的点和拖动操作,可以在管理员可以编辑或提交的请求的配置面板中填入默认的可编辑参数。在另一个替代实施例中,可以呈现应用视图,示出了在每个环境中而不是在机器中运行的应用。
可以呈现警报。例如,在本发明的一个优选实施例中,VPN隧道611或VPN参数面板621以突出显示的方式呈现,指示管理员关注的动作。例如,界面中突出显示的两个隧道可能表示合并两个隧道以提供更有效的服务的机会。突出显示单个隧道可能表明吞吐量超过了隧道的容量,或者由于新的一组需求和对于由先前请求创建的隧道的已有VPN参数之间的冲突,现有隧道无法满足新的服务请求。如果管理员选择了突出显示的隧道,则可以在其他面板中显示其他详细信息,例如事件日志和导致警报的吞吐量。
VPN管理器将公开选项以手动添加,删除和重新配置VPN代理和VPN隧道。在本发明的一个优选实施例中,用户界面(UI)将是UI+REST API界面。基于Web的UI将使用REST API,或者外部应用可以直接使用REST API。
在图中,在图7A中,示出了VPN隧道的重新配置的说明性实施例。该示例示出了导致VPN管理器708改变混合云的VPN隧道基础架构的网络拓扑改变的示例。在这个例子中,它是从一个云中移除一台机器。其他网络拓扑变化包括添加或移除云应用,添加具有与另一机器相同的云应用的“克隆”机器,例如用于负载平衡,将云应用从一台机器移动到另一机器并移动云应用从一个云到另一个云,例如从私有云到公共云。在本发明的优选实施例中,这种类型的网络拓扑变化将作为“事件”发送到VPN管理器708,并且VPN管理器708或者将执行VPN隧道基础架构的自动重新配置或者作为VPN隧道重新配置的候选者的情况向管理员呈现警报。
如“X”所示,管理员从IaaS基础架构703中移除机器A,其触发由机器A处理的机器B流量的重新配置。当管理员开始移除机器A时,机器A上的VPN代理704联系云707中的VPN管理器。VPN管理器分析VPN隧道711中的组合的VPN连接,在这种情况下,源自机器A的VPN隧道711也处理来自机器B的流量。VPN管理器708指示机器B上的VPN代理712使用预先存在的要求,即来自机器B和已经使用VPN隧道711的IaaS基础架构703中的任何其他机器的现有要求来创建机器B到机器M的VPN隧道720。由于机器A正在被移除,所以它的要求都不相关。在为隧道设置VPN过滤器时,仅使用Machine B要求。在该图中,说明了请求VPN服务时机器B的要求。机器B已为VPN提供了期望的要求719:
协议:SCP
端口:22
来源:10.1.1.5
目标:9.1.2.20
带宽:没有限制
过滤器:B(/^app2[a-z]{0,30}$/)
安全政策B
如图所示,用于新VPN隧道720的VPN参数721不同于图5中所示的用于组合的VPN隧道511的参数521,或者这个图中的VPN隧道711。如“X”所示,VPN隧道711被移除。通过仅适应来自具有当前VPN隧道需要的已识别机器的请求参数,安全性是增加的。
图7A还可以用于讨论从机器A移除应用。在这种情况下,一旦创建新VPN隧道720,VPN管理器708可选地移除A到M VPN隧道711。还可选地,VPN管理器708卸载机器A上的VPN代理704。这些可选步骤产生一个性能良好的系统,并且当在机器A上没有驻留的订阅的授权的应用时,降低维护VPN隧道和VPN代理程序的安全风险。然而,本发明的备选实施例发明可以保持VPN隧道或VPN代理处于活动状态,以减少在向VPN管理器发出新的应用请求的情况下启动新的VPN代理的开销。
在本发明的实施例中,存在用于合并和拆分VPN隧道的规则集合。基于安全的规则涉及由VPN隧道服务或潜在地由VPN隧道服务的每个应用的安全要求或策略是否与其他应用的安全要求或策略兼容。合并VPN隧道将取决于由兼容的候选VPN隧道所服务的应用的安全要求。在本发明的实施例中,安全要求的兼容性基于应用的安全策略或用于云到云通信的VPN管理器的安全策略被解释。例如,如果一个VPN隧道仅允许http流量,另一个VPN通道由于应用安全策略而只允许ftp流量,则两个隧道不能合并。但是,如果两个隧道都允许http流量或所有流量,则可以合并它们。作为另一个例子,两个不同VPN隧道上的两个应用可能需要两种不同的安全或加密协议,并且VPN管理器的安全策略实际上用于两个云之间的通信需要使用单个加密协议。应用安全要求或策略可以防止vpn隧道的合并,否则可能会被合并,以提高吞吐量效率。
鉴于来自包含一组新安全要求的应用的新请求,鉴于兼容性规则当前VPN的评估可能导致当前VPN隧道被拆分。在本发明的优选实施例中,通过评估用于直接冲突的两个VPN隧道上的安全要求和VPN过滤器确定用于潜在合并的兼容性。如果发现冲突,则在本发明的一些实施例中,用户界面可将候选VPN隧道显示给管理员以显示使VPN隧道兼容所需的冲突和改变。通过这种方式,管理员可以从安全角度决定如下是否是可接受的:修改VPN过滤器,向当前VPN添加其他类型的流量或安全或加密协议。在本发明的实施例中VPN隧道可以被拆分的另一种情况是当安全需求改变使用共享VPN隧道的应用之一时。例如,如果应用现在想要传输除原始http流量之外的ftp流量,并且当前VPN隧道不允许ftp流量,则可以拆分VPN隧道。又例如,如果应用之一需要比当前VPN隧道更高级别的加密,则拆分当前VPN隧道可能是有意义的,而不是在所有流量上产生更高的开销。在本发明的其他实施例中使用用于基于安全的参数以外的参数的其他基于兼容性的规则。
另一组规则基于VPN隧道的带宽或吞吐量。例如,带宽规则可以基于带宽上的上限或下限。如果多个应用的流量超过了允许的隧道限制(带宽),则可以执行拆分VPN隧道。在这种情况下,VPN管理器则将分离隧道。如果一个或多个兼容的VPN隧道具有低于最小隧道带宽限制的带宽,则可以执行合并VPN隧道。
在图7B中,示出了合并VPN隧道的重新配置的说明性实施例。这个例子显示了机器A和B上的应用的需求由于带宽需求的减少已经发生了变化,从而允许VPN隧道711和720合并。另一种允许VPN隧道合并的情况是改变用于一个应用的安全协议,以便根据实际上的安全策略,新的一组安全协议是兼容的。如图所示,由于其他VPN隧道720可以适应总需求,VPN隧道711在云701和703之间正被移除。在本发明的优选实施例中,两个VPN隧道上的流量(除安全要求外)必须兼容合并。在本发明的优选实施例中,VPN管理器708从分配给机器A和机器B的VPN代理704和712接收信息。VPN管理器重新配置机器B上的VPN代理712以将机器B修改成机器M的VPN隧道720,增加需求,即来自已经使用VPN隧道711的机器A的现有需求。在图中示出了机器A需求739和机器B需求719。机器A为VPN隧道提供了期望的要求739:
协议:系统日志
端口:541
来源:10.1.1.5
目标:9.1.2.20
带宽:没有限制
过滤器:A(/^app1[a-z]{0,10}$/)
机器B已经为VPN提供了期望的要求719:
协议:SCP
端口:22
来源:10.1.1.5
目标:9.1.2.20
带宽:没有限制
过滤器:B(/^app2[a-z]{0,30}$/)
如图所示,用于修改的VPN隧道720的VPN参数751与支持单个应用时来自单个VPN隧道711和720的参数不同。通过仅适应来自识别的机器的请求参数,安全性得到提高。在该图中,机器A上的VPN代理704将来自机器A的流量转发给机器B上的VPN代理712,使得VPN隧道720可以处理组合流量。
在图7C中,示出了拆分VPN隧道720的说明性实施例。在这个例子中,VPN隧道720不再适用于处理来自机器A和机器B两者的通信。VPN隧道的拆分可以是管理员动作或由VPN管理器识别的应用的请求的结果,表明其需求已改变或即将改变。VPN管理器分析来自机器B的VPN隧道720中的组合VPN连接也处理来自机器A的流量并且可以通过用户界面向管理员显示警报。在这个例子中,从运行在机器A上的应用接收一组新的需求759,表明由于需要双向VPN隧道以及新的安全加密协议的更新而导致预期的需求增加。认识到这些新的要求759不能用VPN隧道720来满足,或者至少响应于新要求对VPN隧道720的修改不是最佳的,或者从安全或者从吞吐量的角度来看,VPN管理器708重新配置在机器A上的VPN代理704以使用新要求创建新机器A到机器M的VPN隧道763。因此,当来自机器A和机器B上的源的流量将由新VPN隧道基础架构中的两个VPN隧道服务时,旧VPN隧道720被“拆分”。
机器A为VPN隧道763提供期望的要求759:
协议:系统日志
加密协议:ECC
端口:541
来源:10.1.1.5
目标:9.1.2.20
带宽:不限双向
过滤器:A(/^app1[a-z]{0,10}$/)
机器B上的VPN代理712重新配置VPN隧道720,使其仅使用机器B的要求:
协议:SCP
端口:22
来源:10.1.1.5
目标:9.1.2.20
带宽:没有限制
过滤器:B(/^app2[a-z]{0,30}$/)
再次,通过仅容纳来自所识别的机器的所请求的参数,安全性增加,因此用于修改的VPN隧道720的新VPN参数761不同于图7B中所示的组合的VPN隧道720的参数751。7B。类似地,新创建的VPN隧道757的VPN参数763仅反映机器A的要求759。
图8是VPN管理器的事件报告和记录操作的流程图。事件和流量日志允许VPN管理器了解哪些应用正在与哪些其他应用进行通信。它还允许VPN管理器了解哪些云正在互连,哪些数据正被通信。事件报告和日志操作将允许安全操作中心(SOC)检测策略违规或安全漏洞。
在步骤801中,VPN管理器等待由VPN代理报告的事件。当接收到事件时(步骤803),记录事件(步骤805)。在步骤807,VPN管理器确定接收的事件是否触发规则。为了触发规则,最近接收到的事件可能需要与已经记录的事件相关联。如前所述,规则的一个例子是流量阈值规则。如果VPN上的流量超过或预计超过阈值,则VPN管理器将向VPN代理发出指令,将单个VPN隧道拆分为两个隧道。另一个流量阈值规则是最小流量规则。如果相邻VPN隧道的流量低于阈值,则VPN管理器可以向VPN代理发出指令以合并VPN隧道。规则的另一个例子是安全相关规则。如果出现与VPN隧道相关的安全事件,则VPN管理器可以向VPN代理发出指令以改变隧道的安全参数。例如,用于由VPN隧道服务的一个机器的所检测的入侵事件经历了有待进一步审查的有问题的事件。因此,VPN管理器可以向该隧道的VPN代理发出指令以更密切地监视来自机器的事件或者拆分VPN隧道,以便可以监视来自受影响机器的事件,即监视来自新隧道的所有事件,同时允许来自其他未受影响的机器的事件具有较低的入侵检测开销。
如果该事件是由VPN管理器可识别的应用所做的修改请求,则默认规则可以遵从该请求。在这种情况下,VPN管理器将向与修改请求一致的VPN代理发出指令。另一个规则是评估修改请求是否与适用于VPN隧道的安全策略一致,如果不一致,则提醒管理员采取进一步的行动。
如果规则已被事件触发,在步骤809中,VPN管理器将向VPN代理发出指令以适当地调谐VPN隧道。如上所述,调谐VPN隧道包括修改VPN隧道上的参数,合并VPN隧道或将VPN隧道拆分为两个或更多VPN隧道。在本发明的一个优选实施例中,规则将在用户界面中触发警报以允许管理员确认和/或修改对于VPN代理的指令。该过程返回以在步骤801中等待新事件。
图9示出了根据本发明的一个实施例的优化流量流,合并和拆分VPN的过程。该过程从步骤901开始,VPN管理器监视现有的VPN隧道。该步骤包括监视吞吐量和上面结合图8描述的事件。在一个优选实施例中,步骤903,在每个隧道端点和订阅机器和/或应用处建立的VPN代理将相关信息报告给VPN管理器。VPN管理器需要向VPN代理通信的任何指令也在这一步被传送。VPN管理器将向VPN代理通信的指令示例包括:哪个VPN隧道用于来自给定应用或机器的流量,哪个端点(例如,应用)与VPN隧道连接,具有什么过滤器设置,VPN代理和代理配置相关数据等等。
在步骤905中,基于所接收的信息,判断是否指示对现有VPN基础架构的改变。肯定的决定可以基于许多因素。首先,如上所述,可能会有基于新的管理员或应用的请求用于对VPN隧道设置的改变。新请求可能与用于新应用或新机器的新连接有关,或者与已订阅的计算机之间的现有VPN隧道的改变有关。第二,改变可以由VPN代理的吞吐量测量来指示。VPN隧道最初可能由应用在应用生命周期的部署阶段创建,在这个阶段中存在高带宽需求。因此,为了提供所需的带宽,创建单独的VPN隧道。后来,在应用生命周期的生产阶段,应用的带宽需求较低,因此,如果安全要求在应用之间兼容,则可以合并VPN隧道。第三,在应用生命周期结束时,当应用被删除时,该应用的VPN隧道和VPN代理可以被删除或修改,以仅支持仍驻留在终点的应用。VPN代理报告VPN隧道未被充分利用,因此可以与其他VPN隧道合并。VPN管理器具有在其控制下的所有现有VPN隧道的映射,发布用于合并的所需命令,例如,将要关闭的VPN隧道的现有需求集发送到控制第一VPN隧道的第一VPN代理以保持打开状态,将第一VPN隧道的VPN特性改变为这些新要求的命令,将来自当前控制将要关闭的第二VPN隧道的第二VPN代理的通信代替地转发给第一VPN代理的命令等等。
该改变可能是由于新的带宽或安全需求而需要拆分VPN隧道的指示。以前合并的VPN隧道往往是用于拆分成多个隧道的主要候选者。在应用生命周期期间,例如在更新期间或响应于指示的一个云应用的入侵,即需要特殊安全处理,可能存在带宽或安全需求发生变化的时段。VPN隧道需要拆分的另一个原因是由于其他机器或应用的新请求。假设在上面参照图5描述的例子中,VPN隧道511足以为机器A和机器B提供服务,然而,用于机器C和D的VPN服务提出了应用或管理员请求,并且单个VPN隧道无法满足所有四台机器的带宽要求。一种选择可能是创建服务机器C和D的新VPN隧道。然而,VPN管理器可能会确定用于机器A和C的要求比机器A和B更加兼容,因此拥有一个VPN隧道服务机器A和C以及第二VPN隧道服务B和D将是最有效的。如果未指示改变,则步骤901,过程返回到监视VPN隧道。
在步骤907中,确定是否可以使用现有的一组VPN隧道来完成改变。一般来说,它会更有效率,并且所维护的两个云之间的VPN隧道越少,云对安全攻击的漏洞将更小。比较所请求的带宽,当前带宽和当前隧道的可用带宽。对现有的和请求的安全参数进行比较以确定各个应用所请求的安全参数的兼容性。如果可以使用现有的VPN隧道,包括合并现有的VPN隧道,现有的VPN代理被发布期望的要求以对VPN隧道进行任何需要的改变。如果可以使用VPN隧道,则很可能已经在请求的机器中安装了VPN代理。然而,如果需要新的VPN代理,例如在本发明的使用专用VPN代理而不是通用VPN代理的实施例中,在步骤911,VPN管理器将它们发送到机器端点。然后,步骤901,过程继续监视现有的VPN基础架构。
另一方面,如果所述改变需要新的VPN隧道,则在步骤913,过程确定是否已经安装了VPN代理。如果不是,则在步骤915中,VPN管理器将新的VPN代理发送到需要它的端点。在步骤917中,通过新的和/或现有的VPN代理创建新的VPN隧道。新的VPN隧道可能被认为是现有隧道的拆分。该过程然后返回到步骤901以监视VPN用于可能的改变的基础架构。
在本发明的优选实施例中,中央VPN管理器由单个系统或云提供者控制。例如,在云环境中,IaaS和PaaS提供商在这些环境中提供本发明实现的VPN功能是有价值的。
可以使用联合模型,其中一个VPN管理器由一个云提供者提供,并且云提供者使用类似于联合身份(OAuth,OpenID等)的模型以在客户端网络和其他云网络之间创建信任模型。当属于一个组织的应用想要VPN隧道时,它可以使用与组织VPN服务器的联合类型验证以与云提供者VPN管理器建立信任。
图10中示出了本发明的一个实施例。第一组织的应用驻留在第一组云1001之一中的机器M上,并且需要创建的VPN隧道以与属于不同组织的第二组云1003之一中的机器F通信。云组1001中的机器之间的VPN隧道由VPN管理器1005管理,而云组1003中的VPN隧道由VPN管理器1007管理。
然后,当应用想要VPN隧道时,他们向其自己的VPN提供商服务器发出请求,例如,机器M上的应用联系VPN管理器1005。VPN管理器1005将与其对应的VPN管理器1007通信以建立新的VPN隧道1011。因此,客户端将使用VPN隧道与其他可信的客户端进行通信以提供接入点和加密。VPN隧道可以流经中央服务器,或者VPN管理器可以产生额外的轻量级隧道。类似于以上针对混合云环境中的VPN隧道的描述,在两个云环境1001和1003之间管理的VPN隧道可以被重新配置,合并和拆分以适应应用在其生命周期期间的需求。
上述主题提供了许多优点。在本发明的优选实施例中,VPN隧道的合并和拆分允许网络优化。在确定VPN位置和组合时,VPN管理器可以考虑可用带宽,可用机器计算,网络拓扑和VPN开销。现有技术使用专用的VPN隧道来提供云环境之间的安全性。通过监视给定VPN隧道上的吞吐量,VPN管理器可以建议创建额外的VPN隧道来拆分处理大量流量的VPN,或者建议合并未充分利用的VPN终止于同一云中的位置。
当被集成到具有足够特权的云环境中时,VPN管理器可以自动部署专用机器以卸载VPN业务。如果VPN管理器具有可用的云管理员凭据,则可以使用这些凭证自动在云中创建一个虚拟机,并将其专用于处理VPN流量,从而创建一个新的VPN管理器来分担负载。这将有助于减轻运行VPN管理器的现有机器的负载,并使VPN管理器对混合云更具可扩展性。然后,所有或某些VPN代理将开始与新的VPN管理器进行通信。在本发明的另一个实施例中,VPN管理器也可以根据可用性卸载到专用VPN设备。如果VPN管理器检测到VPN设备,它可以安装(或使用已安装的)VPN管理器,然后以类似于云VM的方式,VPN管理器可以开始将流量卸载到VPN设备,以减轻现有的VPN管理器上的一些工作负载。虽然本发明的实施例在本发明的一些优选实施例中可以是很大程度上自治的,但管理员可以通过用户界面手动调谐VPN隧道。在本发明的自治实施例中,可以提供用户界面以提醒管理员VPN管理器采取的动作。管理员可以检查代理检测到的事件的日志以及由VPN管理员采取或指示采取的后续措施以或者调整自主策略或者否决VPN管理器采取的措施。管理员可以安装物理VPN设备并配置VPN管理器以默认显式使用这些设备。
在备选实施例中,VPN管理器可以利用云APIs或利用现有代理(诸如Chef客户端代理)重新配置VPN隧道的端点而不是上面讨论的基于代理的管理。在本发明的这些实施例中,上面描述的由VPN代理采取的动作代替地被其他网络实体(例如已经驻留在云基础设施中的Chef代理或其他VPN控制机制)采用。在使用云API时,云中可能存在基于软件的可用网络,其可用于创建用于连接到软件定义的网络(SDN)的所有虚拟机的VPN隧道,而不是在每台计算机上部署代理。
如上所述,当应用的生命周期改变时,应用可以改变用于VPN隧道的VPN参数。例如,在应用部署过程中,应用可能需要不同的通信带宽和安全协议。例如,在产品安装期间可能需要通过VPN隧道的SSH协议,但在产品运行期间不需要。该应用可以为VPN管理器提供用于动态VPN隧道重新配置的一组新要求。
响应于由组织网络内的一组应用或机器提供的详细和动态要求,VPN管理器提供动态VPN部署,管理和重新配置。通过允许合并和拆分多个灵活的VPN隧道,混合云的效率和安全性得到提高。此外,组织可以利用本发明提供由合作伙伴或其他受信任实体控制的云环境下的联合VPN隧道能力。通过在属于不同组织的VPN管理器之间建立信任关系的VPN能力联合允许应用利用现有的信任关系,而无需应用本身加入多个组织。
响应于云托管硬件的自动部署和移除以实现更有效的管理并卸载VPN活动,本发明的实施例允许改变VPN隧道拓扑。VPN技术的选择响应环境变化和请求应用的要求。通过利用云基础架构(API,自动化部署工具),VPN管理器可以用最少的附加基础架构管理VPN隧道。本发明的实施例响应地基于应用生命周期来改变通信,诸如基于应用驱动的命令实时改变允许的协议。通过持续监视由管理员或应用组提供的VPN隧道需求,本发明的实施例提供动态VPN隧道重新配置。
与现有技术相比,本发明具有许多优点。本发明的实施例响应于由应用提供的详细和动态需求提供动态VPN部署,管理和重新配置。此外,多个VPN管理器可以管理不同云中的VPN,并通过建立VPN管理器之间的信任,通过VPN能力的联合,应用可以利用现有的信任关系向来自不同云的可信VPN管理器请求VPN。
将多个灵活的VPN隧道组合到单个VPN隧道中提高了云间通信的效率和安全性。如果需要,还可以完成组合的VPN的拆分以满足新的需求。在本发明的实施例中,用于提供VPN功能的硬件被自动部署和移除以用于更有效的管理。选择用于创建给定隧道的VPN技术是响应云环境和应用指定的要求。在使用专门的VPN代理的情况下,专门的VPN代理被配置为提供由请求VPN隧道的应用或机器请求的要求。云基础架构本身是灵活的,可以在机器之间重新分配任务。这种灵活性可以在VPN管理流程(API,自动的部署工具)中利用,通过动态分配这些资源,以根据需要管理其他VPN。
可以响应地改变VPN隧道以基于应用生命周期提供对通信通道的扩展或限制,以及基于应用驱动的命令实时改变VPN隧道中的允许的协议。在本发明的优选实施例中,对于动态VPN重新配置,VPN代理持续监视由管理员或应用提供的VPN需求或一组应用,以及应用需要的实际吞吐量。如所描述的,这里的方法可以手动地或以自动方式全部或部分地实施。
尽管已经描述了优选的操作环境和使用情况,但是本文中的技术可以用在期望部署服务的任何其他操作环境中。
如上所述,上述功能可以被实现为独立方法,例如由一个或多个硬件处理器执行的一个或多个基于软件的功能,或者其可以作为托管服务(包括作为通过SOAP/XML接口的Web服务)。这里描述的特定硬件和软件实现细节仅仅是为了说明的目的,并不意味着限制所描述的主题的范围。
更一般地,在所公开主题的背景下的计算设备各自是包括硬件和软件的数据处理系统(诸如图2所示),并且这些实体通过网络彼此通信,诸如互联网,内联网,外联网,专用网络或任何其他通信媒介或链接。数据处理系统上的应用为Web和其他已知服务和协议提供本地支持,包括但不限于支持HTTP,FTP,SMTP,SOAP,XML,WSDL,UDDI和WSFL等。有关SOAP,WSDL,UDDI和WSFL的信息可从万维网联盟(W3C)获得,万维网联盟负责开发和维护这些标准;有关HTTP,FTP,SMTP和XML的更多信息可以从Internet Engineering Task Force(IETF)获得。
除了基于云的环境之外,本文描述的技术可以在包括简单n层架构,网络门户,联合系统等的各种服务器侧架构中或与其结合来实现。
更一般地,本文描述的主题可以采取完全硬件实施例,本发明的完全软件实施例或本发明包含硬件和软件元件的实施例的形式。在本发明的一个优选实施例中,可信平台模块功能以软件实现,其包括但不限于固件,驻留软件,微码等。此外,下载和删除界面和功能可以采取可从计算机可用或计算机可读介质访问的计算机程序产品的形式,该计算机可用或计算机可读介质提供由计算机或任何指令执行系统使用或与其结合使用的程序代码。为了描述的目的,计算机可用或计算机可读介质可以是任何可以包含或存储由指令执行系统,装置或设备使用或与其结合使用的程序的装置。介质可以是电子,磁性,光学,电磁,红外或半导体系统(或装置或设备)。计算机可读介质的示例包括半导体或固态存储器,磁带,可移动计算机磁盘,随机存取存储器(RAM),只读存储器(ROM),刚性磁盘和光盘。光盘的当前例子包括光盘-只读存储器(CD-ROM),光盘-读/写(CD-R/W)和DVD。计算机可读介质是有形的非暂时物品。
计算机程序产品可以是具有用于实现所描述的功能中的一个或多个的程序指令(或程序代码)的产品。这些指令或代码可以在通过网络从远程数据处理系统下载之后被存储在数据处理系统中的计算机可读存储介质中。或者,这些指令或代码可以存储在服务器数据处理系统中的计算机可读存储介质中,并且适合于通过网络下载到远程数据处理系统,用于在远程系统内的计算机可读存储介质中使用。
在本发明的代表性实施例中,所述技术在专用计算平台中实施,优选地在由一个或多个处理器执行的软件中实施。该软件被保存在与该一个或多个处理器相关联的一个或多个数据存储器或内存中,并且该软件可以被实现为一个或多个计算机程序。总而言之,这种专用硬件和软件包含上述描述的功能。
在本发明的优选实施例中,本文提供的功能被实现为现有云计算部署管理解决方案的附属或扩展。
虽然以上描述了由本发明的某些实施例执行的操作的特定顺序,但应该理解的是,这样的顺序是示例性的,因为本发明的替代实施例可以以不同顺序执行操作,组合某些操作,重叠某些操作等。说明书中对本发明的给定实施例的引用表示所描述的实施例可以包括特定特征,结构或特性,但是本发明的每个实施例可能不一定包括特定特征,结构或特性。
最后,虽然已经分别描述了系统的给定组件,但是普通技术人员将会理解,可以在给定指令,程序序列,代码部分等中组合或共享一些功能。

Claims (20)

1.一种方法,包括:
在第一VPN管理器中,管理混合云环境中的第一云与第二云之间的多个VPN隧道;
从驻留在所述第一云中的第一云应用接收请求,所述请求包括用于所述多个VPN隧道中的第一VPN隧道的第一组要求;
将所述请求发送到第一云中的系统,其中所述第一系统根据所述第一组要求创建所述第一VPN隧道;
接收关于所述第一VPN隧道的事件;以及
响应于所述事件,向包含第二组要求的所述第一系统发送修改请求,其中所述第一系统根据第二组要求来调谐所述第一VPN隧道。
2.如权利要求1所述的方法,还包括:
向所述第一系统发送第一VPN代理;
在所述第一系统上安装所述第一VPN代理;以及
其中所述VPN管理器向所述第一VPN代理发送关于所述第一VPN隧道的管理的请求和信息。
3.根据权利要求1所述的方法,其中所述第一组要求包括一组安全要求。
4.根据权利要求1所述的方法,其中,所述事件是从包括以下的组中选择的:从包括用于第一VPN隧道的第二组要求的第一云应用接收修改请求,从包括用于第一VPN隧道的第二组要求的第二云应用接收请求,检测第一VPN隧道中的流量带宽的变化,修改第一VPN隧道的管理员请求,用于第一云应用的应用生命周期变化,用于第一云的网络拓扑变化,以及用于第一云应用的安全需求中的变化已经改变。
5.如权利要求1所述的方法,还包括:
从驻留在第一云中的第二云应用接收请求,所述请求包括用于第一VPN隧道的第二组要求;
向第一云中的第一系统发送请求,其中所述第一系统根据第二组要求修改第一VPN隧道以适应来自第一和第二云应用的流量;以及
其中所述第一云是私有云以及所述第二云是所述混合云环境内的公共云,并且其中响应于所述事件调谐所述第一VPN隧道包括将第一VPN隧道拆分成第一VPN隧道以适应来自第一云应用的流量和第二VPN隧道以适应来自第二云应用的流量。
6.如权利要求1所述的方法,还包括:
合并根据第二组要求创建的第二VPN隧道与第一VPN隧道,其中根据第一和第二组要求修改第一VPN隧道。
7.如权利要求1所述的方法,还包括:
在管理第一组织的第一混合云环境的第一VPN管理器与管理第二组织的第二混合云环境的第二VPN管理器之间建立信任关系;以及在第一混合云中的第一机器与第二混合云中的第二机器之间创建第二VPN隧道。
8.如权利要求1所述的方法,还包括:
从包括用于VPN隧道的第二组要求的第二云应用接收请求;
基于第一和第二组要求确定来自第一和第二云应用的流量是否兼容;以及
基于确定来自第一云应用和第二云应用的流量是否兼容来调谐第一VPN隧道。
9.一种装置,包括:
处理器;
计算机内存,其容纳由所述处理器执行的计算机程序指令以管理混合云环境中的第一云和第二云之间的多个VPN隧道,所述计算机程序指令包括:
程序代码,可操作以接收来自驻留在所述第一云中的第一云应用的第一请求,所述请求包括用于所述多个VPN隧道中的第一VPN隧道的第一组要求;
程序代码,可操作以将所述第一请求发送到第一云中的第一系统,其中所述第一系统根据所述第一组要求创建所述第一VPN隧道;
程序代码,可操作以接收来自驻留在所述第一云中的第二云应用的第二请求,所述请求包括用于所述多个VPN隧道中的第二VPN隧道的第二组要求
程序代码,可操作以将所述第二请求发送到所述第一云中的所述第一系统,其中所述第一系统根据所述第二组要求创建所述第二VPN隧道;
程序代码,可操作以接收关于所述第一VPN隧道的事件;以及
程序代码,响应于所述事件,可操作以向所述第一系统发送合并请求以将所述第二VPN隧道合并到所述第一VPN隧道,其中所述第一系统根据第二组要求来调谐所述第一VPN隧道。
10.如权利要求9所述的装置,还包括:
程序代码,可操作以向所述第一系统发送第一VPN代理;
程序代码,可操作以在所述第一系统上安装所述第一VPN代理;以及
程序代码,可操作以向所述第一VPN代理传送关于所述第一VPN隧道的管理的请求和信息。
11.如权利要求9所述的装置,其中所述第一组要求包括第一组安全要求以及所述第二组要求包括第二组安全要求,并且所述设备还包括程序代码,可操作以确定在合并所述第一VPN隧道和第二VPN隧道之前,所述第一组和第二组安全要求是否兼容。
12.如权利要求9所述的装置,其中所述事件正在检测所述第一VPN隧道中的流量带宽的变化。
13.如权利要求9所述的装置,还包括:
程序代码,可操作以在用户界面中显示所述多个VPN隧道的表示;
程序代码,可操作以显示指示所述第一VPN隧道和所述第二VPN隧道的可能合并的警报;以及
程序代码,响应于用户输入,可操作以向所述第一系统发送指令以合并所述第一VPN隧道和所述第二VPN隧道。
14.如权利要求9所述的装置,其中所述事件正在检测所述第一云应用的应用生命周期变化。
15.如权利要求11所述的装置,还包括程序代码,可操作以存储第一安全策略,其中所述程序代码可操作以在合并所述第一VPN隧道和所述第二VPN隧道之前确定所述第一和第二组安全要求是否兼容,参考所述第一安全策略以做出决定。
16.如权利要求9所述的装置,还包括:
程序代码,可操作以接收与所述第一VPN隧道有关的第二事件;以及
程序代码,响应于所述第二事件,可操作以向所述第一系统发送拆分请求以将所述第一VPN隧道拆分为第三VPN隧道和所述第一VPN隧道。
17.一种用于数据处理系统中使用的非暂时性计算机可读介质中的计算机程序产品,所述计算机程序产品容纳由所述处理器执行的计算机程序指令,以管理混合云环境中的第一云和第二云之间的多个VPN隧道,所述计算机程序指令包括:
程序代码,可操作以接收来自驻留在所述第一云中的第一云应用的第一请求,所述请求包括用于所述多个VPN隧道中的第一VPN隧道的第一组要求;
程序代码,可操作以将所述第一请求发送到第一云中的第一系统,其中所述第一系统根据所述第一组要求创建所述第一VPN隧道;
程序代码,可操作以接收来自驻留在所述第一云中的第二云应用的第二请求,所述请求包括用于所述多个VPN隧道中的VPN隧道的第二组要求
程序代码,可操作以将所述第二请求发送到所述第一云中的所述第一系统,其中所述第一系统根据所述第二组要求修改所述第一VPN隧道,其中所述第一VPN隧道承载来自第一和第二云应用的流量;
程序代码,可操作以接收关于所述第一VPN隧道的事件;以及
程序代码,响应于所述事件,可操作以向所述第一系统发送拆分请求以将所述第一VPN隧道拆分成第一VPN隧道和第二VPN隧道,其中所述第一系统根据用于第一应用的流量的第一组要求来调谐所述第一VPN隧道,以及根据用于第二应用的流量的第二组要求来调谐所述第二VPN隧道。
18.如权利要求17所述的计算机程序产品,还包括:
程序代码,可操作以向所述第一系统发送第一VPN代理;
程序代码,可操作以在所述第一系统上安装所述第一VPN代理;以及
程序代码,可操作以向所述第一VPN代理传送关于所述第一VPN隧道的管理的请求和信息。
19.如权利要求17所述的计算机程序产品,其中所述事件是用于所述第一云应用的安全要求中的变化。
20.如权利要求17所述的计算机程序产品,还包括程序代码,可操作以确定来自所述第一云应用的流量与来自所述第二云应用的流量不兼容。
CN201680073245.4A 2015-12-15 2016-09-29 用于混合云环境中的虚拟私有网络通信的方法和装置 Active CN108370340B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/970,493 US9571457B1 (en) 2015-12-15 2015-12-15 Dynamically defined virtual private network tunnels in hybrid cloud environments
US14/970,493 2015-12-15
PCT/IB2016/055834 WO2017103699A1 (en) 2015-12-15 2016-09-29 Dynamically defined virtual private network tunnels in hybrid cloud environments

Publications (2)

Publication Number Publication Date
CN108370340A true CN108370340A (zh) 2018-08-03
CN108370340B CN108370340B (zh) 2020-11-03

Family

ID=57965043

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680073245.4A Active CN108370340B (zh) 2015-12-15 2016-09-29 用于混合云环境中的虚拟私有网络通信的方法和装置

Country Status (6)

Country Link
US (1) US9571457B1 (zh)
JP (1) JP6712318B2 (zh)
CN (1) CN108370340B (zh)
DE (1) DE112016003726B4 (zh)
GB (1) GB2557767B (zh)
WO (1) WO2017103699A1 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8423631B1 (en) * 2009-02-13 2013-04-16 Aerohive Networks, Inc. Intelligent sorting for N-way secure split tunnel
US10673838B2 (en) * 2016-05-13 2020-06-02 MobileIron, Inc. Unified VPN and identity based authentication to cloud-based services
US10523660B1 (en) 2016-05-13 2019-12-31 MobileIron, Inc. Asserting a mobile identity to users and devices in an enterprise authentication system
US10305935B2 (en) 2016-06-09 2019-05-28 LGS Innovations LLC Methods and systems for enhancing cyber security in networks
US10637890B2 (en) 2016-06-09 2020-04-28 LGS Innovations LLC Methods and systems for establishment of VPN security policy by SDN application
US10601777B2 (en) * 2017-02-17 2020-03-24 Corrata Limited Data inspection system and method
US10623374B2 (en) 2017-06-09 2020-04-14 Microsoft Technology Licensing, Llc Automatic network identification for enhanced communications administration
US10887130B2 (en) 2017-06-15 2021-01-05 At&T Intellectual Property I, L.P. Dynamic intelligent analytics VPN instantiation and/or aggregation employing secured access to the cloud network device
US10170304B1 (en) 2017-10-25 2019-01-01 Globalfoundries Inc. Self-aligned nanotube structures
US10742690B2 (en) 2017-11-21 2020-08-11 Juniper Networks, Inc. Scalable policy management for virtual networks
US10728288B2 (en) * 2017-11-21 2020-07-28 Juniper Networks, Inc. Policy-driven workload launching based on software defined networking encryption policies
JP6777663B2 (ja) * 2018-02-22 2020-10-28 日本電信電話株式会社 ポリシー競合検出システム及びポリシー競合検出方法
US10778724B1 (en) 2018-06-29 2020-09-15 Juniper Networks, Inc. Scalable port range management for security policies
US11303524B2 (en) 2019-02-04 2022-04-12 Hewlett Packard Enterprise Development Lp Network bandwidth configuration
EP3949315A1 (en) * 2019-03-27 2022-02-09 British Telecommunications public limited company Reactive secure communications
US11700236B2 (en) 2020-02-27 2023-07-11 Juniper Networks, Inc. Packet steering to a host-based firewall in virtualized environments
KR102204237B1 (ko) * 2020-04-30 2021-01-18 주식회사 지에스아이티엠 클라우드를 이용한 통합 수율 관리 시스템
US11663013B2 (en) 2021-08-24 2023-05-30 International Business Machines Corporation Dependency skipping execution

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050088977A1 (en) * 2000-12-14 2005-04-28 Nortel Networks Limited Dynamic virtual private network (VPN) tunnel quality of service (QoS) treatment
US20060245363A1 (en) * 2005-04-08 2006-11-02 Ravi Ravindran QoS-based routing for CE-based VPN
CN102938734A (zh) * 2012-11-26 2013-02-20 杭州华三通信技术有限公司 Mpls网络中隧道的选择方法及pe设备
US20130298182A1 (en) * 2012-05-01 2013-11-07 Fortinet, Inc. Policy-based configuration of internet protocol security for a virtual private network
US20130311778A1 (en) * 2012-05-16 2013-11-21 Cisco Technology, Inc. System and method for secure cloud service delivery with prioritized services in a network environment
US20150009038A1 (en) * 2013-07-02 2015-01-08 Icf International Method and apparatus for visualizing network security alerts
CN104322011A (zh) * 2012-05-23 2015-01-28 阿尔卡特朗讯公司 连通性服务编排器
US20150096011A1 (en) * 2013-10-01 2015-04-02 Racemi, Inc. Migration of complex applications within a hybrid cloud environment

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7209479B2 (en) * 2001-01-18 2007-04-24 Science Application International Corp. Third party VPN certification
JP3901487B2 (ja) * 2001-10-18 2007-04-04 富士通株式会社 Vpnサービス管理システム、vpnサービスマネージャ及びvpnサービスエージェント
US7574738B2 (en) 2002-11-06 2009-08-11 At&T Intellectual Property Ii, L.P. Virtual private network crossovers based on certificates
US7542476B2 (en) * 2003-08-29 2009-06-02 Flash Networks Ltd Method and system for manipulating IP packets in virtual private networks
US7561586B2 (en) * 2003-09-19 2009-07-14 Nortel Networks Limited Method and apparatus for providing network VPN services on demand
JP4457403B2 (ja) * 2004-03-17 2010-04-28 日本電気株式会社 専用線構築システム及び専用線相互接続制御プログラム
US20060245362A1 (en) * 2005-01-07 2006-11-02 Choyi Vinod K Method and apparatus for providing route-optimized secure session continuity between mobile nodes
EP1699181A1 (de) * 2005-03-01 2006-09-06 Swisscom AG Verfahren und System zur automatisierten Konfiguration eines Subnetzwerks innerhalb eines Netzwerkes
JP4279792B2 (ja) * 2005-03-17 2009-06-17 ソフトバンクテレコム株式会社 通信制御システム及び方法
US20090328192A1 (en) * 2006-08-02 2009-12-31 Alan Yang Policy based VPN configuration for firewall/VPN security gateway appliance
CN1921438A (zh) * 2006-09-15 2007-02-28 深圳市深信服电子科技有限公司 一种应用代理实现网间应用加速的方法
US8503453B2 (en) * 2006-11-20 2013-08-06 Cisco Technology, Inc. Adaptive quality of service in an easy virtual private network environment
DE102008012386A1 (de) * 2008-03-04 2009-09-10 Gateprotect Aktiengesellschaft Germany Konfigurationsvorrichtung und -verfahren
WO2009155574A1 (en) * 2008-06-19 2009-12-23 Servicemesh, Inc. Cloud computing gateway, cloud computing hypervisor, and methods for implementing same
US8683574B2 (en) * 2008-12-15 2014-03-25 Novell, Inc. Identity driven peer-to-peer (P2P) virtual private network (VPN)
US8806015B2 (en) * 2011-05-04 2014-08-12 International Business Machines Corporation Workload-aware placement in private heterogeneous clouds
US9154327B1 (en) * 2011-05-27 2015-10-06 Cisco Technology, Inc. User-configured on-demand virtual layer-2 network for infrastructure-as-a-service (IaaS) on a hybrid cloud network
US20140032733A1 (en) * 2011-10-11 2014-01-30 Citrix Systems, Inc. Policy-Based Application Management
US9609020B2 (en) * 2012-01-06 2017-03-28 Optio Labs, Inc. Systems and methods to enforce security policies on the loading, linking, and execution of native code by mobile applications running inside of virtual machines
US9203784B2 (en) * 2012-04-24 2015-12-01 Cisco Technology, Inc. Distributed virtual switch architecture for a hybrid cloud
US8990901B2 (en) * 2012-05-05 2015-03-24 Citrix Systems, Inc. Systems and methods for network filtering in VPN
US8892766B1 (en) 2012-06-28 2014-11-18 Trend Micro Incorporated Application-based network traffic redirection for cloud security service
CN102891790B (zh) * 2012-09-21 2016-03-02 中国电信股份有限公司 一种访问虚拟私有云的vpn虚拟化方法和系统
US20140109171A1 (en) * 2012-10-15 2014-04-17 Citrix Systems, Inc. Providing Virtualized Private Network tunnels
US20140109176A1 (en) * 2012-10-15 2014-04-17 Citrix Systems, Inc. Configuring and providing profiles that manage execution of mobile applications
JP5437518B2 (ja) * 2013-07-08 2014-03-12 エヌ・ティ・ティ・コミュニケーションズ株式会社 仮想ネットワークシステム、構成変更方法、トンネル終端装置、トンネル接続装置、及びプログラム
US9389893B2 (en) * 2013-08-13 2016-07-12 Vmware, Inc. Method and system for migration of virtual machines and virtual applications between cloud-computing facilities through multiplexed secure tunnels
US9667486B2 (en) 2013-08-30 2017-05-30 Vmware, Inc. System and method for network address administration and management in federated cloud computing networks
US9665079B2 (en) * 2014-03-26 2017-05-30 Honeywell International Inc. Controller having a version control system
US9350710B2 (en) * 2014-06-20 2016-05-24 Zscaler, Inc. Intelligent, cloud-based global virtual private network systems and methods
US9553887B2 (en) * 2014-10-13 2017-01-24 Vmware, Inc. Virtual machine compliance checking in cloud environments
US9723065B2 (en) * 2014-10-13 2017-08-01 Vmware, Inc. Cross-cloud object mapping for hybrid clouds

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050088977A1 (en) * 2000-12-14 2005-04-28 Nortel Networks Limited Dynamic virtual private network (VPN) tunnel quality of service (QoS) treatment
US20060245363A1 (en) * 2005-04-08 2006-11-02 Ravi Ravindran QoS-based routing for CE-based VPN
US20130298182A1 (en) * 2012-05-01 2013-11-07 Fortinet, Inc. Policy-based configuration of internet protocol security for a virtual private network
US20130311778A1 (en) * 2012-05-16 2013-11-21 Cisco Technology, Inc. System and method for secure cloud service delivery with prioritized services in a network environment
CN104322011A (zh) * 2012-05-23 2015-01-28 阿尔卡特朗讯公司 连通性服务编排器
CN102938734A (zh) * 2012-11-26 2013-02-20 杭州华三通信技术有限公司 Mpls网络中隧道的选择方法及pe设备
US20150009038A1 (en) * 2013-07-02 2015-01-08 Icf International Method and apparatus for visualizing network security alerts
US20150096011A1 (en) * 2013-10-01 2015-04-02 Racemi, Inc. Migration of complex applications within a hybrid cloud environment

Also Published As

Publication number Publication date
JP2019503101A (ja) 2019-01-31
US9571457B1 (en) 2017-02-14
GB2557767A (en) 2018-06-27
WO2017103699A1 (en) 2017-06-22
DE112016003726B4 (de) 2021-06-10
JP6712318B2 (ja) 2020-06-17
GB2557767B (en) 2021-11-10
GB201803075D0 (en) 2018-04-11
DE112016003726T5 (de) 2018-05-09
CN108370340B (zh) 2020-11-03

Similar Documents

Publication Publication Date Title
CN108370340A (zh) 动态定义的混合云环境中的虚拟私有网络隧道
CN106888143A (zh) 混合云环境中的动态定义的虚拟私有网络隧道
JP6712213B2 (ja) クラウド環境における保証されたログ管理のためのアプリケーション・セルフサービス
US20140337498A1 (en) Method and Apparatus For Operations Big Data Analysis and Real Time Reporting
US20150067128A1 (en) Method and apparratus for dynamic determination of quotas for software defined cloud catalog services
US20150067677A1 (en) Method and apparatus for defining virtual machine placement logic that is configurable and restricts virtual machine provisioning within a software defined cloud
US20150066759A1 (en) METHOD AND APPARATUS FOR GAUGING NETWORK TRAFFIC FLOW FOR SOFTWARE DEFINED NETWORKS WITHIN A SOFTWARE DEFINED CLOUDd
US20150066560A1 (en) Method and apparatus for managing multi-vendor infrastructure for software defined clouds through abstracted control planes
US20150113111A1 (en) Method and apparatus for dynamically pluggable mechanism for new infrastructure support
US20140351429A1 (en) Method and Apparatus to Elastically Modify Size of a Resource Pool
US20150067125A1 (en) Method and apparatus for integrating networking, compute, and storage services through catalog management for a software defined cloud
US20140351437A1 (en) Method and apparatus for policy based elastic computing
US20140351425A1 (en) Method and Apparatus for Dynamic Cloud Application Flow Performance Metering
US20150067604A1 (en) Method and apparatus for providing vertically expandable service usage analytics by enterprise groups
US20140351399A1 (en) Method and Apparatus for Determining Cloud Infrastructure Service Level Assurance Based on Device Taxonomy
US20140351422A1 (en) Method and Apparatus for Weight Based Performance Optimization for Cloud network
US20140351441A1 (en) Method and Apparatus for SLA-aware System to Recommend Best Match for Cloud Resource Provisioning
US20140351440A1 (en) Method and Apparatus to Dynamically Select Cloud Environment for Resource Provisioning
US20150067675A1 (en) Method and apparatus to remotely park a virtual machine from a software defined cloud
US20150066599A1 (en) Method and apparatus for periodic diagnostics of tenant event streams
US20140351430A1 (en) Method and Apparatus for Capacity-Aware System to Recommend Capacity Management Suggestions
Dantas Architecting Google Cloud Solutions: Learn to design robust and future-proof solutions with Google Cloud technologies
US20150067190A1 (en) Method and apparatus for displaying logical views of routed meshed networks for software defined clouds
Balaganski API Security Management
US20150066717A1 (en) Method and apparatus for service offering metering

Legal Events

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