根据您的业务情况,管理您的流量并在您的服务器之间共享负载非常重要。自动伸缩是您需要在云/内部环境中实现的,因为当基础设施上的流量波动时,将使用自动伸缩。这意味着需要增加新的机器以增加容量和可用性,因为有更多的硬件来分担负载。基于这个案例,我将解释如何创建和配置Azure虚拟机规模集,这将帮助您管理Azure中的流量。

什么是虚拟机缩放集(VMSS)?

VMSS是在Azure订阅中部署和管理一组相同的虚拟机的好方法。我的意思是,你可以部署三个相同的虚拟机,而不是创建三个独立的虚拟机。可以注意到许多优点:

  • 启动和停止虚拟机非常容易
  • 可以轻松地自动扩展VMSS中的实例数量,以提高可用性
  • 减少实例的数量以节省资金

VMSS只是一个Azure计算资源(例如Microsoft.Compute/ virtualmachinesuesets)。一个很酷的事情是,你可以将虚拟机规模集与Azure负载均衡器和Azure流量管理器集成在一起。您可以使用预定义的Azure模板或从Azure Portal创建新的VMSS来构建虚拟机缩放集。当然,您也可以使用Azure CLI或PowerShell创建新的VMSS。

另一件需要注意的事情是VMSS与Windows vm和Linux vm都兼容。

对于那些想知道为什么不简单地从头创建这三个虚拟机的人,我必须承认这不是新的最佳实践。想想Azure下一代,节省时间和金钱!

下载的横幅

为了在没有VMSS的情况下创建三个相同的IIS虚拟机,您需要:

  • 创建资源组
  • 创建第一个带有网卡,存储,公有IP,…
  • 创建第二个虚拟机,使用网卡,存储,公共IP,…
  • 创建第三个虚拟机,使用网卡,存储,公共IP,…

现在,让我们假设您不再需要第三个IIS虚拟机,然后您将删除这个虚拟机,两个小时后流量显著增加,因此您必须添加一个新的IIS虚拟机来实现可伸缩性,对吗?当然,您可以使用JSON、PowerShell等来自动化这个过程……但多亏了Azure VMSS,您只需点击一个按钮就可以增加虚拟机的数量,仅此而已!Scale set vm的配置是相同的,您只需选择需要多少个新vm。你不需要单独定义:

  • 网络,
  • 存储,
  • 扩展资源,

如下所示,您还可以在Azure VMSS中使用Azure负载平衡器。这意味着您可以将入站请求重定向到Azure VMSS中的特定虚拟机。

Azure-Virtual-Machine-Scale-Sets

资料来源:9频道-第191集:虚拟机比例尺与盖伊鲍尔曼

在前面的示例中,SSH请求将通过负载均衡器进行“NATed”,并根据入站端口号重定向到虚拟机。

另一个复杂的场景可以帮助你使用Azure流量管理器在多个Azure区域之间重定向流量,如下所示:

Azure-Virtual-Machine-Scale-Sets

资料来源:9频道-第191集:虚拟机比例尺与盖伊鲍尔曼

创建虚拟机缩放集

要创建新的虚拟机规模集,请登录Azure门户https://portal.azure.com,单击“创建资源”,搜索“比例集”,然后选择“创建”:

Azure-Virtual-Machine-Scale-Sets

输入以下信息创建虚拟机规模集:

  • 名称:这是一个友好的名称为您的VMSS。此名称将递增以命名您的虚拟机
  • 操作系统:选择要部署的操作系统
  • 订阅:选择Azure订阅
  • 资源组:选择已存在的资源组或新建资源组
  • 地点:选择一个位置
  • 用户名/密码:这是管理员用户名,您将用于连接您的虚拟机
  • 实例数:比例集中的虚拟机数量。最小值是0,最大值是1000。默认情况下是两个vm,这对于开始使用VMSS是很好的
  • 实例大小:它是该比例集中每个虚拟机的大小。这意味着将使用相同的实例大小创建所有虚拟机。注意,您可以稍后修改大小

Azure-Virtual-Machine-Scale-Sets

单击“显示高级设置”配置负载均衡器。在本例中,我希望将这些虚拟机留在负载均衡器后面,并为入站连接设置NAT规则。

Azure-Virtual-Machine-Scale-Sets

部署完成后,使用Azure Portal找到负载均衡器的公网IP地址,并查看与负载均衡器相关的NAT规则。

注意,您不能看到通过VMSS单独创建的虚拟机作为Azure资源。必须使用VMSS刀片与这些虚拟机进行交互。

导航到你的Azure资源,确认一个新的负载均衡器已经成功创建:

Azure-Virtual-Machine-Scale-Sets

单击负载均衡器上的,查看“NAT规则”。每个实例创建了一条NAT规则:

Azure-Virtual-Machine-Scale-Sets

返回VMSS并确认部署的实例数量:

Azure-Virtual-Machine-Scale-Sets

确认您可以连接到您的虚拟机。使用下面的

  • VM1 = > 52.157.235.76:50000
  • VM2 = > 52.157.235.76:50001

Azure-Virtual-Machine-Scale-Sets

在这里,您使用负载均衡器将RDP请求重定向到特定的虚拟机。

在这一步,您的虚拟机规模设置已经建立并运行了两个虚拟机。然而,自动缩放功能在默认情况下是禁用的:

Azure-Virtual-Machine-Scale-Sets

点击“缩放”和“启用自动缩放”:

Azure-Virtual-Machine-Scale-Sets

现在,你可以使用自动缩放条件。当检测到特定的度量时,您必须定义虚拟机缩放集的行为。在本例中,我配置了以下内容:

  • 这个条件的友好名称,只是为了便于管理
  • 缩放模式,它允许您根据指标或特定实例计数添加规则
  • 通常,一个标准规则会检查CPU,增加或减少VMSS中的虚拟机数量
  • 配置限制:最小、最大和默认虚拟机实例数。这些限制对于确保您的扩展不会超过Azure订阅中允许的最大实例数量至关重要
  • 您还可以根据计划创建自动缩放规则。如果您知道流量会在某个特定时刻增加,那么这个设置很有趣

Azure-Virtual-Machine-Scale-Sets

配置自动缩放功能后,可以确认自动缩放功能处于“ON”状态。

Azure-Virtual-Machine-Scale-Sets

最后,请注意,您可以使用以下按钮轻松管理VMSS:

  • 启动比例集中的所有实例
  • 重新启动比例集中的所有实例
  • 关闭缩放集中的所有实例

Azure-Virtual-Machine-Scale-Sets

有用的链接

下面是Azure VM Scale Sets的一些有用链接:

Azure模板:https://github.com/Azure/azure-quickstart-templates/
你可以将建议发送到vmssfeedback@microsoft.com
9频道虚拟机规模设置模板:https://channel9.msdn.com/Blogs/Windows-Azure/VM-Scale-Set-Template-Dissection/player

结论

多亏了Azure Virtual Machine Scale Sets,您可以节省在Azure订阅中管理虚拟机的时间,而且通过提供更高的效率,可以更容易地定义Azure基础设施。根据流量的不同,您可以很容易地添加或删除虚拟机。

跟随我们的推特脸谱网为新发布,更新,见解深刻的帖子和更多的Feeds。