在分布式计算环境中的虚拟机实例上执行命令制造技术

技术编号:17145727 阅读:54 留言:0更新日期:2018-01-27 17:11
一种用于在分布式计算环境中的虚拟机实例上执行命令的方法可以包括从客户端计算设备接收用于在所述分布式计算环境内的一个或多个虚拟机实例上执行命令的命令执行请求。所述命令执行请求包括标签,并且基于所述标签来检索所述一个或多个虚拟机实例的实例识别信息。检索与由所述命令执行请求指定的命令相关联的命令规范文档。将包括所述命令规范文档和至少一个命令参数的命令执行消息传达到所述一个或多个虚拟机实例中的每一个。从所述一个或多个虚拟机实例接收在所述一个或多个虚拟机实例处执行所述命令的命令执行结果。将所述命令执行结果发送到所述客户端计算设备。

Executing commands on a virtual machine instance in a distributed computing environment

A method for executing commands on virtual machine instances in a distributed computing environment can include receiving a command execution request for executing commands from one or more virtual machine instances in the distributed computing environment from the client computing device. The command execution request includes a label and retrieves the instance identification information of the one or more virtual machine instances based on the label. Retrieves a command specification document associated with the command specified by the command execution request. The command execution message, which includes the command specification document and at least one command parameter, is communicated to each of the one or more virtual machine instances. A command execution result is received from the one or more virtual machine instances in which the command is executed at one or more virtual machine instances. The result of the command is sent to the client computing device.

