CN107690800A - 管理动态ip地址分配 - Google Patents
管理动态ip地址分配 Download PDFInfo
- Publication number
- CN107690800A CN107690800A CN201680033106.9A CN201680033106A CN107690800A CN 107690800 A CN107690800 A CN 107690800A CN 201680033106 A CN201680033106 A CN 201680033106A CN 107690800 A CN107690800 A CN 107690800A
- Authority
- CN
- China
- Prior art keywords
- address
- web services
- virtual machine
- network
- service
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/30—Managing network names, e.g. use of aliases or nicknames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0263—Rule management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/108—Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
可以使用各种系统和过程来管理被动态地分配的互联网协议(IP)地址。在特定实现方式中,用于管理被动态地分配的IP地址的系统和过程可以包括确定是否已从在服务提供商网络中具有一个或多个虚拟机的客户接收web服务的标识符的能力,所述web服务可通过所述客户的虚拟机经由外部通信网络来访问。所述系统和过程还可以包括以下能力:确定所述web服务的IP地址的数目;识别所述客户的被允许与所述web服务通信的虚拟机;产生所述识别的虚拟机的一个或多个IP地址列表;以及在托管所述识别的虚拟机的服务器计算机处用所述IP地址列表更新所述识别的虚拟机的安全表。
Description
发明背景
一些基于网络的计算服务提供商允许客户永久地或根据需要来购买和利用计算机资源,诸如虚拟机实例。除了虚拟机实例之外,这类计算服务提供商通常还允许客户购买和利用其他类型的计算机资源。例如,客户可能被容许购买来访问和使用文件和块数据存储资源、数据库资源、联网资源以及其他类型的计算机资源。利用这些计算机资源作为构建块,这种基于网络的计算服务提供商的客户可以创建自定义解决方案,所述自定义解决方案提供各种类型的功能,诸如应用托管、备份和存储、内容传递、万维网(“Web”)托管、企业信息技术(“IT”)解决方案、数据库服务以及其他功能。
当请求某些类型的计算机资源诸如虚拟机实例时,诸如以上描述的那些的基于网络的服务提供商的客户通常能够指定有关实际硬件和软件平台的一些常规细节,所述实际硬件和软件平台被分配用来提供计算机资源。例如,在虚拟机实例的情况下,客户可能被容许指定所希望的处理存储器数量、所希望的处理能力水平和所希望的磁盘存储量。基于网络的计算服务之后选择要利用的特定硬件平台,诸如特定服务器计算机来使由客户请求的虚拟机实例化。
附图简述
图1是示出用于管理动态IP地址分配的示例系统的选定组件的方框图。
图2是示出示例服务架构的选定组件的方框图。
图3是示出用于管理动态IP地址分配的示例过程的流程图。
图4是示出用于管理动态IP地址分配的另一个示例过程的流程图。
图5是示出用于管理动态IP地址分配的另外一个示例过程的流程图。
图6是示出用于管理动态IP地址分配的另一示例过程的流程图。
图7是示出用于管理动态IP地址分配的另一个示例过程的流程图。
图8是示出用于管理动态IP地址分配的示例过程的流程图。
图9是示出用于针对安全组管理web服务的分配的示例过程的流程图。
图10是示出用于管理动态IP地址分配的示例系统的选定组件的方框图。
图11是示出用于管理动态IP地址分配的示例计算机系统的选定组件的方框图。
具体实施方式
以下描述用于管理计算机网络地址以及具体地说是分配到web服务的计算机网络地址的安全规则的系统、过程和技术。Web服务通常可通过通信网络(例如,互联网)来访问并且尤其可以提供通用信息技术服务(例如,计算和/或存储)、对信息(例如,数据库)的访问、内容传递或专业计算服务(例如,映射)。出于各种原因,这类服务的网络地址会随时间而变化(例如,每周变化)。因此,个人可能很难在安全规则中跟踪网络地址,使得其计算机系统可以继续访问web服务。
本文公开用于管理动态地分配到web服务的计算机网络地址的各种机制可以结合由服务提供商运营的基于网络的分布式计算环境(其在本文中可以被称为“服务提供商网络”)来操作,通过所述基于网络的分布式计算环境,客户可以永久地或根据需要来购买和利用计算机资源,诸如实例、数据存储资源、数据库资源、联网资源以及其他类型的计算机资源。作为一个特定实例,用户可以请求机器图像的实例(例如,虚拟机实例或直接在硬件上运行的实例),并且服务器计算机可以被选择用来托管机器图像的实例(即,运行实例)。可以对所述实例分配服务器计算机的处理能力、存储器、存储以及联网带宽的全部或一部分。由于请求者实际上不具有其自身的专用计算机而是仅具有另一个计算机(即,服务器计算机)的逻辑分区,因此机器被称为“虚拟机”,但是它实际上确实具有物理处理器、存储器、存储和/或联网。
操作服务提供商网络的服务提供商可以对提供计算机资源收取费用,并且在这种情况下,请求者可以被视作是服务提供商的客户。服务提供商还可能利用各种购买模型来确定对客户使用计算机资源收取多少费用。如上所述,这种服务提供商的客户可以利用计算机资源作为构建块来创建自定义解决方案,所述自定义解决方案提供各种类型的功能,诸如应用托管、备份和存储、内容传递、Web托管、企业IT解决方案、数据库服务以及其他功能。
为了协助客户对远离其虚拟机的服务的计算机网络地址进行管理,在某些实现方式中,服务提供商网络的客户可以对web服务指定易于理解的标识符(例如,对web服务指定通用名称)。当客户对web服务指定标识符时,服务提供商网络使受服务提供商网络支持的客户的虚拟机可获得web服务的计算机网络地址,因此可获得各种通信功能(例如,路由表或安全表)。因此,客户不需要尝试确定web服务的网络地址或打开所有网络访问来确保这个虚拟机可以对其进行访问。此外,客户不需要用web服务的网络地址来更新每种不同类型的虚拟机。
另外,服务提供商网络可以(例如,定期地)审查web服务的网络地址。当检测到新地址时,可以将所述地址添加到web服务的网络地址列表。因此,客户的虚拟机可能能够使用web服务的网络地址来获得web服务。当检测到网络地址不在使用时,可以将所述地址从web服务的地址列表移除。因此,虚拟机可能并不打开不必要的连接,从而使得虚拟机利用起来更为困难。
在特定实现方式中,服务提供商网络和web服务就web服务的网络地址方面可以同步方式工作。例如,当web服务打算添加一个或多个网络地址时,web服务可以在将地址投入服务之前对服务提供商网络进行通知。服务提供商网络之后可以就新地址方面为被允许访问服务的虚拟机更新通信功能,并且一旦服务提供商网络中的虚拟机准备使用经过修正的网络地址组,就对web服务进行通知。web服务之后可以将地址投入服务。因此,被允许访问服务的虚拟机可以使用可用于web服务的网络地址来访问web服务。
作为另一个实例,当web服务打算取消一个或多个网络地址的使用时,web服务可以在从服务移除地址之前对服务提供商网络进行通知。服务提供商网络之后可以就将要被移除的地址为被允许访问web服务的虚拟机更新通信功能,并且一旦服务提供商网络中的虚拟机准备使用经过修正的网络地址组,就对web服务进行通知。web服务之后可以取消网络地址的使用。因此,被允许访问服务的虚拟机可能会尽可能少地保持其可用连接,这使得虚拟机利用起来更为困难。
在特定实现方式中,计算机网络地址是互联网协议(IP)地址。IP地址通常表述为四个八位字节0-255(例如,123.24.28.1)。如本文所使用,可以使用“IP地址”、“IP地址的范围”和”IP地址前缀”。可以了解到,虽然操作被描述为是在单一IP地址上执行,但是这是为了简化解释,并且类似技术可以应用于IP地址范围(IP地址前缀,诸如192.168/16是IP地址范围的特殊形式)。
下文将从用于管理对web服务的动态IP地址分配的示例操作环境开始,web服务平台中的客户的计算操作可以访问所述web服务。在此之后,描述示例操作程序,所述操作程序可以在web服务平台的各个部分中实施来实现对应于web服务平台中的客户的计算操作的web服务的IP地址的管理。
应了解到,本文描述的主题可以被实施为计算机进程、计算机控制设备、计算系统或制品,诸如计算机可读存储介质。虽然本文呈现的主题是在一个或多个计算装置上执行的程序模块的一般背景下呈现的,但是本领域技术人员将认识到,可以结合其他类型的程序模块来执行其他实现方式。一般而言,程序模块包括例程、程序、组件、数据结构以及执行特定任务或实施特定抽象数据类型的其他类型的结构。
本领域技术人员还将了解到,本文描述的主题的各方面可以在除了本文描述的那些之外的以下其他计算机系统配置上实施或与之结合来实施,包括微处理器系统、基于微处理器或可编程的消费电子产品、小型计算机、大型计算机、手持式计算机、个人数字助理、电子阅读器、蜂窝电话装置、平板计算装置、专用硬件装置、网络设备等等。如上文简单提及,本文描述的实施方案可以在分布式计算环境中实施,其中可以由经由通信网络连接的远程计算装置来执行任务。在分布式计算环境中,程序模块可以定位于本地和远程存储器存储装置两者中。
图1是示出用于管理动态IP地址分配的示例系统100的选定组件的方框图。在高层次上,系统100包括多个客户计算机系统110,所述客户计算机系统可以通过通信网络120向服务提供商网络130发送对计算机资源(例如,虚拟机)的请求,所述服务提供商网络提供计算机资源。服务提供商网络130可以允许客户从操作服务提供商网络130的服务提供商购买和利用计算机资源(其在本文中还可以被称为“资源”),诸如虚拟机实例(其在本文中还可以被称为“虚拟机”或“实例”)、联网资源、存储资源或其他类型的计算机资源。这些资源可以永久地或根据需要来购买。相对于图2、图10和图11给出了有关操作环境的更多细节,包括有关系统100内的个别组件的更多细节。
客户计算机系统110可以例如是个人计算机、膝上型计算机、工作站、平板计算机、智能手机、服务器或适于经由通信网络120来与服务提供商网络130进行通信的任何其他计算装置。通信网络120可以例如是一个或多个局域网、广域网和无线网络的组合。在特定实现方式中,通信网络120可以包括互联网。
在其他方面,服务提供商网络130包括多个服务器计算机140。如图所示,每个服务器计算机140能够支持多个虚拟机142。虚拟机可以例如是服务器计算机140上的处理资源、存储器资源、存储资源以及联网资源的分区。在分区之后,虚拟机可以执行来为客户执行功能,诸如客户的web站点的web服务器的功能,或执行计算功能,诸如编码视频。虚拟机142的类型和大小可以各不相同。
为了请求计算机资源,客户计算机系统110可以经由通信网络120来提交资源请求。资源请求可以例如请求服务提供商网络130将虚拟机的新实例实例化,所述虚拟机的新实例被提供在服务器计算机140中的一个上。资源请求可以例如包括实例类型标识符,所述实例类型标识符通常指定了被请求的虚拟机实例的类型。例如,实例类型标识符通常可以指定所希望的处理能力水平、所希望的处理存储器数量和所希望的新虚拟机实例的存储量。
操作服务提供商网络130的服务提供商可以向请求和使用资源的客户收取操作计算机资源的费用。对特定资源收取的费用可以是基于资源的类型和/或配置。对特定资源收取的费用还可以是基于利用资源的时长。例如,在数据处理资源的情况下,类似于虚拟机实例142a,使用资源的费用可以基于虚拟机实例的配置和利用虚拟机实例的时长而收取。在数据存储资源的情况下,费用可以基于所存储的数据量和/或转入或转出存储的数据量而计算。有关其他类型资源的费用可以是基于其他考虑因素。服务提供商还可能利用各种购买模型来确定对客户使用由服务提供商提供的资源要收取的数额。
客户计算机系统110可以经由接口132向服务提供商网络130提供资源请求。接口132可以例如是允许客户提交资源请求的web服务应用程序接口(API)。在一个实现方式中,提交资源请求的功能通过API调用来提供,经由所述API调用,客户可以指定资源请求。例如,示例API调用可以允许服务提供商网络130的客户指定有关虚拟机实例142的信息(例如,处理能力、处理存储器和网络带宽)。在某些实施方案中,接口132可以被实施为网关路由器。
服务器计算机140包括主机管理器144,所述主机管理器负责管理虚拟机142。例如,主机管理器144可以被配置用来配置和启动虚拟机。主机管理器144可以例如是超级管理程序或被配置用来使多个虚拟机能够在单一服务器计算机上执行的另一种类型的程序。
作为其职责的一部分,主机管理器144可以包括虚拟机的安全表146。安全表146可以限定虚拟机142(例如,通过通信网络120)可以与之通信的IP地址。在一些情况下,客户的虚拟机可能正在运行客户的专有程序,并且因此客户可能并不希望虚拟机通过通信网络120而与任何计算机系统进行通信。在其他情况下,客户可能希望虚拟机通过通信网络120来与某些计算机系统(例如,提供特定服务的计算机)进行通信。仍然在其他情况下,客户可能允许虚拟机通过通信网络120来与大量计算机进行通信。安全表146指定每个虚拟机142可以与之通信的IP地址(例如,呈列表的形式)。这些IP地址可以完整形式(例如,123.1.23.43)或以缩写形式(例如,无类别域间路由(CIDR)标记)列出。
呈CIDR标记的IP地址范围可以例如表述为203.0.113.0/24,它将指定256个地址(例如,203.0.113.0-203.0.113.255)。(末尾数字指定必须与多少位匹配)。作为用CIDR标记指定特定IP地址的实例,IP地址203.0.113.1可以表述为203.0.113.1/32。用CIDR标记将IP地址表述为203.0.113.I/0打开了所有连接。
在服务提供商网络130内,接口132连接至另一个计算机网络-网络基础设施133。网络基础设施133可以例如是与通信网络120分离的内联网。还连接到网络基础设施133的是网络管理器134、地址审查工具136、地址合并器138以及服务器计算机140。网络管理器134、地址审查工具136和地址合并器138可以例如被实施为服务,所述服务可以包括一个或多个计算机系统。以下相对于图2论述示例服务。
网络管理器134负责管理有关所请求计算资源(例如,虚拟机142)的通信的客户请求。例如,网络管理器134可以负责跟踪由客户指定的虚拟机的安全表,所述安全表用于确定是拒绝还是允许到达或来自客户虚拟机的通信量。网络管理器134可以将网络数据存储在安全组数据库135中。安全组是对虚拟机的一个或多个安全规则的指定,它可以包括IP地址和用于允许或拒绝到达或来自IP地址的通信量的规则。在特定实现方式中,安全组可以与超过一种类型的虚拟机相关联。
作为建立虚拟机的一部分,客户可以在网络管理器134处为虚拟机指定一个或多个安全组135。安全组的规则可以控制入站的通信量,所述入站的通信量被允许抵达与安全组相关联的虚拟机;以及出站的通信量,所述出站的通信量被允许离开所述虚拟机。
客户可以在任何时间添加、编辑和移除安全组的规则,并且网络管理器134将这些
变化传递(例如,推送)到与适当的虚拟机相关联的安全表146。主机管理器144可以包括与
到达或来自虚拟机的联网通信量相一致的安全引擎(例如,在基于Xen Dom0的虚拟化系统
中运行的软件模块)。安全引擎被配置用来接收安全表并且设置/撤销IP规则(例如,
iptables规则)。当安全引擎接收到传入或传出连接消息时,所述引擎咨询安全表来确定基
于与消息相关联的IP地址,消息是被授权还是被拒绝。
在创建安全规则过程中,客户可以指定允许的协议(例如,传输控制协议(TCP)、用户数据报协议(UDP)、互联网控制消息协议(ICMP)等)、允许TCP或UDP的范围或端口、ICMP的类型和代码以及一个或多个源(入站)或目的地(出站)规则。源或目的地规则可以包括个别IP地址(例如,203.0.113.1)或地址范围(例如,呈CIDR标记)。
如果特定端口存在超过一个规则,则可以应用最宽松的规则。例如,如果客户具有允许从IP地址203.0.113.1访问TCP端口22的一个规则以及允许从任何系统访问TCP端口22的另一个规则,则任何系统都能访问TCP端口22。
客户可以指定安全规则的另一种方式是对web服务指定(例如,选择或输入)标识符等。例如,客户可以对web服务指定用户友好的名称,类似于对可获自Amazon.com,Seattle,WA(USA)的存储服务指定“S3”,或对可获自并非由服务提供商操作的实体的映射服务指定“映射服务”。如以下更详细所论述,网络管理器134之后负责与地址审查工具136和地址合并器138配合来确定网络端点的适当的IP地址并且将所述IP地址传递到服务器计算机140,所述服务器计算机托管与客户的所述安全组相关联的虚拟机。
示出了示例安全组131。安全组131允许访问特定IP地址(即,192.312.9.3)和IP地址范围(即,195.42.2.0-195.42.2.255)以及web服务(例如,映射服务)。web服务可能与服务提供商网络130有关联或无关联。
如稍后更详细所描述,地址审查工具136确定并验证各种web实体,诸如网站或web服务(例如,web服务150或web服务170)的IP地址。地址审核工具136在审核服务的IP地址的过程中将所述服务的经过确定和验证的地址存储在存储体137中(例如,地址审核工具136可以存储数据库表,所述数据库表标识IP地址前缀和所述前缀的支持的用法)。
一般而言,类似于web服务150和web服务170的服务(例如,通过互联网)是可公开访问的并且可以提供任何类型的IT服务。例如,服务可以提供存储服务(例如,数据库)或计算服务(例如,映射服务)。虽然web服务150被示出为是服务提供商网络130的一部分,但是服务可以被视为远离服务提供商网络的部分,因为所述服务经由通信网络120获得(至少在数据平面上来说是如此)。
web服务170可能与服务提供商网络130有关联或是不同的实体。关联服务可以例如直接向服务提供商网络130提供识别信息(例如,IP地址或域名)。可以定期(例如,由时间驱动)或不定期(例如,由事件驱动)地提供识别信息。独立服务可能不会向服务提供商网络130提供任何识别信息,但是服务提供商网络130可以具有所述独立服务。
网络端点被分配了IP地址,所述IP地址可以表述为IP地址前缀。在管理web服务平台过程中,运行web服务平台的实体可以被分配可公开访问的互联网协议(IP)地址范围,和/或可以控制为web服务平台的一部分的内联网,并且控制所述内联网的全部IP地址范围。在这种web服务平台中,管理员可以承担将IP地址或IP地址范围分配到web服务平台的不同子部分和/或服务提供商的客户的任务。例如,可以将一组公共IP地址范围分配到虚拟机(VM)实例或为其保留所述公共IP地址范围,所述虚拟机实例在计算节点上运行(但是可能无法时时分配每个地址);可以将另一组IP地址范围分配到由服务提供商提供的web服务。
地址审核工具136可以基于实际上如何使用IP地址而审核有关如何使用所述IP地址的信息。地址审核工具136可以通过向一个或多个源(例如,实施边界网关协议(BGP)、域名服务(DNS)或负载均衡器的路由器)查询有关服务实际上如何使用IP地址的信息,并且之后将这个信息与由管理员人工识别的用法进行比较来完成这一点。经由这个过程,地址审核工具136可以审核IP地址的使用。
地址审核工具136还可以确定服务的IP地址。地址审核工具134可以例如查询服务的网络端点(例如,负载均衡器或其他网络寻址装置)或域名服务170来确定IP地址。
地址合并器138负责构建客户的虚拟机142的经核准的IP地址的列表。作为其一部分,地址合并器138可以从地址审核工具136接收web服务的地址并且将所述地址与虚拟机的安全组135中指定的任何IP地址进行合并。作为其一部分,网络合并器138可以解决网络地址之间的冲突。例如,地址合并器138可以具有优先级方案(例如,安全组中由用户指定的地址具有最高优先级),所述地址合并器遵循所述优先级方案来解决任何IP地址冲突。网络管理器134之后可以将IP地址传递到适当的虚拟机的服务器计算机140。在服务器计算机140处,主机管理器144可以负责为每个虚拟机更新安全表146。
如上所述,在某些操作节点中,客户可以在安全组中对类似于web服务150或web服务170的服务指定识别符(例如,文本名称),并且网络管理器134可以将所述服务的IP地址传递到适当的服务器计算机140。所指定的标识符可以是由服务提供商网络130提供的一个标识符或由用户确定的一个标识符。如果所指定的标识符由服务提供商网络130提供,则可以理解标识符与web服务(例如,web服务150)之间的关联。例如,网络管理器134可能已经具有与服务标识符相关联的域名。如果所指定的标识符由用户确定,则网络管理器134可以负责确定web服务的身份。例如,地址审核工具136可以在互联网上搜索相关联的域名或IP地址和/或向客户询问关联信息(例如,域名)。地址审核工具136还可以(例如,通过向DNS询问身份)确保web服务的所确定的身份是有效的。
为了传递IP地址,地址审核工具136可以产生所识别的服务的IP地址列表。在用户识别服务之前或在用户识别服务之后可能已产生这个列表。如果地址审核工具已经产生服务的IP地址列表,则地址审核工具136可以在指定服务标识符之后验证所述列表。
地址审核工具136可以例如通过询问(例如,查验)域名服务,诸如域名服务160,或与web服务相关联的网络端点来产生服务的IP地址列表。域名服务可以返回web服务的IP地址列表或仅返回单一地址。如果返回单一地址,则地址审核工具可以重复地询问域名服务来产生列表。
服务的地址列表在开始时可能不是完整的,但是如下所述可以不断发现和更新所述地址列表。如果获得了web服务的不完整的地址列表,则本地域名服务148可以用于需要访问服务的虚拟机。本地域名服务148可以存储服务的部分已产生的网络地址列表,并且可供虚拟机142访问。因此,如果虚拟机142需要访问地址列表不完整的web服务,则虚拟机可以通过询问本地域名服务148来获得适当的网络地址。地址审核工具136可以在虚拟机处更新安全表时更新本地域名服务148,这将在下文进行论述。
一旦地址审核工具136已产生所识别的服务的IP地址,地址合并器138就可以将来自安全组135的在网络管理器134处识别服务的信息(例如,任何指定IP地址)与由地址审核工具136针对服务产生的IP地址列表进行合并。网络管理器134可以访问含有服务的IP地址列表的数据库并且将其传递到地址合并器138或让地址审核工具将地址列表传递到合并管理器138。网络管理器134之后可以将合并的地址列表传递(例如,推送)到服务器计算机140,所述服务器计算机托管与安全组相关联的虚拟机。
在一些操作节点中,网络管理器134、地址审核工具136和地址合并器138可以与类似于web服务150或web服务170的服务配合来将IP地址投入使用并且取消现有IP地址的使用。通常是在服务内部作出有关使用和移除哪些IP地址的决定。
如果服务希望将一个或多个新IP地址投入使用,则所述服务可以将IP地址设置到相关联的网络端点(例如,负载均衡器)上以指示所述IP地址在使用中并且向地址审核工具136通知新地址。地址审核工具136之后可以审核IP地址以确认其存在。例如,地址审核工具136可以询问相关联的网络端点来确定IP地址是否在使用中。假设IP地址存在并是有效的,地址审核工具136可以在数据库137中更新服务的IP地址并且之后对地址合并器138进行通知。地址合并器138将新IP地址放入访问服务的虚拟机的适当的IP地址列表。应注意到,客户可以具有可以访问服务的不同类型的虚拟机。这些虚拟机还可以访问彼此的不同服务。因此,客户的每种类型的虚拟机可以具有不同的地址列表。此外,这些列表还可以含有其他IP地址,诸如相关联的安全组135中指定的那些。网络管理器134之后可以将IP地址列表传递到服务器计算机140,所述服务器计算机托管访问服务的虚拟机。一旦IP地址列表已被传递到服务器计算机140,网络管理器134就可以向地址审核工具136通知所述传递。地址审核工具136之后可以通知服务开始使用新IP地址是安全的。服务然后可以将IP地址设置到其相关联的域名服务,诸如域名服务160中。虚拟机之后可以查找新IP地址并且开始使用所述新IP地址。
当虚拟机142尝试与服务进行通信时,虚拟机通常首先尝试使用已被缓存的IP地址。然而,如果没有已经缓存好的IP地址(例如,IP地址太旧或服务是新的)或IP地址存在问题,虚拟机可以询问域名服务160来获得IP地址。通过确保在将IP地址设置到域名服务160上之前已经更新好安全表146,虚拟机不会接收不被允许获得的IP地址。
如果web服务希望取消IP地址的使用,则所述web服务可以从域名服务160移除IP地址。这将防止新地址解析请求获得将要被移除的IP地址中的一个。然而,仍然有缓存的IP地址的虚拟机可以在一段时间内继续使用IP地址。服务之后可以保持等待,直到到达所述IP地址的通信量下降到适当的水平(例如,完全停止或低水平)为止,并且然后向地址审核工具136发送IP地址不再使用的消息。
地址审核工具136可以(例如,通过询问DNS或网络端点)确认IP地址不再使用,在数据库137中更新服务的IP地址并且向地址合并器138通知服务的更新的IP地址。地址合并器138之后可以为被允许访问服务的虚拟机创建更新的IP地址列表,并且网络管理器134可以将更新的IP地址列表传递到托管受影响的虚拟机的服务器计算机140。主计算机上的主机管理器144可以为适当的虚拟机更新安全表146。一旦虚拟机的更新的IP地址列表已被传递到安全表,网络管理器134就可以对地址审核工具136进行通知,所述地址审核工具通知服务移除IP地址是安全的。服务之后可以从网络端点移除IP地址。因此,远程计算机系统(例如,虚拟机142)将不再能够使用被移除的IP地址来访问服务。
地址审核工具136还可以定期地(例如,每几分钟)审核web服务的IP地址。为了达到这一点,地址审核工具136可以例如查询服务的网络端点或执行反向DNS查找。例如,所述地址审核工具可以针对服务150的服务地址137中的每个IP地址查验所述服务的负载均衡器。如果没有查找到IP地址,则地址审核工具136可以开始从安全表146移除IP地址的过程。另外,地址审核工具136可以向域名服务160查询服务的地址,并且对照服务地址137中的服务的地址检查这些地址。如果发现了所述服务的IP地址,则地址审核工具136可以开始将地址添加到安全表146的过程。
为了实现其功能,地址审核工具136可以使用源,例如像服务的网络端点和/或DNS来审核IP地址。这些源通常可以存储有关IP地址的信息,所述源自身使用所述信息来路由被寻址到所述IP地址或来自所述IP地址的通信量,或者所述源将所述信息供应到另一个实体,所述另一个实体使用所述信息来路由被寻址到所述IP地址或来自所述IP地址的通信量。
域名服务(DNS)可以包括计算机、服务或者连接到互联网或专用网络的任何资源的分层分布式命名系统。它使各种信息与分配到每个参与实体的域名关联起来。例如,DNS可以维持IP地址与统一资源定位符(URL)之间的关联,所述URL可以用于识别所述IP地址。在源是DNS的情况下,查询所述源可以返回与IP地址或前缀相关联的URL,并且用URL查询所述源可以返回服务的IP地址。
源还可以例如是边缘装置,所述边缘装置实施边界网关协议(BGP),所述BGP涉及维持IP前缀的表,所述IP前缀指定各种自治系统(AS)之间的网络可达性。在源确实实施BGP的情况下,查询所述源可以返回所述表的对应于指定IP地址或前缀的部分。
源也可以是例如地区性互联网注册管理机构(RJR),所述RJR管理包括IP地址空间和AS号的互联网码号资源的分布。AS可以是在对互联网呈现出共同的明确限定的路由策略的一个或多个网络操作者控制下的已连接的IP路由前缀的集合。ASN(AS号)则可以用于唯一地标识互联网上的网络。在源提供ASN的情况下,查询所述源可以返回与IP地址或前缀相关联的ASN。
源还可以是例如路由资产数据库(RADb),所述RADb包括提供有关网络的信息的查找数据库。RADb可以存储IP地址与用于将网络通信量路由到所述IP地址并从其路由所述网络通信量的信息,诸如ASN之间的关联。在源是RADb的情况下,查询所述源可以返回与IP地址或前缀相关联的ASN。
使用数据库137中的IP地址,地址审核工具136可以就IP地址的使用方面查询源。地址审核工具136之后可以确定从查询所述源接收的结果是否与所存储的有关IP地址的信息匹配。例如,在源是D NS,并且查询所述源返回URL的情况下,这个URL可以与所存储的有关IP地址的信息进行比较,所述信息指示IP地址的使用。在web服务平台中,可以明确限定的方式分配URL,使得URL指示URL识别的装置的用途。例如,分配到VM实例的所有IP地址可以具有“vm-instance-XX-web-services-platform.com”形式,其中XX是web服务平台中VM实例的URL之间独有的整数。在从DNS接收到的URL匹配这种格式的情况下,则可以确定从查询所述源接收的结果与所存储的有关IP地址的信息匹配。在从DNS接收到的URL不同于这种格式(例如,所接收的URL是呈“host-partition-XX-web-services-platform.com”形式)的情况下,则可以确定从查询所述源接收的结果与所存储的有关IP地址的信息匹配。
当审核一定范围内的大量IP地址,诸如IP地址前缀内的多个IP地址时,可能并不要求每个IP地址都有匹配。例如,可能存在可以满足来验证一定范围内的IP地址的预定阈值(例如,75%)。可以例如是向DNS查询对应于1,000个IP地址中的每一个的URL。而且可能是,DNS具有那些IP地址中的1000个地址的信息,而不具有另外200个IP地址的信息。在类似这种情况下,可以存在对于进一步审核IP地址分配过程中将要使用的结果来说,从半授权源接收的结果的数目必须满足的阈值预定量。例如,阈值可以是75%的经查询的IP地址必须产生对应的结果。在实施方案中,这个预定量可以由管理员设置并且可以随源的类型而变化(例如,对于从DNS获得的结果来说,可能存在不同于从BGP装置获得的结果的预定量)。这个预定量可以基于所查询的IP地址的数目而变化。例如,如果查询到不到20个IP地址,则预定数值可以是100%,但是在查询到20个或更多个IP地址时,预定数值可以是75%。
在从源接收的结果的数目至少像预定量那样多的情况下,使用通过查询所述源而接收的结果。可以使用通过查询所述源而接收的结果,因为所接收的这些结果的数目至少为预定量。当即将使用所接收的结果时,可以将所述结果与所存储的有关IP地址的信息进行比较以查看这两条信息是否匹配。
在所查询的所有IP地址并不具有对应的结果的实施方案中,可以使用接收的有关其他IP地址的信息来审核就其而言没有接收到信息的IP地址。例如,可能向DNS查询了1,000个IP地址,接收到800个结果,并且所有800个结果都有识别出与所存储信息中指示的IP地址的使用类型匹配的URL(例如,VM实例的URL在URL中全部具有“vm-instance”并且在此处对于每个URL来说都是如此)。在这种情况下,就其而言接收到结果的所有800个IP地址可以被视为是经过验证的。另外,IP地址范围中的另外200个IP地址可以被视为是经过验证的,因为能够被审核的范围内的每个IP地址都已经过验证。也就是说,可以推测出对这200个IP地址的验证。
地址审核工具136可以如本文所述在逻辑上分为多个组件-发布器、注册审核工具、路由查看审核工具以及云审核工具。下文将更详细地描述这些逻辑组件中的每一个。
发布器可以创建两个文件。一个文件可以识别介于地区和网络与IP地址前缀列表(或者一个或多个IP地址的列表)之间的映射。第二文件可以识别介于IP地址前缀和网络与对如何使用所述前缀的描述、IP地址是否可公开获得的标识符、这个前缀是否为这些文件中识别的另一个前缀的子块的标识符或者前缀的所有者的标识符之间的映射。发布器可以例如以可扩展标记语言类型(XML)格式,诸如JavaScript对象通知(JSON)格式创建这些文件。
JSON文件的一个实例可以是:
<border>
<regions>
<region name=“region-1”>
<networks>
<network name=“network-1”>
<publicBlocks>
<publicBlock>
<prefix name=“A.B.C.D/E”public=“PublicIP”/>
<publicBlock/>
<publicBlocks/>
<network/>
<networks/>
<region/>
<regions/>
<border/>
发布器可以将这些文件作为数据库表上传到对象级存储体118,其中对象级存储体118以已知文件名格式-例如“publisher-output-$timestamp$”保存文件。
注册审核工具可以与whois服务器进行通信以验证注册信息。地区性注册机构(例如,ARIN)可能不具有有关前缀的原始AS号的冲突数据。注册审核工具可以将前缀表视为输入并且查询公共whois服务器,诸如whois.radb.net。经由终端提示发布到whois服务器的示例命令可以是“whois-hwhois.radb.net<prefixfrom the prefixes table>”。注册审核工具可以数据库表格式存储其操作的输出,所述数据库表格式使用如下模式<prefix,timestamp>->{description,origin_asn,inconsistent_origin,maintainer}。在此处,timestamp标识针对对应的前缀运行whois命令所处的时间,description是对前缀的公开描述,origin_asn是与前缀相关联的AS号,ineonsistent_origin在前缀具有注册问题的情况(例如,前缀并非由操作web服务平台的实体注册,或不同的注册机构具有冲突信息并且维护进程是RADb中的维护进程对象)下为TRUE。
路由查看审核工具可以下载Tier-1BGP交换的快照以基于经由BGP公告的内容而验证IP前缀。路由查看审核工具可以将前缀表视为输入。路由查看审核工具之后可以从提供BGP数据的web站点下载所述BGP数据。路由查看审核工具然后可以基于此BGP数据而验证存储在前缀表中的数据。路由查看审核工具可以将其输出存储在被称为前缀审核表的表中。这个前缀审核表的模式可以是<prefix,times tamp>=>{origin_asn,second_hop_count,advertised,inconsistent_ori gin_asn}。在此处,origin_asn可以是针对前缀公告的AS号,second _hop_count可以是从已知位置到提供web服务平台的实体的AS的跳跃数,advertised可以是指示是否公告前缀的布尔值,并且inconsiste nt_origin_asn可以是指示是否正在使用不同的AS号公告前缀的布尔值。
云审核工具可以对照前缀检查IP地址,以验证由前缀标识的IP地址。云审核工具还可以验证每个IP地址的元数据,诸如与IP地址相关联的实例类型;IP地址是否与虚拟私有云(VPC)相关联;IP地址是否与高性能集群(HPC)相关联;IP地址是否与支持VM实例的计算节点的主机分区相关联;或IP地址是否与VM实例相关联。
云审核工具可以将有关在web服务平台中何处(例如,如下所述在哪个地区或可用区)使用IP地址的信息视为输入并且将输出产生为表,所述表被称为前缀审核表,所述前缀审核表使用以下模式<prefix,timestamp>=>{coverage,totalip,region,az}。在此处,coverage是所使用的IP地址的数目,totalip是IP的总数目(包括未被使用的IP),region是web服务平台中前缀所从属的地区并且az是web服务平台中前缀所从属的可用区。如本文所使用,web服务平台可以分为多个可用区或地区(例如,可用区或地区可以包括一个或多个图10的数据中心1022),所述可用区或地区通常定位于物理上分开的位置(例如,一个定位在西雅图,而另一个定位在芝加哥)。出于本公开的目的,可用区或地区各自可以具有单独的IP地址空间。
这个收集的信息可以由审核工具136收集并且供审核工具136使用来审核IP地址的使用。审核工具136可以审核一定IP地址范围中的多个IP地址,并且在对于所有那些IP地址没有接收到信息的情况下,使用对于其他IP地址接收到的信息来审核其余IP地址。
系统100具有各种特征。通过能够允许客户对web服务指定易于理解的标识符(例如,文本名称)并自动地管理web服务的IP地址,客户可能能够容易地允许其虚拟机访问web服务。通常,客户会需要手动地键入一个或多个IP网络地址以允许其虚拟机访问web服务。但是有了系统100,客户可以仅仅键入服务的名称。
另外,系统100保持最新的web服务的地址。因此,客户不需要担心其虚拟机会尝试使用不再有效的IP地址。另外,客户不需要担心他们已暴露比其虚拟机访问web服务所需更多的连接。
在特定实现方式中,web服务和服务提供商网络可以就web服务的IP地址方面彼此以同步方式工作。例如,当web服务打算添加一个或多个IP地址时,web服务可以在将地址投入服务之前对服务提供商网络进行通知。服务提供商网络之后可以就新IP地址方面为被允许访问服务的虚拟机更新通信功能,并且一旦服务提供商网络中的虚拟机准备使用新地址,就对web服务进行通知。web服务然后可以将IP地址投入服务。因此,被允许访问服务的虚拟机可以在可用于web服务的网络地址上访问web服务。当取消IP地址的使用时,可以使用类似的程序,这使得可允许的连接保持最少。
虽然图1示出了用于管理动态IP地址分配的一个示例系统,但是用于管理动态IP地址分配的其他系统可以包括更少、更多和/或不同的组件布置。例如,在一些系统中,可以在服务器计算机140上执行寻址合并。例如,服务的地址和各种虚拟机142的客户指定的地址可以传递到相应的服务器计算机140。服务器计算机140之后可以将服务地址与客户指定的地址进行合并。主机管理器144可以例如负责将服务地址与客户指定的地址进行合并。另外,虽然被示出为是单独的,但是网络管理器134、地址审核工具136和地址管理器138可以是某一模块的一部分。
图2示出示例服务200的选定组件。服务200可以例如表示IP地址可以动态地分配的web服务或者服务提供商网络130(例如,网络管理器134、地址审核工具136或地址合并器138)中的服务。在特定实现方式中,服务200可以是web服务。
在其他方面,服务200包括接口210,在所述接口处可以接收对服务的请求。接口210可以例如提供应用程序接口(API)来允许远程计算机系统提交请求。在一个实现方式中,提交请求的功能通过API调用来提供,经由所述API调用,请求者可以指定资源请求。例如,示例API调用可以允许类似于虚拟机142的远程计算机系统指定有关其需要什么服务的信息。接口210还可以提供图形用户界面(GUI)来允许用户访问服务200。
服务200还包括基础设施220,接口210和服务200的其他组件连接到所述基础设施。基础设施220可以例如是与外部通信网络分离的内联网。
还连接到网络基础设施220的是多个服务器计算机250。每个服务器计算机包括用于执行由服务200提供的服务的应用逻辑252。由服务200提供的服务可以例如是基础信息技术服务(例如,处理、存储等)或特定计算服务(例如,映射、地址管理等)。
耦合到服务器计算机250的是数据库260,所述数据库存储应用逻辑252所需和由其产生的数据。数据库260可以彼此分离或是较大数据库系统的一部分并且存储使用服务所需的数据。
如图所示,特别是在服务可通过公共通信网络(例如,互联网)来访问的情况下,服务200可以具有相关联的网络端点270(例如,负载均衡器)。负载均衡器例如负责在服务器计算机250之间分发请求。具体而言,负载均衡器自动地将传入应用通信量分发到服务器计算机250上,从而允许更大的容错性和可扩展性。
图3示出了用于管理动态IP地址分配的示例过程300。过程300可以例如由类似于系统100的系统实施。
如图所示,过程300由两个系统,即web服务和服务提供商网络执行。在其他方面,服务提供商网络可以包括多个服务器计算机,所述服务器计算机各自能够托管多个虚拟机(例如,服务器计算机上的处理资源、存储器资源、存储资源和联网资源的分区)。虚拟机可以执行来为客户执行功能,诸如客户的web站点的web服务的功能,或执行计算功能,诸如编码视频,并且客户或各种客户的虚拟机的类型和大小可以彼此不同。web服务可以对虚拟机提供存储和/或计算服务并且远离服务提供商网络,因为所述web服务可通过不是服务提供商网络的一部分的通信网络来访问。因此,服务可以与服务提供商网络或服务提供商网络的一部分物理地分离。
在过程300中,取消服务提供商网络的IP地址的使用。为服务提供商网络取消IP地址的使用的决定是过程300的前导并且可以是基于各种因素。
过程300需要从与web服务相关联的域名服务(DNS)移除IP地址(操作304)。服务可以在IP地址完全被取消使用之前从DNS移除所述IP地址,使得到达使用IP地址的服务的通信量开始引流。在示例实施方案中,服务的管理员可以启动移除IP地址的过程。在另一种配置中,移除IP地址的过程可以是自动化的。例如,可以向DNS发送请求以更新IP地址。过程300之后等待到达被移除的IP地址的通信量引流到适当的水平(例如,小于10%)(操作308)。在一些实施方式中,这可能仅花费几分钟。例如,网络端点270可以被配置用来定期地向web服务的网络管理器报告其正从上面接收通信量的IP地址。网络管理器可以跟踪当前正被服务使用的IP地址。列表可以存储在数据库中并且过程可以定期地扫描列表并将使用中的IP地址进行分类。在IP地址的使用下降到由管理员设置的阈值之下(例如,10%的通信量被引到被移除的IP地址)之后,web服务则通知服务提供商网络正在从服务移除IP地址(操作312)。
当服务提供商网络接收到web服务正从服务移除IP地址的通知时,服务提供商网络的地址审核工具可以确认web服务的IP地址(操作316)。地址审核工具可以尝试仅确认被移除的IP地址或web服务的所有IP地址。为了确认被移除的IP地址,地址审核工具可以向DNS询问被移除的IP地址。由于IP地址在DNS中不再有效,因此DNS应响应所述IP地址与web服务不相关联。地址审核工具也可以对未被移除的IP地址执行类似的操作(例如,以验证它们仍然在使用中)。例如,地址审核工具可以包括接口,诸如web服务API。在实施方案中,来自网络管理器的消息可以包括服务的标识符(例如,名称和服务操作所处的位置)和已被移除的IP地址范围。可以对消息进行解析,并且可以将内容(例如,标识符和IP地址)存储在数据存储区中。地址审核工具可以包括工作进程,所述工作进程在数据存储区中检查新消息,并且之后通过向DNS询问被移除的IP地址来处理所述消息。一旦IP地址被移除,地址审核工具就可以更新指示所述操作的数据存储区。
一旦地址审核工具验证了web服务的IP地址,地址审核工具就可以产生web服务的更新的IP地址列表(操作320)。更新的IP地址列表可以例如通过从web服务的先前的IP地址列表移除被移除的IP地址来产生。在实施方案中,地址审核工具可以包括工作进程,所述工作进程在数据存储区中检查被移除的一组经过验证的IP地址,之后从web服务的先前的IP地址列表提取(例如,删除)IP地址。
过程300还需要网络管理器确定在服务提供商网络中操作的哪些虚拟机被允许与web服务通信(操作324)。这可以例如通过检查与虚拟机相关联的安全组来确定哪些安全组与服务相关联并确定哪些虚拟机与安全组相关联来完成。安全组可以与超过一种类型的虚拟机相关联。在实施方案中,网络管理器可以包括工作进程,所述工作进程在含有虚拟机的安全组的数据存储区中检查(例如,查询)其IP地址已调整的web服务的标识符(例如,名称)。
过程300还需要地址合并器产生所识别的虚拟机的更新的IP地址列表(操作328)。这可以例如通过将web服务的地址与同虚拟机相关联的其他IP地址进行合并来完成。其他IP地址可以例如在安全组中进行指定。针对每种类型虚拟机可以产生不同的地址列表。在实施方案中,地址合并器可以包括工作进程,所述工作进程对含有有关虚拟机类型的安全组的数据存储区进行检索(例如,查询)并且将其中含有的地址组合(例如,合并)在一起。合并地址可以包括将不同的地址列表加在一起并且移除冗余。更新地址列表还可以包括将前缀(例如,192.168/16)扩展为地址列表(例如,192.168.0.0-192.168.255.255)。
过程300还需要网络管理器将IP地址列表传递到托管所识别的虚拟机的服务器计算机(操作332)。更新的地址列表可以经由服务提供商网络基础设施传递(例如,推送)到服务器计算机。在服务器计算机处,主机管理器可以用更新的地址列表管理更新所识别的虚拟机的安全表,使得虚拟机不再能够使用被移除的IP地址来向web服务发送请求。在实施方案中,主机管理器可以使用相关联的地址列表来产生虚拟机的新安全表。新安全表之后可以换出现有的安全表。在转换安全表时,可以对建立新通信会话设置暂停。
过程300还需要地址审核工具(例如,通过从网络管理器接收通知)确认地址列表已被传递到主机服务器计算机(操作336),并且通知web服务移除IP地址是安全的(操作340)。例如,网络管理器可以包括接口,诸如web服务API。在实施方案中,主机管理器可以发送确认消息,所述确认消息指示所述主机管理器已成功接收从网络管理器发送的地址列表。可以对消息进行解析,并且网络管理器中的工作进程之后可以对地址审核工具产生消息。地址审核工具也可以包括接口,诸如web服务API,并且来自网络管理器的消息可以由工作进程解析来确定被允许访问web服务的虚拟机的安全表的地址列表已被更新,并且可以产生指示从服务移除IP地址是安全的消息并且(例如,通过互联网)向web服务发送所述消息。
web服务可以例如包括接口,诸如web服务API,并且来自地址审核工具的消息可以由工作进程解析来确定从服务移除IP地址是安全的。一旦web服务接收到从服务移除IP地址是安全的通知,web服务就可以从相关联的网络端点移除IP地址(操作344),使得虚拟机可以不再使用被移除的IP地址来与服务通信。例如,web服务可以向网络端点发送要从服务移除IP地址的消息。网络端点之后可以(例如,经由数据库删除操作)从含有web服务的IP地址的数据库移除IP地址。
过程300提供web服务与托管可以使用服务的多个虚拟机的服务提供商网络之间的互锁。通过使用过程300,web服务在没有首先更新虚拟机的安全表的情况下不会从服务移除一个或多个地址。因此,虚拟机可以维持对连接以及因此安全的严格控制。
当对web服务添加IP地址时可以使用类似的过程。然而,代替移除从DNS删除的IP地址,可以在网络端点中设置被添加的IP地址。这将允许服务提供商网络在被通知添加之后确认IP地址。另外,一旦服务提供商网络确认(例如,在向虚拟机的安全表发送新IP地址之后)开始使用IP地址是可行的,web服务就可以将IP地址添加到DNS,使得机器可以在尝试与服务通信时查找到所述IP地址。
虽然图3展示了具有三个不同组件(即,网络管理器、地址审核工具和地址合并器)的服务提供商网络,但是服务提供商网络可以具有执行所有三个组件的这些功能的一个组件(例如,服务)。另外,这些组件可以分布在服务提供商网络内部。
图4示出了用于管理动态IP地址分配的示例过程400。过程400可以例如由类似于服务提供商网络100的服务提供商网络来实施。
过程400需要确定客户是否已指定web服务的标识符(操作404)。标识符可以例如是服务的用户友好的名称。标识符可以例如由客户从预定的web服务列表中选择,所述预定的web服务列表可以例如存储在数据库中;或者由客户指定。如果尚未接收到服务的标识符,则过程400需要等待来接收对web服务标识符的指定。
一旦已经接收到web服务标识符,过程400就需要确定服务的IP地址(操作408)。IP地址可以例如通过询问与服务相关联的网络端点或DNS来确定。例如,服务提供商网络的地址审核工具可以具有工作进程,所述工作进程通过所识别的web服务的公共通信网络而向DNS发送询问(例如,查验)。DNS可以返回web服务的单一IP地址或web服务的IP地址列表。可能例如在接收到并存储好服务标识符之前就已经发现服务的IP地址。因此,确定服务的IP地址可以通过从存储体检索所述IP地址来完成。另外,当接收到服务标识符时,可以验证和更新所存储的IP地址。
过程400还需要识别被允许与服务通信的客户的虚拟机(操作412)。这可以例如通过检查由客户指定的安全组来确定哪些安全组与服务相关联并确定哪些虚拟机与安全组相关联或者检查客户的虚拟机的元数据来完成。在实施方案中,网络管理器可以包括工作进程,所述工作进程在含有安全组的数据存储区中检查(例如,查询)其IP地址已调整的web服务的标识符(例如,名称)。可能存在特定虚拟机的多个实例。因此,单一安全组可以与不同类型的虚拟机和/或多个版本的相同虚拟机相关联。
过程400进一步需要产生所识别的虚拟机的一个或多个IP地址列表(操作416)。这可以例如通过将服务的地址与同虚拟机相关联的其他IP地址进行合并来完成。其他IP地址可以例如在虚拟机的安全组中进行指定。每种类型的虚拟机可以具有其自身的地址列表。
在实施方案中,地址合并器可以包括工作进程,所述工作进程对含有有关虚拟机类型的安全组的数据存储区进行检索(例如,查询)并且将其中含有的地址组合在一起。合并地址可以包括将不同的地址列表加在一起并且移除冗余。更新地址列表还可以包括将前缀(例如,192.168/16)扩展为地址列表(例如,192.168.0.0-192.168.255.255)。
过程400还需要在托管虚拟机的服务器计算机处用IP地址列表更新所识别的虚拟机的安全表(操作416)。主机服务器计算机可以例如接收一种虚拟机的地址列表或不同类型虚拟机的不同地址列表。地址列表可以经由服务提供商网络基础设施而传递到服务器计算机。在服务器计算机处,主机管理器可以用更新的地址列表管理更新安全表。在实施方案中,主机管理器可以使用相关联的地址列表来产生虚拟机的新安全表。新安全表之后可以换出现有的安全表。在转换安全表时,可以对建立新通信会话设置暂停。
过程400允许用户对web服务选择用户友好的标识符(例如,通用名称或URL),以及服务的IP地址以供客户的虚拟机使用(例如用于安全表中)。因此,可以允许客户访问服务,而不需要理解服务的IP地址。此外,访问可以针对服务进行严密定制。因此,客户不需要在其安全保护范围内打开不必要的连接。
图5示出了用于管理动态IP地址分配的另一个示例过程500。过程500可以例如由类似于服务提供商网络130的服务提供商网络来实施。过程500可以与过程400一起使用。
过程500需要确定web服务的IP地址是否已发生改变(操作504)。web服务的IP地址可以例如因IP地址被添加到服务的IP地址或被从其删除而改变。确定服务的IP地址是否已发生改变可以例如通过从服务接收对IP地址的变化的通知或在审核服务的IP地址期间检测IP地址的变化来完成。如果服务的IP地址未改变,则过程500需要等待服务的IP地址的改变。
在实施方案中,地址审核工具可以包括接口,诸如web服务API,所述接口可以从web服务接收消息,所述消息包括服务的标识符(例如,名称和服务操作所处的位置)、受影响的IP地址范围和被执行的操作(例如,添加或移除)。可以对消息进行解析,并且可以将内容(例如,标识符和IP地址)存储在数据存储区中。地址审核工具可以包括工作进程,所述工作进程在数据存储区中检查新消息,并且之后通过就被移除的IP地址方面询问与web服务相关联的DNS并就被添加的IP地址方面询问负载均衡器来处理所述消息。
在另一个实施方案中,地址审核工具可以包括工作进程,所述工作进程向一个或多个源(例如,实施BGP、DNS或负载均衡器的路由器)查询有关服务实际上如何使用IP地址的信息,并且之后将这个信息与由管理员人工识别的用法进行比较。经由这个过程,地址审核工具可以审核IP地址的使用。
地址审核工具还可以包括确定web服务的IP地址的工作进程。工作进程可以例如查询服务的网络端点(例如,负载均衡器或其他网络寻址装置)或域名服务来确定IP地址。
如果任何现有IP地址不再有效或发现其他IP地址不在web服务的IP地址的数据存储区中,则工作进程可以确定web服务的IP地址已发生改变。
一旦确定web服务的IP地址已发生改变,过程500就需要确认web服务的IP地址(操作508)。服务的IP地址可以例如由地址审核工具的工作进程询问与服务相关联的负载均衡器或DNS来确认。如果有不当的IP地址提供到负载均衡器,则所述负载均衡器可以例如提供故障通知,从而指示IP地址已被移除。如果有适宜的IP地址提供到负载均衡器,则可以返回连接建立消息,这可以被解释为有效的IP地址。
过程500还需要产生web服务的更新的IP地址列表(操作512)。这可以例如通过更新web服务的先前的地址列表(例如,添加和/或移除IP地址)来完成。在实施方案中,地址审核工具可以包括工作进程,所述工作进程(例如,经由数据库插入操作)将web服务的新IP地址添加到数据存储区并且(例如,经由数据库删除操作)从数据存储区移除web服务的未使用的IP地址。
过程500另外需要识别被允许与web服务通信的虚拟机(操作516)。这可以例如通过检查安全组来确定哪些安全组与服务相关联并确定哪些虚拟机与安全组相关联来完成。在实施方案中,网络管理器可以包括工作进程,所述工作进程在含有安全组的数据存储区中检查(例如,查询)其IP地址已调整的web服务的标识符(例如,名称)。另外,可能存在虚拟机的多个实例。因此,单一安全组可以与不同虚拟机和/或多个版本的相同虚拟机相关联。
过程500进一步需要产生虚拟机的一个或多个更新的IP地址列表(操作520)。这可以例如通过将web服务的地址与同虚拟机相关联的其他IP地址进行合并来完成。其他IP地址可以例如在安全组中进行指定,所述安全组可能已由客户针对特定类型的虚拟机作出指定。
在实施方案中,地址合并器可以包括工作进程,所述工作进程对含有有关虚拟机类型的安全组的数据存储区进行检索(例如,查询)并且将其中含有的地址组合(例如,合并)在一起。合并地址可以包括将不同的地址列表加在一起并且移除冗余。更新IP地址列表还可以包括将前缀(例如,192.168/16)扩展为地址列表(例如,192.168.0.0-192.168.255.255)。
过程500还需要在托管虚拟机的服务器计算机处用地址列表更新所识别的虚拟机的安全表(操作524)。地址列表可以经由服务提供商网络基础设施而传递到服务器计算机。在服务器计算机处,主机管理器可以用更新的地址列表管理更新相应的虚拟机的安全表。
在实施方案中,主机管理器可以使用相关联的地址列表来产生虚拟机的新安全表。新安全表之后可以换出现有的安全表。在转换安全表时,可以对建立新通信会话设置暂停。
过程500允许改变的web服务的IP地址变得可用于客户的虚拟机(例如,用于安全表中)。因此,可以随着服务的IP地址的改变而调整对服务的访问,以允许客户继续进行访问,同时保持对服务严密定制的访问。因此,客户不需要在其安全保护范围内打开不必要的连接。
图6示出了用于管理动态IP地址分配的另外一个示例过程。过程600可以例如由服务提供商网络130来实施。过程600可以结合过程400一起使用。
过程600需要确定对于服务是否已接收到对一个或多个新IP地址的通知(操作604)。服务可以在将新IP地址投入服务之前提供对所述新IP地址的通知,因此使用所述服务的机器可以在新IP地址开始使用之前更新它们的通信功能(例如,路由表和安全表)。如果尚未接收到对服务的新IP地址的通知,则过程600需要继续等待接收对服务的新IP地址的通知。
例如,地址审核工具可以包括接口,诸如web服务API,所述接口可以从web服务接收消息,所述消息可以包括服务的标识符(例如,名称和服务操作所处的位置)以及被添加的IP地址范围。可以对消息进行解析,并且可以将内容(例如,标识符和IP地址)存储在数据存储区中。地址审核工具可以包括工作进程,所述工作进程在数据存储区中检查新消息,并且之后处理所述消息。
一旦已经接收到对服务的新IP地址的通知,过程600就需要确认web服务的新IP地址(操作608)。确认服务的新IP地址可以例如通过就新IP地址方面询问所述服务的网络端点(例如,负载均衡器)来完成。服务可以例如将IP地址设置到负载均衡器中以开始允许对所述服务的路由。在一个实施方案中,工作进程可以就新IP地址方面对网络端点进行询问。如果端点返回故障,则工作进程可以将地址标记为无效。如果网络端点返回除了故障之外的某些东西(例如,连接建立),则工作进程可以将IP地址标记为有效。
如果对于服务无法确认新IP地址,则过程600结束。然而,如果确认了服务的新IP地址,则过程600需要产生web服务的更新的IP地址列表(操作612)。这可以例如通过将新IP地址包括在服务的先前的地址列表中来完成。
在实施方案中,地址审核工具可以包括工作进程,所述工作进程(例如,经由数据库插入操作)将web服务的新IP地址添加到数据存储区。在某些实现方式中,工作进程可以在添加条目之前对数据存储区进行查询以确保其不会插入重复条目。
过程600还需要识别被允许与web服务通信的虚拟机(操作616)。这可以例如通过检查安全组来确定哪些安全组与服务相关联并确定哪些虚拟机与安全组相关联来完成。在实施方案中,网络管理器可以包括工作进程,所述工作进程在含有安全组的数据存储区中检查(例如,查询)已添加IP地址的web服务的标识符(例如,名称)。
过程600还需要产生所识别的虚拟机的更新的IP地址列表(操作620)。这可以例如通过将web服务的IP地址与同虚拟机相关联的其他IP地址(其可能会随类型而变化)进行合并来完成。因此,可以为使用服务的客户的虚拟机产生不同的列表。其他IP地址可以例如在安全组中进行指定。
在实施方案中,地址合并器可以包括工作进程,所述工作进程对含有有关虚拟机类型的安全组的数据存储区进行检索(例如,查询)并且将其中含有的地址组合在一起。合并地址可以包括将不同的地址列表加在一起并且移除冗余。
过程600还需要向托管所识别的虚拟机的服务器计算机发送更新的地址列表(操作624)。地址列表可以经由服务提供商网络基础设施而传递(例如,推送)到服务器计算机。在服务器计算机处,主机管理器可以用更新的地址列表管理更新相应的虚拟机的安全表。在实施方案中,主机管理器可以使用相关联的地址列表来产生虚拟机的新安全表。新安全表之后可以换出现有的安全表。在转换安全表时,可以对建立新通信会话设置暂停。
过程600还需要在主机服务器计算机处确认更新的地址列表(操作628)。确认更新的地址列表可以例如通过确认IP地址列表已被分发到托管所识别的虚拟机的服务器计算机(例如,通过就所述地址列表的分发对数据库进行询问)来完成。如果已经发生这种情况,则服务器计算机非常可能在不远的将来执行所述更新。确认更新的地址列表还可以通过从每个服务器计算机接收对更新已被执行的确认来完成。如果更新没有被确认,则过程600需要继续确认更新。
在实施方案中,网络管理器可以包括接口,诸如web服务API,所述接口可以接收由主机管理器发送的确认消息,从而指示所述主机管理器已成功接收从网络管理器发送的地址列表。可以对消息进行解析,并且网络管理器中的工作进程之后可以对地址审核工具产生消息。地址审核工具也可以包括接口,诸如web服务API,并且来自网络管理器的消息可以由工作进程解析来确定被允许访问web服务的虚拟机的安全表的地址列表已被更新。
一旦已经确认到在适当的服务器计算机处已确认IP地址列表,过程600就需要通知服务开始使用新IP地址是安全的(操作632)。例如,地址审核工具中的工作进程可以检查指示地址已被确认的数据存储区,产生指示从服务移除IP地址是安全的消息,并且(例如,通过互联网)向web服务发送这个消息。服务之后可以例如将IP地址设置到DNS中,机器从所述DNS可以发现所述IP地址。
过程600提供web服务与托管可以使用服务的多个虚拟机的服务提供商网络之间的互锁。通过使用过程600,web服务在没有首先更新虚拟机的通信功能的情况下不会将一个或多个IP地址带入到服务中。因此,服务器计算机可以继续使用服务的IP地址来获得服务,同时维持对其连接的严密控制。
图7示出了用于管理动态IP地址分配的另一个示例过程。过程700可以例如由类似于服务提供商网络130的服务提供商网络来实施。过程700可以与过程400一起使用。
过程700需要确定是否已接收到正移除web服务的一个或多个IP地址的通知(操作704)。服务可以在从服务移除IP地址之前提供移除所述IP地址的通知,使得使用所述服务的机器可以在IP地址被移除之前更新它们的通信功能(例如,路由表和安全表)。作为这个过程的一部分,web服务可以从其相关联的DNS移除IP地址,使得到达使用被移除的IP地址的服务的通信量开始引流。如果尚未接收到移除服务的一个或多个IP地址的通知,则过程700需要继续等待接收移除服务的一个或多个IP地址的通知。
例如,地址审核工具可以包括接口,诸如web服务API。在实施方案中,来自web服务的消息可以包括服务的标识符(例如,名称和服务操作所处的位置)和被移除的IP地址范围。可以对消息进行解析,并且可以将内容(例如,标识符和IP地址)存储在数据存储区中。
一旦已经接收到移除服务的一个或多个IP地址的通知,过程700就需要确认服务的被移除的IP地址(操作708)。确认服务的被移除的IP地址可以例如通过就被移除的IP地址方面询问与所述服务相关联的DNS来完成。例如,地址审核工具可以包括工作进程,所述工作进程在数据存储区中检查新消息,并且之后通过向DNS询问被移除的IP地址来处理所述消息。一旦IP地址被确认,地址审核工具就可以更新指示所述确认的数据存储区。如果有关IP地址的DNS查询并未(例如,通过返回统一资源定位符(URL))产生积极的响应,则可以推测出服务没有使用所述IP地址。作为另一个实例,对于与服务提供商网络有关联的服务(例如像,系统100中的web服务150),IP地址的移除可以通过分析IP地址的日志来检测移除而确认。
例如,地址审核工具可以包括接口,诸如web服务API。在实施方案中,来自网络管理器的消息可以包括服务的标识符(例如,名称和服务操作所处的位置)和已被移除的IP地址范围。可以对消息进行解析,并且可以将内容(例如,标识符和IP地址)存储在数据存储区中。地址审核工具可以包括工作进程,所述工作进程在数据存储区中检查新消息,并且之后通过向DNS询问被移除的IP地址来处理所述消息。一旦IP地址被移除,地址审核工具就可以更新指示所述移除的数据存储区。
如果对于服务无法确认IP地址的移除,则过程700结束。然而,如果对于服务确认了被移除的IP地址,则过程700需要产生服务的更新的IP地址列表(操作712)。这可以例如通过从服务的先前的IP地址列表移除IP地址来完成。
在实施方案中,地址审核工具可以包括工作进程,所述工作进程在数据存储区中检查被移除的一组经过验证的IP地址,之后从web服务的先前的IP地址列表提取(例如,删除)IP地址。
过程700还需要识别被允许与服务通信的虚拟机(操作716)。这可以例如通过检查安全组来识别哪些安全组与服务相关联并确定哪些虚拟机与所识别的安全组相关联来完成。另外,可能存在虚拟机的多个实例。
在实施方案中,服务提供商网络的网络管理器可以包括工作进程,所述工作进程在含有安全组的数据存储区中检查(例如,查询)其IP地址已调整的web服务的标识符(例如,名称)。
过程700还需要产生所识别的虚拟机的更新的IP地址列表(操作720)。这可以例如通过将服务的地址与同虚拟机相关联的其他IP地址进行合并来完成。其他IP地址可以例如在与虚拟机相关联的安全组中进行指定。因此,针对每种类型虚拟机可以产生不同的地址列表。
在实施方案中,地址合并器可以包括工作进程,所述工作进程对含有有关虚拟机类型的安全组的数据存储区进行检索(例如,查询)并且将其中含有的地址组合(例如,合并)在一起。合并地址可以包括将不同的地址列表加在一起并且移除冗余。
过程700还需要向托管所识别的虚拟机的服务器计算机发送更新的地址列表(操作724)。更新的地址列表可以经由服务提供商网络基础设施而传递(例如,推送)到服务器计算机。在服务器计算机处,主机管理器可以用更新的地址列表管理更新安全表。在实施方案中,主机管理器可以使用相关联的地址列表来产生虚拟机的新安全表。新安全表之后可以换出现有的安全表。在转换安全表时,可以对建立新通信会话设置暂停。
过程700还需要在主机服务器计算机处确认更新的地址列表(操作728)。确认更新的地址列表可以例如通过确认更新的IP地址列表已被分发到托管所识别的虚拟机的主机服务器计算机(例如,通过就所述地址列表的分发对数据库进行询问)来完成。确认更新的地址列表还可以通过从每个服务器计算机接收对更新已被执行的确认来完成。如果更新没有被确认,则过程700需要继续确认更新。
例如,网络管理器可以包括接口,诸如web服务API。在实施方案中,主机管理器可以发送确认消息,所述确认消息指示所述主机管理器已成功接收从网络管理器发送的地址列表。可以对消息进行解析,并且网络管理器中的工作进程之后可以对地址审核工具产生消息。地址审核工具也可以包括接口,诸如web服务API,并且来自网络管理器的消息可以由工作进程解析来确定被允许访问web服务的虚拟机的安全表的地址列表已被更新。
一旦在主机服务器计算机处已确认IP地址列表,过程700就需要通知web服务取消IP地址的使用是安全的(操作732)。服务之后可以例如从相关联的负载均衡器移除IP地址,使得机器可能不能再使用被移除的IP地址来与服务进行通信。例如,工作进程可以产生指示从web服务移除IP地址是安全的消息,并且(例如,通过互联网)向服务发送所述消息。
过程700提供介于web服务与托管可以使用服务的多个虚拟机的服务提供商网络之间的互锁。通过使用过程700,web服务在没有首先更新虚拟机的通信功能的情况下不会从服务移除一个或多个地址。因此,虚拟机可以维持对其安全的严密控制,同时仍然确保对web服务的访问。
图8示出了用于管理动态IP地址分配的示例过程800。过程800可以例如由系统100的网络管理器134来实施并且结合过程500一起使用。
过程800需要确定安全组的IP地址是否已发生改变(操作804)。确定安全组的IP地址是否已发生改变可以例如通过确定web服务的IP地址已发生改变并确定与web服务相关联的安全组来完成。
确定web服务的IP地址是否已发生改变可以通过先前论述的任何技术来完成。确定与web服务相关联的安全组可以例如由网络管理器中的工作进程在含有安全组的数据存储区中检查(例如,查询)其IP地址已改变的web服务的标识符(例如,名称)来完成。
过程800还需要就安全组的IP地址的变化方面对客户产生通知(操作808)。通知客户可以例如包括产生指示安全组的IP地址已发生改变的消息(例如,文本消息、电子邮件消息等)。在特定实现方式中,消息还可以指示哪些IP地址已被改变(例如,被添加和被删除)。可以例如从地址审核工具获得改变的IP地址。在其他实现方式中,改变的IP地址可以存储在日志中。客户可能能够在方便时访问日志以查看安全组的IP地址的变化。
在某些实施方案中,地址审核工具中的工作进程可以将变化记录到数据存储区,所述工作进程(例如,经由数据库插入操作)将web服务的新IP地址添加到数据存储区并且(例如,经由数据库删除操作)从数据存储区移除web服务的未使用的IP地址。这些变化可以变得可用于网络管理器。例如,地址审核工具可以包括接口,诸如web服务API,并且来自网络管理器的消息可以由工作进程解析来确定web服务的IP地址列表的变化是所希望的。可以从数据存储区(例如,数据库或日志)检索所述变化并且向网络管理器发送所述变化。网络管理器可以将这些地址变化设置到消息中或将其存储在与安全组相关联的日志中。
图9示出了用于针对安全组管理web服务的分配的示例过程900。过程900可以例如由类似于系统100中的网络管理器134的网络管理器来实施并且结合过程400一起使用。
过程900需要确定针对安全组是否已选择web服务(操作904)。可以例如由客户在图形用户界面中进行选择(例如,从菜单或下拉式列表中选择)来为安全组选择web服务。网络管理器可以基于API调用而为客户产生用户界面以创建和/或修改安全组。
过程900还需要确定是否存在web服务的多个版本(操作908)。确定是否存在web服务的多个版本可以例如通过对含有有关web服务的元数据的数据存储区进行查询来完成。例如在由扩展的服务提供网络提供web服务的情况下可能存在web服务的多个版本。
如果存在web服务的多个版本,则过程900需要确定接近客户的资源的web服务版本(操作912)。客户资源可以例如包括虚拟机和数据存储区。在某些实现方式中,正修改安全组所处的位置可以指示客户资源的位置。
客户资源通常在数据中心中实施,所述数据中心可以是容纳并操作计算机系统和相关联的组件的设施并且可以包括冗余和备用的电源、通信、冷却和安全系统。数据中心可以定位于同一个地理区域,诸如定位于同一个设施中,并且可以使用专用网络,诸如高速光纤网络来互联,所述专用网络由服务提供商控制和管理。数据中心还可以分布在地理上不同的位置并且可以部分地使用公共网络,诸如互联网来互联。
在数据中心中运行的资源(例如,虚拟机、web服务等)可以在有关数据中心的元数据数据存储区中进行指定。因此,确定接近客户资源的web服务的版本可以通过确定客户资源和web服务的版本是否定位于同一个数据中心来完成。另外,数据中心的地理位置(例如,美国东部)可以在有关数据中心的元数据中进行指定。因此,确定接近客户资源的web服务的版本可以通过确定web服务的版本是否在与客户资源相同的地理区域中实施来完成。
在特定实现方式中,可以对实施客户资源的数据中心和托管web服务的版本的数据中心的实际地理位置进行分析。因此,可以确定最靠近托管客户资源的数据中心的托管web服务版本的数据中心。
过程900还包括推荐接近客户的资源的web服务版本(操作916)。这个推荐可以例如由网络管理器在图形用户界面中传达给客户。
过程900进一步需要确定是否已选择web服务的版本(操作920)。客户可以基于其偏好而选择推荐的web服务的版本或另一个版本。
一旦已选择好web服务的版本,过程900就需要使选定web服务版本与选定安全组相关联(操作924)。使选定web服务版本与选定安全组相关联可以例如包括将安全组的标识符(例如,名称)连同版本标识符一起插入安全组的数据存储区中。之后结束过程900。
如果无法获得web服务的多个版本(操作908),则过程900需要使选定web服务版本(在这种情况下只有一个版本)与选定安全组相关联(操作924)。之后结束过程900。
图10-11与图1的相似之处在于它们展示了在其中可以实施本文公开的实施方案的示例操作环境,并且这些附图展示了这些操作环境处于不同的粒度级。图10总体展示了包括多个数据中心1022的web服务平台1020。图11总体展示了可以是较大系统(例如,数据中心)的一部分的计算机系统1100。
可以了解到,图10-11的这些操作环境可以用于实施图1的操作环境的各方面。例如,接口132、网络管理器134、地址审核工具136、地址合并器138或服务器计算机140可以在数据中心1022中或在图10的多个数据中心1022上实施。类似地,图1的通信网络120可以是图10的广域网1030,并且图1的客户计算机系统110可以是图10的客户计算机系统1010。
图10展示了用于管理动态地分配的IP地址的示例系统1000。云服务提供商(诸如web服务平台1020)可以对所示的计算环境进行配置以托管实体的虚拟云并且在另外可能是分离的这些虚拟云之间实现通信路径。具体而言,图10是示出包括web服务平台1020的说明性操作系统1000的系统和网络图,所述操作系统用于实施虚拟云并且用于按需提供对计算资源,诸如虚拟机实例的访问。web服务平台1020可以永久地或根据需要来提供用于执行应用的计算资源,并且可以被配置为专用网络。这些计算资源可以包括各种类型的资源,诸如数据处理资源、数据存储资源、数据通信资源等等。每种类型的计算资源可以是通用的或可以在多种特定配置下获得。例如,数据处理资源可以作为虚拟机实例获得。所述实例可以被配置用来执行应用,包括Web服务器、应用服务器、媒体服务器、数据库服务器等等。数据存储资源可以包括文件存储装置、块存储装置等等。
每种类型或配置的计算资源可以不同大小获得,诸如大资源,所述大资源由许多处理器、大量存储器和/或大存储容量组成;以及小资源,所述小资源由较少处理器、少量存储器和/或较小存储容量组成。例如,实体可以选择将多个小处理资源作为Web服务器进行分配和/或将一个大处理资源作为数据库服务器进行分配。
由web服务平台1020提供的计算资源可以由一个或多个数据中心1022启用,所述一个或多个数据中心在本文中可以按单数称为“数据中心1022(datacenter 1022)”或按复数称为“数据中心1022(datacenters 1022)”。数据中心1022可以是容纳并操作计算机系统和相关联的组件的设施并且可以包括冗余和备用的电源、通信、冷却和安全系统。数据中心1022可以定位于同一个地理区域,诸如定位于同一个设施中,并且可以使用专用网络,诸如高速光纤网络来互联,所述专用网络由web服务平台1020的服务提供商控制和管理。数据中心1022还可以分布在地理上不同的位置并且可以部分地使用公共网络,诸如互联网来互联。
web服务平台1020的实体可以通过广域网(“WAN”)1030来访问由数据中心1022提供的计算资源。虽然图10中示出了WAN,但是应了解到,可以利用局域网(“LAN”)、互联网或本领域中已知的将数据中心1022连接到远程实体和其他用户的任何其他联网拓扑结构。还应了解到,还可以利用这类网络的组合。
实体或为web服务平台1020的客户的其他实体可以利用计算机系统810来访问由数据中心1022提供的计算资源。客户计算机系统810包括能够访问web服务平台1020的计算机,诸如服务器计算机、台式或膝上型个人计算机、平板计算机、无线电话、PDA、电子阅读器、游戏控制台、机顶盒或任何其他计算节点。
如以上更详细所描述,客户计算机系统1010可以被用来对由web服务平台1020提供的计算资源的各方面进行配置。在此方面,web服务平台1020可以提供Web接口,经由所述web接口,所述web服务平台的操作的各方面可以通过使用在客户计算系统810上执行的Web浏览器应用程序来配置。可替代地,在客户计算系统810上执行的独立应用程序可以访问由web服务平台1020暴露的应用程序接口(“API”)以执行配置操作。还可以利用用于对web服务平台1020的操作进行配置的其他机制,包括启动web服务平台1020上的新虚拟机实例。
根据本文公开的实施方案,购买的由web服务平台1020提供的计算资源的容量可以响应于需求而缩放。在此方面,缩放指代实例化的过程,这在本文中还可以被称为“启动”或“创建”或终止,这在本文中又可以被称为响应于需求而对计算资源实例“解除缩放”。
自动缩放可以是用于响应于对资源的需求的增加或减弱而缩放计算资源的一种机制。自动缩放可以允许web服务平台1020的实体根据由实体限定的条件来缩放其购买的计算资源。例如,规则可以被限定为响应于出现指定条件,诸如需求峰值而以特定方式按比例增大容量。类似地,规则还可以被限定为响应于出现其他条件,诸如需求减弱而以特定方式按比例缩减容量。当由实体人工启动实例时或当由web服务平台1020中的自动缩放组件启动实例时,可以利用本文公开用于启动虚拟机实例的机制。
web服务平台1020也可以配置有部署组件以协助实体部署计算资源的新实例。部署组件可以从实体接收配置,所述配置可以包括描述应如何对新实例进行配置的数据。例如,配置可以指定应安装在新实例中的一个或多个应用程序或软件组件,提供将要在新实例中执行的脚本和/或其他类型代码,提供指定应如何准备应用缓存的缓存热身逻辑以及其他类型的信息。部署组件利用由实体提供的配置和缓存热身逻辑来启动、配置和准备好计算资源的新实例。
可以根据以下条款来描述本公开的各种实施方案:
1.一种计算机可读存储介质,所述计算机可读存储介质在上面存储了计算机可执行指令,所述计算机可执行指令在由计算机系统执行时致使计算机系统:
由服务提供商网络的客户经由图形用户界面接收对web服务的标识符的选择,所述服务提供商网络具有服务器计算机,所述服务器计算机托管用于客户web服务的一个或多个虚拟机;
确定web服务的一个或多个公共IP地址;
识别服务提供商网络中被允许与web服务通信的客户的虚拟机;
产生所识别的虚拟机的IP地址列表,所述IP地址列表包括web服务的一个或多个公共IP地址;以及
在托管所识别的虚拟机的服务器计算机处用所产生的IP地址列表更新所识别的虚拟机的安全表。
2.如条款1所述的计算机可读存储介质,所述计算机可读存储介质在上面进一步存储了计算机可执行指令,所述计算机可执行指令在由计算机系统执行时致使计算机系统:
确定web服务的一个或多个计算机网络地址是否已发生改变;
确认web服务的计算机网络地址;
产生所识别的虚拟机的一个或多个更新的计算机网络地址列表,所述计算机网络地址列表包括web服务的计算机网络地址;以及
在托管虚拟机的服务器计算机处用更新的计算机网络地址列表更新所识别的虚拟机的安全表。
3.如条款2所述的计算机可读存储介质,其中确定web服务的一个或多个计算机网络地址是否已发生改变包括接收对web服务的一个或多个新计算机网络地址的通知。
4.如条款2所述的计算机可读存储介质,所述计算机可读存储介质在上面进一步存储了计算机可执行指令,所述计算机可执行指令在由计算机系统执行时致使计算机系统:
确定计算机网络地址列表已被分发到托管所识别的虚拟机的服务器计算机;以及
产生有关web服务对于开始使用新计算机网络地址是安全的通知。
5.一种管理互联网协议(IP)地址分配的方法,所述方法包括:
从用户接收对web服务的标识符的指定和对用户的一个或多个虚拟机的指示,所述标识符与web服务的网络地址相关联;
至少部分基于对标识符的指定而产生一个或多个虚拟机的一个或多个网络地址列表,所述网络地址列表包括web服务的网络地址;以及
在托管一个或多个虚拟机的服务器计算机处用地址列表更新一个或多个虚拟机的安全表,所述安全表由服务器计算机用来至少确定是否允许被寻址到服务的网络地址或来自所述服务的所述网络地址的通信。
6.如条款5所述的方法,所述方法还包括:
确定web服务的一个或多个IP地址是否已发生改变;
确认web服务的IP地址;
为服务提供商网络中的虚拟机产生一个或多个更新的IP地址列表,所述IP地址列表包括web服务的IP地址;以及
在托管虚拟机的服务器计算机处用更新的IP地址列表更新虚拟机的安全表。
7.如条款6所述的方法,其中确定web服务的一个或多个IP地址是否已发生改变包括接收对web服务的一个或多个新IP地址的通知。
8.如条款7所述的方法,所述方法还包括:
确定IP地址列表已被分发到托管所识别的虚拟机的服务器计算机;以及
产生有关web服务对于开始使用新IP地址是安全的通知。
9.如条款5所述的方法,其中确定web服务的一个或多个IP地址是否已发生改变包括接收将要删除web服务的一个或多个IP地址的通知。
10.如条款9所述的方法,所述方法还包括:
确定IP地址列表已被分发到托管所识别的虚拟机的服务器计算机;以及
产生有关web服务对于移除IP地址是安全的通知。
11.如条款5所述的方法,其中至少部分基于对标识符的指定而产生一个或多个虚拟机的一个或多个网络地址列表包括将web服务的网络地址与被指定用于虚拟机的网络地址进行合并。
12.如条款5所述的方法,其中至少部分基于对标识符的指定而产生一个或多个虚拟机的一个或多个网络地址列表包括将网络地址前缀扩展为多个网络地址。
13.如条款5所述的方法,所述方法还包括产生有关与web服务相关联的安全组的IP地址的变化的通知。
14.如条款5所述的方法,所述方法还包括:
接收客户对安全组的web服务的选择;
确定web服务版本是否接近客户资源;
推荐使用接近客户资源的web服务版本;
接收客户对web服务版本的选择;以及
使选定web服务版本与安全组相关联。
15.一种系统,所述系统包括:
一个或多个计算装置,所述一个或多个计算装置包括处理单元和存储器;
一个或多个计算装置被配置用来:
从用户接收对web服务的标识符的指定和对用户的一个或多个虚拟机的指示,所述标识符与web服务的网络地址相关联;
至少部分基于对标识符的指定而产生一个或多个虚拟机的一个或多个网络地址列表,所述网络地址列表包括web服务的网络地址;以及
在托管一个或多个虚拟机的服务器计算机处用地址列表更新一个或多个虚拟机的安全表,所述安全表由服务器计算机用来至少确定是否允许被寻址到服务的网络地址或来自所述服务的所述网络地址的通信。
16.如条款15所述的系统,其中计算装置被进一步配置用来:
确定web服务的一个或多个IP地址是否已发生改变;
确认web服务的IP地址;
为服务提供商网络中的虚拟机产生一个或多个更新的IP地址列表,所述IP地址列表包括web服务的IP地址;以及
在托管虚拟机的服务器计算机处用更新的IP地址列表更新虚拟机的安全表。
17.如条款16所述的系统,其中确定web服务的一个或多个IP地址是否已发生改变包括接收对web服务的一个或多个新IP地址的通知。
18.如条款17所述的系统,其中计算装置被进一步配置用来:
确定IP地址列表已被分发到托管所述识别的虚拟机的服务器计算机;以及
产生有关web服务对于开始使用新IP地址是安全的通知。
19.如条款15所述的系统,其中确定web服务的一个或多个IP地址是否已发生改变包括接收将要删除web服务的一个或多个IP地址的通知。
20.如条款19所述的系统,其中计算装置被进一步配置用来:
确定IP地址列表已被分发到托管所述识别的虚拟机的服务器计算机;以及
产生有关web服务对于移除IP地址是安全的通知。
21.如条款15所述的系统,其中至少部分基于对标识符的指定而产生一个或多个虚拟机的一个或多个网络地址列表包括将web服务的网络地址与被指定用于虚拟机的网络地址进行合并。
22.如条款15所述的系统,其中至少部分基于对标识符的指定而产生一个或多个虚拟机的一个或多个网络地址列表包括将网络地址前缀扩展为多个网络地址。
23.如条款15所述的系统,其中计算装置被进一步配置用来产生有关与web服务相关联的安全组的IP地址的变化的通知。
24.如条款15所述的系统,其中计算装置被进一步配置用来:
接收客户对安全组的web服务的选择;
确定web服务版本是否接近客户资源;
推荐使用接近客户资源的web服务版本;
接收客户对web服务版本的选择;以及
使选定web服务版本与安全组相关联。
图11展示了能够执行上述软件组件的示例计算机系统1100。相对于针对图1描述的示例系统,接口132、网络管理器134、地址审核工具134、地址合并器138和客户计算机系统110各自可以在计算机系统1100中实施。
图11所示的计算机架构示出了常规服务器计算机、工作站、台式计算机、膝上型计算机、平板计算机、网络设备、PDA、电子阅读器、数字蜂窝电话或其他计算节点,并且可以用于执行本文呈现的软件组件的任何方面,这被描述为在数据中心1022内、在服务器计算机140上、在客户计算机系统110上或在本文提及的任何其他计算系统上执行。
计算机系统1100可以包括基板或“主板”,它是多个组件或装置通过系统总线或其他电通信路径可以连接到其上的印刷电路板。一个或多个中心处理单元(“CPU”)1104可以结合芯片组1106一起操作。CPU 1104可以是执行计算机系统1100的操作所必需的算术和逻辑操作的标准可编程处理器。
CPU 1104可以通过经由操纵切换元件从一个离散物理状态转变为下一个状态来执行所必需的操作,所述切换元件可辨别和改变这些状态。切换元件通常可以包括维持两个二进制状态中的一个的电子电路,诸如触发器,以及基于一个或多个其他切换元件的状态的逻辑组合而提供输出状态的电子电路,诸如逻辑门。这些基本切换元件可以组合来产生更复杂的逻辑电路,包括寄存器、加法器-减法器、算术逻辑单元、浮点单元等等。
芯片组1106可以在CPU 1104与基板上的其余组件和装置之间提供接口。芯片组1106可以对用作计算机系统1100中的主存储器的随机存取存储器(“RAM”)1108提供接口。芯片组1106可以进一步对用于存储基本例程的计算机可读存储介质,诸如只读存储器(“ROM”)1110或非易失性RAM(“NVRAM”)提供接口,所述基本例程可以帮助启动计算机系统1100并且在各种组件与装置之间传输信息。ROM1110或NVRAM还可以根据本文描述的实施方案存储计算机系统1100的操作所必需的其他软件组件。
计算机系统1100可以使用经由网络1120接至远程计算节点和计算机系统的逻辑连接在联网环境中进行操作。芯片组1106可以包括经由网络接口控制器(“NIC”)1112,诸如千兆位以太网适配器提供网络连接的功能。NIC 1112可能能够通过网络1120将计算机系统1100连接到其他计算节点。应了解到,多个NIC 1112可能存在于计算机系统1100中,从而将计算机连接到其他类型的网络和远程计算机系统。
计算机系统1100可以连接到大容量存储装置1118,所述大容量存储装置为计算机提供非易失性存储。大容量存储装置1118可以存储系统程序、应用程序、本文已进行更详细描述的其他程序模块和数据。大容量存储装置1118可以经由连接到芯片组1106的存储控制器1124而连接到计算机系统1100。大容量存储装置1118可以由一个或多个物理存储单元组成。存储控制器1124可以经由以下各项与物理存储单元进行交互:串行附连SCSI(“SAS”)接口、串行高级技术附连(“SATA”)接口、光纤通道(“FC”)接口或用于物理地连接计算机和物理存储单元并在其间传输数据的其他类型的接口。
计算机系统1100可以通过转换物理存储单元的物理状态以反映信息正被存储而将数据存储在大容量存储装置1118上。物理状态的具体转换可以取决于各种因素和对此描述的不同实现方式。这类因素的实例可以包括但不限于:用于实施物理存储单元的技术以及大容量存储装置1118是表征为主存储还是二级存储等等。
例如,计算机系统1100可以通过以下方式将信息存储到大容量存储装置1118:经由存储控制器1114发布指令来更改磁盘驱动单元内特定位置的磁性特性、光学存储单元中特定位置的反射或折射特性或者特定电容器、晶体管或固态存储单元中的其他离散组件的电特性。在不脱离当前描述的范围和精神的情况下,物理介质的其他转换是可能的,因为只是为了方便这一描述才提供先前的实例。计算机系统1100可以进一步通过检测物理状态或物理存储单元内一个或多个特定位置的特性来从大容量存储装置1118读取信息。
除了上述大容量存储装置1118之外,计算机系统1100还可以访问其他计算机可读存储介质以存储和检索信息,诸如程序模块、数据结构或其他数据。本领域技术人员应了解到,计算机可读存储介质可以是提供用来存储非易失性数据并可以由计算机系统1100访问的任何可获得介质。
举例来说,但不带限制性,计算机可读存储介质可以包括以任何方法或技术实施的易失性和非易失性、暂态和非暂态、可移动和不可移动介质。计算机可读存储介质包括但不限于:RAM、ROM、可擦除可编程ROM(“EPROM”)、电可擦除可编程ROM(“EEPROM”)、快闪存储器或其他固态存储器技术、压缩盘ROM(“CD-ROM”)、数字通用盘(“DVD”)、高清DVD(“HD-DVD”)、BLU-RAY或其他光学存储、磁带盒、磁带、磁盘存储、其他磁性存储装置或者可以用于以非暂态方式存储所希望的信息的任何其他介质。
大容量存储装置1118可以存储操作系统,所述操作系统用于控制计算机系统1100的操作。根据一个实施方案,操作系统包括LINUX操作系统版本。根据另一个实施方案,操作系统包括来自MICROSOFT公司的SERVER操作系统版本。根据另一实施方案,操作系统可以包括UNIX操作系统版本。应了解到,还可以利用其他操作系统。大容量存储装置1118可以存储其他系统或应用程序以及由计算机系统1100,诸如网络管理器134、地址审核工具136或地址合并器138和/或上述其他软件组件利用的数据。
大容量存储装置1118或其他计算机可读存储介质还可以编码有计算机可执行指令,所述计算机可执行指令在被加载到计算机系统1100中时将计算机从通用计算系统转换为能够实施本文描述的实施方案的专用计算机。如上所述,这些计算机可执行指令通过指定CPU1104如何在各状态之间转变来转换计算机系统1100。计算机系统1100可以访问存储计算机可执行指令的计算机可读存储介质,所述计算机可执行指令在被计算机系统1100执行时可以执行图2-7所示的操作程序。
计算机系统1100还可以包括输入/输出控制器1116,所述输入/输出控制器用于接收和处理来自多个输入装置的输入,诸如键盘、鼠标、触摸板、触摸屏、电子笔或其他类型的输入装置。类似地,输入/输出控制器1116可以向显示器提供输出,诸如计算机显示器、平板显示器、数字投影仪、打印机、绘图仪或其他类型的输出装置。将了解到,计算机系统1100可以不包括图11所示的所有组件,可以包括图11未明确示出的其他组件或者可以利用完全不同于图11所示的架构。
如本文所述,计算节点可以是物理计算节点,诸如图11的计算机系统1100。计算节点还可以是虚拟计算节点,诸如虚拟机实例,或由物理计算节点托管的会话,其中计算节点被配置用来同时托管一个或多个会话。
应了解到,附图所示的网络拓扑结构已被极大地简化并且更多的网络和联网装置可以被用来将本文公开的各种计算系统互连。这些网络拓扑结构和装置对于本领域技术人员而言应是显而易见的。
还应了解到,附图中的系统仅是说明性的并且可以使用其他实现方式。另外,应了解到,本文公开的功能可以在软件、硬件或软件和硬件的组合中实施。其他实现方式对于本领域技术人员而言应是显而易见的。还应了解到,服务器、网关或其他计算节点可以包括能够交互并执行所描述类型功能的硬件或软件的任何组合,所述硬件或软件包括但不限于:台式计算机或其他计算机、数据库服务器、网络存储装置和其他网络装置、PDA、平板计算机、手机、无线电话、寻呼机、电子记事簿、互联网设备、基于电视机的系统(例如,使用机顶盒和/或个人/数字视频录像机)以及包括适当的通信能力的各种其他消费品。此外,由所示模块提供的功能在一些实施方案中可以被组合在更少的模块或分布在附加模块中。类似地,在一些实施方案中,可能并未提供所示模块中的一些的功能和/或可能可获得其他附加功能。
先前部分中描述的操作、过程、方法和算法中的每一个可以嵌入由一个或多个计算机或计算机处理器执行的代码模块,并且完全或部分地通过所述代码模块来实现每一个的自动化。代码模块可以存储在任何类型的非暂态计算机可读介质或计算机存储装置,诸如硬盘驱动器、固态存储器、光盘和/或类似物上。所述过程和算法可以部分或完全在专用电路中实施。所公开的过程和过程步骤的结果可以永久地或以其他方式存储在任何类型的非暂态计算机存储区,例如像易失性或非易失性存储区中。
上述各种特征和过程可以独立于彼此使用,或可以各种方式进行组合。所有可能的组合和子组合意在落在本公开的范围内。此外,在一些实现方式中,可以省略某些方法或过程方框。本文描述的方法和过程也不限于任何特定顺序,并且与所述方法和过程相关的方框或状态可以按适当的其他顺序执行。例如,所描述的方框或状态可以除了确切公开之外的次序执行,或者多个方框或状态可以组合在单一方框或状态中。示例方框或状态可以串行、并行或以某一其他方式执行。方框或状态可以添加到所公开的示例实施方案或从其移除。本文描述的示例系统和组件可以不同于所描述的方式进行配置。例如,元件可以添加到所公开的示例实施方案,从其移除或者相较于所公开的示例实施方案进行重新布置。
还将了解到,各个项目在被使用时被示出为存储在存储器中或存储区上,并且这些项目或其部分出于存储器管理和数据完整性目的可以在存储器与其他存储装置之间传输。可替代地,在其他实施方案中,软件模块和/或系统中的一些或全部可以在另一个装置上的存储器中执行并且经由计算机间通信与所示计算机系统进行通信。另外,在一些实施方案中,系统和/或模块中的一些或全部可以其他方式实施或提供,诸如至少部分实施或提供于固件和/或硬件,包括但不限于:一个或多个专用集成电路(ASIC)、标准集成电路、控制器(例如,通过执行适当的指令,并且包括微控制器和/或嵌入式控制器)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)等。模块、系统和数据结构的一些或全部也可以(例如,作为软件指令或结构化数据)存储在计算机可读介质,诸如硬盘、存储器、网络或者通过适当的驱动器或经由适当的连接来读取的便携式介质制品。系统、模块和数据结构还可以作为产生的数据信号(例如,作为载波或者其他模拟或数字传播信号的一部分)在各种计算机可读传输介质(包括基于无线和基于有线/电缆的介质)上传输,并且可以采用各种形式(例如,作为单一或多路复用模拟信号的一部分,或者作为多个离散的数字分组或帧)。这类计算机程序产品在其他实施方案中还可以采用其他形式。因此,本发明可以在其他计算机系统配置下实施。
除非另外明确指出,或在如所使用的背景中有其他理解,否则本文使用的条件性语言,尤其诸如“可以(can)”、“可以(could)”、“可能”、“可以(may)”、“例如”等等通常意在传达某些实施方案包括,而其他实施方案不包括某些特征、元件和/或步骤。因此,这种条件性语言通常并不意在暗示特征、元件和/或步骤在任何情况下都是一个或多个实施方案所必需的,或者一个或多个实施方案无论有或没有用户输入或提示都必然包括用于决定任何特定实施方案中是否包括或将要执行这些特征、元件和/或步骤的逻辑。术语“包含”、“包括”、“具有”等等是同义的并包括性地,即以开放式方式使用,并且不排除其他元件、特征、动作、操作等等。另外,术语“或”在其包括性意义(而不在其排除性意义)上使用,使得在用来例如连接一列元件时,术语“或”意指列表中的一个、一些或全部元件。
虽然已描述了某些示例实施方案,但是这些实施方案仅通过举例的方式呈现,并且不意在限制本文公开的发明的范围。因此,前文描述并不意在暗示任何特定特征、特性、步骤、模块或方框是必要的或不可缺少的。事实上,本文描述的新方法和系统可以各种其他形式体现;另外,在不脱离本文公开的发明的精神的情况下,可以对本文描述的方法和系统的形式进行各种省略、替换和改变。所附权利要求以及其等效形式意在覆盖如落在本文公开的发明的真实范围和精神内的这类形式或修改。
Claims (15)
1.一种管理互联网协议(IP)地址分配的方法,所述方法包括:
从用户接收对web服务的标识符的指定和对所述用户的一个或多个虚拟机的指示,所述标识符与所述web服务的网络地址相关联;
至少部分基于对所述标识符的所述指定而产生所述一个或多个虚拟机的一个或多个网络地址列表,所述网络地址列表包括所述web服务的所述网络地址;以及
在托管所述一个或多个虚拟机的服务器计算机处用所述地址列表更新所述一个或多个虚拟机的安全表,所述安全表由所述服务器计算机用来至少确定是否允许被寻址到或来自所述服务的所述网络地址的通信。
2.如权利要求1所述的方法,所述方法还包括:
确定所述web服务的一个或多个IP地址是否已发生改变;
确认所述web服务的所述IP地址;
为服务提供商网络中的虚拟机产生一个或多个更新的IP地址列表,所述IP地址列表包括所述web服务的所述IP地址;以及
在托管所述虚拟机的所述服务器计算机处用所述更新的IP地址列表更新所述虚拟机的所述安全表。
3.如权利要求2所述的方法,其中确定所述web服务的一个或多个IP地址是否已发生改变包括接收对所述web服务的一个或多个新IP地址的通知。
4.如权利要求3所述的方法,所述方法还包括:
确定所述IP地址列表已被分发到托管所述识别的虚拟机的所述服务器计算机;以及
产生有关所述web服务对于开始使用所述新IP地址是安全的通知。
5.如权利要求1所述的方法,其中确定所述web服务的一个或多个IP地址是否已发生改变包括接收将要删除所述web服务的一个或多个IP地址的通知。
6.如权利要求5所述的方法,所述方法还包括:
确定所述IP地址列表已被分发到托管所述识别的虚拟机的所述服务器计算机;以及
产生有关所述web服务对于移除所述IP地址是安全的通知。
7.如权利要求1所述的方法,其中至少部分基于对所述标识符的所述指定而产生所述一个或多个虚拟机的一个或多个网络地址列表包括将所述web服务的所述网络地址与被指定用于所述虚拟机的网络地址进行合并。
8.如权利要求1所述的方法,其中至少部分基于对所述标识符的所述指定而产生所述一个或多个虚拟机的一个或多个网络地址列表包括将网络地址前缀扩展为多个网络地址。
9.如权利要求1所述的方法,所述方法还包括产生有关与所述web服务相关联的安全组的IP地址的变化的通知。
10.一种系统,所述系统包括:
一个或多个计算装置,所述一个或多个计算装置包括处理单元和存储器;
所述一个或多个计算装置被配置用来:
从用户接收对web服务的标识符的指定和对所述用户的一个或多个虚拟机的指示,所述标识符与所述web服务的网络地址相关联;
至少部分基于对所述标识符的所述指定而产生所述一个或多个虚拟机的一个或多个网络地址列表,所述网络地址列表包括所述web服务的所述网络地址;以及
在托管所述一个或多个虚拟机的服务器计算机处用所述地址列表更新所述一个或多个虚拟机的安全表,所述安全表由所述服务器计算机用来至少确定是否允许被寻址到或来自所述服务的所述网络地址的通信。
11.如权利要求10所述的系统,其中所述计算装置被进一步配置用来:
确定所述web服务的一个或多个IP地址是否已发生改变;
确认所述web服务的所述IP地址;
为服务提供商网络中的虚拟机产生一个或多个更新的IP地址列表,所述IP地址列表包括所述web服务的所述IP地址;以及
在托管所述虚拟机的所述服务器计算机处用所述更新的IP地址列表更新所述虚拟机的所述安全表。
12.如权利要求11所述的系统,其中确定所述web服务的一个或多个IP地址是否已发生改变包括接收对所述web服务的一个或多个新IP地址的通知。
13.如权利要求12所述的系统,其中所述计算装置被进一步配置用来:
确定所述IP地址列表已被分发到托管所述识别的虚拟机的所述服务器计算机;以及
产生有关所述web服务对于开始使用所述新IP地址是安全的通知。
14.如权利要求10所述的系统,其中确定所述web服务的一个或多个IP地址是否已发生改变包括接收将要删除所述web服务的一个或多个IP地址的通知。
15.如权利要求10所述的系统,其中至少部分基于对所述标识符的所述指定而产生所述一个或多个虚拟机的一个或多个网络地址列表包括将网络地址前缀扩展为多个网络地址。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/741,148 US20160373405A1 (en) | 2015-06-16 | 2015-06-16 | Managing dynamic ip address assignments |
US14/741,148 | 2015-06-16 | ||
PCT/US2016/037896 WO2016205535A1 (en) | 2015-06-16 | 2016-06-16 | Managing dynamic ip address assignments |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107690800A true CN107690800A (zh) | 2018-02-13 |
CN107690800B CN107690800B (zh) | 2020-12-22 |
Family
ID=56360488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680033106.9A Active CN107690800B (zh) | 2015-06-16 | 2016-06-16 | 管理动态ip地址分配 |
Country Status (5)
Country | Link |
---|---|
US (2) | US20160373405A1 (zh) |
EP (1) | EP3311544B1 (zh) |
CN (1) | CN107690800B (zh) |
AU (1) | AU2016280163B2 (zh) |
WO (1) | WO2016205535A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111314457A (zh) * | 2020-02-13 | 2020-06-19 | 北京百度网讯科技有限公司 | 设置虚拟私有云的方法和装置 |
CN114008563A (zh) * | 2019-06-17 | 2022-02-01 | 日立数据管理有限公司 | 用于识别机架上的服务器并基于服务器的物理位置给服务器分配适当的ip地址的系统和方法 |
CN114465979A (zh) * | 2021-12-21 | 2022-05-10 | 天翼云科技有限公司 | 一种ip库生成方法、系统及电子设备 |
CN115516829A (zh) * | 2020-06-02 | 2022-12-23 | 思科技术公司 | 用部署冻结选项来筹备配置变更 |
Families Citing this family (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9065833B2 (en) * | 2013-07-10 | 2015-06-23 | Microsoft Technology Licensing, Llc | Outbound IP address reputation control and repair |
US10325032B2 (en) * | 2014-02-19 | 2019-06-18 | Snowflake Inc. | Resource provisioning systems and methods |
US9882968B1 (en) | 2014-12-09 | 2018-01-30 | Amazon Technologies, Inc. | Virtual network interface multiplexing |
US9912759B2 (en) * | 2015-06-24 | 2018-03-06 | International Business Machines Corporation | Dynamically generating solution stacks |
US10142284B2 (en) * | 2015-09-30 | 2018-11-27 | Vmware, Inc. | Faster IP address allocation in a hybrid cloud environment using subnet selective randomization |
US10554683B1 (en) | 2016-05-19 | 2020-02-04 | Board Of Trustees Of The University Of Alabama, For And On Behalf Of The University Of Alabama In Huntsville | Systems and methods for preventing remote attacks against transportation systems |
US10063666B2 (en) | 2016-06-14 | 2018-08-28 | Futurewei Technologies, Inc. | Modular telecommunication edge cloud system |
US20180041578A1 (en) * | 2016-08-08 | 2018-02-08 | Futurewei Technologies, Inc. | Inter-Telecommunications Edge Cloud Protocols |
US9699114B1 (en) * | 2016-10-27 | 2017-07-04 | International Business Machines Corporation | Providing use of local or private cloud infrastructure resources to public cloud providers |
US11178217B2 (en) * | 2017-01-09 | 2021-11-16 | International Business Machines Corporation | DNS-based in-packet service version tagging |
US10587648B2 (en) * | 2017-04-13 | 2020-03-10 | International Business Machines Corporation | Recursive domain name service (DNS) prefetching |
US20180316547A1 (en) * | 2017-04-27 | 2018-11-01 | Microsoft Technology Licensing, Llc | Single management interface to route metrics and diagnostic logs for cloud resources to cloud storage, streaming and log analytics services |
US10547672B2 (en) | 2017-04-27 | 2020-01-28 | Microsoft Technology Licensing, Llc | Anti-flapping system for autoscaling resources in cloud networks |
US10623262B2 (en) * | 2017-06-20 | 2020-04-14 | Vmware, Inc. | Methods and systems to adjust a monitoring tool and auxiliary servers of a distributed computing system |
EP3788742B1 (en) * | 2018-05-04 | 2023-02-08 | Laibson, Benjamin William | Emulation of cloud computing service regions |
FR3081573A1 (fr) * | 2018-06-29 | 2019-11-29 | Orange | Procedes de verification de la validite d'une ressource ip, serveur de controle d'acces, serveur de validation, nœud client, nœud relais et programme d'ordinateur correspondants. |
JP2020017809A (ja) * | 2018-07-24 | 2020-01-30 | アラクサラネットワークス株式会社 | 通信装置及び通信システム |
US11159569B2 (en) * | 2018-08-20 | 2021-10-26 | Cisco Technology, Inc. | Elastic policy scaling in multi-cloud fabrics |
US11968174B2 (en) * | 2018-10-04 | 2024-04-23 | Level 3 Communications, Llc | Systems and methods for blocking spoofed traffic |
US11243813B2 (en) * | 2018-11-28 | 2022-02-08 | International Business Machines Corporation | Process as a network service hub |
EP3864514B1 (en) | 2018-12-21 | 2023-09-06 | Huawei Cloud Computing Technologies Co., Ltd. | Mechanism to reduce serverless function startup latency |
US10735319B1 (en) | 2019-02-26 | 2020-08-04 | International Business Machines Corporation | Virtual container extended network virtualization in server cluster |
US11301279B2 (en) | 2019-02-26 | 2022-04-12 | International Business Machines Corporation | Associating virtual IP address of virtual server with appropriate operating system in server cluster |
US10728146B1 (en) | 2019-02-26 | 2020-07-28 | International Business Machines Corporation | Virtual container dynamic virtual IP address |
US11252126B1 (en) * | 2019-03-28 | 2022-02-15 | Amazon Technologies, Inc. | Domain name resolution in environment with interconnected virtual private clouds |
US11012406B2 (en) | 2019-04-01 | 2021-05-18 | International Business Machines Corporation | Automatic IP range selection |
US11115309B1 (en) * | 2019-06-03 | 2021-09-07 | Amazon Technologies, Inc. | External network route advertisement validation |
US20210067466A1 (en) | 2019-08-30 | 2021-03-04 | Nutanix, Inc. | Virtual machine migration in cloud infrastructure networks |
US11429411B2 (en) | 2019-08-30 | 2022-08-30 | Nutanix, Inc. | Fast ARP cache rewrites in a cloud-based virtualization environment |
US11550616B2 (en) | 2019-08-30 | 2023-01-10 | Nutanix, Inc. | Virtual IP support for bare metal cloud infrastructures |
US11005811B2 (en) * | 2019-10-05 | 2021-05-11 | Ipxo Limited | Computer systems and methods for managing IP addresses |
US10896060B1 (en) | 2020-01-14 | 2021-01-19 | Capital One Services, Llc | Resource monitor for monitoring long-standing computing resources |
CN113296968B (zh) * | 2020-02-21 | 2024-08-09 | 腾讯科技(深圳)有限公司 | 地址列表更新方法、装置、介质及电子设备 |
JP7038165B2 (ja) * | 2020-06-08 | 2022-03-17 | ソフトバンク株式会社 | 情報処理装置、情報処理方法及び情報処理プログラム |
CN114422475A (zh) * | 2020-10-10 | 2022-04-29 | 北京金山云网络技术有限公司 | 基于对象存储的ip地址切换方法、装置及计算机设备 |
CN112559542B (zh) * | 2020-12-11 | 2023-11-07 | 赛尔网络有限公司 | 网络基础信息库更新方法、装置、设备及存储介质 |
US11916788B2 (en) | 2021-07-20 | 2024-02-27 | Micro Focus Llc | Determination of routing domain information to merge IP addresses |
US20230097265A1 (en) * | 2021-09-30 | 2023-03-30 | Venn Technology Corporation | Securing Resources Using Unique Internet Protocol Addresses |
CN114143807B (zh) * | 2021-10-27 | 2023-08-08 | 中盈优创资讯科技有限公司 | 一种路由注册完整率评价方法及装置 |
US11799826B1 (en) * | 2021-11-24 | 2023-10-24 | Amazon Technologies, Inc. | Managing the usage of internet protocol (IP) addresses for computing resource networks |
US11483282B1 (en) | 2021-12-10 | 2022-10-25 | Amazon Technologies, Inc. | Monitoring internet protocol address utilization to apply unified network policy |
WO2023200807A1 (en) * | 2022-04-14 | 2023-10-19 | Dish Wireless L.L.C. | Managing dynamic updates for security groups |
US11765127B1 (en) * | 2022-04-20 | 2023-09-19 | Dell Products, L.P. | Pluggable network address management stack |
US20240022539A1 (en) * | 2022-07-14 | 2024-01-18 | Vmware, Inc. | Two tier dns |
US11943195B1 (en) * | 2023-01-20 | 2024-03-26 | Microsoft Technology Licensing, Llc | Zero-trust DNS and FQDN based traffic acquisition using synthetic IP |
Family Cites Families (82)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9603020D0 (en) * | 1996-02-14 | 1996-04-10 | British Telecomm | Establishing communication |
US6011795A (en) * | 1997-03-20 | 2000-01-04 | Washington University | Method and apparatus for fast hierarchical address lookup using controlled expansion of prefixes |
US6151624A (en) * | 1998-02-03 | 2000-11-21 | Realnames Corporation | Navigating network resources based on metadata |
JP3250544B2 (ja) * | 1999-04-16 | 2002-01-28 | 日本電気株式会社 | 転送先検索方法、転送先検索装置、検索テーブル記録媒体及び検索プログラム記録媒体 |
US6970913B1 (en) * | 1999-07-02 | 2005-11-29 | Cisco Technology, Inc. | Load balancing using distributed forwarding agents with application based feedback for different virtual machines |
US7127524B1 (en) * | 2000-12-29 | 2006-10-24 | Vernier Networks, Inc. | System and method for providing access to a network with selective network address translation |
US6854010B1 (en) * | 2001-04-05 | 2005-02-08 | Bluecube Software, Inc. | Multi-location management system |
DE10139249A1 (de) * | 2001-08-09 | 2003-03-06 | Siemens Dematic Ag | Verfahren zum automatischen Erzeugen von aktuellen Verteilreihenfolgedaten |
US7822860B2 (en) * | 2001-12-11 | 2010-10-26 | International Business Machines Corporation | Method and apparatus for dynamic reconfiguration of web services infrastructure |
US7099319B2 (en) * | 2002-01-23 | 2006-08-29 | International Business Machines Corporation | Virtual private network and tunnel gateway with multiple overlapping, remote subnets |
US7191331B2 (en) * | 2002-06-13 | 2007-03-13 | Nvidia Corporation | Detection of support for security protocol and address translation integration |
GB0216000D0 (en) * | 2002-07-10 | 2002-08-21 | Nokia Corp | A method for setting up a security association |
US20050053063A1 (en) * | 2003-09-04 | 2005-03-10 | Sajeev Madhavan | Automatic provisioning of network address translation data |
US20050198303A1 (en) * | 2004-01-02 | 2005-09-08 | Robert Knauerhase | Dynamic virtual machine service provider allocation |
US7509422B2 (en) * | 2004-07-21 | 2009-03-24 | Microsoft Corporation | System and method for locating web services |
US7395258B2 (en) * | 2004-07-30 | 2008-07-01 | International Business Machines Corporation | System and method for adaptive database caching |
US8068414B2 (en) * | 2004-08-09 | 2011-11-29 | Cisco Technology, Inc. | Arrangement for tracking IP address usage based on authenticated link identifier |
US8732182B2 (en) * | 2004-12-02 | 2014-05-20 | Desktopsites Inc. | System and method for launching a resource in a network |
US8499028B2 (en) * | 2005-02-23 | 2013-07-30 | International Business Machines Corporation | Dynamic extensible lightweight access to web services for pervasive devices |
ATE548842T1 (de) * | 2005-07-27 | 2012-03-15 | Sap Ag | Serverrechner, client-einrichtung und webdienstimplementiertes verfahren zur datenverarbeitung |
US20070169199A1 (en) * | 2005-09-09 | 2007-07-19 | Forum Systems, Inc. | Web service vulnerability metadata exchange system |
US20070174429A1 (en) * | 2006-01-24 | 2007-07-26 | Citrix Systems, Inc. | Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment |
US7761595B1 (en) * | 2006-01-25 | 2010-07-20 | Sprint Communications Company L.P. | Dynamic server addition using virtual routing |
US7769877B2 (en) * | 2006-04-27 | 2010-08-03 | Alcatel Lucent | Mobile gateway device |
US7962470B2 (en) * | 2006-06-01 | 2011-06-14 | Sap Ag | System and method for searching web services |
US7860883B2 (en) * | 2006-07-08 | 2010-12-28 | International Business Machines Corporation | Method and system for distributed retrieval of data objects within multi-protocol profiles in federated environments |
US7630367B2 (en) * | 2006-09-01 | 2009-12-08 | Wipro Limited | Approach for fast IP address lookups |
US9038062B2 (en) * | 2006-10-17 | 2015-05-19 | Manageiq, Inc. | Registering and accessing virtual systems for use in a managed system |
US7840636B2 (en) * | 2006-12-04 | 2010-11-23 | Intel Corporation | Provider presence information |
US8903938B2 (en) * | 2007-06-18 | 2014-12-02 | Amazon Technologies, Inc. | Providing enhanced data retrieval from remote locations |
US9455969B1 (en) * | 2007-06-18 | 2016-09-27 | Amazon Technologies, Inc. | Providing enhanced access to remote services |
US7886080B2 (en) * | 2007-11-30 | 2011-02-08 | Cisco Technology, Inc. | Management of topology changes in layer two networks |
US8295204B2 (en) * | 2008-02-22 | 2012-10-23 | Fujitsu Limited | Method and system for dynamic assignment of network addresses in a communications network |
US20090249471A1 (en) * | 2008-03-27 | 2009-10-01 | Moshe Litvin | Reversible firewall policies |
FR2935575A1 (fr) * | 2008-08-29 | 2010-03-05 | France Telecom | Gestion de topologie de routage dans un reseau |
WO2010054471A1 (en) * | 2008-11-17 | 2010-05-20 | Sierra Wireless, Inc. | Method and apparatus for network port and network address translation |
US8578076B2 (en) * | 2009-05-01 | 2013-11-05 | Citrix Systems, Inc. | Systems and methods for establishing a cloud bridge between virtual storage resources |
US8429647B2 (en) * | 2009-05-06 | 2013-04-23 | Vmware, Inc. | Virtual machine migration across network by publishing routes to the associated virtual networks via virtual router after the start of migration of the virtual machine |
CN101998629B (zh) * | 2009-08-28 | 2014-05-21 | 国际商业机器公司 | 搜索虚拟资源的位置的方法、装置和系统 |
US8705513B2 (en) * | 2009-12-15 | 2014-04-22 | At&T Intellectual Property I, L.P. | Methods and apparatus to communicatively couple virtual private networks to virtual machines within distributive computing networks |
EP2524321A4 (en) * | 2010-01-15 | 2013-09-11 | Endurance Int Group Inc | HOSTING SERVICE FOR UNMITTED WEBDOMAINS BASED ON A GENERAL SERVICE ARCHITECTURE |
US9477531B2 (en) * | 2010-01-27 | 2016-10-25 | Vmware, Inc. | Accessing virtual disk content of a virtual machine without running a virtual desktop |
US8881227B2 (en) * | 2010-03-30 | 2014-11-04 | Authentic8, Inc. | Secure web container for a secure online user environment |
US9223617B2 (en) * | 2010-05-06 | 2015-12-29 | Nec Laboratories America, Inc. | Methods and systems for migrating networked systems across administrative domains |
US10715457B2 (en) * | 2010-06-15 | 2020-07-14 | Oracle International Corporation | Coordination of processes in cloud computing environments |
US8374183B2 (en) * | 2010-06-22 | 2013-02-12 | Microsoft Corporation | Distributed virtual network gateways |
US8572677B2 (en) * | 2010-07-14 | 2013-10-29 | William G. Bartholomay | Devices, systems, and methods for enabling reconfiguration of services supported by a network of devices |
CN102457583B (zh) * | 2010-10-19 | 2014-09-10 | 中兴通讯股份有限公司 | 一种虚拟机移动性的实现方法及系统 |
US9141420B2 (en) * | 2010-11-04 | 2015-09-22 | Alcatel Lucent | Overload control in a cloud computing environment |
US20120173757A1 (en) * | 2011-01-05 | 2012-07-05 | International Business Machines Corporation | Routing optimization for virtual machine migration between geographically remote data centers |
US10228959B1 (en) * | 2011-06-02 | 2019-03-12 | Google Llc | Virtual network for virtual machine communication and migration |
US8407323B2 (en) * | 2011-07-12 | 2013-03-26 | At&T Intellectual Property I, L.P. | Network connectivity wizard to support automated creation of customized configurations for virtual private cloud computing networks |
US8516241B2 (en) * | 2011-07-12 | 2013-08-20 | Cisco Technology, Inc. | Zone-based firewall policy model for a virtualized data center |
US8813074B2 (en) * | 2011-08-05 | 2014-08-19 | Vmware, Inc. | Detecting and correcting network interruptions using network address translation |
US8856518B2 (en) * | 2011-09-07 | 2014-10-07 | Microsoft Corporation | Secure and efficient offloading of network policies to network interface cards |
US8930529B1 (en) * | 2011-09-27 | 2015-01-06 | Palo Alto Networks, Inc. | Policy enforcement with dynamic address object |
US8996887B2 (en) * | 2012-02-24 | 2015-03-31 | Google Inc. | Log structured volume encryption for virtual machines |
US20130238785A1 (en) * | 2012-03-06 | 2013-09-12 | Rackspace Us, Inc. | System and Method for Metadata Discovery and Metadata-Aware Scheduling |
US20130283263A1 (en) * | 2012-04-19 | 2013-10-24 | Dincloud, Inc. | System and method for managing resources in a virtual machine environment |
CN103379185B (zh) * | 2012-04-26 | 2016-08-03 | 华为技术有限公司 | 一种网络地址转换的方法、设备和系统 |
US8909780B1 (en) * | 2012-05-24 | 2014-12-09 | Amazon Technologies, Inc. | Connection following during network reconfiguration |
US8606899B1 (en) * | 2012-05-29 | 2013-12-10 | Sansay, Inc. | Systems and methods for dynamic session license control |
US9009704B2 (en) * | 2012-09-07 | 2015-04-14 | Red Hat, Inc. | Application partitioning in a multi-tenant platform-as-a-service environment in a cloud computing system |
EP2901766A2 (en) * | 2012-09-27 | 2015-08-05 | Interdigital Patent Holdings, Inc. | End-to-end architecture, api framework, discovery, and access in a virtualized network |
US9071600B2 (en) * | 2012-12-06 | 2015-06-30 | King Saud University | Phishing and online fraud prevention |
US9124619B2 (en) * | 2012-12-08 | 2015-09-01 | International Business Machines Corporation | Directing audited data traffic to specific repositories |
US9304793B2 (en) * | 2013-01-16 | 2016-04-05 | Vce Company, Llc | Master automation service |
US9130901B2 (en) * | 2013-02-26 | 2015-09-08 | Zentera Systems, Inc. | Peripheral firewall system for application protection in cloud computing environments |
US9448830B2 (en) * | 2013-03-14 | 2016-09-20 | Google Inc. | Service bridges |
US9300633B2 (en) * | 2013-03-25 | 2016-03-29 | International Business Machines Corporation | Network-level access control management for the cloud |
US9088541B2 (en) * | 2013-05-31 | 2015-07-21 | Catbird Networks, Inc. | Systems and methods for dynamic network security control and configuration |
US20150007269A1 (en) * | 2013-06-27 | 2015-01-01 | International Business Machines Corporation | Delegating authentication for a web service |
CA2924469A1 (en) * | 2013-10-10 | 2015-04-16 | AdaptiveApps, Inc. | Adaptive overlay networking |
US9634948B2 (en) * | 2013-11-07 | 2017-04-25 | International Business Machines Corporation | Management of addresses in virtual machines |
US10135687B2 (en) * | 2014-01-06 | 2018-11-20 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Virtual group policy based filtering within an overlay network |
US9270662B1 (en) * | 2014-01-13 | 2016-02-23 | Amazon Technologies, Inc. | Adaptive client-aware session security |
US20160056975A1 (en) * | 2014-08-25 | 2016-02-25 | Conexlink, LLC | System and Method for Virtualizing an IT Infrastructure with Remotely Accessible Virtual Desktops |
US20160098287A1 (en) * | 2014-10-01 | 2016-04-07 | Hcl Technologies Limited | Method and System for Intelligent Analytics on Virtual Deployment on a Virtual Data Centre |
US20160125059A1 (en) * | 2014-11-04 | 2016-05-05 | Rubrik, Inc. | Hybrid cloud data management system |
US9672054B1 (en) * | 2014-12-05 | 2017-06-06 | Amazon Technologies, Inc. | Managing virtual machine migration |
US9979704B2 (en) * | 2014-12-17 | 2018-05-22 | Cisco Technology, Inc. | End-to-end security for virtual private service chains |
US9813509B1 (en) * | 2015-06-09 | 2017-11-07 | Amazon Technologies, Inc. | Template generator for frequently occurring application programming interface call sequences |
-
2015
- 2015-06-16 US US14/741,148 patent/US20160373405A1/en not_active Abandoned
-
2016
- 2016-06-16 CN CN201680033106.9A patent/CN107690800B/zh active Active
- 2016-06-16 WO PCT/US2016/037896 patent/WO2016205535A1/en active Application Filing
- 2016-06-16 EP EP16735764.9A patent/EP3311544B1/en active Active
- 2016-06-16 AU AU2016280163A patent/AU2016280163B2/en active Active
-
2017
- 2017-08-28 US US15/688,608 patent/US10715485B2/en active Active
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114008563A (zh) * | 2019-06-17 | 2022-02-01 | 日立数据管理有限公司 | 用于识别机架上的服务器并基于服务器的物理位置给服务器分配适当的ip地址的系统和方法 |
CN114008563B (zh) * | 2019-06-17 | 2023-10-03 | 日立数据管理有限公司 | 用于识别机架上的服务器并基于服务器的物理位置给服务器分配适当的ip地址的系统和方法 |
CN111314457A (zh) * | 2020-02-13 | 2020-06-19 | 北京百度网讯科技有限公司 | 设置虚拟私有云的方法和装置 |
CN115516829A (zh) * | 2020-06-02 | 2022-12-23 | 思科技术公司 | 用部署冻结选项来筹备配置变更 |
CN115516829B (zh) * | 2020-06-02 | 2024-05-17 | 思科技术公司 | 用部署冻结选项来筹备配置变更 |
CN114465979A (zh) * | 2021-12-21 | 2022-05-10 | 天翼云科技有限公司 | 一种ip库生成方法、系统及电子设备 |
CN114465979B (zh) * | 2021-12-21 | 2024-01-02 | 天翼云科技有限公司 | 一种ip库生成方法、系统及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
US20180041468A1 (en) | 2018-02-08 |
US20160373405A1 (en) | 2016-12-22 |
WO2016205535A1 (en) | 2016-12-22 |
AU2016280163B2 (en) | 2019-02-07 |
EP3311544B1 (en) | 2019-08-07 |
US10715485B2 (en) | 2020-07-14 |
EP3311544A1 (en) | 2018-04-25 |
CN107690800B (zh) | 2020-12-22 |
AU2016280163A1 (en) | 2017-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107690800A (zh) | 管理动态ip地址分配 | |
JP7203444B2 (ja) | 代替サーバ名を使用する相互トランスポート層セキュリティを選択的に提供すること | |
CN109478149B (zh) | 混合云计算系统中的访问服务 | |
US9501345B1 (en) | Method and system for creating enriched log data | |
CN109479062B (zh) | 混合云计算系统中的使用跟踪 | |
US8782748B2 (en) | Online service access controls using scale out directory features | |
US11411921B2 (en) | Enabling access across private networks for a managed blockchain service | |
US10693839B2 (en) | Digital media content distribution blocking | |
US20130097680A1 (en) | High-density multi-tenant distributed cache as a service | |
CN103946834A (zh) | 虚拟网络接口对象 | |
CN104247333A (zh) | 用于基于网络的服务的管理的系统和方法 | |
CN109088909B (zh) | 一种基于商户类型的服务灰度发布方法及设备 | |
CN108027828A (zh) | 与无状态同步节点的托管文件同步 | |
JP5911448B2 (ja) | 移行支援装置、移行支援方法およびプログラム | |
CN104104582B (zh) | 一种数据存储路径管理方法、客户端及服务器 | |
EP3685265A1 (en) | Geographic location based computing asset provisioning in distributed computing systems | |
WO2020106845A1 (en) | Enabling access across private networks for a managed blockchain service | |
CN113395340A (zh) | 一种信息更新方法、装置、设备、系统和可读存储介质 | |
US10924452B1 (en) | Auditing IP address assignments | |
CN113114503A (zh) | 基于应用交付网络需求的部署方法及装置 | |
CN103609074B (zh) | 应用特定web请求路由 | |
DeJonghe et al. | Application Delivery and Load Balancing in Microsoft Azure | |
CN107113074B (zh) | 管理通信端点的系统、方法和非暂态计算机可用介质 | |
KR101535381B1 (ko) | Ip 주소 및 url를 이용한 인터넷 접속 차단 방법 | |
US11240309B1 (en) | State management and storage with policy enforcement in a distributed cloud computing network |
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 |