如果您的业务请求需要分发给其他服务或者应用,您可以为应用配置网关路由功能,实现请求路由分发。本文介绍如何通过应用型负载均衡ALB为您的应用设置路由规则。
前提条件
背景信息
负载均衡 SLB(Server Load Balancer)是一种流量分发服务,旨在通过将流量平衡地分配到后端多个服务器上,来扩展应用的处理能力并提升系统整体的可用性,同时消除潜在的单点故障。应用型负载均衡ALB作为SLB产品家族的一员,专门针对HTTP、HTTPS和QUIC等应用层协议提供服务。ALB不仅具备高度弹性和大规模应用层流量管理能力,还能处理复杂的业务路由需求,并与云原生服务紧密集成,成为阿里云官方推荐的云原生Ingress网关解决方案。更多信息,请参见负载均衡SLB产品家族介绍。
使用场景
单应用或多应用使用相同域名但存在不同路径流量转发。
单应用或多应用由不同域名流量转发,即不同域名解析的访问IP地址是同一个。
网关路由配置完成后,您可以通过<域名>:<访问端口/Path>
访问相应的后端服务或者应用。
创建网关路由
登录SAE控制台。
在左侧导航栏,单击命名空间,在顶部菜单栏选择地域,然后在命名空间页面,单击目标命名空间名称。
在目标命名空间页面,在左侧导航栏单击网关路由,然后单击创建网关路由。
在创建路由页面,按照下表说明完成参数设置,然后单击保存。
配置项
配置说明
路由名称
自定义路由名称。
网络类型
选择网络类型:
公网:通过公网网关转发的请求,按照实际转发流量计费。
私网:通过私网网关转发的请求不计费,仅在当前VPC内部转发。
网关类型
选择ALB 应用型负载均衡。
ALB 实例
单击ALB 实例下面的下拉框,选择ALB实例,您也可以单击下拉框右侧的创建 ALB 实例,创建ALB实例。具体操作,请参见创建应用型负载均衡。
前端协议类型
选择请求转发协议:
HTTP:适用于需要对数据内容进行识别的应用,如移动应用和小型手机游戏等。
HTTPS:适用于需要加密传输的应用。
访问端口
自定义访问端口,端口范围为0~65535。
高级配置
展开高级设置区域,可以设置以下参数:
连接请求超时时间:设置请求后端服务器的超时时间(可以选择的范围为1~180秒)。如果后端服务器在指定时间内未响应,则会返回HTTP 504错误码。
连接空闲超时时间:设置无请求时的连接时长(可以选择的范围为1~60秒)。如果在指定的空闲时间内无新的请求,负载均衡会暂时中断当前连接,直到下次请求来临时重新建立新的连接。
TLS安全策略:仅当前端协议类型选择为HTTPS时,才支持设置TLS安全策略。TLS安全策略包括可选的TLS协议版本和配套的加密算法套件。加密算法套件是由SSL/TLS握手期间协商的安全设置所使用的算法组合。
附加HTTP头字段:选择以下特定的HTTP头部字段以获取特定的信息。
开启通过X-Forwarded-For头字段获取来访者客户端IP:字段格式为
X-Forwarded-For: <client-ip-address>, <proxy1>, <proxy2>, …
。默认开启
X-Forwarded-For
头字段。ALB如何获取客户端真实IP教程,请参见通过ALB获取客户端真实IP。
通过SLB-ID头字段获取负载均衡实例ID:字段格式为
SLB-ID
。通过X-Forwarded-Proto头字段获取负载均衡实例的监听协议:字段格式为
X-Forwarded-Proto: <originatingProtocol>
。通过X-Forwarded-Port头字段获取负载均衡实例的监听端口:字段格式为
X-Forwarded-Port: <port>
。通过X-Forwarded-Client-srcport头字段获取负载均衡实例客户端的端口:字段格式为
X-Forwarded-Client-srcport: <port>
。
自定义转发策略
域名:输入要转发的请求域名,域名不可为空
访问端口:默认是上一步骤设置的访问端口,不支持设置。
Path:输入终端访问的路径,不可为空。
后端应用:选择接收转发请求的应用,该应用须与转发请求的应用在同一个命名空间内。
容器端口:设置访问后端应用的容器端口。
说明仅适用于微服务应用和Web固定分配CPU模式的应用。
在同一个负载均衡实例内,监听端口不可重复。
您也可以单击+ 添加,添加同一域名下的访问端口、Path、后端应用和容器端口。
您也可以单击+ 添加域名,添加其他的域名、访问端口、Path、后端应用和容器端口。
默认转发策略
ALB 实例:默认上面步骤选择的ALB实例,不支持设置。
访问端口:默认选择上面步骤设置的访问端口,不支持设置。
后端应用:选择接收转发请求的应用,该应用须与转发请求的应用在同一个命名空间内。
容器端口:设置访问后端应用的容器端口。
说明推荐设置默认转发策略,为所有未匹配上自定义转发策略的请求指定默认的转发策略,如果不设置会导致访问报错。
结果验证。
方式一:登录负载均衡管理控制台,在ALB实例页面,查看监听是否已经配置。
方式二:通过
<域名>:<访问端口/Path>
访问相应的服务或应用,查看是否按照已配置好的转发策略进行了转发,以验证配置是否生效。
管理路由规则
创建路由规则后,您可以在网关路由页面查看转发策略、编辑、删除网关路由,以及查看相关事件。