【技术实现步骤摘要】
【国外来华专利技术】在分布式计算环境中的虚拟机实例上执行命令
技术介绍
云计算是在远程位置可用并可通过网络(诸如互联网)进行访问的计算资源(硬件和软件)的使用。在具有许多计算设备诸如虚拟服务器的计算环境或具有许多服务器计算机的云计算环境中,计算资源的使用可以提供许多优势,包括成本优势和/或快速适应变化的计算资源需求的能力。为了促进对数据中心资源的更多利用,虚拟化技术可能允许单个物理计算机器托管一个或多个虚拟机实例,所述虚拟机实例表现并操作为连接的计算机用户的独立实例。利用虚拟化,单个物理计算设备可以动态方式创建、维护或删除虚拟机实例。继而,用户可以从数据中心请求计算机资源,并且可以在“根据需要”的基础上或至少在“按要求”的基础上向用户提供不同数量的虚拟机资源。对于管理运行应用的多个(例如,一组)实例或管理其他工作负载的云计算环境的客户,可能会遇到各种配置、故障排除和资源重新分配的问题。随着对云计算资源的使用的增加,可以逐个实例地对虚拟机实例执行监管、管理和故障排除,这可能是耗时的且低效的。附图说明将参考附图描述根据本公开的各种实施方案,其中:图1是根据本公开的实施方案的支持命令执行服务的示例性网络环境的图示。图2是根据本公开的实施方案的用于在实例上执行命令的示例性通信序列的框图。图3是示出根据本公开的实施方案的使用命令执行服务的服务提供商环境中的命令可扩展性的框图。图4是示出根据本公开的示例性实施方案的使用命令执行服务在多租户环境中运行的多个虚拟机实例的示例性系统图。图5示出了根据一个实施方案包括与控制平面相关联的多个管理部件的示例性系统的进一步细节,所述控制平面可以用于提供命令执行服务。图6示出了根据一个实施方案作为用于运行虚拟机实例的硬件资产的多个主机计算机、路由器和交换机的示例,其中主机计算机具有可以进行配置的命令执行相关功能。图7-8是根据本公开的实施方案的在服务提供商环境中的虚拟机实例上执行命令的示例性方法的流程图。图9描绘了可以实施所述创新的合适的计算环境的一般化示例。具体实施方式以下描述涉及支持在分布式计算环境中的虚拟机实例上执行命令的技术和解决方案。更具体地,分布式计算环境的用户可以使用客户端计算设备来向分布式计算发送命令执行请求。命令执行服务(CES)可以接收请求,并且可以基于请求(例如,基于实例ID或请求中识别的标签)来检索一个或多个实例ID。请求可以进一步识别期望的命令和所述命令的一个或多个参数。CES可以检索定义命令的命令规范/定义文档。可以针对所识别实例中的每一者生成命令执行消息,其中每个消息可以包括命令规范文档和由接收到的请求识别的参数。CES可以使用实例消息传递服务(或另一类型的通信服务)来将每个命令执行消息发送到对应的虚拟机实例。实例处的配置代理可以基于命令规范文档检索插件,并且所述插件可以用于在实例上执行命令。命令执行的结果可以被返回到CES,并且然后返回到客户端计算设备。可以经由CES维护/管理命令规范文档,从而允许使用全局命令规范(全局命令供分布式计算的所有客户端使用)以及自定义命令。例如,命令规范和对应的命令插件由客户端生成并被上传到CES和/或运行客户端实例的服务器计算机(例如,规范可以被上传到CES,并且插件可以被上传/存储在运行客户端实例的服务器计算机上以供实例配置代理使用)。在这方面,CES被集成到分布式计算环境中,从而允许命令可扩展性(例如,增加可用命令的数量)以及用于以安全方式在实例上执行的命令的批量传达。虚拟机映像包含操作系统(例如,Linux)以及在虚拟环境中启动虚拟机所需的其他数据。虚拟机映像类似于物理计算机的磁盘卷,并且可以包括文件系统、操作系统和作为机器启动所需的其他部件。为了启动虚拟机,需要选择硬件。可以通过实例类型来实现硬件选择,实例类型可以允许各种不同大小的存储器、CPU容量、I/O性能等等。虚拟机映像和实例类型的组合可以用于创建“实例”或虚拟机,所述“实例”或虚拟机可以在诸如多租户网络环境中的主机服务器计算机的云计算资源上启动。如本文所使用,术语“虚拟机”和“虚拟机实例”是可互换的。如本文所使用,术语“计算服务提供商”可以指能够将计算和存储能力作为服务传递给一个或多个终端接收者的云提供商。计算服务提供商可以由组织(即,租户)或代表组织为组织建立(即,计算服务提供商可以提供“私人云环境”)。在其他情况下,计算服务提供商可以支持多租户环境,其中多个客户(即,租户)独立地操作(即,公共云环境)。在这方面,在多租户环境内,多个客户(例如,多个企业或租户)可以租用诸如服务器计算机的资源。如本文所使用,术语“服务提供商”(或“服务提供商环境”)可以指给一个或多个终端接收者提供与私人或公共云环境相关联的一个或多个分布式计算服务的提供商。在一些情况下,服务提供商可以与云服务提供商相同。在其他情况下,服务提供商可以仅提供由计算服务提供商提供的服务的子集。在其他实例中,服务提供商是预置计算服务的预置服务提供商。如本文所使用,术语“标签”可以指识别具有共性(例如,与服务提供商环境的客户的帐户相关联的虚拟机实例)的一个或多个网络资源(例如,虚拟机实例)的字符(例如,文本)串。例如,给定客户的多个虚拟机实例可被附上标签或被标记(例如,由客户或服务提供商环境的监管员)。在这方面,可以使用单个标签来识别多个客户实例,并且可以通过标签(例如,从查找表、数据库等)检索实例的识别信息(例如,实例ID)。图1是根据本公开的实施方案的支持命令执行服务的示例性网络环境的图示。参考图1,网络环境100可以包括经由网络108与客户端计算设备104通信的服务提供商102。服务提供商102可以是多租户云网络环境,其中一个或多个客户端(例如,客户端计算设备104的用户)可以在一个或多个服务器计算机上运行一个或多个虚拟机实例(VMI)(例如,实例170、…、172可以在诸如主机服务器169的一个或多个服务器计算机上运行,或者实例可以在其他物理硬件上运行)(尽管图1中仅示出了单个服务器计算机169,但服务提供商102可使用多个服务器计算机)。服务器计算机(例如,169)可以是例如由(或代表)服务提供商102的一个或多个客户端操作的客户端服务器。服务提供商102还可以包括实例识别服务140、实例消息传递服务130和命令执行服务(CES)120。客户端计算设备104可以用于向设备104的用户提供对虚拟机实例170、…、172中的一个或多个的访问。在说明性实施方案中,客户端计算设备104可以对应于各种各样的计算设备,包括个人计算设备、膝上型计算设备、手持计算设备、终端计算设备、移动设备(例如,移动电话、平板计算设备、电子书阅读器等)、无线设备、各种电子设备和电器等。在说明性实施方案中,客户端计算设备104包括用于通过通信网络108建立通信的必要的硬件和软件部件,所述通信网络可以包括互联网、广域网和/或局域网。例如,客户端计算设备104可以配备有网络设备和浏览器软件应用,其便于经由互联网或内联网与服务提供商102中的一个或多个服务器计算机(例如,169)进行通信。客户端计算设备104可以具有各种本地计算资源,诸如中央处理单元和架构、存储器、大容量存储装置、图形处理单元(GPU)、通信网络可用性和带宽等。本文档来自技高网...
在分布式计算环境中的虚拟机实例上执行命令

