Azure的负载均衡器就不需要多说了,属于很基础的组件了,各个云的LB功能其实也不太一样,Azure的4层LB属于相对来说功能比较基础的,不过好处是这东西也不要钱,不过Azure其实后来又出了另外一种LB,所以Azure的4层LB其实有两种
1. Basic LB
2. Standard LB
Basic LB就不多说了,Standard LB相当于是个进阶产品,和Basic LB相比功能会强一些,不过同时也会有一些限制,可以通过以下这个表来了解Standard LB和Basic LB的区别
| 标准SKU
| 基本SKU |
后端池大小 | 最多支持 1000 个实例 | 最多支持 100 个实例 |
后端池终结点 | 单个虚拟网络中的任何虚拟机,包括虚拟机、可用性集和虚拟机规模集的混合。 | 单个可用性集或虚拟机规模集中的虚拟机。 |
运行状况探测 | TCP、HTTP、HTTPS | TCP、HTTP |
运行状况探测停止行为 | TCP 连接在实例探测停止时以及在所有探测停止时保持活动状态 | TCP 连接在实例探测停止时保持活动状态。 所有 TCP 连接在所有探测停止时都会终止 |
诊断 | Azure Monitor、多维度指标(包括字节和数据包计数器)、运行状况探测状态、出站连接运行状况(SNAT 成功和失败流) | 不可用 |
HA 端口 | Internal 负载均衡器(内部负载均衡器) | 不可用 |
默认保护 | 公共 IP、公共负载均衡器终结点、内部负载均衡器终结点会阻止入站流,除非入站流已由某个网络安全组列入允许列表 | 默认打开,网络安全组可选 |
出站连接 | 可以使用出站规则显式定义基于池的出站 NAT。 可以在每个负载均衡规则选择退出时使用多个前端。_必须_显式创建出站方案,虚拟机、可用性集、虚拟机规模集才能使用出站连接。 虚拟网络服务终结点无需定义出站连接便可访问,且不会计入已处理的数据。 任何公共 IP 地址(包括不作为 VNet 服务终结点提供的 Azure PaaS 服务)必须通过出站连接才能访问,且计入处理的数据。 如果只有一个内部负载均衡器为虚拟机、可用性集或虚拟机规模集提供服务,则经由默认 SNAT 的出站连接将不可用,请改用出站规则。 出站 SNAT 编程特定于传输协议,并以入站负载均衡规则的协议为基础。 | 单个前端,存在多个前端时随机选择。 如果只有内部负载均衡器为虚拟机、可用性集或虚拟机规模集提供服务,则会使用默认 SNAT。 |
出站规则 | 使用公共 IP 地址或公共 IP 前缀或以上两者、可配置出站空闲超时(4-120 分钟)或自定义 SNAT 端口分配的声明性出站 NAT 配置 | 不可用 |
在空闲时重置 TCP | 对任何规则启用空闲超时时重置 TCP (TCP RST) | 不可用 |
多个前端 | 入站和出站 | 仅限入站 |
管理操作 | 大多数操作都小于 30 秒 | 通常为 60 - 90 多秒 |
SLA | 对拥有两个正常运行的虚拟机的数据路径为 99.99%。 | 不适用 |
定价 | 基于规则数、与资源关联且经过入站和出站处理的数据量进行计费 | 免费 |
我们总结一下Standard LB的一些优点:
1. Internal LB针对网络虚拟设备及其他方案提供缩放和恢复能力的 HA 端口规则
2. 集成监视(流量计数器、运行状况探测、TCP 连接尝试、出站连接)和持续数据平面运行状况度量
3. 后端池容量更大
4. 可以支持HTTPS探测
5. 可以随意添加VM,无需VM都在同一个可用性集里
但是同时,Standard LB也有一些劣势存在:
1. Basic LB是免费的,但是Standard LB要收费
2. Standard LB后端的VM默认不能SNAT到Internet
3. Basic Public IP无法挂载到Standard LB上
总体来说Standard LB肯定还是有优势的,但是一些基础场景其实可以考虑使用Basic LB,他们其实并不是完全的替代的关系,双方各自都有一些使用场景
以下是一些Standard LB与Basic LB相比优势的体现
1.探测支持HTTPS
2.后端池不需要局限于同一个可用性集,以后就不用纠结这个了
除此之外还有一些别的用法,留到后边再说