关于应用程序负载均衡器
使用 IBM Cloud® Application Load Balancer for VPC (ALB) 在 VPC 同一区域内的多个服务器实例之间分配流量。
如果您具有公共和专用工作负载以及层 7 流量,请使用应用程序负载均衡器。
应用程序负载均衡器的类型
如 Load Balancers for VPC 概述 中所述,您可以创建公共或专用 ALB。
下表显示了公共和私有功能的对比。
功能 | 公共负载均衡器 | 专用负载均衡器 |
---|---|---|
是否可在因特网上访问? | 是,具有标准域名 (FQDN) | 否,仅限内部客户机,位于相同区域及 VPC 上 |
是否接受所有流量? | 是 | 是 (已除去仅接受来自 RFC-1918 地址空间的流量的限制) |
如何注册域名? | 公共 IP 地址 | 专用 IP 地址 |
公共应用程序负载均衡器
公共应用程序负载均衡器实例被分配了一个可公开访问的完全限定域名(FQDN),您必须使用该域名访问负载均衡器后端托管的应用程序。 可以向一个或多个公共 IP 地址注册此域名。
随着时间的推移,这些公共 IP 地址的数量和值可能会因维护和缩放活动而更改。 托管应用程序的后端虚拟服务器实例必须在同一区域和同一 VPC 下运行。
使用分配的 FQDN 将流量发送到公共应用程序负载均衡器,以避免在系统维护或缩减活动期间发生与应用程序的连接问题。
专用应用程序负载均衡器
可以通过配置为创建负载均衡器的专用子网来访问专用应用程序负载均衡器。
与公共应用程序负载均衡器类似,您的私有应用程序负载均衡器实例也会分配到一个FQDN。 但是,此域名注册了一个或多个专用 IP 地址。
IBM Cloud 随着时间的推移,运营可能会根据维护和扩展活动更改分配给您的专用 IP 地址的数量和价值。 托管应用程序的后端虚拟服务器实例必须在同一区域和同一 VPC 下运行。
使用分配的 FQDN 将流量发送到专用应用程序负载均衡器,以避免在系统维护或缩减活动期间发生与应用程序的连接问题。
负载均衡方法
有三种负载均衡方法可用于在后端应用程序服务器之间分配流量:
循环法
循环法是缺省负载均衡方法。 采用这种方法时,应用程序负载平衡器会以循环方式将进入的客户端连接转发到后端服务器。 因此,所有后端服务器大概会接收到相等数目的客户机连接。
加权循环法
利用这种方法,应用程序负载平衡器会根据分配给后端服务器的权重比例,将进入的客户端连接转发给这些服务器。 每台服务器的默认权重为 50
,可自定义为 0
- 100
范围内的任意值。
例如,如果应用服务器 A、B 和 C 的权重分别为 60
、60
和 30
,则服务器 A 和 B 收到的连接数相等,而服务器 C 收到的连接数是前者的一半。
将服务器权重设置为 0
意味着不会向该服务器转发新连接,但现有流量会继续流动。 使用 0
的权重可以帮助服务器从容宕机,并将其从服务轮换中移除。
服务器权重值仅适用于加权循环法。 将使用循环法和最小连接负载均衡方法来忽略它们。
最小连接数
通过这种方法,在给定时间内服务连接数最少的后端服务器实例会接收下一个客户端连接。
前端侦听器和后端池
前端侦听器是用于接收入局请求的负载均衡器应用程序端口,而后端池是负载均衡器背后的应用程序服务器。
使用侦听器的准则
查看前端侦听器的以下准则:
- 您最多可以定义 10 个前端侦听器,并将其映射到后端应用程序服务器上的后端池。
- 分配给负载平衡器的 FQDN 和前端监听器端口都暴露在公共互联网上。 在这些端口上会接收入局用户请求。
- 支持的前端监听器和后端池协议包括 HTTP、HTTPS 和TCP。
- 您可以将 HTTP / HTTPS 前端侦听器配置为 HTTP / HTTPS 后端池。
- HTTP/2 仅支持侦听器。
- HTTP 和 听众和池是可互换的。HTTPS
- 只能使用 TCP 后端池配置 TCP 前端侦听器。
- 您最多可将 50 个虚拟服务器实例附加到后端池。 流量将发送到其指定数据端口上的每个实例。 该数据端口不必与前端监听器端口相同。
- HTTPS 侦听器不支持 Secrets Manager 的“仅限私人”终端。 要在ALB中配置 HTTPS 侦听器,必须将TLS证书上传到“公共和私有”终端。
HTTPS 重定向侦听器
HTTPS 重定向侦听器 将流量从 侦听器重定向到 侦听器。HTTP HTTPS 此操作不需要在侦听器上应用任何规则。
例如,如果一个服务监听端口443,用户名是 HTTPS,而用户试图使用 HTTP 访问端口80上的服务,那么请求会自动重定向到端口443,用户名是 HTTPS。
如果 HTTPS 重定向侦听器上有策略,则首先评估这些策略。 如果没有匹配的策略,请求将重定向到配置的 HTTPS 侦听器。
HTTPS 重定向侦听器属性
属性 | 描述 |
---|---|
侦听器 | 请求重定向到的 HTTPS 听众。 |
HTTP 状态码 | 应用程序负载均衡器返回的响应的状态码。 可接受的值为 301 , 302 , 303 , 307 ,或 308 。 |
URI | 请求重定向到的相对 URI。 这是一个可选属性。 |
弹性
应用程序负载均衡器通过在负载增加时添加计算资源进行扩展。
端到端 SSL 加密
通过 HTTPS 池配置 HTTPS 侦听器可实现端到端SSL加密。 ALB在前端侦听器处终止传入的 HTTPS 请求,并与后端实例建立 HTTPS 连接。 端到端加密允许通过负载均衡器到达后端成员的所有流量通过 HTTPS 进行加密。
要配置端到端 SSL 加密:
- 配置 HTTPS 前端监听器时,请使用SSL证书,就像配置SSL卸载时一样。
- 配置一个 HTTPS 后端池。
- 将您的后端成员实例添加到 HTTPS 后端池中。 确保您的后端成员实例配置为处理 HTTPS 流量。
- 使用类型 HTTPS 配置健康检查,以便与您的后端成员执行加密的健康检查。
应用程序负载均衡器不会验证后端成员实例的 SSL 证书。
水平缩放
应用程序负载平衡器会根据负载情况自动调整容量。 进行此调整时,您可能会看到与负载平衡器 DNS 名称相关联的 IP 地址数量发生变化。
MZR 支持
IBM Cloud Application Load Balancer for VPC 支持多专区区域 (MZR)。 您可以通过部署具有来自不同专区的子网的应用程序负载均衡器来实现高可用性和冗余。 使用来自多个专区的子网来供应应用程序负载均衡器时,会将负载均衡器设备部署到多个专区。
与实例组集成
IBM Cloud Application Load Balancer for VPC 与实例组集成,这些实例组可以 auto scale
您的后端成员。 将根据您的使用情况和需求动态添加和删除池成员。
数据路径日志转发
启用数据路径日志记录后,负载均衡器日志将转发到 IBM Log Analysis 服务,您可以在该服务中查看数据路径日志。
HTTP2 支持
应用程序负载均衡器支持端到端 HTTP2 流量,可与设置为 HTTPS 或TCP的侦听器协议配合使用。
WebSocket 支持
WebSocket 通过单个 TCP 连接提供全双工通信信道。 应用程序负载均衡器支持 WebSocket 与各种类型的侦听器协议( HTTP / HTTPS /TCP)。
体系结构
图 1 说明了 ALB 的部署体系结构。

在此图中,“客户机资源”表示属于客户机生态系统的资源 (例如 VPC 和子网)。
高可用性和应用负载均衡器
为确保高可用性(HA)与您的ALB协同工作,请将来自不同区域的三个子网连接到ALB,并在这些区域之间部署设备。 为此,您需要在创建ALB的过程中选择子网。 您可以选择两个不同区域的子网(例如,us-south-1
和 us-south-2
)。 这样就会在两个不同的子网中创建 ALB 的 IP(如设备 IP)。
您也可以使用现有的 ALB 来实现这一功能。 转到负载平衡器详细信息页面上的附加资源部分。 从“子网”部分,单击“编辑子网”。 然后,添加其他子网。 ALB进入“迁移”状态。 迁移完成后,您将获得一个来自刚刚连接的子网的设备新IP。 您现在拥有来自不同区域不同子网的两个IP。