【技术保护点】
一种方法,其包括:使用来自客户端计算设备的命令,检索在分布式计算环境中运行的多个实例的实例识别信息,所述命令用于在所述实例中的至少一个上执行;使用所述检索的实例识别信息将所述命令传达到所述多个实例;以及接收在所述多个实例中的至少第一实例上执行所述命令的至少第一命令执行结果。

【技术特征摘要】
【国外来华专利技术】2015.05.19 US 14/716,7131.一种方法,其包括:使用来自客户端计算设备的命令,检索在分布式计算环境中运行的多个实例的实例识别信息,所述命令用于在所述实例中的至少一个上执行;使用所述检索的实例识别信息将所述命令传达到所述多个实例;以及接收在所述多个实例中的至少第一实例上执行所述命令的至少第一命令执行结果。2.一种包括指令的计算机可读存储介质,所述指令在执行时致使计算机系统:使用来自客户端计算设备的命令,检索在分布式计算环境中运行的多个实例的实例识别信息,所述命令用于在所述实例中的至少一个上执行;使用所述检索到的实例识别信息将所述命令传达到所述多个实例;以及接收在所述多个实例中的至少第一实例上执行所述命令的至少第一命令执行结果。3.根据权利要求2所述的计算机可读存储介质,其中所述指令在执行时还致使所述计算机系统:经由应用程序设计接口(API)从所述客户端计算设备接收所述命令。4.根据权利要求3所述的计算机可读存储介质,其中所述接收的命令包括标签,并且所述指令在执行时还致使所述计算机系统:使用所述标签检索所述实例识别信息。5.根据权利要求3所述的计算机可读存储介质,其中所述指令在执行时还致使所述计算机系统:基于所述接收到的命令的至少一部分来检索命令规范文档,其中所述命令规范文档是从所述客户端计算设备接收的自定义规范文档。6.根据权利要求2-5中任一项所述的计算机可读存储介质,其中所述多个实例中的至少一个正在物理硬件上运行。7.根据权利要求5所述的计算机可读存储介质,其中所述指令在执行时还致使所述计算机系统:在所述传达之前对所述接收的命令进行更新以包括所述命令规范文档的至少一部分。8.根据权利要求2-7中任一项所述的计算机可读存储介质,其中所述指令在执行时还致使所述计算机系统:在接收到之后将所述至少第一命令执行结果传达到所述客户端计算设备。9.根据权利要求2-8中任一项所述...

【专利技术属性】
技术研发人员:阿姆贾德·侯赛因史蒂文·梅林·特威切尔马茨·埃里克·兰纳玛尼万南·孙达拉姆西瓦普拉萨德·文卡塔·帕迪塞蒂马丁·C·毛
申请(专利权)人:亚马逊技术有限公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1