开始在 PowerShell 中创建面向 Internet 的负载均衡器(经典)

Azure load balancer 是位于第 4 层 (TCP, UDP) 的负载均衡器。 该负载均衡器可以在云服务或负载均衡器集的虚拟机中运行状况良好的服务实例之间分配传入流量,从而提供高可用性。 Azure Load Balancer 还可以在多个端口和/或多个 IP 地址上显示这些服务。

可以将负载均衡器配置为用于:

  • 对传入到虚拟机 (VM) 的 Internet 流量进行平衡负载。 我们将此方案中的负载均衡器作为一个面向 Internet 的负载均衡器
  • 对虚拟网络 (VNet) 和云服务中 VM 之间的流量或本地计算机和跨界虚拟网络中 VM 之间的流量进行平衡负载。 我们将此方案中的负载均衡器作为一个内部负载均衡器 (ILB)
  • 将外部流量转发到特定的 VM 实例。

重要

在使用 Azure 资源之前,请务必了解 Azure 当前使用两种部署模型:Azure 资源管理器部署模型和经典部署模型。 在使用任何 Azure 资源之前,请确保了解 部署模型和工具 。 可以通过单击本文顶部的选项卡来查看不同工具的文档。 本文介绍经典部署模型。 还可以了解如何使用 Azure 资源管理器创建面向 Internet 的负载均衡器

将在此方案中完成以下任务:

  • 创建在端口 80 上接收网络流量的负载均衡器,并将负载均衡流量发送到虚拟机“web1”和“web2”
  • 在负载均衡器后面创建虚拟机的远程桌面访问/SSH 的 NAT 规则
  • 创建运行状况探测

负载均衡器方案

使用 PowerShell 设置负载均衡器

若要使用 powershell 设置负载均衡器,请完成以下步骤:

  1. 如果从未使用过 Azure PowerShell,请参阅 How to Install and Configure Azure PowerShell(如何安装和配置 Azure PowerShell),并始终按照说明进行操作,以登录到 Azure 并选择订阅。
  2. 创建虚拟机后,可以使用 PowerShell cmdlet 将负载均衡器添加到同一云服务中的虚拟机。

在以下示例中,将名为“webfarm”的负载均衡器集添加到云服务“mytestcloud” (或 myctestcloud.cloudapp.net) ,将负载均衡器的终结点添加到名为“web1”和“web2”的虚拟机。负载均衡器接收端口 80 上的网络流量,并在本地 (终结点定义的虚拟机之间进行负载均衡,在本例中,使用 TCP 的端口 80) 。

步骤 1

为第一个 VM“web1”创建负载均衡终结点

Get-AzureVM -ServiceName "mytestcloud" -Name "web1" | Add-AzureEndpoint -Name "HttpIn" -Protocol "tcp" -PublicPort 80 -LocalPort 80 -LBSetName "WebFarm" -ProbePort 80 -ProbeProtocol "http" -ProbePath '/' | Update-AzureVM

步骤 2

使用相同的负载均衡器集名称为第二个 VM “web2”创建另一个终结点

Get-AzureVM -ServiceName "mytestcloud" -Name "web2" | Add-AzureEndpoint -Name "HttpIn" -Protocol "tcp" -PublicPort 80 -LocalPort 80 -LBSetName "WebFarm" -ProbePort 80 -ProbeProtocol "http" -ProbePath '/' | Update-AzureVM

从负载均衡器中删除虚拟机

可以使用 Remove-AzureEndpoint 从负载均衡器中删除虚拟机终结点

Get-azureVM -ServiceName mytestcloud  -Name web1 |Remove-AzureEndpoint -Name httpin | Update-AzureVM

后续步骤

还可以开始创建内部负载均衡器,并配置适合特定负载均衡器网络流量行为的分发模式类型。

如果应用程序需要始终保持对负载均衡器后面的服务器的连接,可详细了解负载均衡器的空闲 TCP 超时设置。 可借助该文章了解使用 Azure 负载均衡器时的空闲连接行为。