利用 Service Extensions, Google Cloud产品(例如 Cloud Load Balancing、Media CDN 和 Secure Web Proxy)的用户可以直接将自定义代码插入数据路径。这有助于您自定义这些产品的行为,以满足您的业务需求。本页面简要介绍了 Service Extensions。
扩展程序类型
Cloud Load Balancing、Media CDN 和 Secure Web Proxy 等网络产品中的数据路径可以直观地呈现为数据处理阶段的流水线。借助 Service Extensions,您可以将自定义逻辑插入其中一个或多个阶段。
Service Extensions 提供了两种插入自定义逻辑的方法:插件和标注。
插件
插件可让您在网络数据路径中以内嵌方式插入自定义代码。
您可以使用 WebAssembly (Wasm) 和 Proxy-Wasm ABI 构建插件。插件作为 Wasm 模块在 Google 管理的沙盒基础架构(类似于无服务器基础架构)上运行。插件在 Google 管理的计算资源上运行。它们的功能受限,并且具有严格的运行时要求。它们靠近数据平面运行,并且会对延迟优化进行管理。
如需详细了解插件,请参阅插件概览。
标注
借助 Callout,您可以使用 Cloud Load Balancing 在数据处理期间对 Google 服务和用户自管服务进行 Envoy gRPC 调用。
Callout 作为通用 gRPC 服务器在用户管理的计算虚拟机、GKE Multi-Cloud 上的 Google Kubernetes Engine (GKE) Pod 或本地环境中运行。
标注没有运行时限制,并且可以根据需要重复使用现有软件。借助标注,您可以享受全代管式服务的优势,同时还可以自定义这些服务,以满足特定工作负载的独特需求。您只需确认标注服务的可伸缩性和可用性。
如需详细了解标注,请参阅标注概览。
Cloud Load Balancing 扩展程序
借助 Service Extensions for Cloud Load Balancing,用户可以为受支持的应用负载均衡器的负载均衡请求和响应处理路径添加丰富的自定义功能。
如需了解详情,请参阅 Cloud Load Balancing 扩展程序概览。
插件
借助 Service Extensions,您可以在 Cloud Load Balancing 处理路径中添加预发布的插件,从而根据自定义需求使用这些插件。
在以下示例场景中,将插件与 Cloud Load Balancing 搭配使用:
异常处理
- 将客户端重定向到自定义错误页面以处理某些响应类。
自定义日志记录
- 将用户定义的标头或自定义数据记录到 Cloud Logging 中。
标头添加
- 创建与您的应用或特定客户相关的新标头。
- 为请求和响应插入新标头。
标头处理
- 重写现有请求和响应标头,或在客户端标头发送到后端或响应客户端的过程中替换客户端标头。
安全性
- 根据客户端请求或响应标头编写自定义安全政策,并在插件中做出强制执行决策。
脚本注入
- 重写源站中的 HTML,以实现 Google reCAPTCHA 集成或 Google Analytics 代码植入。
影响 Cloud CDN
- 操纵 HTTP 请求特征,以影响自定义缓存动态,并确定从 Cloud CDN 缓存传送哪些内容。
转送
- 重写 HTTP 请求以影响后端服务选择,从而在边缘做出更高级的路由决策。
对用户管理的托管式服务进行调用
Service Extensions 允许受支持的应用负载均衡器将标注从数据处理路径发送到用户管理的后端服务。
将 callout 与 Cloud Load Balancing 搭配使用,可实现以下目的:
- 当计算或存储量任意时
- 当您想要维护状态时
- 当您想要使用外部服务(例如 BigQuery 或托管在任何位置的第三方应用)时
标注非常灵活,支持各种自定义。 以下是一些日常应用场景示例:
自定义路由和流量管理
安全和日志记录
- 将载荷或自定义标头中的自定义信息记录到 Logging 或自定义日志记录解决方案中。
- 使用安全工具或服务,包括自定义用户身份验证和授权支持。
- 验证任意标头和查询参数,例如设备 ID。
- 将请求和响应记录到第三方日志记录解决方案。
- 实现自定义用户身份验证和授权。
合作伙伴集成
- 集成安全产品,例如 API Gateway 安全、BOT 管理或 Web 应用防火墙 (WAF)。
授权
- 丰富授权决策流程,或进一步限制 Google 提供的内置授权引擎的授权决策。
- 混合来自多个授权系统的授权决策。
- 将 Google 授权引擎与更广泛的授权生态系统和基础设施(包括外部政策引擎)无缝集成。
如需了解详情,请参阅 Cloud Load Balancing 和 Cloud CDN 扩展程序概览。
对 Google 服务的标注
借助 Service Extensions,受支持的应用负载均衡器可以从数据处理路径向所选 Google 服务发送标注。
您可以配置扩展程序来调用 Model Armor,以便在应用负载均衡器(包括 GKE Inference Gateway)上对推理流量统一强制执行安全政策。
如需了解详情,请参阅与 Google 服务集成。
GKE 扩展程序
Google Kubernetes Engine (GKE) Gateway 支持使用扩展程序将自定义代码添加到负载均衡处理路径中。您可以使用这些扩展程序来自定义路由、修改请求或响应载荷,以及与外部服务集成。
如需了解详情,请参阅使用 Service Extensions 自定义 GKE Gateway 流量路由。
Media CDN 扩展程序
媒体 CDN 提供了许多内置核心功能,可满足内容分发网络 (CDN) 的最常见应用场景。Service Extensions 可帮助您满足这些功能之外的多项要求。
如需了解详情,请参阅媒体 CDN 扩展程序概览。
适用于 Media CDN 的边缘扩展程序
借助 Service Extensions,您可以使用边缘扩展程序 (CdnEdgeExtension) 将 WebAssembly (Wasm) 插件直接附加到媒体 CDN 边缘缓存服务 (EdgeCacheService)。
您可以使用这些扩展程序直接在请求和响应处理路径中检查和修改 HTTP 请求和响应标头。如需了解详情,请参阅媒体 CDN 扩展程序概览中的媒体 CDN 边缘扩展程序的运作方式。
以下是一些关键用例,展示了如何将边缘扩展程序与 Media CDN 搭配使用:
自定义
- 重写请求网址。
- 对标头值进行标准化,以提高缓存性能。
- 设置与 Media CDN 路由规则匹配的请求标头,以便进行动态路由选择或源站选择。
- 自定义响应标头,以满足应用或最终用户的要求。
安全和日志记录
- 在直播活动期间,屏蔽使用盗版令牌的用户。
- 支持自定义用户身份验证和授权。
- 翻译并实现自定义网址签名。
- 自定义缓存键、应用专属标头或设备类型。
- 将自定义变量记录到 Cloud Logging。
定位和变现
- 通过 A/B 测试提高转化率。
- 实现自定义广告定位。
- 提供试用模式,不收取额外费用。
合作伙伴集成
- 实现视频水印。
- 优化视频和图片。
Secure Web Proxy 扩展程序
Secure Web Proxy 是一项云优先服务,可为组织的出站流量提供基于政策的集中控制。如需了解详情,请参阅 Secure Web Proxy 扩展程序概览。
Secure Web Proxy 可帮助您配置授权政策,以验证尝试访问工具或与互联网上的其他代理互动的来源工作负载或代理的身份。
Secure Web Proxy 的标注
借助 Service Extensions,您可以使用标注将自定义服务直接插入到 Secure Web Proxy 处理路径中。
以下是您可以将标注与 Secure Web Proxy 搭配使用的一些关键应用场景:
安全性
- 将授权决策委托给配置的政策引擎或智能体应用。
- 将出站数据传输和 AI 智能体流程与专业安全服务提供商集成。
- 实现自定义身份验证或授权解决方案。
自定义
- 在流量继续流向目的地之前,对其进行检查、修改或屏蔽。
- 动态添加 HTTP 标头。
- 强制执行定制的业务逻辑。
Global Front End
Global Front End 将 Service Extensions、全球外部应用负载均衡器、Google Cloud Armor 和 Cloud CDN 整合到一个解决方案中,可帮助您交付、扩缩和保护面向互联网的应用。在 Global Front End Enterprise 结算层级中,这些产品的价格会整合到一个价格方案中。
您可以在 Google Cloud项目中启用 Global Front End Enterprise 结算层级。如需了解详情,请前往 Google Cloud 控制台上的 Global Front End 页面。