借助 Service Extensions,您可以使用扩展程序指示受支持的应用负载平衡器使用插件或从负载均衡数据路径发送标注,以调用标注后端服务或 Google 服务。本页面简要介绍了 Cloud Load Balancing 扩展程序。
您可以将应用负载平衡器配置为使用以下类型的扩展程序:
边缘扩展程序可帮助您处理请求标头,以影响后端服务选择以及 Cloud CDN 从缓存传送的内容。这些扩展程序配置为在请求处理生命周期的早期阶段运行,以便在边缘分别影响缓存和路由决策。
路由扩展程序可帮助您影响后端服务选择。这些扩展程序配置为在请求处理生命周期的早期阶段运行。
授权扩展程序可帮助您向自定义授权引擎发送授权请求。您可以在处理周期的末尾(即负载均衡器向后端发送请求之前)配置这些操作。
流量扩展有助于支持其他自定义安全逻辑和流量管理功能。您可以在授权扩展程序之后,但在负载均衡器向后端发送请求或从后端接收响应之前配置这些扩展程序。
支持用户管理的扩展的应用负载平衡器
Service Extensions 支持以下应用负载平衡器的用户管理型扩展程序:
| 应用负载均衡器 | 扩展程序 | |||||||
|---|---|---|---|---|---|---|---|---|
| Edge | 路由 | 授权 | 流量 | |||||
| 插件 | 插件 | 标注 | 标注 | 插件 | 标注 | |||
| 全球外部应用负载均衡器 | ✓ | ✓ | ✓ | ✓ | ||||
| 区域级外部应用负载均衡器 | ✓ 预览 | ✓ | ✓ | ✓ 预览 | ✓ | |||
| 区域级内部应用负载均衡器 | ✓ 预览 | ✓ | ✓ | ✓ 预览 | ✓ | |||
| 跨区域内部应用负载均衡器 | ✓ | ✓ | ✓ | ✓ | ✓ | |||
负载均衡数据路径中的可扩展性点
Service Extensions 支持在负载均衡数据路径的不同阶段进行扩展。
图 1 展示了 Service Extensions 如何在全球外部应用负载平衡器的应用安全和流量管理阶段支持扩展程序。
图 2 展示了服务扩展如何在以下类型的负载平衡器的路由、应用安全和流量管理阶段支持扩展:区域级外部应用负载平衡器、区域级内部应用负载平衡器和跨区域内部应用负载平衡器。
Edge 扩展程序的工作方式
边缘扩展程序会在请求处理路径上率先运行,让您可以使用请求标头来影响后端服务选择以及 Cloud CDN 从缓存中传送的内容。
负载均衡器调用边缘扩展服务后,会执行以下操作:
- 通过评估网址映射选择后端服务
- 应用 Google Cloud Armor 政策安全政策
- 执行缓存查找,并在缓存命中时从缓存中提供内容
- 为所选后端服务应用 Cloud Armor 政策
- 应用 CORS 政策
- 应用有状态会话亲和性政策
- 为所选后端服务应用 Identity-Aware Proxy (IAP) 政策
- 调用授权扩展程序(如果所选后端服务的处理路径中配置了任何授权扩展程序)
- 执行故障注入
- 调用流量扩展程序(如果有)
- 执行网址重写
- 根据网址映射执行标头操作,并添加自定义请求标头变量
- 执行重定向或路由到所选后端服务,同时应用网址映射中的超时和重试政策以及后端服务的负载均衡设置
- 执行请求镜像
授权扩展服务的工作原理
在请求路径上,授权扩展程序会在路由扩展程序被调用且已为请求选择后端之后被调用。这些扩展程序无法影响后端服务选择。
授权扩展程序只能处理请求标头,而不能处理请求正文或响应的任何部分。
路线扩展信息的运作方式
当负载平衡器收到请求标头时,路由扩展程序会在请求处理路径中率先运行,然后负载平衡器才会评估 网址 映射。
负载均衡器针对请求调用路由扩展程序后,会执行以下操作:
- 通过评估网址映射选择后端服务
- 为所选后端服务应用 Cloud Armor 政策
- 为所选后端服务应用 IAP 政策
- 执行故障注入
- 执行请求标头转换并解析自定义请求标头变量
- 如果所选后端服务的处理路径中存在流量扩展,则调用这些扩展
- 执行网址重写
- 执行重定向或路由到所选后端服务,并应用网址映射中的超时和重试政策以及后端服务的其他负载均衡设置
流量扩展功能的运作方式
负载平衡器在请求处理路径中最后运行流量扩展程序,在响应处理路径中首先运行流量扩展程序。
借助这些扩展程序,您可以修改请求和响应的标头和载荷,而不会影响后端服务的选择。您还可以通过指定要记录的信息、格式和外部提供商,使用流量扩展程序进行自定义日志记录。
在负载均衡器针对请求路径上的请求调用流量扩展之前,它会执行以下操作:
- 执行故障注入
- 为请求选择后端服务
- 为所选后端服务应用 Cloud Armor 政策
- 为所选后端服务应用 IAP 政策
- 对于全球外部应用负载平衡器,应用所选后端服务的 Cloud CDN 缓存政策
负载均衡器在请求路径上为请求调用流量扩展程序后,会执行以下操作:
- 执行网址重写
- 根据网址映射执行标头操作,并添加自定义请求标头变量
- 执行重定向或路由到所选后端服务,同时应用网址映射中的超时和重试政策以及后端服务的负载均衡设置
- 执行请求镜像
在负载均衡器针对请求在响应路径上调用流量扩展程序后,它会执行以下操作:
- 执行响应标头转换并解析自定义响应标头变量
- 使用 Cloud Logging 执行日志记录
- 在采用全球外部应用负载平衡器的情况下执行 Cloud CDN 缓存
扩展程序的限制
- 一条转发规则只能有一个
LbEdgeExtension资源、一个LbTrafficExtension资源和一个LbRouteExtension资源。 - 对于调出,调出后端服务必须与转发规则位于同一项目中。
- 不支持扩展程序与转发规则之间的跨项目引用。