配置公共负载均衡器
作为医疗保健门户的解决方案架构师,你需要通过 Web 场中的虚拟机分配来自客户端浏览器的负载。 需要设置负载均衡器并配置要平衡的虚拟机。
公共负载均衡器将传入流量的公共 IP 地址和端口号映射到后端池中虚拟机的专用 IP 地址和端口号。 然后,将响应返回到客户端。 应用负载均衡规则,可在多个虚拟机或服务之间分配特定类型的流量。
分配模式
默认情况下,Azure 负载均衡器在虚拟机实例之间平均分配网络流量。 如果需要不同的行为,也可以使用以下分配模式:
5 元组哈希:负载均衡器的默认分配模式是 5 元组哈希。 元组由源 IP、源端口、目标 IP、目标端口和协议类型构成。 由于哈希中包含源端口,并且各会话的源端口不同,因此针对各会话可能将客户端定向到其他虚拟机。
源 IP 关联:此分配模式也称为会话关联或客户端 IP 关联。 此源 IP 相关性模式使用 2 元组哈希(来自源 IP 地址和目标 IP 地址)或 3 元组哈希(来自源 IP 地址、目标 IP 地址和协议类型)来将流量映射到可用服务器。 哈希可确保来自特定客户端的请求始终发送到负载均衡器后的同一虚拟机。
选择分配模式
在医疗保健门户示例中,假设表示层的开发人员要求是使用内存中的会话来存储用户与门户交互时记录的用户登录配置文件。
在此场景中,负载均衡器必须提供源 IP 关联才能维护用户会话。 配置文件将仅存储在客户端首次连接的虚拟机上,因为该 IP 地址将定向到同一服务器。 创建负载均衡器终结点时,必须使用下面的 PowerShell 示例指定分配模式:
$lb = Get-AzLoadBalancer -Name MyLb -ResourceGroupName MyResourceGroup
$lb.LoadBalancingRules[0].LoadDistribution = 'sourceIp'
Set-AzLoadBalancer -LoadBalancer $lb
要通过 Azure 门户添加会话持续性,请执行以下操作:
在 Azure 门户中,选择负载均衡器资源。
在“设置”窗格下的“负载均衡规则”页中,选择相关的负载均衡规则。
在“负载均衡规则设置”页中,将“会话持续性”的值从“无”更改为“客户端 IP”。
负载均衡器和远程桌面网关
远程桌面网关是一种 Windows 服务,让客户端可以通过防火墙与专用网络上的远程桌面服务器建立远程桌面协议 (RDP) 连接。 负载均衡器中默认的 5 元组哈希与此服务不兼容。 如果要将负载均衡器与远程桌面服务器一起使用,请使用源 IP 关联。
负载均衡器和媒体上传
源 IP 关联的另一个用例是媒体上传。 在许多实现中,客户端通过传输控制协议 (TCP) 协议发起会话并连接到目标 IP 地址。 此连接在整个上传期间保持打开状态以监视进度,但该文件是通过单独的用户数据报协议 (UDP) 协议上传的。
使用 5 元组哈希,负载均衡器可能会将 TCP 和 UDP 连接发送到不同的目标 IP 地址,上传不会成功完成。 使用源 IP 关联来解决此问题。