CN110799944A - 虚拟专用网络服务端点 - Google Patents

虚拟专用网络服务端点 Download PDF

Info

Publication number
CN110799944A
CN110799944A CN201880043303.8A CN201880043303A CN110799944A CN 110799944 A CN110799944 A CN 110799944A CN 201880043303 A CN201880043303 A CN 201880043303A CN 110799944 A CN110799944 A CN 110799944A
Authority
CN
China
Prior art keywords
service
network
endpoint
virtual
address
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
CN201880043303.8A
Other languages
English (en)
Other versions
CN110799944B (zh
Inventor
M·S·福格勒
K·C·米勒
J·C·克赖茨
A·帕拉马尔丘克
A·B·迪金森
C·C·托马斯
R·C·维斯
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 CN110799944A publication Critical patent/CN110799944A/zh
Application granted granted Critical
Publication of CN110799944B publication Critical patent/CN110799944B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4541Directories for service discovery
    • 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/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/30Types of network names
    • H04L2101/35Types of network names containing special prefixes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets

Landscapes

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

Abstract

客户可以在提供商网络上的其虚拟网络中为服务请求服务端点。作为响应,在客户的虚拟网络中生成服务端点,将客户的虚拟网络的IP地址范围内的本地IP地址分配给所述服务端点,并将DNS名称分配给所述服务端点。客户的虚拟网络上的资源解析服务端点的DNS名称,以获取所述服务端点的本地IP地址,并将对所述服务的服务请求发送到所述服务端点的本地IP地址。所述服务端点将路由信息添加到所述服务请求,并通过网络基体发送所述服务请求以路由到所述服务。

Description

虚拟专用网络服务端点
背景技术
许多公司和其它组织操作计算机网络,所述计算机网络互连许多计算系统以支持其操作,如其中计算系统处于相同位置(例如,作为本地网络的一部分)或代替地位于多个不同的地理位置中(例如,通过一个或多个专用或公共中间网络连接)。例如,容纳大量互连计算系统的数据中心已经变得司空见惯,如由单个组织和代表单个组织运营的专用数据中心,以及由作为企业的实体运营以向客户或客户端提供计算资源的公共数据中心。一些公共数据中心运营商为各种客户端拥有的硬件提供网络接入、电力和安全安装设施,而其它公共数据中心运营商提供“全方位服务(full service)”设施,所述全方位服务设施还包含可供所述运营商的客户端使用的硬件资源。然而,随着典型数据中心的规模和范围增大,提供、施行和管理物理计算资源的任务变得越来越复杂。
用于商品硬件的虚拟化技术的出现已经在管理具有不同需求的许多客户端的大规模计算资源方面提供了益处,从而允许多个客户端有效且安全地共享各种计算资源。例如,虚拟化技术可以通过向每个用户提供由单个物理计算机托管的一个或多个虚拟机来允许单个物理计算机在多个用户之间共享,并且每个这样的虚拟机都是充当不同逻辑计算系统的软件模拟,所述逻辑计算系统向用户提供他们是给定硬件计算资源的唯一操作员和管理员的错觉,同时还提供各种虚拟机之间的应用程序隔离和安全性。此外,一些虚拟化技术能够提供跨越两个或更多物理资源的虚拟资源,如具有跨越多个不同物理计算系统的多个虚拟处理器的单个虚拟机。作为另一实例,虚拟化技术可以通过向每个用户提供可以跨越多个数据存储装置分布的虚拟化数据存储来允许在多个用户之间共享数据存储硬件,其中每个这样的虚拟化数据存储都充当不同逻辑数据存储,所述逻辑数据存储向用户提供他们是数据存储资源的唯一操作员和管理员的错觉。
附图说明
图1A示出了根据一些实施例的具有客户专用网络中的服务端点的提供商网络上的服务专用网络中的示例服务。
图1B示出了在各个客户专用网络中为服务端点分配唯一的DNS名称的实施例。
图1C示出了其中在各个客户专用网络中向服务端点分配了服务的DNS名称并且示出了DNS名称被解析为各个客户专用网络中的服务端点的实施例。
图2示出了根据一些实施例的托管具有到其他专用网络中的服务的端点的服务的多个专用网络。
图3示出了根据一些实施例的托管在其他专用网络中具有端点的多个服务的专用网络。
图4示出了根据一些实施例的对提供商网络的区域中的多个可用性区域的服务端点支持。
图5示出了根据一些实施例的具有到不同位置的服务的服务端点的专用网络。
图6示出了根据一些实施例的用于服务请求中包括的元数据的实例用途。
图7示出了根据一些实施例的可以包括在服务请求中的实例元数据。
图8示出了根据一些实施例的用于将服务端点提供给专用网络中的至资源的服务的方法。
图9示出了根据一些实施例的用于从专用网络中的服务端点访问服务的方法。
图10示出根据一些实施例的用于向其他提供商网络中的专用网络上托管的服务提供不同的DNS名称的方法。
图11示出了根据一些实施例的用于注册服务的实例界面。
图12示出了根据一些实施例的用于管理专用网络中的服务端点的实例界面。
图13示出了根据一些实施例的用于提供商网络的共享服务市场以及到该共享服务市场的实例界面。
图14示出根据一些实施例的实例提供商网络环境。
图15示出根据一些实施例的使用IP隧道技术在网络基体上实施覆盖网络的实例数据中心。
图16是根据一些实施例的对客户端提供存储虚拟化服务和硬件虚拟化服务的实例提供商网络的框图。
图17示出根据一些实施例的对至少一些客户端提供虚拟网络的实例提供商网络。
图18是示出可以在一些实施例中使用的实例计算机系统的框图。
虽然本文通过若干个实施例和说明性附图的实例的方式对实施例进行了描述,但是本领域技术人员将认识到,实施例不限于所描述的实施例或附图。应理解的是,附图和对其的详细描述并非旨在将实施例限制于所公开的特定形式,而相反,其意图是涵盖落入由所附权利要求限定的精神和范围内的所有修改、等效物和替代方案。本文使用的标题仅用于组织目的,并非意指用于限制说明书或权利要求的范围。如在整个本申请中所使用的,词语“可以”以允许的意义使用(即,意指具有潜在的意义),而不是强制意义(即,意指必须)。类似地,词语“包含(include)”、“包含(including)”和“包含(includes)”意指包含但不限于。
具体实施方式
描述了用于在提供商网络环境中向服务提供服务端点的方法和设备的各种实施例。用于提供服务端点的方法和设备的实施例可以例如在提供商网络的环境中实施,所述提供商网络通过例如因特网等中间网络将例如作为虚拟机(VM)执行的计算资源等虚拟资源以及例如虚拟存储等其它虚拟资源提供给客户。提供商网络可包含由一个或多个数据中心实施的网络基体和控制平面,并且可以托管一个或多个虚拟计算服务和应用程序编程接口(API),所述服务和应用程序编程接口允许客户在相应区域网络内的虚拟化专用网络(在本文中称为专用网络)中建立、提供和管理客户的虚拟化资源。
在允许客户端提供虚拟专用网络的虚拟网络环境中,客户端的虚拟专用网络是离散的路由IP容器,其被托管在提供商网络上,并且可以被视为对物理网络的虚拟模拟。常规地,提供商网络上的不同专用网络中的端点之间的数据包流(例如,客户的虚拟资源)通过提供商网络的网络基体被路由到中间公共网络,如因特网。中间网络将数据包路由回提供商网络。在提供商网络上,数据包然后通过网络基体路由到目标专用网络。在提供商网络的一些实施例中,为了向接插有数据中心之间的物理电缆的物理传输中心提供虚拟模拟以在提供商网络内的虚拟网络环境中的数据中心处的相应专用网络之间创建对等互连,可以提供对等互连服务和API,其允许客户在区域网络上的专用网络与提供商网络上的其它专用网络之间请求虚拟对等互连。专用网络对等互连允许数据包在提供商网络的网络基体上在两个专用网络的端点之间流动,而无需通过中间公共网络。
如本文使用的服务可以包括基于网络的软件和/或硬件,服务所有者可以通过一个或多个公共或专用IP地址和域名服务(DNS)名称在网络上使外部实体(称为服务客户,或简称为客户)访问这些软件和/或硬件。客户可以解析服务的域名以获得服务的IP地址(例如,通过DNS服务),然后将服务请求发送到服务IP地址。服务可以是公共的(即,任何人都可以发现服务请求并将其发送给该服务)或专用的(即,对服务的访问例如限于企业或组织内的其他授权实体)。
服务可以例如在提供商网络上的虚拟网络(在本文中称为服务专用网络)中实现。在一些实施例中,在服务专用网络上实现的服务可以包括一个或多个服务实例,这些服务实例被实现为服务专用网络中的虚拟机,其在前端(例如,服务专用网络中用于服务实例的虚拟化负载均衡器,通往服务专用网络中服务实例的虚拟网关等)之前。可以为前端分配公共或专用IP地址;可以为域名服务(DNS)名称例如“foo.example.com”分配服务。前端在IP地址处接收来自外部端点的请求,并将请求转发或分发到服务专用网络上的服务实例。前端可以例如被实现为在提供商网络的主机设备上执行的一个或多个虚拟机。可选地,前端可以由管理程序在主机设备上实现。主机设备上的管理程序或虚拟机监视器(VMM)可以描述为为主机设备上的虚拟机提供执行环境的软件、固件和/或硬件。在一些实施例中,作为对包括一个或多个服务实例的前端的服务的替代,可以在服务专用网络上将服务实现为一个或多个经由可通过服务的DNS名称发现的公共或专用IP地址可直接访问(即,不在前端后面)的服务实例。
常规地,为了从提供商网络上的另一个虚拟专用网络(此处称为客户专用网络)上的资源实例(例如虚拟机(VM))访问在服务专用网络上实现的服务,该资源实例会发现服务的IP地址(例如,通过DNS服务解析服务的DNS名称),然后将请求发送到服务的IP地址。请求通过提供商网络的网络基体路由到中间公共网络,例如因特网;中间网络将请求路由回提供商网络。然后,在提供商网络上,请求通过网络基体路由到服务专用网络上的服务的IP地址。类似地,对从服务回到资源实例的请求的响应遍历中间公共网络。但是,此方法公开了资源实例和公共网络上的服务之间的流量。此外,从发送请求到服务到从服务接收响应所花费的时间增加了退出提供商网络、遍历公共网络并重新进入提供商网络所花费的时间。为了减少向服务发送请求和从服务接收响应的等待时间,并允许请求和响应在客户专用网络和服务专用网络之间流动而无需通过中间公共网络,可以在两个专用网络之间建立专用网络对等互连。但是,专用网络对等互连具有局限性,例如在专用网络可以具有的对等互连数目以及在对等连接上支持的路由数目方面,因此专用网络对等互连可能无法很好地扩展。此外,专用网络对等互连可以将服务专用网络上的资源公开给服务专用网络所有者不希望公开的客户专用网络,反之亦然。
描述了方法和设备的实施例,其允许客户在提供商网络(称为客户专用网络)上的其虚拟专用网络中建立到在提供商网络(在本文中称为服务专用网络)上的其他虚拟专用网络中实现的服务的接口。服务端点为遍历提供商网络的网络基体但不遍历中间公共网络(例如因特网)的服务提供通信通道。此外,服务端点没有专用网络对等互连的扩展限制。此外,服务端点限制了从客户专用网络对服务的访问,并限制了从服务对客户专用网络的访问,因此与专用网络对等互连不同,不会将服务专用网络上的资源公开给服务专用网络所有者不希望公开的客户专用网络,反之亦然。
服务端点可以例如被实现为客户专用网络中的虚拟网络接口。虚拟网络接口可以但不一定连接到客户专用网络中的虚拟机。服务端点可以被分配相应客户专用网络的IP地址范围内的本地IP地址,并且可以被分配给相应服务的DNS名称,该DNS名称解析为分配给服务端点的相应本地IP地址。服务端点还将在服务专用网络上记录相应服务的公用或专用IP地址。在一些实施例中,可以为提供商网络上的客户专用网络中的服务的所有服务端点分配相同的DNS名称(例如“foo.example.com”或“com.example.foo”,用于发布DNS名称“foo.example.com”的服务);当客户专用网络中的资源实例调用服务端点的DNS名称时,DNS名称解析为分配给相应客户专用网络中服务端点的本地IP地址。可选地,在一些实施例中,可以为提供商网络上的客户专用网络中的服务的所有服务端点分配在本地(在专用网络内)和全局(在所有专用网络内)唯一的DNS名称。举例来说,对于发布DNS名称“foo.example.com”的服务,可以向第一服务端点分配DNS名称“pne-0001.foo.example.com”,可以向第二服务端点分配DNS名称“pne-0002.foo.example.com”,依此类推。唯一的DNS名称解析为分配给客户专用网络中各个服务端点的本地IP地址。
在一些实施例中,服务端点可以被实现为数据结构中(例如,数据库或文件中)的记录,该记录将服务端点的本地IP地址映射到各个服务的IP地址。在管理程序或主机设备上的特权域中执行的软件将服务端点提供给在主机设备上执行的VM。当VM将服务请求发送到服务端点的本地IP地址时,主机设备上的软件将本地IP地址映射到服务的IP地址,封装该服务请求,然后将封装后的请求发送到将路由到服务的网络基体。
客户专用网络上的服务端点可以通过不遍历中间公用网络的提供商网络的网络基体上的虚拟路径或“隧道”连接到服务专用网络上相应服务的IP地址,例如根据封装协议技术。在封装协议技术中,网络包可以由提供商网络上的数据包源(诸如在主机设备上执行的VM)生成。网络包可以根据封装协议封装在封装层处以产生封装协议包(在本文中也称为封装包或网络基体包)。封装包包括路由信息,该路由信息可用于将所述包通过提供商网络的网络基体路由到提供商网络上的目标端点。封装包然后可根据封装包中的路由信息通过网络基体根据路由信息路由到提供商网络上的目的地,例如执行VM的主机装置或提供商网络的边缘装置。根据封装信息通过网络基体路由封装包可以被视为通过网络基体上的覆盖网络路由或路径发送封装包。在目的地,封装层从封装包中移除网络包(称为解封装的过程),并将解封装的网络包提供或发送到网络包目的地端点。例如,如果目的地是提供商网络上的主机设备,则主机设备可以将网络包提供给在主机设备上执行的VM。
在一些实施例中,服务所有者可以例如经由应用编程接口(API)向提供商网络的控制平面注册提供商网络的服务,如图11所示。控制平面可以通过API接收注册服务的请求,该请求指定服务的IP地址和与该服务关联的DNS名称。然后可以将该服务注册到提供商网络的目录服务;提供商网络的客户可以通过目录服务的API发现在目录服务中注册的服务。
在一些实施例中,客户可以在提供商网络上的他们的虚拟专用网中请求服务(例如,客户通过目录服务发现的服务)的服务端点,例如通过到提供商网络的控制平面的API,如图12所示。在一些实施例中,服务所有者可以被告知该请求,并且可以例如经由API的用户界面来接受或拒绝该请求如图11所示。如果请求被接受,则在客户的虚拟专用网络中生成服务的服务端点(例如,作为数据库中的记录,该记录将服务端点的本地IP地址映射到服务的IP地址);服务端点将在客户的虚拟专用网的IP地址范围内分配一个本地IP地址。DNS名称已分配给服务端点。客户的虚拟专用网络中的资源实例然后可以解析服务端点的DNS名称,以获取虚拟专用网络中服务端点的本地IP地址。然后,资源实例可以将对服务的服务请求发送到客户的虚拟专用网中服务端点的本地IP地址。在服务端点处,将服务请求与路由信息一起封装,该路由信息可用于将数据包通过提供商网络的网络基体路由到服务,并将封装的服务请求发送到提供商网络的网络基体上,以路由至服务。在一些实施例中,从服务端点发送到服务的封装服务请求包括标识客户的虚拟专用网络上的服务端点的信息。在一些实施例中,封装的服务请求可以包括其他信息,例如,标识服务请求的源端点的信息(例如,发起服务请求的VM)、标识拥有虚拟专用网络的客户的帐户的信息、和/或客户虚拟专用网络上服务端点的身份验证和授权信息。
在一些实施例中,服务的IP地址被分配给服务的前端(例如,负载均衡器)。在一些实施例中,前端解封装并将从服务端点接收的服务请求发送或分发到服务的一个或多个服务实例。在一些实施例中,在将服务请求发送到一个或多个服务实例之前,前端将标识服务端点的信息添加到从虚拟专用网络上的服务端点接收的服务请求中;例如,服务实例可以使用添加的信息来记录对服务的访问和/或执行访问控制策略。在一些实施例中,前端从服务实例接收对服务请求的响应,将响应与路由信息一起封装,该路由信息可用于通过提供商网络的网络基体将数据包路由至服务端点,并将封装后的响应发送至提供商网络的网络基体,以便路由到虚拟专用网络上的服务端点。
尽管描述了允许客户建立针对在提供商网络上的其他虚拟专用网络中实现的服务的服务端点的实施例,但是一些实施例可以允许客户针对未在虚拟专用网络中实现的在提供商网络上实现的服务建立服务端点,或针对这样的服务建立服务端点:其在虚拟专用网络中实现了服务前端,但服务实例在提供商网络上而不在虚拟专用网络中,或者位于其他虚拟专用网络中。另外,一些实施例可以允许客户建立在提供商网络外部的网络上实现的服务的服务端点。
尽管通常在提供商网络上的虚拟网络中执行的虚拟机的上下文中描述实施例,但是实施例也可以应用于物理计算设备可以包括在虚拟网络中的虚拟网络环境中。例如,物理计算设备可以在客户的虚拟网络中被分配IP地址,并且可以包括或耦合到执行对计算设备的虚拟网络数据包的封装和解封装的硬件设备(例如,网络接口卡(NIC)或外围设备)。因此,计算设备可以与虚拟网络上的其他物理或虚拟机通信,并且还可以发现虚拟网络上的服务端点并与之通信。
图1A至图1C示出了根据一些实施例的在提供商网络中的专用网络上托管的服务的服务端点。图1A至图1C提供了非限制性实例,其中服务112被实现为提供商网络100上的服务专用网络110C中的前端114(例如,虚拟化的负载均衡器)之后的一个或多个服务实例116。但是,请注意,服务112不一定包含前端114。此外,可以在不在虚拟专用网络110中的提供商网络100上实现服务112。此外,可以实现服务112,其中在虚拟专用网络110中实现服务112的前端114,并且服务实例116在提供商网络100上而不在虚拟专用网络110中,或者其中服务实例116与前端114位于不同的虚拟专用网络110中。此外,在一些实施例中,客户可以建立在提供商网络100外部的网络(例如,服务所有者190网络)上实现的服务112的服务端点。
图1A示出了根据一些实施例的具有客户专用网络中的服务端点的提供商网络上的服务专用网络中的示例服务。服务112可以包括被实现为专用网络110C上的虚拟机的一个或多个服务实例116A-116n。服务实例116A-116n可以在前端114(例如,虚拟化的负载均衡器)前面。可以为前端114分配公共或专用IP地址。服务112可以显示域名服务(DNS)名称,例如“foo.example.com”公开。服务112可以由图1A中表示的服务所有者通过服务所有者的网络190拥有或管理。
客户(包括但不限于服务所有者)可以通过一个或多个API 106从中间网络180(例如互联网)上的外部网络至提供商网络100的控制平面104,提供和管理在提供商网络100上的专用网络110。例如,客户可以从相应外部网络192中的控制台从图形用户界面(GUI)和/或命令行界面(CLI)管理其专用网络100。
在一些实施例中,服务所有者可以例如通过API 106在提供商网络100中建立和注册服务112,并且经由服务所有者网络190中的控制台至控制平面104,如图11所示。控制平面104可以通过API接收注册服务112的请求,该请求指定服务112的IP地址和与该服务112关联的DNS名称。在一些实施例中,可以将服务112注册到提供商网络100的目录服务;提供商网络的客户可以通过目录服务的API发现在目录服务中注册的服务。
客户可以在提供商网络100上的他们的虚拟专用网络110中请求建立服务112的服务端点130,例如通过到提供商网络100的控制平面104的API 106,如图12所示。在一些实施例中,服务所有者可以被告知该请求,并且可以例如经由API 106的用户界面来接受或拒绝该请求如图11所示。如果请求被接受,则在客户的虚拟专用网络110中生成用于服务112的服务端点130,向服务端点112分配客户的虚拟专用网110的专用IP地址范围内的本地IP地址,并且将DNS名称分配给服务端点130。图1A示出了具有服务端点130到服务112的两个实例虚拟专用网络110:具有服务端点130A的专用网络110A,服务端点130A包括由第一客户(在图1A中由客户网络192A表示)拥有的虚拟机(VM)120A,以及具有服务端点130B的专用网络110B,服务端点130B包括第二客户(在图1A中由客户网络192B表示)拥有的虚拟机(VM)120B。在一些实施例中,服务端点130的DNS名称由控制平面104生成和分配,例如,如图1B或图1C所示。服务端点130的本地IP地址可以由客户指定,或者可选地,可以由控制平面104从相应专用网络110的专用IP地址范围中选择(随机或其他方式)。
在一些实施例中,服务端点130可以被实现为数据结构中(例如,数据库或文件中)的记录,该记录将服务端点130的本地IP地址映射到各个服务112的IP地址。在管理程序或主机设备上的特权域中执行的软件将服务端点130提供给在主机设备上执行的VM 120。当VM 120将服务请求发送到服务端点130的本地IP地址时,主机设备上的软件将本地IP地址映射到服务112的IP地址,封装该服务请求,然后将封装后的请求发送到将路由到服务112的网络基体。
通过示例的方式参考专用网络110A,虚拟专用网络110A中的VM 120A可以解析分配给虚拟专用网络110A中的服务端点130A的DNS名称,以获得服务端点130A的本地IP地址。然后,VM 120A可以将对服务112的服务请求发送到服务端点130A的本地IP地址。在服务端点130A,将服务请求与路由信息一起封装,该路由信息可用于将数据包通过提供商网络100的网络基体路由到服务112,并将封装后的服务请求发送到提供商网络100的网络基体,以路由到服务112(例如,路由到分配给服务前端114的IP地址)。可以将根据封装信息在网络基体上的封装服务请求的路由视为在网络基体上经由覆盖网络路由或路径132A(称为“隧道”)发送封装的服务请求。
在一些实施例中,从服务端点130A发送到服务112的封装的服务请求包括标识服务端点130A的信息。在一些实施例中,封装的服务请求可以包括其他信息,例如,标识与虚拟专用网络110A相关联的客户账户的信息、标识发起服务请求的VM 120A的信息、和/或服务端点130A和/或各个VM 120A的认证和授权信息。
在前端114,将从服务端点130A接收的封装的服务请求解封装并发送或分发给一个或多个服务实例116A-116n。在一些实施例中,前端114在将服务请求发送到服务实例116A-116n之前将标识服务端点130A的信息添加或附加到服务请求;例如,服务112可以使用添加的信息来记录对该服务的访问和/或执行访问控制策略。在一些实施例中,前端114从服务实例116A-116n接收对服务请求的响应,将响应与路由信息一起封装,该路由信息可用于通过提供商网络100的网络基体将所述响应路由至服务端点130A,并将封装后的响应发送至提供商网络100的网络基体,以便路由到虚拟专用网络110A上的服务端点130A。
在一些实施例中,提供商网络100可以支持通过外部网络192和客户专用网络110之间的直接连接194经由客户专用网络110中的服务端点130从外部客户网络192访问服务112。在一些实施例中,提供商网络100可以允许客户建立从外部客户网络192到提供商网络100上的虚拟专用网络110的专用网络连接,称为直接连接194。与基于因特网的连接相比,直接连接194可以是专用通信信道,并且可以提供安全的通信和更高的带宽通量。图1A示出了从客户网络192A到专用网络110A的直接连接194。在一些实施例中,客户网络192A上的资源可以发现分配给专用网络110A上的服务端点130A的DNS名称,解析DNS名称以获得服务端点130A的本地IP地址,并且通过直接连接194向服务端点130A的本地IP地址发送对服务112的服务请求。在服务端点130A,将服务请求与路由信息一起封装,该路由信息可用于将数据包通过提供商网络100的网络基体路由到服务112,并将封装后的服务请求发送到提供商网络100的网络基体,以路由到服务112(例如,路由到分配给服务前端114的IP地址)。服务端点130A可以通过直接连接194将对服务请求的响应发送到客户网络192A。
在一些实施例中,客户可以定义策略134并将其分配给他们的专用网络110上的端点。端点策略134可以例如通过指定允许访问端点的IP地址、IP地址范围、子网和/或安全组,和/或通过指定不允许访问端点的IP地址、IP地址范围、子网和/或安全组,控制对专用网络110上的端点(即,专用网络的本地IP地址)的访问。端点策略134可以包括针对端点的其他访问控制限制,例如通过指定特定IP地址或范围可以或不能访问端点的时间窗口、指定特定IP地址或范围的吞吐量限制、指定特定IP地址或范围被允许通过端点执行或不允许通过端点执行的特定操作(例如服务请求),等等。图1A示出了用于服务端点130A的端点策略134。当服务端点130A从端点(例如,专用网络110上的VM120或客户网络192A上的资源)接收到服务请求时,服务端点130A可以检查端点策略134以确定请求资源是否被允许通过服务端点130A访问服务112,和/或是否允许所述请求资源向服务112发出特定服务请求。
虽然在图1A中未示出,还可以为专用网络110C中的服务实例116定义端点策略并与之关联。服务实例116从服务端点130A接收到的服务请求可以包括标识服务端点130A的元数据,并且还可以包括标识服务请求的源端点的信息。当服务实例116从前端114接收到服务请求时,服务实例116可以检查其端点策略以确定是否允许服务端点130A访问服务112,是否允许源端点通过服务端点130A访问服务112,和/或是否允许源端点向服务112发出特定服务请求。
图1A示出了在两个虚拟网络110中到服务112的两个服务端点130,每个虚拟网络110中有一个服务端点130。然而,实施例可以支持到服务112的任何数量的服务端点130。此外,虚拟网络110可以包括到给定服务112的一个以上服务端点130,并且可以包括到一个以上服务112的服务端点130。
在一些实施例中,可以为提供商网络100上的客户专用网络110中的服务端点112分配在本地(在专用网络内)和全局(在所有专用网络内)唯一的DNS名称。图1B图示了其中如图1A所示的虚拟网络110中的服务端点130被分配了唯一的DNS名称。DNS名称、DNS名称的格式和IP地址仅作为示例给出,并不旨在进行限制。
如图1B所示,服务所有者在服务专用网络110C中已注册服务112,DNS名称为“foo.example.com”和IP地址为“abc.de.f.g”(分配给前端114,例如虚拟化的负载均衡器)。客户可以在提供商网络100上的他们的虚拟网络110中请求建立服务112的服务端点130,例如通过到提供商网络100的控制平面104的API 106,如图12所示。在一些实施例中,服务所有者可以被告知该请求,并且可以例如经由API 106的用户界面来接受或拒绝该请求如图11所示。如果请求被接受,则在客户的虚拟网络110中生成用于服务112的服务端点130,向服务端点112分配客户的虚拟网络110的IP地址范围内的本地IP地址,并且将DNS名称分配给服务端点130。服务端点130的本地IP地址可以由客户指定,或者可选地,可以由控制平面104从相应专用网络110的专用IP地址范围中选择(随机或其他方式)。在如图1B所示的一些实施例中,控制平面为每个服务端点130生成并分配唯一的DNS名称。举例来说,对于发布DNS名称“foo.example.com”的服务,可以向第一服务端点分配DNS名称“pne-0001.foo.example.com”,可以向第二服务端点分配DNS名称“pne-0002.foo.example.com”,依此类推。注意,在各种实施例中可以使用将唯一的DNS名称分配给服务端点的任何合适的方法。每个唯一的DNS名称都解析为分配给相应服务端点130的本地IP地址。
在图1B中,已经在客户专用网络110A中创建了服务端点130A。服务端点130A被分配在专用网络110A的专用IP地址范围中的本地IP址(在此实例中为10.0.0.7)。服务端点130A与专用网络110A中的服务112的DNS名称(在这个例子中为pne-1111.foo.example.com)相关联。专用网络110A上的VM 120A可以解析DNS名称pne-1111.foo.example.com,以获得服务端点110A的本地IP地址(在此例中为10.0.0.7)。然后,VM 120A可以在专用网络110A上的本地IP地址(10.0.0.7)处向服务端点130A发送对服务112的服务请求。在服务端点130A,将服务请求与路由信息一起封装,该路由信息可用于将封装的数据包通过网络基体路由到分配至前端114的IP地址,并将封装后的服务请求发送到提供商网络100的网络基体,以路由到服务112(例如,路由到分配给服务前端114的IP地址)。可以将根据封装信息在网络基体上的封装服务请求的路由视为在网络基体上经由覆盖网络路由或路径132A发送封装的服务请求。
在图1B中,已经在客户专用网络110B中创建了另一个服务端点130B。服务端点130B被分配在专用网络110B的专用IP地址范围中的本地IP址(在此实例中为10.0.1.8)。服务端点130B与专用网络110B中的服务112的DNS名称(在这个例子中为pne-2222.foo.example.com)相关联。专用网络110B上的VM120B可以解析DNS名称pne-2222.foo.example.com,以获得服务端点110B的本地IP地址(在此例中为10.0.1.8)。然后,VM 120B可以在专用网络110B上的本地IP地址(10.0.1.8)处将对服务112的服务请求发送到服务端点130B。在服务端点130B,将服务请求与路由信息一起封装,该路由信息可用于将封装的数据包通过网络基体路由到分配至前端114的IP地址,并将封装后的服务请求发送到提供商网络100的网络基体,以路由到服务112(例如,路由到分配给服务前端114的IP地址)。可以将根据封装信息在网络基体上的封装服务请求的路由视为在网络基体上经由覆盖网络路由或路径132发送封装的服务请求。
在前端114,将从服务端点130A和130B接收的封装的服务请求解封装并发送或分发给一个或多个服务实例116A-116n。对于服务实例116A-116n,服务请求似乎来自前端114的IP地址。然而,为了使实例116A-116n可以识别服务请求的始发端点,在一些实施例中,前端114在将服务请求发送到服务实例116A-116n之前将标识各个服务端点130A或130B的信息添加或附加到服务请求。服务112可以例如使用添加的信息来记录对该服务的访问和/或执行访问控制策略。在一些实施例中,前端114从服务实例116A-116n接收对服务请求的响应,将响应与路由信息一起封装,该路由信息可用于通过提供商网络100的网络基体将所述响应路由至各个服务端点130A或130B,并将封装后的响应发送至提供商网络100的网络基体,以便路由到虚拟网络110A上的各个服务端点130A或虚拟网络110B上的各个服务端点130B。
在图1B中,在一些实施例中,当在专用网络110中创建服务端点130至服务112时,分配给服务端点130的唯一DNS名称(在此例中为pne-1111.foo.example.com和pne-2222.foo.example.com)可以与标识相应服务端点130的信息一起记录在DNS服务中。当专用网络110中的VM 120调用DNS服务以解析专用网络110中的服务端点130的DNS名称时,DNS服务返回专用网络110上的服务端点130的本地IP地址。DNS服务可以在提供商网络100上。在一些实施例中,不同的专用网络110A和110B中的VM 120可以调用不同的DNS服务。在一些实施例中,虚拟网络110可以包括本地DNS服务实例,虚拟网络110中的VM调用该本地DNS服务实例来解析DNS名称。
在一些实施例中,代替VM 120直接调用DNS服务来解析服务端点130的DNS名称,VM可以查询DNS解析器,例如在管理程序中或在主机设备上的特权域中执行。DNS解析器可以维护DNS条目的缓存。当DNS解析器从VM120接收到DNS查询时,DNS解析器检查其DNS条目的缓存以将查询解析为各个服务端点的本地IP地址;如果DNS名称不在缓存中,则DNS解析器可以调用DNS服务来解析查询。
在一些实施例中,可以为提供商网络100上的客户专用网络110中的服务112的服务端点130分配相同的DNS名称,该DNS名称可以是与服务112的DNS名称相同的DNS名称,或者与服务112DNS名称不同的DNS名称(例如,对于发布DNS名称“foo.example.com”的服务112,为“foo.example.com”或“com.example.foo”)。当专用网络110中的VM 120调用专用网络110中的服务端点110的DNS名称时,DNS名称解析为分配给各个客户专用网络110中的服务端点130的本地IP地址。图1C示出了其中在其各个专用网络110中向图1A所示虚拟网络110中的服务端点130分配了服务112的相同DNS名称并且示出了DNS名称被解析为各个专用网络110中的服务端点130的实施例。DNS名称和IP地址仅作为示例给出,并不旨在进行限制。
如图1C所示,服务所有者在服务专用网络110C中已注册服务112,DNS名称为“foo.example.com”和IP地址为“abc.de.f.g”(分配给前端114,例如虚拟化的负载均衡器)。客户可以在提供商网络100上的他们的虚拟网络110中请求建立服务112的服务端点130,例如通过到提供商网络100的控制平面104的API 106,如图12所示。在一些实施例中,服务所有者可以被告知该请求,并且可以例如经由API 106的用户界面来接受或拒绝该请求如图11所示。如果请求被接受,则在客户的虚拟网络110中生成用于服务112的服务端点130,向服务端点112分配客户的虚拟网络110的IP地址范围内的本地IP地址,并且将DNS名称分配给服务端点130。服务端点130的本地IP地址可以由客户指定,或者可选地,可以由控制平面104从相应专用网络110的专用IP地址范围中选择(随机或其他方式)。在如图1C所示的一些实施例中,控制平面向每个服务端点130分配相同的DNS名称。举例来说,对于发布DNS名称“foo.example.com”的服务,可以向服务端点130分配DNS名称“foo.example.com”。注意,在一些实施例中,分配给服务端点130的DNS名称可以不同于服务的DNS名称,例如,对于发布DNS名称“foo.example.com”的服务为“com.example.foo”。
在图1C中,已经在客户专用网络110A中创建了服务端点130A。服务端点130A被分配在专用网络110A的专用IP地址范围中的本地IP址(在此实例中为10.0.0.7)。服务端点130A与专用网络110A中的服务112的DNS名称(在这个例子中为foo.example.com)相关联。专用网络110A上的VM 120A可以解析DNS名称foo.example.com,以获得服务端点110A的本地IP地址(在此例中为10.0.0.7),例如,通过在提供商网络100上调用DNS服务140。然后,VM120A可以在专用网络110A上的本地IP地址(10.0.0.7)处向服务端点130A发送对服务112的服务请求。在服务端点130A,将服务请求与路由信息一起封装,该路由信息可用于将封装的数据包通过网络基体路由到分配至前端114的IP地址,并将封装后的服务请求发送到提供商网络100的网络基体,以路由到服务112(例如,路由到分配给服务前端114的IP地址)。可以将根据封装信息在网络基体上的封装服务请求的路由视为在网络基体上经由覆盖网络路由或路径132A发送封装的服务请求。
在图1C中,已经在客户专用网络110B中创建了另一个服务端点130B。服务端点130B被分配在专用网络110B的专用IP地址范围中的本地IP址(在此实例中为10.0.1.8)。服务端点130B与专用网络110B上的服务112的DNS名称相关联,该DNS名称与和专用网络110A上的服务端点130A相关联的DNS名称相同(在这个例子中为foo.example.com)。专用网络110B上的VM 120B可以解析DNS名称foo.example.com,以获得服务端点110B的本地IP地址(在此例中为10.0.1.8),例如,通过在提供商网络100上调用DNS服务140。然后,VM 120B可以在专用网络110B上的本地IP地址(10.0.1.8)处将对服务112的服务请求发送到服务端点130B。在服务端点130B,将服务请求与路由信息一起封装,该路由信息可用于将封装的数据包通过网络基体路由到分配至前端114的IP地址,并将封装后的服务请求发送到提供商网络100的网络基体,以路由到服务112(例如,路由到分配给服务前端114的IP地址)。可以将根据封装信息在网络基体上的封装服务请求的路由视为在网络基体上经由覆盖网络路由或路径132发送封装的服务请求。
在前端114,将从服务端点130A和130B接收的封装的服务请求解封装并发送或分发给一个或多个服务实例116A-116n。对于服务实例116A-116n,服务请求似乎来自前端114的IP地址。然而,为了使实例116A-116n可以识别服务请求的始发端点,在一些实施例中,前端114在将服务请求发送到服务实例116A-116n之前将标识各个服务端点130A或130B的信息添加或附加到服务请求。服务112可以例如使用添加的信息来记录对该服务的访问和/或执行访问控制策略。在一些实施例中,前端114从服务实例116A-116n接收对服务请求的响应,将响应与路由信息一起封装,该路由信息可用于通过提供商网络100的网络基体将所述响应路由至各个服务端点130A或130B,并将封装后的响应发送至提供商网络100的网络基体,以便路由到虚拟网络110A上的各个服务端点130A或虚拟网络110B上的各个服务端点130B。
在图1C中,在一些实施例中,当在虚拟网络110中创建服务112的服务端点130时,可以将分配给服务端点130的DNS名称(在该例中为foo.example.com)连同标识各个专用网络110和/或各个服务端点130的信息记录在DNS服务140中。当专用网络110中的VM 120调用DNS服务140以解析虚拟网络110中的服务端点130的DNS名称时,该调用包括识别虚拟网络110和/或服务端点130的信息。然后,DNS服务140可以使用此信息将DNS名称解析为正确的服务端点130,并在虚拟网络110中返回服务端点130的本地IP地址。
虽然图1C示出了由虚拟网络110A和110B中的VM 120调用的提供商网络100上的DNS服务140,但在一些实施例中,不同虚拟网络110A和110B中的VM 120可以调用不同的DNS服务140。此外,在一些实施例中,虚拟网络110可以包括本地DNS服务140实例,虚拟网络110中的VM调用该本地DNS服务实例来解析DNS名称。
在一些实施例中,代替VM 120直接调用DNS服务140来解析服务端点130的DNS名称,VM可以查询DNS解析器,例如在管理程序中或在主机设备上的特权域中执行。DNS解析器可以维护DNS条目的缓存。当DNS解析器从VM 120接收到DNS查询时,DNS解析器检查其DNS条目的缓存以将查询解析为各个服务端点的本地IP地址;如果DNS名称不在缓存中,则DNS解析器可以调用DNS服务140来解析查询。
图2示出了根据一些实施例的托管具有到其他专用网络中的服务的端点的服务的多个专用网络。在图2中,作为非限制性实例,专用网络210A实施服务212A,专用网络210B实施服务212B,并且专用网络210C实施服务212C。各种服务212的服务端点230可以在提供商网络200上的各种专用网络212中实现。通过到服务212的服务端点230,其他专用网络210中的VM 220和服务230可以访问服务212。例如,如图2所示,专用网络210A包括到服务212B的服务端点230A,专用网络210C包括到服务212B的服务端点230B和到服务212A的服务端点230C,并且专用网络210D包括到服务212B的服务端点230D。服务212A可以通过服务端点230A并且通过路径232A访问服务212B,服务212C可以通过服务端点230B并且通过路径232B访问服务212B,并且服务212C可以通过服务端点230B并且通过路径232B访问服务212A。专用网络210D中的VM 220可以通过服务端点230D并且通过路径232D访问服务212B。
作为示例用例,实体(例如,企业或其他组织)可能想要例如通过为至少一些团体提供单独的虚拟网络210来例如根据部门、功能、项目或其他分组划分其提供商网络100实现方式。大型实体因此可以在提供商网络上实现数十个到数千个专用网络210中任何地方的许多分离的虚拟网络210。然而,实体的提供商网络200实施方式中的虚拟网络210可以在实体的提供商网络200实施方式的其他虚拟网络210中实施可能需要由资源(例如,VM或其他服务)访问的一种或多个服务。传统上,为了从另一个专用网络访问在专用网络210上实现的服务,服务请求通过公共因特网路由到服务的端点。在一些实施例中,作为替代,该实体可以在其实施方式中的专用网络210之间建立对等互连,通过该对等互连可以访问服务。但是,如前所述,这两种方法都有缺点。允许实体在其专用网络210中建立服务端点230克服了先前方法的缺点,从而允许实体在提供商网络200上配置和管理大型和复杂的实施方式,该提供商网络200包括数十、数百或数千个实施各种服务212的专用网络210,并且其中可以通过在相应的专用网络210中添加服务端点230轻松地将服务212的访问权限提供给其他专用网络210中的资源。此外,在一些实施例中,可以通过用于服务端点212和/或用于服务实例的端点策略,和/或通过诸如通过认证/授权服务获得的证书或令牌的认证/授权方法,控制对服务212的访问。
图3示出了根据一些实施例的托管在其他专用网络中具有端点的多个服务的专用网络。在图3中,作为非限制性示例,专用网络310A实现多个服务312A、312B…312n。专用网络310A中的各种服务312的服务端点330可以在提供商网络300上的各种其他专用网络312中实现。其他专用网络310中的VM 320(和服务)可以通过相应专用网络310中的服务312的服务端点330访问专用网络310A中的服务312。例如,如图3所示,专用网络310B包括到服务312A的服务端点330A以及到服务312B的两个服务端点330B和330C,并且专用网络210C包括到服务312B的服务端点330D。专用网络310B中的VM320A可以通过服务端点330A并通过路径332A访问服务312A,专用网络310B中的VM 320B可以通过服务端点330B并通过路径332B访问服务312B,并且专用网络310B中的VM 320C可以通过服务端点330C和路径332C访问服务312B。如从VM 320A到服务端点320B的线所示,专用网络310中的VM320可以通过专用网络310中的各个服务端点330访问一个以上的服务312。专用网络310C中的VM 320D可以通过服务端点330D并且通过路径332D访问服务312B。
图4示出了根据一些实施例的对提供商网络的区域中的多个可用性区域的服务端点支持。在一些实施例中,提供商网络400可以包括一个或多个区域网络401;每个区域网络401可以包括多个可用性区。例如,在图4中,区域网络401包括两个可用性区AZ1和AZ2。每个可用性区可以由相应区域网络401内的一个或多个数据中心实施;数据中心可以实施一个或多个可用性区。区域网络401中的可用性区可以通过低延迟链路(例如,专用高带宽光纤链路)连接并共同形成区域网络401。区域网络401内的不同可用性区域中的端点(例如,客户的虚拟资源)之间的通信可以通过中间网络或通过低延迟链路。在一些实施例中,提供商网络400可以跨越相应区域网络401内的两个或更多个可用性区提供客户的虚拟资源的复制。如果一个可用性区由于某种原因而停机,那么通过跨越区域网络401内的可用性区复制客户的虚拟资源,客户的虚拟资源可以在区域网络401中的另一可用性区中保持可用。因此,在一些实施例中,如图4所示,可以在区域网络401的两个或更多个可用性区域(在该例中为AZ1和AZ2)中实现由服务专用网络410A提供的服务412。类似地,可以在区域网络401的两个或更多个可用性区域(在此例中为AZ1和AZ2)中实现客户专用网络410B。
图4提供了非限制性实例,其中服务412由专用网络410A在区域网络401的可用性区域AZ1和AZ2中实现。服务412在AZ1中实现为前端414A(例如,虚拟化的负载均衡器)后面的一个或多个服务实例416A1、416A1…416An,并且在AZ2中实现为前端414B(例如,虚拟化的负载均衡器)之后的一个或多个服务实例416B1、416B1…416Bn。服务412的两个实例具有相同的DNS名称(在此例中为foo.example.com),但具有不同的IP地址(在此例中为AZ1中的abc.de.f.g和在AZ2中为abc.de.x.y)。
在区域网络401的可用性区域AZ1和AZ2中实现专用网络410B。VM420A位于AZ1中,而VM 420B位于AZ2中。专用网络包括到服务412的服务端点430。服务端点430具有不同的本地IP地址,并在两个可用性区域中分配了不同的DNS名称:在此例中,az1.pne-1111.foo.example.com解析为本地IP地址:AZ1中的10.0.0.7,az2.pne-2222.foo.example.com在AZ2中解析为10.0.1.8。AZ1中的VM 420A通常可以通过解析AZ1DNS名称(在此例中为az1.pne-1111.foo.example.com),通过服务端点430和路径432A访问AZ1中的服务IP地址(在此例中为abc.de.f.g)处的服务412,以获取AZ1本地IP地址(在此例中为10.0.0.7)。AZ2中的VM 420B通常可以通过解析AZ2 DNS名称(在此例中为az2.pne-2222.foo.example.com),通过服务端点430和路径432B访问AZ2中的服务IP地址(在此例中为abc.de.x.y)处的服务412,以获取AZ2本地IP地址(10.0.1.8)。然而,如路径432C所示,一个可用性区域中的VM 420可以通过服务端点430访问另一可用性区域中的服务412。例如,AZ2中的VM420B可以通过解析AZ1 DNS名称(在此例中为az1.pne-1111.foo.example.com),通过服务端点430和路径432C(其跨可用性区域)访问AZ1中的服务IP地址(在此示例中为abc.de.fg)处的服务412,以获取AZ1本地IP地址(在此示例中为10.0.0.7)。
图5示出了根据一些实施例的具有到不同位置的服务的服务端点的专用网络。尽管在图1A至图4中描述了允许客户在其虚拟专用网络中建立针对在提供商网络上的其他虚拟专用网络中实现的服务的服务端点的实施例,但是一些实施例可以允许客户在其虚拟专用网络中针对未在虚拟专用网络中实现的在提供商网络上实现的服务建立服务端点,或针对这样的服务建立服务端点:其在虚拟专用网络中实现了服务前端,并且服务实例在提供商网络上而不在虚拟专用网络中,或者位于其他虚拟专用网络中。另外,一些实施例可以允许客户建立在提供商网络外部的网络上实现的服务的服务端点。
图5示出了示例专用网络510C,其在另一个专用网络510A中包括至服务512A的服务端点530A。专用网络510C还包括至服务512B的服务端点530B,其中服务的前端在专用网络510B中实现,服务512B(例如,一个或多个服务实例)在专用网络510B外部实现,要么在提供商网络500上,要么在提供商网络500上的另一个虚拟专用网络中。专用网络510C还包括至服务512C的服务端点530C,其被实现为提供商网络500上的一个或多个服务实例,而不是在虚拟专用网络中。专用网络510C还包括至服务512D的服务端点530D,其在提供商网络500外部的网络590上实现。专用网络510C上的VM 520可以通过专用网络510C中的各个服务端点530A-530D访问服务512A-512D。另外,客户网络592上的资源可以通过中间网络580上的直接连接到专用网络510C中的各个服务端点530A-530D访问服务512A-512D,如图1A所示的。
为了向外部网络590上的服务512D发送服务请求,服务请求可以在服务端点530D处被封装有路由信息,该路由信息可用于将数据包通过提供商网络500的网络基体路由到提供商网络500的边缘设备。在边缘设备处,服务请求可以被解封装并且通过中间网络580(例如,因特网)发送到外部网络590。服务请求可以通过公共因特网发送,或者可以通过专用通信信道发送,或者通过中间网络580直接连接到外部网络590。可以在提供商网络的边缘设备处接收来自服务530D的响应,并用路由信息封装,该路由信息可用于将数据包通过提供商网络500的网络基体路由到服务端点530D,在此将响应解封装并转发给相应的端点,其可以是专用网络510C上的VM 520或客户网络592上的资源。
图6示出了根据一些实施例的可以包括在服务请求中的示例元数据。在一些实施例中,元数据可以被包括在服务端点630向服务612发送的封装包中的服务请求中或与之一起包括。图7示出了根据一些实施例的可以包括在服务请求中的实例元数据。如图7所示,封装包700可以包括路由信息(包括但不限于该包的源端点和目的地端点),用于将该包通过提供商网络600的网络基体路由到提供商网络上的目标端点,例如到服务612的前端614的IP地址。在一些实施例中,除了路由信息之外,元数据可以被添加到所述包。元数据可以包括以下一项或多项,但不限于:
·区域/AZ信息–标识提供商网络上发起服务请求的区域和/或区域的可用性区的信息。
·服务端点标识符–唯一标识服务端点的标识符;服务端点标识符也可以用于标识源专用网络。
·源端点标识符–唯一标识通过服务端点(例如,源专用网络中的VM)发起服务请求的端点的标识符。
·认证/授权–可用于认证始发端点(例如,源专用网络上的VM或源专用网络外部的网络上的资源)的信息(例如,证书、令牌等),和/或授权始发端点对服务的访问。
·客户帐户标识符–与始发端点关联的提供商网络帐户(例如,用于创建服务端点的源专用网络所有者的帐户)的标识符。
·客户专用网络容量–指示源专用网络和/或源端点(例如,源专用网络上的VM)的容量的信息,例如吞吐量容量、使用的格式和协议等。
在客户的虚拟网络610和服务612之间传递的IP数据包(例如,服务请求)包括不传达虚拟网络610或服务612的所有者身份的源和目的地IP地址。然而,服务端点630是通过具有强身份的提供商网络帐户通过对提供商网络控制平面的API的认证调用来建立的。可以记录关于创建服务端点630的账户的信息,并且该信息可以用于例如通过添加账户标识符和/或其他账户信息来将通过服务端点630的IP数据包归属于创建它的账户,作为IP数据包的元数据。例如,如果帐户A创建服务端点630A,则系统将存储允许其将通过端点630A的所有流量归属于帐户A的信息,即使IP数据包本身不包含任何标识该帐户的信息。注意,当创建服务端点630时,服务所有者帐户的身份也是已知的,并因此关于服务所有者帐户的信息也可以被记录并应用于通过服务端点630的流量。由服务端点630提供的在连接的两侧上的账户的知晓可以允许支持在常规网络上不可能的功能。
服务端点630的所记录的帐户信息可以用于各种目的。例如,该信息可用于按帐户计量数据使用量;例如,计量数据可用于生成使用情况报告和/或用于计费目的。作为另一实例,可以基于账户身份来执行流量整形和/或可以应用服务质量(QoS)规则;例如,可以允许帐户A突发到100Mbps,而将帐户B限制为10Mbps。作为另一实例,可以应用基于身份的防火墙,例如,允许不同的帐户发送不同类型的流量,或将某些帐户限制为特定类型的流量。作为另一实例,可以使用指定的非对称密钥或证书的公共部分来加密通过服务端点630流入专用网络的所有流量;例如,密钥或证书可以由帐户所有者在他们通过API调用控制平面以创建服务端点630时指定。
再次参考图6,在从专用网络610A上的源端点630A或从专用网络610B上的源端点630B接收到封装包700后,服务612的前端614(例如,虚拟负载均衡器)可以对所述包进行解封装并将服务请求发送给服务612的服务实例616A-616n中的一个。前端可以包括服务请求中的一个或多个元数据项。例如,在一些实施例中,可以包括认证/授权信息;服务实例616可以使用所述认证/授权信息来认证始发端点(例如,源专用网络610A或610B上的VM,或源专用网络外部的网络上的资源),和/或授权始发端点访问服务。
作为另一示例,在一些实施例中,可以包括服务端点标识符,该服务端点标识符唯一地标识服务端点(在该例中为服务端点630A或服务端点630B)。服务端点标识符可以例如由服务实例616用来检查访问控制策略618以确定源服务端点是否可以访问服务612。
作为另一示例,在一些实施例中,可以包括源端点标识符,其唯一地标识经由服务端点(例如,专用网络610A或610B中的VM 620)发起了服务请求的端点。例如,服务实例616可以使用源端点标识符来检查访问控制策略618,以确定源端点是否有权访问服务612以执行服务请求。
作为另一示例,在一些实施例中,可以包括客户帐户标识符,该客户帐户标识符标识与始发端点(例如,在该示例中,源专用网络610A或610B的所有者)相关联的提供商网络帐户。例如,服务实例616可以使用客户帐户标识符来例如使用日志记录617服务将来自客户资源的服务请求记录到服务612。来自元数据的一个或多个其他项,例如服务端点标识符和源端点标识符,也可以被记录用于服务请求。所记录或日志的信息可以例如由服务所有者用于计费目的。作为另一个示例,可以将所记录的信息提供给服务客户,以用于通过其资源跟踪或分析服务612的使用。
作为另一示例,在一些实施例中,可以包括指示源专用网络的能力的信息,例如吞吐量能力格式和所使用的协议等。例如,服务实例616可以使用专用网络能力来确定如何格式化、打包数据以及将数据返回到源专用网络和源端点,以响应服务请求。
图8示出了根据一些实施例的用于将服务端点提供给专用网络中的至资源的服务的方法。例如,图8中的方法可用于如图1A至6所示的提供商网络环境中。
如1000所示,服务所有者可以经由API在提供商网络上注册服务,例如,如图11所示。服务所有者可以提供服务的DNS名称和服务的公共或专用IP地址。该服务可以例如由提供商网络上的服务专用网络中的一个或多个服务实例来实现。服务实例可位于前端之后,例如虚拟化的负载均衡器;服务的公共或专用IP地址可以分配给前端。
如1002所示,客户可以例如通过到如图12所示的API的接口在提供商网络上发现服务。在一些实施例中,可以将服务注册到提供商网络的目录服务;提供商网络的客户可以通过目录服务的API发现在目录服务中注册的服务。
如在1004处所指示的,客户经由提供商网络的控制平面的API,例如经由到API的接口,在提供商网络上的客户专用网络中请求服务的服务端点,如图12所示。在一些实施例中,可以在两个或更多个可用性区中实现服务,如图4所示,并且客户可以为服务的服务端点指定特定的可用性区。
如在1006处所指示的,在一些实施例中,可以向服务所有者通知该请求,并且可以例如经由到如图11所示的API的接口来接受客户的请求。请注意,服务所有者可以选择拒绝请求。
如1008所示,接受请求后,将在客户专用网络中创建服务端点。服务端点可以例如被实现为客户专用网络中的虚拟网络接口。虚拟网络接口可以但不一定连接到客户专用网络中的虚拟机。服务端点可以被分配客户专用网络的IP地址范围内的本地IP地址,并且可以被分配给服务的DNS名称,该DNS名称解析为分配给服务端点的相应本地IP地址。服务端点还将在服务专用网络上记录服务的公用或专用IP地址。
在如图1C所示的一些实施例中,分配给服务端点的DNS名称是与分配给该服务的所有服务端点的相同的DNS名称(例如,发布了DNS名称“foo.example.com”的服务的“foo.example.com”或“com.example.foo”)。服务端点DNS名称解析为分配给客户专用网络中服务端点的本地IP地址。替代地,在如图1B所示的一些实施例中,分配给服务端点的DNS名称在本地(在专用网络内)和全局(在所有专用网络内)是唯一的。举例来说,对于发布DNS名称“foo.example.com”的服务,可以为服务端点分配DNS名称“pne-1234.foo.example.com”,其中“1234”唯一地标识该服务端点。
如1010所示,在客户专用网络中配置了服务端点之后,客户专用网络中的资源实例可以解析服务端点的DNS名称以获得服务端点的本地IP地址,并通过服务端点访问服务。图9更详细示出了用于从专用网络中的服务端点访问服务的方法。在一些实施例中,外部网络(例如,客户的数据中心)上的资源还可以解析服务端点的DNS名称,以获得客户专用网络上服务端点的本地IP地址,并通过直接连接到如图1A所示的服务端点访问服务。
如1012所示,可以在服务端点处接收的服务请求与路由信息一起封装,然后发送到提供商网络的网络基体上,以路由到服务。根据路由信息通过网络基体路由封装包可以被视为通过网络基体上的覆盖网络路由或路径发送封装包。在服务处,服务请求被解封装,然后发送到目的地端点,例如服务的服务实例。在一些实施例中,从服务端点发送到服务的封装服务请求可以包括元数据,例如标识客户的虚拟专用网络上的服务端点的信息。在一些实施例中,元数据可以包括其他信息,例如,标识拥有虚拟专用网络的客户的帐户的信息,和/或客户的虚拟专用网络上的服务端点的认证和授权信息。图7示出了具有元数据的示例封装服务请求。在一些实施例中,可以将至少一些元数据与服务请求一起传递给服务实例;例如,服务实例可以使用元数据来记录对服务的访问和/或强制执行访问控制策略。
图9示出了根据一些实施例的用于从专用网络中的服务端点访问服务的方法。图9描述了示例方法,在该示例方法中,服务在提供商网络上的服务专用网络中实现,并且其中该服务在服务专用网络上具有前端(例如,虚拟化的负载均衡器),例如,如图1A至1C所示。但是,请注意,服务不一定具有前端,并且服务不一定在提供商网络上的专用网络中实现。图5提供了不同服务实施方式的示例。
如在1100所指示的,在客户专用网络中配置服务端点之后,客户专用网络上的资源实例可以解析服务端点的DNS名称;DNS名称解析为服务端点的本地IP地址。
如在1102处所指示的,一个或多个服务请求从资源实例被发送到客户专用网络上的服务端点的本地IP地址。
如1104处指示的,在服务端点,服务请求封装有路由信息,其可用于通过服务提供商网络的网络基体将数据包路由至服务专用网络上的服务的前端的IP地址,并且封装的响应被发射到提供商网络的网络基体以便被路由到服务的前端。可以将根据路由信息在网络基体上的封装服务请求的路由视为在网络基体上经由覆盖网络路由或路径发送封装的服务请求。在一些实施例中,从服务端点发送到服务的封装服务请求可以包括元数据,例如标识客户的虚拟专用网络上的服务端点的信息。在一些实施例中,元数据可以包括其他信息,例如,标识拥有虚拟专用网络的客户的帐户的信息,和/或客户的虚拟专用网络上的服务端点的认证和授权信息。图7示出了具有元数据的示例封装服务请求。
如1106所示,服务专用网络上的服务前端在服务的IP地址处接收服务请求,重写服务请求的源地址和目标地址,然后将服务请求发送到服务专用网络上的服务实例。从服务实例的角度来看,重写源地址和目标地址会导致服务请求似乎源自前端。在某些实施例中,为了服务实例可以标识服务请求的原始源,封装的服务请求中包含的至少一些元数据(例如,标识可用性区、专用网络、服务端点和/或服务请求源自的资源实例)可以与服务请求一起传递给服务实例;例如,服务实例可以使用元数据来记录对服务的访问和/或强制执行访问控制策略。
对于至少某些服务请求,服务实例可以生成对服务请求的响应。如1108所示,前端将响应与路由信息一起封装,该路由信息可用于通过提供商网络的网络基体将数据包路由至服务端点,并将封装后的响应发送至提供商网络的网络基体,以便路由到客户专用网络上的服务端点。如1110所示,在服务端点处,对响应进行解封装,并且服务端点将响应发送至客户专用网络上的资源实例。
在一些实施例中,可以为提供商网络上的客户专用网络中的服务端点分配在本地(在专用网络内)和全局(在所有专用网络内)唯一的DNS名称。图10示出根据一些实施例的用于向其他提供商网络中的专用网络上托管的服务提供不同的DNS名称的方法。图10的方法例如可以在如图1A和1B所示的提供商网络环境中实现。
如1200所示,服务所有者可以经由API在提供商网络上注册服务,例如,如图11所示。服务所有者可以提供服务的DNS名称(例如foo.example.com)和公共或专用IP地址。该服务可以例如由提供商网络上的服务专用网络中的一个或多个服务实例来实现。服务实例可位于前端之后,例如虚拟化的负载均衡器;服务的公共或专用IP地址可以分配给前端。客户可以例如通过到如图12所示的API的接口在提供商网络上发现服务。在一些实施例中,可以将服务注册到提供商网络的目录服务;提供商网络的客户可以通过目录服务的API发现在目录服务中注册的服务。
如在1202所示,客户请求服务端点用于在专用网络A中的服务。给服务端点分配专用网络A的本地IP地址范围内的本地IP地址(如10.0.0.7)和将服务端点与专用网络A上的服务的DNS名称(例如pne-1111.foo.example.com)相关联。专用网络A上的VM可以解析分配给专用网络A中的服务端点的DNS名称(在此例中为pne-1111.foo.example.com)以获得专用网络A上服务端点的本地IP地址(在此例中为10.0.0.7)。然后,VM可以向专用网络A上的本地IP地址(10.0.0.7)处的服务端点发送对该服务的服务请求。在该服务端点处,服务请求与路由信息一起封装,该路由信息可用于将封装的数据包通过网络基体路由到服务的IP地址,并将封装后的服务请求发送到提供商网络的网络基体,以路由到服务。在一些实施例中,元数据可以被包括在封装的服务请求中或与封装的服务请求一起被包括,例如,如图7所示;元数据可例如用于识别服务请求的源(例如,专用网络A上的服务端点)到服务前端后面的服务实例。
如在1204所示的,客户(其可以是相同的客户或不同的客户)请求服务端点用于在专用网络B中的服务。给服务端点分配专用网络B的本地IP地址范围内的本地IP地址(如10.0.1.8)和将服务端点与专用网络B上的服务的DNS名称相关联(例如pne-2222.foo.example.com)。专用网络B上的VM可以解析分配给专用网络B中的服务端点的DNS名称(在此例中为pne-2222.foo.example.com)以获得专用网络B上服务端点的本地IP地址(在此例中为10.0.1.8)。然后,VM可以向专用网络B上的本地IP地址(10.0.1.8)处的服务端点发送对该服务的服务请求。在该服务端点处,服务请求与路由信息一起封装,该路由信息可用于将封装的数据包通过网络基体路由到服务的IP地址,并将封装后的服务请求发送到提供商网络的网络基体,以路由到服务。在一些实施例中,元数据可以被包括在封装的服务请求中或与封装的服务请求一起被包括,例如,如图7所示;元数据可例如用于识别服务请求的源(例如,专用网络B上的服务端点)到服务前端后面的服务实例。
图11示出了根据一些实施例的用于注册服务的实例界面。在一些实施例中,服务所有者可以经由服务所有者网络3080上的管理控制台3082访问的提供商网络3000的一个或多个API 3006在提供商网络3000上的专用网络3010中建立、提供和管理服务3012。例如,服务所有者可以经由显示在管理控制台3082上的服务管理界面3084访问一个或多个API3006以控制平面3004。在一些实施例中,服务管理界面3084可以提供一个或多个图形和/或文本界面元素,其允许服务所有者在提供商网络3000上注册和管理在其专用网络3010中实现的服务3012。服务3012可以例如被注册在提供商网络3000上的服务目录3007中。为了促进服务3012的注册和管理,API 3006可以通过界面3084的界面元素向服务所有者提供以下一项或多项能力:
·查看指定服务专用网络中实现的服务的能力。
·为服务指定以下一个或多个,但不限于此的能力:服务专用网络;服务名称(在此例中为服务X);服务DNS名称/域名(例如foo.example.com);服务公共和/或专用IP地址;服务前端(例如,负载均衡器);服务的DNS名称服务器;支持服务的区域和/或可用性区域;服务的描述性信息;等等。
·指定服务的安全性(例如,身份验证和授权、证书等)的能力。
·注册指定的服务例如在服务目录3007中的能力。
·删除指定服务的注册的能力。
在一些实施例中,服务管理界面3084可以提供一个或多个图形和/或文本界面元素,其允许服务所有者管理提供商网络3000上对其服务3012的服务端点。为了促进服务端点的管理,API 3006可以通过界面3084的界面元素向服务所有者提供以下一项或多项能力:
·查看活动和待定服务端点的能力。活动服务端点是已被接受并激活的服务端点。待定服务端点是客户已请求但尚未被接受和激活的服务端点。对于每个服务端点,界面3084可以显示包括但不限于以下的一个或多个的信息:专用网络(PN)标识符,服务端点标识符,用于专用和/或服务端点的描述性信息,以及状态(例如,待定的或活动的)。
·删除活动服务端点的能力。
·接受待定服务端点的能力。
·拒绝待定服务端点的能力。
服务所有者可以例如使用光标控制设备来选择界面3084提供的各种界面元素,以例如指定服务信息、注册服务、删除服务、接受或拒绝待定服务端点、删除活动的服务端点、滚动浏览服务或服务端点的列表等。请注意,界面3084可包括除所示以外的其他用户界面元素。
在一些实施例中,作为图11中所示的图形用户界面的替代方案,API 3006的至少一些功能可以由服务所有者通过命令行界面(CLI)来执行。
图12示出了根据一些实施例的用于管理专用网络中的服务端点的实例界面。在一些实施例中,客户可以经由通过客户网络3180上的管理控制台3182访问的提供商网络3100上的一个或多个API 3106请求和管理在其提供商网络3100上的专用网络3110(在该示例中为专用网络3110C)中的服务端点3130。例如,客户可以经由管理控制台3182上显示的服务端点管理界面3186访问一个或多个API 3106以控制平面3104。在一些实施例中,服务端点管理界面3186可以提供一个或多个图形和/或文本界面元素,其允许客户为提供商网络3100上的专用网络3110请求和管理服务端点3130。服务3112可以例如被注册在提供商网络3100上的服务目录3107中。为了促进服务端点3130的请求,API3106可以通过界面3186的界面元素向客户提供以下一项或多项能力:
·指定要为其请求服务端点3130和/或要对其进行查看和管理服务端点3130的专用网络(在此例中为PN 3110C)的能力。
·查看和选择提供商网络3100上可用的服务3112的能力。例如,客户可能能够按服务类型浏览服务(例如,提供商网络服务、第三方服务、私人服务(例如,客户拥有的服务)、常用服务、新服务等)。对于每种服务类型或类别,可以显示一个或多个可用服务3112。
·选择服务3112并为选定的服务3112请求指定的专用网络3110中的服务端点3130的能力。在该示例中,顾客已经选择了服务3112B(在专用网络3110B中实现),并且已经请求了专用网络3110C中的服务3130的服务端点3130B。
在一些实施例中,服务端点管理界面3186可以提供一个或多个图形和/或文本界面元素,该图形和/或文本界面元素允许客户管理提供商网络3100上的所选专用网络(在该示例中为专用网络3100C)中的服务端点3130。为了促进服务端点3130的管理,API 3106可以通过界面3186的界面元素向客户提供以下一项或多项能力:
·查看活动和待定服务端点3130(在此示例中为活动服务端点3130A和待定服务端点3130B)的能力。活动服务端点是已被服务所有者接受并激活的服务端点。待定服务端点是客户已请求但服务所有者尚未接受的服务端点。对于每个服务端点3130,界面3186可以显示信息,其包括但不限于以下一项或多项:服务名称或标识符(在此例中为服务3112A和3112B)、分配给服务端点3130的DNS名称、服务端点标识符(在此例中,与服务端点3130A相对应的SE1和与服务端点3130B相对应的SE2)、专用网络3110C上端点的本地IP地址(在此例中,为10.0.0.7和10.0.1.8)以及状态(在此例中,对于SE1处于活动状态,对于SE2处于待定状态)。
·删除活动服务端点的能力。
·取消待定服务端点的能力。
顾客可以例如使用光标控制设备来选择由界面3186提供的各种界面元素,以例如指定专用网络、浏览和选择服务、为所选择的服务请求服务端点、查看和管理服务端点的列表。注意,界面3186可以包括除了所示的那些以外的其他用户界面元素。
在一些实施例中,作为图12中所示的图形用户界面的替代方案,API 3106的至少一些功能可以由客户通过命令行界面(CLI)来执行。
图13示出了根据一些实施例的用于提供商网络的共享服务市场以及到该共享服务市场的实例界面。在一些实施例中,提供商网络3200或第三方可以提供共享服务市场3209作为用于关于提供商网络3200的客户可用的服务的信息的存储库。在一些实施例中,共享服务市场3209可以从一个或多个服务目录3207或从诸如服务所有者的其他来源获得关于可用服务的信息。
在一些实施例中,客户可以经由一个或多个API 3208访问共享服务市场3209,该API 3208通过客户网络3280上的管理控制台3282访问。例如,客户可以经由显示在管理控制台3282上的共享服务市场界面3288访问一个或多个API 3208到共享服务市场3209。在一些实施例中,共享服务市场界面3288可以提供一个或多个图形和/或文本界面元素,其允许客户浏览和通过市场3209提供的服务,并通过市场3209请求在提供商网络3200上其专用网络的服务端点。API 3208可以通过界面3288的界面元素向客户提供以下一项或多项能力:
·浏览通过市场3209上可用的服务的能力。例如,客户可能能够按服务类别浏览服务(作为非限制性示例,业务服务、网络分析服务、社交媒体分析服务、与健康相关的服务、打印服务、数据库服务、数据存储服务、数据记录服务等)。对于选定的服务类别,可以显示一个或多个可用服务。在此示例中,选择类别A,并显示服务A和B。
·选择浏览器定位的服务以查看有关服务的其他信息和/或描述的能力(包括但不限于成本(如果有的话,用于获取服务的服务端点)以及该服务的任何使用成本)。在一些实施例中,可以提供到网站的链接,以便顾客可以从服务所有者、服务评论者、新闻报道等获得关于服务的附加信息。
·搜索通过市场3209可获得的服务的能力。例如,客户可能能够根据一个或多个标准(作为非限制性示例,服务名称、域名、服务所有者、服务类型等)搜索服务。对于选定的服务标准,客户可以输入搜索字符串;可以显示与搜索字符串相对应的一项或多项可用服务。在此示例中,选择服务名称,并显示服务A。
·选择搜索定位的服务以查看有关服务的其他信息和/或描述的能力(包括但不限于成本(如果有的话,用于获取服务的服务端点)以及该服务的任何使用成本)。在一些实施例中,可以提供到网站的链接,以便顾客可以从服务所有者、服务评论者、新闻报道等获得关于服务的附加信息。
·通过浏览和/或搜索市场3209向客户找到的选定服务请求服务端点的能力。例如,选择“针对所选择的服务请求服务端点”可以将客户带到如图12所示的界面3186,或到类似的界面。
顾客可以例如使用光标控制设备来选择由界面3288提供的各种界面元素,以例如浏览或搜索服务、选择服务、为所选择的服务请求服务端点等。注意,界面3288可以包括除所示以外的其他用户界面元素。
示例提供商网络环境
此部分描述示例提供商网络环境,其中可以实施参看图1至13描述的方法和设备的实施例。然而,这些示例提供商网络环境并不希望是限制性的。
图14示出根据一些实施例的实例提供商网络环境。提供商网络4000可以经由一个或多个虚拟化服务4010对客户端提供资源虚拟化,所述虚拟化服务允许客户端购买、出租或另外获得虚拟化资源的实例4012,包含但不限于计算和存储资源,所述虚拟化资源在一个或多个数据中心中实施于一个或多个提供商网络内的装置上。专用IP地址4016可以与资源实例4012相关联;专用IP地址是提供商网络4000上的资源实例4012的内部网络地址。在一些实施例中,提供商网络4000还可以提供客户端可以从提供商4000获得的公共IP地址4014和/或公共IP地址范围(例如,第四版因特网协议(IPv4)或第六版因特网协议(IPv6)地址)。
常规地,提供商网络4000经由虚拟化服务4010可以允许提供商网络4000的客户端(例如,操作客户端网络4050A的客户端)使被指派或分配给客户端的至少一些公共IP地址4014与被指派给客户端的特定资源实例4012动态地关联。提供商网络4000还可以允许客户端将先前映射到分配给客户端的一个虚拟化计算资源实例4012的公共IP地址4014重新映射到也分配给所述客户端的另一虚拟化计算资源实例4012。使用由提供商网络4000提供的虚拟化计算资源实例4012和公共IP地址4014,例如客户端网络4050A的运营商的提供商网络4000的客户端可以例如实施客户端特定的应用并且在例如因特网的中间网络4040上呈现客户端的应用。中间网络4040上的其它网络实体4020可以随后产生到由客户端网络4050A公布的目的地公共IP地址4014的业务;所述业务路由到提供商网络4000数据中心,并且在数据中心通过网络基体路由到当前映射到目的地公共IP地址4014的虚拟化计算资源实例4012的专用IP地址4016。类似地,来自虚拟化计算资源实例4012的响应业务可以通过网络基体路由回到中间网络4040上到源实体4020。
如本文所使用,专用IP地址指代提供商网络中的资源实例的内部网络地址。专用IP地址仅可在提供商网络内路由。在提供商网络外部发起的网络业务不直接路由到专用IP地址;而是,所述业务使用映射到资源实例的公共IP地址。提供商网络可以包含提供网络地址转换(NAT)或相似功能性的联网装置或器具,以执行从公共IP地址到专用IP地址的映射,以及从专用IP地址到公共IP地址的映射。
如本文所使用,公共IP地址是由提供商网络4000或由客户端指派给资源实例的因特网可路由的网络地址。路由到公共IP地址的业务例如通过1:1网络地址转换(NAT)而转换并转发到资源实例的相应专用IP地址。
一些公共IP地址可以由提供商网络基础结构指派给特定资源实例;这些公共IP地址可称为标准公共IP地址,或简单地称为标准IP地址。在一些实施例中,资源实例的标准IP地址到专用IP地址的映射是用于所有资源实例类型的默认启动配置。
至少一些公共IP地址可以分配给提供商网络4000的客户端或由其获得;客户端随后可以将其被分配的公共IP地址指派给分配给所述客户端的特定资源实例。这些公共IP地址可称为客户端公共IP地址,或简单地称为客户端IP地址。并非如同标准IP地址的情况由提供商网络4000指派给资源实例,客户端IP地址可以例如经由提供商网络4000提供的API而由客户端指派给资源实例。不同于标准IP地址,客户端IP地址分配给客户端账户且可在必要或需要时由相应客户端重新映射到其它资源实例。客户端IP地址与客户端的账户而不是特定资源实例相关联,且客户端控制所述IP地址直到客户端选择将其释放为止。不同于常规静态IP地址,客户端IP地址允许客户端通过将客户端的公共IP地址重新映射到与客户端的账户相关联的任何资源实例而掩蔽资源实例或可用性区带故障。客户端IP地址例如使客户端能够通过将客户端IP地址重新映射到替换资源实例来解决客户端的资源实例或软件的问题。
图15示出根据一些实施例的使用IP隧穿技术在网络基体上实施覆盖网络的示例数据中心。提供商数据中心4100可以包含网络基体,所述网络基体包含联网装置4112,例如路由器、交换机、网络地址转换器(NAT)等等。一些实施例可以采用因特网协议(IP)隧穿技术以提供覆盖网络,经由所述覆盖网络,可以使用隧穿来使封装的包通过网络基体4110。IP隧穿技术可以提供用于在网络(例如,图15的数据中心4100中的本地网络)上创建覆盖网络的映射和封装系统,且可以提供用于覆盖层(公共IP地址)和网络基体4110层(专用IP地址)的单独名称空间。可以对照映射目录(例如,由映射服务4130提供)检查覆盖层中的包以确定其隧道基体目标(专用IP地址)应当是什么。IP隧穿技术提供虚拟网络拓扑(覆盖网络);呈现给客户端的接口(例如,服务API)附接到覆盖网络以使得当客户端提供客户端想要向其发送包的IP地址时,通过与知道IP覆盖地址是哪里的映射服务(例如,映射服务4130)通信,IP地址在虚拟空间中运行。
在一些实施例中,IP隧穿技术可以将IP覆盖地址(公共IP地址)映射到基体IP地址(专用IP地址),将包封装于所述两个名称空间之间的隧道中,且经由隧道将包递送到正确端点,在所述隧道处从包剥离封装。在图15中,示出从主机4120A上的虚拟机(VM)4124A到中间网络4150上的装置的示例覆盖网络隧道4134A以及主机4120B上的VM 4124B与主机4120C上的VM 4124C之间的示例覆盖网络隧道4134B。在一些实施例中,包可以在发送之前以覆盖网络包格式封装,并且覆盖网络包可以在接收之后被剥离。在其它实施例中,并非在覆盖网络包封装包,覆盖网络地址(公共IP地址)可以在发送之前嵌入于包的基体地址(专用IP地址)中,且在接收之后即刻从包地址剥离。作为一实例,可以使用32位第四版因特网协议(IPv4)地址作为公共IP地址来实施覆盖网络,且IPv4地址可以作为在基体网络上用作专用IP地址的128位第六版因特网协议(IPv6)地址的部分而嵌入。
参看图15,其中可以实施实施例的至少一些网络可以包含硬件虚拟化技术,所述技术使多个操作系统能够在主机计算机(例如,图15的主机4120A和4120B)上同时运行,即在主机4120上作为虚拟机(VM)4124运行。VM 4124可以在出租或租用给网络提供商的客户端的主机4120上的槽上执行。主机4120上的监管程序或虚拟机监视器(VMM)4122为主机上的VM 4124呈现虚拟平台并监视VM 4124的执行。可以为每一VM 4124提供一个或多个专用IP地址;主机4120上的VMM 4122可以知道主机上的VM 4124的专用IP地址。映射服务4130可以知道所有网络IP前缀以及在本地网络上服务IP地址的路由器或其它装置的IP地址。这包含服务多个VM 4124的VMM 4122的IP地址。映射服务4130可以例如集中在服务器系统上,或替代地可以分布于网络上的两个或更多个服务器系统或其它装置之间。网络可以例如使用映射服务技术和IP隧道技术以例如在数据中心4100网络内的不同主机4120上的VM 4124之间路由数据包;应注意,可以使用内部网关协议(IGP)在此本地网络内交换路由信息。
另外,例如提供商数据中心4100网络(有时称为自主系统(AS))的网络可以使用映射服务技术、IP隧道技术和路由服务技术以将包从VM 4124路由到因特网目的地,以及从因特网源路由到VM 4124。应注意,外部网关协议(external gateway protocol,EGP)或边界网关协议(border gateway protocol,BGP)通常用于因特网上的源与目的地之间的因特网路由。图15示出根据一些实施例的示例提供商数据中心4100,其实施提供资源虚拟化技术且提供经由连接到因特网传输提供商的边缘路由器4114的完整因特网接入的网络。提供商数据中心4100可以例如为客户端提供通过硬件虚拟化服务实施虚拟计算系统(VM 4124)的能力以及通过存储虚拟化服务在存储资源4118上实施虚拟化数据存储4116的能力。
数据中心4100网络可以实施IP隧道技术、映射服务技术和路由服务技术以将业务路由到虚拟化资源和从虚拟化资源路由业务,例如将包从数据中心4100中的主机4120上的VM 4124路由到因特网目的地,以及从因特网源路由到VM 4124。因特网源和目的地可以例如包含连接到中间网络4140的计算系统4170和连接到本地网络4150的计算系统4152,所述本地网络连接到中间网络4140(例如,通过将网络4150连接到因特网传输提供商的边缘路由器4114)。提供商数据中心4100网络还可以在数据中心4100中的资源之间路由包,例如从数据中心4100中的主机4120上的VM 4124路由到数据中心4100中的同一主机或其它主机4120上的其它VM 4124。
在一些实施例中,提供商网络4000可以还包括额外数据中心4160,其包含与数据中心4100相似的硬件虚拟化技术且也可以连接到中间网络4140。包可以从数据中心4100转发到其它数据中心4160,例如从数据中心4100中的主机4120上的VM 4124转发到另一相似数据中心4160中的另一主机上的另一VM,以及从所述另一VM转发到VM 4124。
虽然上文描述使多个操作系统能够在主机计算机上作为主机上的虚拟机(VM)同时运行的硬件虚拟化技术,其中VM可以在出租或租用给网络提供商的客户端的主机上的槽上实例化,但硬件虚拟化技术还可用于以类似方式将其它计算资源,例如存储资源4118,作为虚拟化资源提供到网络提供商的客户端。
图16是根据一些实施例的对客户端提供存储虚拟化服务服务和硬件虚拟化服务的示例提供商网络的框图。硬件虚拟化服务4220提供多个计算资源4224(例如,VM)给客户端。计算资源4224可以例如出租或租用给提供商网络4200的客户端(例如,实施客户端网络4250的客户端)。可以为每一计算资源4224提供一个或多个专用IP地址。提供商网络4200可以被配置成将包从计算资源4224的专用IP地址路由到公共因特网目的地,以及从公共因特网源路由到计算资源4224。
提供商网络4200可以为例如通过本地网络4256联接到中间网络4240的客户端网络4250提供通过联接到中间网络4240和提供商网络4200的硬件虚拟化服务4220实施虚拟计算系统4292的能力。在一些实施例中,硬件虚拟化服务4220可以提供一个或多个API4202,例如网络服务接口,经由所述接口,客户端网络4250可以例如经由控制台4294接入由硬件虚拟化服务4220提供的功能性。在一些实施例中,在提供商网络4200处,在客户端网络4250处的每一虚拟计算系统4292可以对应于租用、出租或另外提供给客户端网络4250的计算资源4224。
从虚拟计算系统4292和/或另一客户端装置4290或控制台4294的实例,客户端可以例如通过一个或多个API 4202接入存储虚拟化服务4210的功能性,以从由提供商网络4200提供的虚拟数据存储4216接入数据和对其存储数据。在一些实施例中,虚拟化数据存储网关(未图示)可以提供在客户端网络4250处,所述网关可以在本地缓存至少一些数据,例如频繁存取的或关键的数据,并且可以通过一个或多个通信信道与虚拟化数据存储服务4210通信以从本地高速缓冲存储器上载新的或修改的数据以使得数据的初级存储(虚拟化数据存储4216)得以维持。在一些实施例中,用户经由虚拟计算系统4292和/或在另一客户端装置4290上可以安装和接入虚拟数据存储4216容量,其对用户表现为本地虚拟化存储4298。
虽然图16中未示出,但也可以通过API 4202从提供商网络4200内的资源实例接入虚拟化服务。举例来说,客户端、应用服务提供商或其它实体可以通过API 4202从提供商网络4200上的相应虚拟网络内接入虚拟化服务,以请求虚拟网络内或另一虚拟网络内的一个或多个资源实例的分配。
图17示出根据一些实施例的示例提供商网络,其在提供商网络上对至少一些客户端提供虚拟网络。提供商网络4300上的客户端的虚拟网络4360例如使客户端能够将客户端网络4350上的其现有基础架构(例如,装置4352)连接到一组逻辑上隔离的资源实例(例如,VM 4324A和4324B以及存储4318A和4318B),并且将例如安全服务、防火墙和入侵检测系统等管理能力扩展到包含其资源实例。
客户端的虚拟网络4360可以通过专用通信信道4342连接到客户端网络4350。专用通信信道4342可以例如为根据网络隧道技术或某种其它技术在中间网络4340上实施的隧道。中间网络可以例如为共享网络或公共网络,例如因特网。替代地,可以在虚拟网络4360与客户端网络4350之间的直接专用连接上实施专用通信信道4342。
公共网络可以广泛地限定为提供对多个实体的开放接入和它们之间的互连性的网络。因特网或万维网(WWW)是公共网络的实例。共享网络可以广泛地限定为接入被限于两个或更多个实体的网络,而不是接入一般不受限制的公共网络。共享网络可以例如包含一个或多个局域网(local area network,LAN)和/或数据中心网络,或者互连以形成广域网(wide area network,WAN)的两个或更多个LAN或数据中心网络。共享网络的示例可以包含但不限于公司网络和其它企业网络。共享网络可以是从覆盖局部区域的网络到全球网络的范围中的任何地方。应注意,共享网络可以与公共网络共享至少一些网络基础设施,且共享网络可以耦合到可以包含公共网络的一个或多个其它网络,在所述其它网络与共享网络具有受控接入。与例如因特网的公共网络相比,共享网络也可以被视为专用网络。在一些实施例中,共享网络或公共网络可以充当提供商网络与客户端网络之间的中间网络。
为了在提供商网络4300上为客户端建立虚拟网络4360,可以将一个或多个资源实例(例如,VM 4324A和4324B以及存储4318A和4318B)分配给虚拟网络4360。应注意,其它资源实例(例如,存储4318C和VM 4324C)可以在提供商网络4300上保持可用以供其它客户端使用。也可以将一系列的公共IP地址分配给虚拟网络4360。另外,可以将提供商网络4300的一个或多个联网装置(路由器、交换机等)分配给虚拟网络4360。可以在虚拟网络4360处的专用网关4362与客户端网络4350处的网关4356之间建立专用通信信道4342。
在一些实施例中,除专用网关4362之外或替代于专用网关4362,虚拟网络4360可以包含公共网关4364,所述公共网关使虚拟网络4360内的资源能够经由中间网络4340与实体(例如,网络实体4344)直接通信,反之亦然,作为对经由专用通信信道4342进行通信的替代或补充。
虚拟网络4360可以但不一定细分为两个或更多个子网络或子网4370。举例来说,在包含专用网关4362和公共网关4364两者的实施方案中,虚拟网络4360可以细分为包含通过专用网关4362可到达的资源(在此实例中,VM4324A和存储4318A)的子网4370A,以及包含通过公共网关4364可到达的资源(在此实例中,VM 4324B和存储4318B)的子网4370B。
客户端可以将特定客户端公共IP地址指派给虚拟网络4360中的特定资源实例。中间网络4340上的网络实体4344随后可以将业务发送到由客户端公布的公共IP地址;所述业务由提供商网络4300路由到相关联资源实例。从资源实例的返回业务由提供商网络4300在中间网络4340上路由回到网络实体4344。应注意,在资源实例与网络实体4344之间路由业务可能需要网络地址转换以在资源实例的公共IP地址与专用IP地址之间进行转换。
一些实施例可以允许客户端将如图17中所图示的客户端的虚拟网络4360中的公共IP地址重新映射到客户端的外部网络4350上的装置。当(例如,从网络实体4344)接收到包时,网络4300可以确定由包指示的目的地IP地址已重新映射到外部网络4350上的端点,且经由专用通信信道4342或经由中间网络4340处置包到相应端点的路由。响应业务可以通过提供商网络4300从端点路由到网络实体4344,或替代地可以由客户端网络4350直接路由到网络实体4344。从网络实体4344的角度,似乎如同网络实体4344与提供商网络4300上的客户端的公共IP地址通信。然而,网络实体4344实际上与客户端网络4350上的端点通信。
虽然图17示出在中间网络4340上和提供商网络4300外部的网络实体4344,但网络实体可以是提供商网络4300上的实体。举例来说,由提供商网络4300提供的资源实例中的一个可以是将业务发送到由客户端公布的公共IP地址的网络实体。
可根据以下条款描述本公开的实施例:
1.一种系统,其包含:
第一虚拟网络,其实现在提供商网络上的虚拟机上执行的服务,其中为服务的前端分配第一虚拟网络上的IP地址,并且其中域名系统(DNS)名称与所述服务相关联;
第二虚拟网络,其包括所述提供商网络上的一个或多个虚拟机;
由提供商上的一个或多个设备实现的控制平面,所述控制平面包括处理器和存储器,所述存储器包括指令,在执行所述指令时使所述控制平面:
通过应用编程接口(API)接收在第二虚拟网络上为所述服务建立服务端点的请求;
响应于所述请求,在第二虚拟网络上生成所述服务的服务端点,其中在第二虚拟网络的IP地址范围内为所述服务端点分配本地IP地址;
为第二虚拟网络上的所述服务端点分配DNS名称;和
产生路由信息以封装寻址到来自第二虚拟网络上的所述一个或多个虚拟机的服务端点的本地IP地址的数据包,所述路由信息可用于将所述数据包通过所述提供商网络的网络基体路由到第一虚拟网络上的所述服务的所述前端。
2.根据条款1所述的系统,其中所述第二虚拟网络上的虚拟机包括指令,在执行所述指令时其使所述虚拟机:
解析所述服务端点的DNS名称,以获取第二虚拟网络上所述服务端点的本地IP地址;和
向第二虚拟网络上的所述服务端点的所述本地IP地址发送对所述服务的服务请求;
其中,在所述服务端点处,将所述服务请求封装并发送到所述提供商网络的所述网络基体上,以路由到第一虚拟网络上的所述服务的前端。
3.根据条款2所述的系统,其中所述服务的所述前端包括指令,在执行所述指令时其使所述前端:
向从第二虚拟网络上的所述服务端点接收的所述服务请求添加标识所述服务端点的信息,并将所述服务请求发送至第一虚拟网络上的所述虚拟机;和
将对所述服务请求的响应与路由信息一起封装,所述路由信息可用于将数据包通过所述提供商网络的网络基体路由到第二虚拟网络上的所述服务端点,并将封装后的响应发送到所述提供商网络的网络基体,以路由到第二虚拟网络上的所述服务端点。
4.根据条款1所述的系统,其中所述提供商网络还包括第三虚拟网络,其包括在所述提供商网络上的虚拟机,并且其中在执行时所述指令进一步使所述控制平面:
通过API,接收为第三虚拟网络上的服务建立服务端点的请求;
响应于所述请求,在第三虚拟网络上生成所述服务的服务端点,其中在第三虚拟网络的IP地址范围内为所述服务端点分配本地IP地址;和
为第三虚拟网络上的所述服务端点分配DNS名称;
其中分配给第三虚拟网络上的所述服务端点的DNS名称不同于分配给第二虚拟网络上的所述服务端点的DNS名称。
5.一种方法,其包括:
接收在提供商网络上的虚拟网络中为所述虚拟网络外部的服务建立服务端点的请求,其中域名系统(DNS)名称与所述服务相关联;
响应于所述请求,在所述虚拟网络上生成所述服务的服务端点,其中在所述虚拟网络的IP地址范围内为所述服务端点分配本地IP地址;
为所述虚拟网络中的所述服务端点分配DNS名称;和
产生路由信息以封装寻址到来自所述虚拟网络上的虚拟机的服务端点的本地IP地址的数据包,所述路由信息可用于将所述数据包通过所述提供商网络的网络基体路由到所述服务。
6.根据条款5所述的方法,其中所述服务实现为在所述提供商网络上的另一虚拟网络中的一个或多个虚拟机。
7.根据条款6所述的方法,其中所述虚拟机在所述其他虚拟网络中的虚拟化的负载均衡器后面,并且其中所述服务的IP地址被分配给所述负载均衡器。
8.根据条款5所述的方法,其中所述服务由所述提供商网络上的一个或多个设备实现。
9.根据条款5所述的方法,其中所述服务在所述提供商网络外部的网络中实现。
10.根据条款5所述的方法,其进一步包括:
通过所述虚拟网络上的虚拟机解析所述服务端点的DNS名称,以获取所述虚拟网络中所述服务端点的本地IP地址;
通过所述虚拟机向所述虚拟网络中所述服务端点的本地IP地址发送对服务的服务请求;和
在所述服务端点处,封装所述服务请求,并且将封装的服务请求发送到所述提供商网络的网络基体上,以路由到所述服务。
11.根据条款10所述的方法,其中所述服务的IP地址被分配给所述服务的前端,所述方法还包括通过所述前端添加标识所述服务端点的信息至从所述虚拟网络上的服务端点接收到的服务请求,并将所述服务请求发送到所述服务的一个或多个服务实例。
12.根据条款11所述的方法,进一步包括通过所述服务的前端,将对所述服务请求的响应封装并发送封装的响应到所述提供商网络的网络基体以被路由到在所述虚拟网络上的所述服务端点。
13.根据权利要求10所述的方法,其中发送到从所述虚拟网络上的服务端点的前端的所述服务请求包括标识所述虚拟网络上的服务端点的信息。
14.根据权利要求13所述的方法,其中发送到所述虚拟网络上的服务端点的前端的服务请求还包括以下一项或多项:
标识拥有所述虚拟网络的帐户的信息;或
所述虚拟网络的身份验证和授权信息。
15.根据权利要求5所述的方法,其进一步包括:
为所述虚拟网络中的服务生成第二服务端点,其中在所述虚拟网络的IP地址范围内为第二服务端点分配不同的本地IP地址;和
为所述虚拟网络中的第二服务端点分配DNS名称;
其中分配给所述虚拟网络中的服务端点的所述DNS名称解析为分配给所述服务端点的本地IP地址,其中分配给所述虚拟网络中的第二服务端点的所述DNS名称解析为分配给第二服务端点的本地IP地址。
16.根据权利要求5所述的方法,其进一步包括:
从所述虚拟网络中的服务端点接收所述服务的IP地址处的服务请求,其中从所述虚拟网络中的服务端点接收的所述服务请求包括标识所述虚拟网络中的服务端点的信息;和
从所述提供商网络上的虚拟网络中的另一个服务端点接收所述服务的IP地址处的服务请求,其中从另一个服务端点接收的所述服务请求包括标识所述另一个服务端点的信息。
17.根据权利要求5所述的方法,其进一步包括:
通过API接收在所述提供商网络上注册所述服务的请求,其中注册所述服务的请求指定了所述服务的IP地址以及与所述服务相关联的DNS名称;和
向所述提供商网络的目录服务注册所述服务,其中所述提供商网络的客户可以通过所述目录服务的API发现通过所述目录服务注册的服务。
18.根据权利要求5所述的方法,其进一步包括:
向所述提供商网络的目录服务注册多个服务;
向所述提供商网络的客户提供所述目录服务的接口,其中所述接口包括用户界面元素,其允许客户搜索多个服务以发现所述客户感兴趣的服务,从所述多个服务中选择一个服务,并向指定专用网络的所选服务请求服务端点。
19.一种非暂时性计算机可读存储介质,其存储程序指令,所述程序指令当在提供商网络上的一个或多个计算机上执行时使所述一个或多个计算机:
通过应用编程接口(API)向服务所有者提供请求,以在所述提供商网络上的虚拟网络中为服务建立服务端点;
通过API从所述服务所有者接收对建立所述服务端点的请求的接受;
响应于所述接受,为所述虚拟网络中的服务生成所述服务端点,其中在所述虚拟网络的IP地址范围内为所述服务端点分配本地IP地址;和
为所述虚拟网络中的所述服务端点分配域名系统(DNS)名称;
其中所述服务由所述虚拟网络上的资源实例通过所述虚拟网络上的所述服务端点访问,其中在所述服务端点处从所述虚拟网络上的虚拟机接收的数据包封装有路由信息,所述路由信息可用于通过提供商网络中的网络基体路由所述数据包到所述服务。
20.根据权利要求19所述的非暂时性计算机可访问存储介质,其中所述程序指令当在所述提供商网络上的一个或多个计算机上执行时进一步使所述一个或多个计算机:
通过API从所述服务拥有者接收注册所述服务的请求,其中注册所述服务的请求指定了所述服务的IP地址以及与所述服务相关联的DNS名称;和
向所述提供商网络的目录服务注册所述服务,其中所述提供商网络的客户可以通过所述目录服务的API发现通过所述目录服务注册的服务。
说明性系统
在一些实施例中,如本文中所描述的实施用于在提供商网络环境中提供服务端点至服务的方法和设备的一部分或全部的系统可以包含通用计算机系统,其包含或被配置成接入一个或多个计算机可存取介质,例如图18所示的计算机系统5000。在示出的实施例中,计算机系统5000包含一个或多个处理器5010,所述处理器通过输入/输出(I/O)接口5030联接到系统存储器5020。计算机系统5000进一步包含联接到I/O接口5030的网络接口5040。虽然图18将计算机系统5000示出为单个计算装置,但在各种实施例中,计算机系统5000可以包含一个计算装置或被配置成作为单个计算机系统5000一起工作的任何数目的计算装置。
在各种实施例中,计算机系统5000可以是包含一个处理器5010的单处理器系统,或包含若干处理器5010(例如,两个、四个、八个或另一合适数目)的多处理器系统。处理器5010可以是能够执行指令的任何合适的处理器。例如,在各种实施例中,处理器5010可以是实施多种指令集架构(ISA)中的任何一种的通用或嵌入式处理器,所述ISA例如x86、PowerPC、SPARC或MIPS ISA或任何其它合适的ISA。在多处理器系统中,处理器5010中的每一个可以共同但不是必须地实施相同的ISA。
系统存储器5020可以被配置成存储可由一个或多个处理器5010存取的指令和数据。在各种实施例中,系统存储器5020可以使用任何合适的存储器技术实施,例如静态随机存取存储器(SRAM)、同步动态RAM(SDRAM)、非易失性/快闪型存储器,或任何其它类型的存储器。在示出的实施例中,实施一个或多个所需功能的程序指令和数据,例如上文针对为在提供商网络环境中提供服务端点至服务所描述的那些方法、技术和数据,示出为作为代码5025和数据5026存储在系统存储器5020内。
在一个实施例中,I/O接口5030可以被配置成协调处理器5010、系统存储器5020和装置中的任何外围装置之间的I/O业务,所述外围装置包含网络接口5040或其它外围接口。在一些实施例中,I/O接口5030可以执行任何必要的协议、定时或其它数据变换以将来自一个组件(例如,系统存储器5020)的数据信号转换为适合于由另一组件(例如,处理器5010)使用的格式。在一些实施例中,I/O接口5030可以包含对通过各种类型的外围总线附接的装置的支持,例如外围组件互连(PCI)总线标准或通用串行总线(USB)标准的变体。在一些实施例中,I/O接口5030的功能可以分成两个或更多个单独的组件,例如,北桥和南桥。而且,在一些实施例中,I/O接口5030的一些或全部功能性,例如到系统存储器5020的接口,可以直接并入到处理器5010内。
网络接口5040可以被配置成允许在计算机系统5000与附接到一个或多个网络5050的其它装置5060之间交换数据,所述其它装置例如图1到17所示的其它计算机系统或装置。在各种实施例中,网络接口5040可以支持通过任何合适的有线或无线通用数据网络的通信,例如,以太网网络的类型。另外,网络接口5040可以支持通过例如模拟语音网络或数字光纤通信网络的电信/电话网络,通过例如光纤通道SAN的存储区域网络或通过任何其它合适类型的网络和/或协议的通信。
在一些实施例中,系统存储器5020可以是被配置成存储程序指令和数据的计算机可存取介质的一个实施例,如上文针对图1到13用于在提供商网络环境中提供客户托管端点所描述的。然而,在其它实施例中,可以在不同类型的计算机可存取介质上接收、发送或存储程序指令和/或数据。一般来说,计算机可存取介质可以包含非暂时性存储介质或存储器介质,例如磁性或光学介质,例如通过I/O接口5030联接到计算机系统5000的磁盘或DVD/CD。非暂时性计算机可存取存储介质还可以包含任何易失性或非易失性介质,例如RAM(例如SDRAM、DDR SDRAM、RDRAM、SRAM等)、ROM等,其可以作为系统存储器5020或另一种类型的存储器包含在计算机系统5000的一些实施例中。另外,计算机可存取介质可以包含通过例如网络和/或无线链路等通信介质传送的例如可以通过网络接口5040实施的传输介质或信号,例如电信号、电磁信号或数字信号。
结论
各种实施例可以进一步包含在计算机可存取介质上接收、发送或存储根据前述描述实施的指令和/或数据。一般来说,计算机可存取介质可以包含例如磁性或光学介质等存储介质或存储器介质,例如磁盘或DVD/CD-ROM、易失性或非易失性介质,例如RAM(例如SDRAM、DDR、RDRAM、SRAM等)、ROM等,以及通过例如网络和/或无线链路等通信介质传送的传输介质或信号,例如电信号、电磁信号或数字信号。
如图所示和本文描述的各种方法表示方法的示例性实施例。所述方法可以用软件、硬件或其组合来实施。可改变方法的顺序,并且可添加、重新排序、组合、省略、修改等各种元件。
可以进行各种修改和改变,这对于受益于本公开的所属领域的技术人员来说将是明显的。希望包含所有此类修改和改变,并且因此,以上描述应按说明性而不是限制性意义来看待。

Claims (15)

1.一种系统,其包含:
第一虚拟网络,其实现在提供商网络上的虚拟机上执行的服务,其中为服务的前端分配第一虚拟网络上的IP地址,并且其中域名系统(DNS)名称与所述服务相关联;
第二虚拟网络,其包括所述提供商网络上的一个或多个虚拟机;
由提供商上的一个或多个设备实现的控制平面,所述控制平面包括处理器和存储器,所述存储器包括指令,在执行时所述指令使所述控制平面:
通过应用编程接口(API)接收在第二虚拟网络上为所述服务建立服务端点的请求;
响应于所述请求,在第二虚拟网络上生成所述服务的服务端点,其中在第二虚拟网络的IP地址范围内为所述服务端点分配本地IP地址;
为第二虚拟网络上的所述服务端点分配DNS名称;和
产生路由信息以封装寻址到来自第二虚拟网络上的所述一个或多个虚拟机的服务端点的本地IP地址的数据包,所述路由信息可用于将所述数据包通过所述提供商网络的网络基体路由到第一虚拟网络上的所述服务的所述前端。
2.根据权利要求1所述的系统,其中所述第二虚拟网络上的虚拟机包括指令,在执行时所述指令使所述虚拟机:
解析所述服务端点的DNS名称,以获取第二虚拟网络上所述服务端点的本地IP地址;和
向第二虚拟网络上的所述服务端点的所述本地IP地址发送对所述服务的服务请求;
其中,在所述服务端点处,将所述服务请求封装并发送到所述提供商网络的所述网络基体上,以路由到第一虚拟网络上的所述服务的前端。
3.根据权利要求2所述的系统,其中所述服务的所述前端包括指令,在执行时所述指令使所述前端:
向从第二虚拟网络上的所述服务端点接收的所述服务请求添加标识所述服务端点的信息,并将所述服务请求发送至第一虚拟网络上的所述虚拟机;和
将对所述服务请求的响应与路由信息一起封装,所述路由信息可用于将数据包通过所述提供商网络的网络基体路由到第二虚拟网络上的所述服务端点,并将封装后的响应发送到所述提供商网络的网络基体,以路由到第二虚拟网络上的所述服务端点。
4.根据权利要求1所述的系统,其中所述提供商网络还包括第三虚拟网络,其包括在所述提供商网络上的虚拟机,并且其中在执行时所述指令进一步使所述控制平面:
通过API接收为第三虚拟网络上的服务建立服务端点的请求;
响应于所述请求,在第三虚拟网络上生成所述服务的服务端点,其中在第三虚拟网络的IP地址范围内为所述服务端点分配本地IP地址;和
为第三虚拟网络上的所述服务端点分配DNS名称;
其中分配给第三虚拟网络上的所述服务端点的DNS名称不同于分配给第二虚拟网络上的所述服务端点的DNS名称。
5.一种方法,其包括:
接收在提供商网络上的虚拟网络中为所述虚拟网络外部的服务建立服务端点的请求,其中域名系统(DNS)名称与所述服务相关联;
响应于所述请求,在所述虚拟网络上生成所述服务的服务端点,其中在所述虚拟网络的IP地址范围内为所述服务端点分配本地IP地址;
为所述虚拟网络中的所述服务端点分配DNS名称;和
产生路由信息以封装寻址到来自所述虚拟网络上的虚拟机的服务端点的本地IP地址的数据包,所述路由信息可用于将所述数据包通过所述提供商网络的网络基体路由到所述服务。
6.根据权利要求5所述的方法,其中所述服务实现为在所述提供商网络的另一个虚拟网络中的一个或多个虚拟机,其中所述虚拟机在所述其他虚拟网络中的虚拟化的负载均衡器后面,并且其中所述服务的IP地址已分配给所述负载均衡器。
7.根据权利要求5所述的方法,其进一步包括:
通过所述虚拟网络上的虚拟机解析所述服务端点的DNS名称,以获取所述虚拟网络中所述服务端点的本地IP地址;
通过所述虚拟机向所述虚拟网络中所述服务端点的本地IP地址发送对服务的服务请求;和
在所述服务端点处,封装所述服务请求,并且将封装的服务请求发送到所述提供商网络的网络基体上,以路由到所述服务。
8.根据权利要求7所述的方法,其中所述服务的IP地址被分配给所述服务的前端,所述方法还包括:
通过所述服务的前端,将标识所述服务端点的信息添加到从所述虚拟网络上的服务端点接收的所述服务请求中,并将所述服务请求发送至所述服务的一个或多个服务实例;和
通过所述服务的前端,将对所述服务请求的响应封装并发送封装的响应到所述提供商网络的网络基体以被路由到在所述虚拟网络上的所述服务端点。
9.根据权利要求7所述的方法,其中发送到所述虚拟网络上的服务端点的前端的服务请求包括以下一项或多项:
标识所述虚拟网络上的服务端点的信息;
标识拥有所述虚拟网络的帐户的信息;或
所述虚拟网络的身份验证和授权信息。
10.根据权利要求5所述的方法,其进一步包括:
为所述虚拟网络中的服务生成第二服务端点,其中在所述虚拟网络的IP地址范围内为第二服务端点分配不同的本地IP地址;和
为所述虚拟网络中的第二服务端点分配DNS名称;
其中分配给所述虚拟网络中的服务端点的所述DNS名称解析为分配给所述服务端点的本地IP地址,其中分配给所述虚拟网络中的第二服务端点的所述DNS名称解析为分配给第二服务端点的本地IP地址。
11.根据权利要求5所述的方法,其进一步包括:
从所述虚拟网络中的服务端点接收所述服务的IP地址处的服务请求,其中从所述虚拟网络中的服务端点接收的所述服务请求包括标识所述虚拟网络中的服务端点的信息;和
从所述提供商网络上的虚拟网络中的另一个服务端点接收所述服务的IP地址处的服务请求,其中从所述另一个服务端点接收的所述服务请求包括标识所述另一个服务端点的信息。
12.根据权利要求5所述的方法,其进一步包括:
通过API接收在所述提供商网络上注册所述服务的请求,其中注册所述服务的请求指定了所述服务的IP地址以及与所述服务相关联的DNS名称;和
向所述提供商网络的目录服务注册所述服务,其中所述提供商网络的客户可以通过所述目录服务的API发现通过所述目录服务注册的服务。
13.根据权利要求5所述的方法,其进一步包括:
向所述提供商网络的目录服务注册多个服务;
向所述提供商网络的客户提供所述目录服务的接口,其中所述接口包括用户界面元素,其允许客户搜索所述多个服务以发现所述客户感兴趣的服务,从所述多个服务中选择一个服务,并向指定专用网络的所选服务请求服务端点。
14.一种非暂时性计算机可读存储介质,其存储程序指令,所述程序指令当在提供商网络上的一个或多个计算机上执行时使所述一个或多个计算机:
通过应用编程接口(API)向服务所有者提供请求,以在所述提供商网络上的虚拟网络中为服务建立服务端点;
通过API从所述服务所有者接收对建立所述服务端点的请求的接受;
响应于所述接受,为所述虚拟网络中的服务生成所述服务端点,其中在所述虚拟网络的IP地址范围内为所述服务端点分配本地IP地址;和
为所述虚拟网络中的所述服务端点分配域名系统(DNS)名称;
其中所述服务由所述虚拟网络上的资源实例通过所述虚拟网络上的所述服务端点访问,其中在所述服务端点处从所述虚拟网络上的虚拟机接收的数据包封装有路由信息,所述路由信息可用于通过提供商网络中的网络基体路由所述数据包到所述服务。
15.根据权利要求19所述的非暂时性计算机可访问存储介质,其中所述程序指令当在所述提供商网络上的一个或多个计算机上执行时进一步使所述一个或多个计算机:
通过API从所述服务拥有者接收注册所述服务的请求,其中注册所述服务的请求指定了所述服务的IP地址以及与所述服务相关联的DNS名称;和
向所述提供商网络的目录服务注册所述服务,其中所述提供商网络的客户可以通过所述目录服务的API发现通过所述目录服务注册的服务。
CN201880043303.8A 2017-06-28 2018-06-22 虚拟专用网络服务端点 Active CN110799944B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/636,523 2017-06-28
US15/636,523 US10666606B2 (en) 2017-06-28 2017-06-28 Virtual private network service endpoints
PCT/US2018/038902 WO2019005591A1 (en) 2017-06-28 2018-06-22 VIRTUAL PRIVATE NETWORK SERVICE END POINTS

Publications (2)

Publication Number Publication Date
CN110799944A true CN110799944A (zh) 2020-02-14
CN110799944B CN110799944B (zh) 2023-08-01

Family

ID=62981333

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880043303.8A Active CN110799944B (zh) 2017-06-28 2018-06-22 虚拟专用网络服务端点

Country Status (4)

Country Link
US (1) US10666606B2 (zh)
EP (1) EP3646175B1 (zh)
CN (1) CN110799944B (zh)
WO (1) WO2019005591A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114666186A (zh) * 2022-03-23 2022-06-24 杭州迪普科技股份有限公司 Ssl vpn资源访问方法及装置

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10609081B1 (en) * 2017-06-20 2020-03-31 Cisco Technology, Inc. Applying computer network security policy using domain name to security group tag mapping
US11102171B2 (en) * 2017-11-21 2021-08-24 Vmware, Inc. Virtual distributed domain name server
US10979513B2 (en) * 2018-01-30 2021-04-13 Verizon Patent And Licensing Inc. Dynamic service discovery and control of load distribution
US11102079B2 (en) * 2018-04-17 2021-08-24 Microsoft Technology Licensing, Llc Cross-regional virtual network peering
US11677713B2 (en) * 2018-10-05 2023-06-13 Vmware, Inc. Domain-name-based network-connection attestation
US11271846B2 (en) * 2018-10-22 2022-03-08 Oracle International Corporation Methods, systems, and computer readable media for locality-based selection and routing of traffic to producer network functions (NFs)
US11108735B2 (en) * 2019-06-07 2021-08-31 Microsoft Technology Licensing, Llc Mapping subnets in different virtual networks using private address space
US10819636B1 (en) 2019-06-26 2020-10-27 Oracle International Corporation Methods, systems, and computer readable media for producer network function (NF) service instance wide egress rate limiting at service communication proxy (SCP)
US11159359B2 (en) 2019-06-26 2021-10-26 Oracle International Corporation Methods, systems, and computer readable media for diameter-peer-wide egress rate limiting at diameter relay agent (DRA)
US11252093B2 (en) 2019-06-26 2022-02-15 Oracle International Corporation Methods, systems, and computer readable media for policing access point name-aggregate maximum bit rate (APN-AMBR) across packet data network gateway data plane (P-GW DP) worker instances
US11323413B2 (en) 2019-08-29 2022-05-03 Oracle International Corporation Methods, systems, and computer readable media for actively discovering and tracking addresses associated with 4G service endpoints
US11082393B2 (en) 2019-08-29 2021-08-03 Oracle International Corporation Methods, systems, and computer readable media for actively discovering and tracking addresses associated with 5G and non-5G service endpoints
US11224009B2 (en) 2019-12-30 2022-01-11 Oracle International Corporation Methods, systems, and computer readable media for enabling transport quality of service (QoS) in 5G networks
US11528334B2 (en) 2020-07-31 2022-12-13 Oracle International Corporation Methods, systems, and computer readable media for preferred network function (NF) location routing using service communications proxy (SCP)
US11290549B2 (en) 2020-08-24 2022-03-29 Oracle International Corporation Methods, systems, and computer readable media for optimized network function (NF) discovery and routing using service communications proxy (SCP) and NF repository function (NRF)
US11483694B2 (en) 2020-09-01 2022-10-25 Oracle International Corporation Methods, systems, and computer readable media for service communications proxy (SCP)-specific prioritized network function (NF) discovery and routing
US11570262B2 (en) 2020-10-28 2023-01-31 Oracle International Corporation Methods, systems, and computer readable media for rank processing for network function selection
US11196665B1 (en) 2020-11-12 2021-12-07 Sap Se Routing application calls
EP4229847A1 (en) * 2020-11-20 2023-08-23 Huawei Technologies Co., Ltd. Interconnecting semantic routing islands using non-semantic routing based services
US11509622B2 (en) * 2020-12-15 2022-11-22 Sap Se Facilitating communication between resources in different network environments
US11470544B2 (en) 2021-01-22 2022-10-11 Oracle International Corporation Methods, systems, and computer readable media for optimized routing of messages relating to existing network function (NF) subscriptions using an intermediate forwarding NF repository function (NRF)
US11496954B2 (en) * 2021-03-13 2022-11-08 Oracle International Corporation Methods, systems, and computer readable media for supporting multiple preferred localities for network function (NF) discovery and selection procedures
US11838273B2 (en) * 2021-03-29 2023-12-05 Amazon Technologies, Inc. Extending cloud-based virtual private networks to radio-based networks
US11888946B2 (en) 2021-06-02 2024-01-30 Oracle International Corporation Methods, systems, and computer readable media for applying or overriding preferred locality criteria in processing network function (NF) discovery requests
US11323782B1 (en) * 2021-06-15 2022-05-03 Charter Communications Operating, Llc Location-based video lineup selection
US11895080B2 (en) 2021-06-23 2024-02-06 Oracle International Corporation Methods, systems, and computer readable media for resolution of inter-network domain names
US11950178B2 (en) 2021-08-03 2024-04-02 Oracle International Corporation Methods, systems, and computer readable media for optimized routing of service based interface (SBI) request messages to remote network function (NF) repository functions using indirect communications via service communication proxy (SCP)
US11930083B2 (en) * 2021-08-09 2024-03-12 Oracle International Corporation Methods, systems, and computer readable media for processing network function (NF) discovery requests at NF repository function (NRF) using prioritized lists of preferred locations
US11871309B2 (en) 2021-09-28 2024-01-09 Oracle International Corporation Methods, systems, and computer readable media for network function discovery using preferred-locality information
US11849506B2 (en) 2021-10-08 2023-12-19 Oracle International Corporation Methods, systems, and computer readable media for routing inter-public land mobile network (inter-PLMN) messages related to existing subscriptions with network function (NF) repository function (NRF) using security edge protection proxy (SEPP)
US20230164113A1 (en) * 2021-11-24 2023-05-25 Amazon Technologies, Inc. Extending cloud-based virtual private networks to user equipment on radio-based networks
US11888957B2 (en) 2021-12-07 2024-01-30 Oracle International Corporation Methods, systems, and computer readable media for locality and serving scope set based network function (NF) profile prioritization and message routing
US11652895B1 (en) 2022-02-15 2023-05-16 Oracle International Corporation Methods, systems, and computer readable media for dynamic optimized network function discovery for consumer network functions

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101595688A (zh) * 2007-01-30 2009-12-02 微软公司 跨越公共网络以连接任意主机的虚拟专用lan
US20110277027A1 (en) * 2010-05-07 2011-11-10 Richard Hayton Systems and Methods for Providing a Single Click Access to Enterprise, SAAS and Cloud Hosted Application
US8073934B1 (en) * 2008-10-20 2011-12-06 Amazon Technologies, Inc. Automated load balancing architecture
CN103401954A (zh) * 2013-08-02 2013-11-20 汉柏科技有限公司 虚拟dhcp的实现方法
CN103747020A (zh) * 2014-02-18 2014-04-23 成都致云科技有限公司 一种安全可控的公网访问虚拟资源方法
US8751691B1 (en) * 2011-03-23 2014-06-10 Amazon Technologies, Inc. Methods and apparatus for remapping public network addresses on a network to an external network via an intermediate network
US20150324215A1 (en) * 2014-05-09 2015-11-12 Amazon Technologies, Inc. Migration of applications between an enterprise-based network and a multi-tenant network
US20160087940A1 (en) * 2014-09-19 2016-03-24 Amazon Technologies, Inc. Private alias endpoints for isolated virtual networks
US20160117163A1 (en) * 2014-10-28 2016-04-28 International Business Machines Corporation Applying update to snapshots of virtual machine
US9430295B1 (en) * 2012-03-29 2016-08-30 Infoblox Inc. Internet protocol address management (IPAM) integration with a plurality of virtualization tiers in the virtual cloud
CN106462408A (zh) * 2014-05-20 2017-02-22 亚马逊科技公司 到云计算环境中的工作空间的低延迟连接

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7194553B2 (en) * 2001-10-16 2007-03-20 Microsoft Corporation Resolving virtual network names
US8429630B2 (en) * 2005-09-15 2013-04-23 Ca, Inc. Globally distributed utility computing cloud
US7925782B2 (en) * 2008-06-30 2011-04-12 Amazon Technologies, Inc. Request routing using network computing components
US8910270B2 (en) * 2009-01-20 2014-12-09 Microsoft Corporation Remote access to private network resources from outside the network
US8234377B2 (en) * 2009-07-22 2012-07-31 Amazon Technologies, Inc. Dynamically migrating computer networks
US9392080B2 (en) * 2009-12-18 2016-07-12 Microsoft Technology Licensing, Llc IPv4/IPv6 bridge
US8345692B2 (en) * 2010-04-27 2013-01-01 Cisco Technology, Inc. Virtual switching overlay for cloud computing
US8799470B2 (en) * 2011-03-11 2014-08-05 Qualcomm Incorporated System and method using a client-local proxy-server to access a device having an assigned network address
US9253252B2 (en) * 2011-05-06 2016-02-02 Citrix Systems, Inc. Systems and methods for cloud bridging between intranet resources and cloud resources
US8670450B2 (en) * 2011-05-13 2014-03-11 International Business Machines Corporation Efficient software-based private VLAN solution for distributed virtual switches
US9274825B2 (en) * 2011-08-16 2016-03-01 Microsoft Technology Licensing, Llc Virtualization gateway between virtualized and non-virtualized networks
US8856518B2 (en) * 2011-09-07 2014-10-07 Microsoft Corporation Secure and efficient offloading of network policies to network interface cards
US9116633B2 (en) * 2011-09-30 2015-08-25 Commvault Systems, Inc. Information management of virtual machines having mapped storage devices
US9331998B2 (en) * 2013-03-14 2016-05-03 Forty Cloud Ltd. Dynamic secured network in a cloud environment
US9219781B2 (en) * 2013-04-06 2015-12-22 Citrix Systems, Inc. Systems and methods for GSLB preferred backup list
US9888042B2 (en) * 2013-05-21 2018-02-06 Citrix Systems, Inc. Systems and methods for multipath transmission control protocol connection management
US9667486B2 (en) * 2013-08-30 2017-05-30 Vmware, Inc. System and method for network address administration and management in federated cloud computing networks
CN104753857B (zh) * 2013-12-26 2018-03-09 华为技术有限公司 网络流量控制设备及其安全策略配置方法及装置
US9749242B2 (en) * 2014-08-20 2017-08-29 At&T Intellectual Property I, L.P. Network platform as a service layer for open systems interconnection communication model layer 4 through layer 7 services
US9495188B1 (en) * 2014-09-30 2016-11-15 Palo Alto Networks, Inc. Synchronizing a honey network configuration to reflect a target network environment
US20160203528A1 (en) * 2015-01-09 2016-07-14 Vmware, Inc. Method and system that allocates virtual network cost in a software-defined data center
US10015094B1 (en) * 2015-06-19 2018-07-03 Amazon Technologies, Inc. Customer-specified routing policies
US10440054B2 (en) * 2015-09-25 2019-10-08 Perspecta Labs Inc. Customized information networks for deception and attack mitigation
CN106685679A (zh) * 2015-11-09 2017-05-17 中兴通讯股份有限公司 一种网络服务部署方法和装置
US20170272400A1 (en) * 2016-03-17 2017-09-21 Microsoft Technology Licensing, Llc Network virtualization of containers in computing systems
US10455053B2 (en) * 2016-05-23 2019-10-22 Citrix Systems, Inc. Systems and methods for provisioning network automation by logically separating L2-L3 entities from L4-L7 entities using a software defined network (SDN) controller
JP6668183B2 (ja) * 2016-07-01 2020-03-18 株式会社東芝 通信装置、通信方法、通信システムおよびプログラム
US9841988B1 (en) * 2016-11-16 2017-12-12 Red Hat Israel, Ltd. Updating service virtual machines using a new image that is certified

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101595688A (zh) * 2007-01-30 2009-12-02 微软公司 跨越公共网络以连接任意主机的虚拟专用lan
US8073934B1 (en) * 2008-10-20 2011-12-06 Amazon Technologies, Inc. Automated load balancing architecture
US20110277027A1 (en) * 2010-05-07 2011-11-10 Richard Hayton Systems and Methods for Providing a Single Click Access to Enterprise, SAAS and Cloud Hosted Application
US8751691B1 (en) * 2011-03-23 2014-06-10 Amazon Technologies, Inc. Methods and apparatus for remapping public network addresses on a network to an external network via an intermediate network
US9430295B1 (en) * 2012-03-29 2016-08-30 Infoblox Inc. Internet protocol address management (IPAM) integration with a plurality of virtualization tiers in the virtual cloud
CN103401954A (zh) * 2013-08-02 2013-11-20 汉柏科技有限公司 虚拟dhcp的实现方法
CN103747020A (zh) * 2014-02-18 2014-04-23 成都致云科技有限公司 一种安全可控的公网访问虚拟资源方法
US20150324215A1 (en) * 2014-05-09 2015-11-12 Amazon Technologies, Inc. Migration of applications between an enterprise-based network and a multi-tenant network
CN106462408A (zh) * 2014-05-20 2017-02-22 亚马逊科技公司 到云计算环境中的工作空间的低延迟连接
US20160087940A1 (en) * 2014-09-19 2016-03-24 Amazon Technologies, Inc. Private alias endpoints for isolated virtual networks
US20160117163A1 (en) * 2014-10-28 2016-04-28 International Business Machines Corporation Applying update to snapshots of virtual machine

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CONSTANTIN VIOREL MARIAN: "DNS Records Secure Provisioning Mechanism for Virtual Machines automatic management in high density data centers", 《2021 IEEE INTERNATIONAL BLACK SEA CONFERENCE ON COMMUNICATIONS AND NETWORKING (BLACKSEACOM)》, pages 1 - 5 *
郭全生,舒继武,毛希平,温冬蝉,郑纬民: "基于LVS系统的负载动态平衡设计与实现", 计算机研究与发展, no. 06, pages 16 - 22 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114666186A (zh) * 2022-03-23 2022-06-24 杭州迪普科技股份有限公司 Ssl vpn资源访问方法及装置
CN114666186B (zh) * 2022-03-23 2023-04-18 杭州迪普科技股份有限公司 Ssl vpn资源访问方法及装置

Also Published As

Publication number Publication date
EP3646175A1 (en) 2020-05-06
US20190007366A1 (en) 2019-01-03
WO2019005591A1 (en) 2019-01-03
CN110799944B (zh) 2023-08-01
EP3646175B1 (en) 2023-08-02
US10666606B2 (en) 2020-05-26

Similar Documents

Publication Publication Date Title
EP3646175B1 (en) Virtual private network service endpoints
US20230171188A1 (en) Linking Resource Instances to Virtual Network in Provider Network Environments
US11658936B2 (en) Resizing virtual private networks in provider network environments
US20230283661A1 (en) Coordinating inter-region operations in provider network environments
US11095523B2 (en) Virtual network verification service
US11089021B2 (en) Private network layering in provider network environments
US11770364B2 (en) Private network peering in virtual network environments
US10075305B2 (en) Methods and apparatus for remapping public network addresses on a network to an external network via a private communications channel
AU2012340331B2 (en) Virtual network interface objects
US11269673B2 (en) Client-defined rules in provider network environments
US9319272B1 (en) Methods and apparatus for providing composed appliance services in virtualized private networks
US10218597B1 (en) Provider network address range-based models
US10326710B1 (en) Propagating access rules on virtual networks in provider network environments
US10057267B1 (en) Integrating external devices with private networks in provider network environments

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