根据您的业务情况,管理您的流量并在您的服务器之间共享负载非常重要。自动伸缩是您需要在云/内部环境中实现的,因为当基础设施上的流量波动时,将使用自动伸缩。这意味着需要增加新的机器以增加容量和可用性,因为有更多的硬件来分担负载。基于这个案例,我将解释如何创建和配置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中的特定虚拟机。
在前面的示例中,SSH请求将通过负载均衡器进行“NATed”,并根据入站端口号重定向到虚拟机。
另一个复杂的场景可以帮助你使用Azure流量管理器在多个Azure区域之间重定向流量,如下所示:
创建虚拟机缩放集
要创建新的虚拟机规模集,请登录Azure门户https://portal.azure.com,单击“创建资源”,搜索“比例集”,然后选择“创建”:
输入以下信息创建虚拟机规模集:
- 名称:这是一个友好的名称为您的VMSS。此名称将递增以命名您的虚拟机
- 操作系统:选择要部署的操作系统
- 订阅:选择Azure订阅
- 资源组:选择已存在的资源组或新建资源组
- 地点:选择一个位置
- 用户名/密码:这是管理员用户名,您将用于连接您的虚拟机
- 实例数:比例集中的虚拟机数量。最小值是0,最大值是1000。默认情况下是两个vm,这对于开始使用VMSS是很好的
- 实例大小:它是该比例集中每个虚拟机的大小。这意味着将使用相同的实例大小创建所有虚拟机。注意,您可以稍后修改大小
单击“显示高级设置”配置负载均衡器。在本例中,我希望将这些虚拟机留在负载均衡器后面,并为入站连接设置NAT规则。
部署完成后,使用Azure Portal找到负载均衡器的公网IP地址,并查看与负载均衡器相关的NAT规则。
注意,您不能看到通过VMSS单独创建的虚拟机作为Azure资源。必须使用VMSS刀片与这些虚拟机进行交互。
导航到你的Azure资源,确认一个新的负载均衡器已经成功创建:
单击负载均衡器上的,查看“NAT规则”。每个实例创建了一条NAT规则:
返回VMSS并确认部署的实例数量:
确认您可以连接到您的虚拟机。使用下面的
- VM1 = > 52.157.235.76:50000
- VM2 = > 52.157.235.76:50001
在这里,您使用负载均衡器将RDP请求重定向到特定的虚拟机。
在这一步,您的虚拟机规模设置已经建立并运行了两个虚拟机。然而,自动缩放功能在默认情况下是禁用的:
点击“缩放”和“启用自动缩放”:
现在,你可以使用自动缩放条件。当检测到特定的度量时,您必须定义虚拟机缩放集的行为。在本例中,我配置了以下内容:
- 这个条件的友好名称,只是为了便于管理
- 缩放模式,它允许您根据指标或特定实例计数添加规则
- 通常,一个标准规则会检查CPU,增加或减少VMSS中的虚拟机数量
- 配置限制:最小、最大和默认虚拟机实例数。这些限制对于确保您的扩展不会超过Azure订阅中允许的最大实例数量至关重要
- 您还可以根据计划创建自动缩放规则。如果您知道流量会在某个特定时刻增加,那么这个设置很有趣
配置自动缩放功能后,可以确认自动缩放功能处于“ON”状态。
最后,请注意,您可以使用以下按钮轻松管理VMSS:
- 启动比例集中的所有实例
- 重新启动比例集中的所有实例
- 关闭缩放集中的所有实例
有用的链接
下面是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基础设施。根据流量的不同,您可以很容易地添加或删除虚拟机。


