在云计算领域,虚拟机(VM)是基础设施即服务(IaaS)的重要组成部分。Azure作为微软提供的公有云平台,允许用户在云中运行自己选择的虚拟机,同时提供了访问这些虚拟机的权限。Azure的虚拟机具备可扩展性,这是公有云服务的重要特性之一。当需要临时扩展应用程序的运行规模时,可以在Azure中创建虚拟机,运行应用程序,并在完成后关闭它们。
在Azure中创建虚拟机通常需要使用模板,用户无法自定义CPU和内存的具体配置,但模板提供了不同的大小选择。选择合适的虚拟机大小对于成本控制至关重要,因为Azure采用按需付费的模式。如果虚拟机不再使用,必须完全删除,否则可能会继续产生费用,因为即使不使用,也仍然占用了微软的硬件资源。
规模集是Azure中的一种虚拟机集合,可以包含多达100个虚拟机。与手动创建和管理虚拟机相比,规模集提供了自动化和管理层面的优势。规模集可以提供高可用性,并允许同时管理和配置大量虚拟机。规模集中的第一个虚拟机是用户自定义的,其余的虚拟机都是它的副本。如果有很多虚拟机运行应用程序,配置的一致性非常重要,例如磁盘配置、应用程序安装和虚拟机大小。
规模集可以通过多种方式在Azure中定义,包括:
Azure门户创建Linux和Windows虚拟机
PowerShell或Azure命令行工具
Azure资源管理器(ARM)
定义将告诉Azure规模集的名称、包含的虚拟机数量、想要使用的虚拟机实例大小等信息。可以通过创建自定义镜像并提供给Azure,或者使用预构建的镜像并在规模集启动时安装应用程序,或者自定义镜像以包含容器软件然后加载应用程序容器,来自定义规模集将使用的虚拟机。
由于规模集中的所有虚拟机都是相同的,因此只需要配置一次实例。启动规模集时,Azure会为创建基础设施,包括网络地址和负载均衡器。这些基础设施在规模集的所有虚拟机之间共享,并包含在指定的Azure资源组中。创建这些对象后,系统将开始创建虚拟机实例,直到达到定义中设置的限制。
创建规模集后,需要能够访问它。有几种方法可以做到这一点,包括:
为集合中的每个虚拟机分配自己的公共IP地址,这是一种更昂贵且更复杂的选项。
使用带有NAT的负载均衡器,可能为规模集中的每个实例设置不同的TCP端口。
对于出站流量,设置一台具有公共IP的机器,然后连接到它,并使用它作为连接其他具有私有IP地址的虚拟机的起点。
对于入站流量,设置Azure应用程序网关或负载均衡器,并使用它分发入站流量。
规模集还可以自动扩展。这意味着根据设置的参数,Azure会添加或移除虚拟机,如果启用了自动扩展。这允许根据负载增加添加资源或移除未使用的资源。应该在最小和最大实例数之间进行扩展。设置最大值可以限制总可能的每小时成本。如果没有启用自动扩展,那么可以通过Azure门户或Azure PowerShell添加或移除虚拟机实例。
自动扩展可以根据需求或根据计划进行。还需要定义触发器——基于资源消耗的触发自动扩展的规则。当规模集自动扩展时,会生成一个匹配的负载均衡器NAT规则。这确保了虚拟机始终有连接路径。因此,入站连接受到控制,使规模集虚拟机比独立虚拟机更安全。