媒体 CDN 概览

媒体 CDN 是 Google Cloud 的媒体分发解决方案。 媒体 CDN 是对 Cloud CDN(Google Cloud 的网页加速解决方案)的补充。媒体 CDN 针对高吞吐量出站工作负载(例如流式视频和大型文件下载)进行了优化。

边缘缓存通常是位于接入点 (PoP) 或合作伙伴 ISP 内、更靠近最终用户的位置的服务器基础架构。媒体 CDN 使用 Google 的全球边缘缓存基础架构,在尽可能靠近用户的位置传送您的内容。通过使用 Google 的基础架构传送内容,您可以减少源基础架构的负载。

借助媒体 CDN,您可以从可公开访问的 HTTP 端点轻松提取内容。无论内容是托管在 Cloud Storage、其他云还是本地基础架构中,您都可以将媒体 CDN 与现有的源站基础架构搭配使用。

您可以控制为您在路由中提供的每个 URI 缓存内容的方式。通过使用路由,您可以根据内容类型、客户端属性以及使用媒体 CDN 定义的每个路由的新鲜度要求来优化行为。

如需获得要使用的 CDN 产品的指导,请参阅选择 CDN 产品。如果这两种产品都符合您的需求,您就可以使用它们。

媒体 CDN 的运作方式

媒体 CDN 有三个主要组成部分:

  • 一个路由器
  • 缓存
  • 缓存填充程序

从概念上讲,这些组件连接在一起,如下图所示:

一张图片,描绘了在下游用户代理和媒体 CDN 路由器之间、路由器和缓存之间、缓存和缓存填充程序之间以及缓存填充程序与上游源站之间进行通信。

路由器和缓存组件配置了它们使用的 IP 地址和协议、安全、缓存政策以及路由配置。配置包含在 EdgeCacheService 资源中。路由器使用 HeaderAction(如 EdgeCacheService 中所述)来确定路由器如何修改请求(包括标头操作和路径重写)。

媒体 CDN 通过反向代理终止用户的 HTTP 请求。反向代理会将 HTTP 请求与 Routing 配置进行匹配。路由配置定义了 HTTP 请求的路由、修改、缓存和填充方式。

如果配置的缓存组件缺少用户请求的内容(称为缓存未命中),则缓存组件会从配置的上游源请求内容。媒体 CDN 将主机、路径和查询参数等请求参数用作缓存键。您可以配置媒体 CDN 将哪些项视为缓存键的一部分,从而减少从媒体 CDN 发送到上游源站的请求。如需了解详情,请参阅缓存键

缓存填充程序每次联系上游源时都会发出新请求。当缓存填充程序联系上游来源时,它会保存原始请求。然后,每次尝试为缓存所请求项填充缓存时,缓存填充程序都会复制原始请求的标头,并根据 EdgeCacheOrigin 中的设置修改该请求。

由于缓存组件位于路由器之后,而缓存填充程序位于缓存组件之后,因此缓存填充程序只能访问路由器修改的标头。缓存填充程序不会、也无法撤消路由器所做的标头更改。不过,只有在使用特定的 EdgeCacheOrigin 资源时,缓存填充程序才会对指定的 EdgeCacheOrigin 资源应用修改。

当缓存组件具有所请求的内容时,它会将该内容返回到路由器以返回到下游用户代理。

媒体 CDN 功能

以下部分简要介绍了媒体 CDN 的功能。

SSL (TLS) 证书支持

媒体 CDN 本身支持从您自己的网域传送经过 TLS 加密 (HTTPS) 的流量。媒体 CDN 作为自带 (BYO) 网域从您自己的网域提供,不需要 Google 托管的网域。

处理 SSL (TLS) 流量或获取 Google 管理的 SSL 证书时不会产生额外费用。

如需了解详情,请参阅 SSL (TLS) 证书

Google Cloud Armor 支持

媒体 CDN 支持 Google Cloud Armor 边缘安全政策。媒体 CDN 使用 Google Cloud Armor 来允许或拒绝对内容的访问。Google Cloud Armor 支持 IP 地址许可名单和拒绝名单、地理位置和第 7 层标头过滤控件,并通过插入自定义标头来修饰请求。

如需了解详情,请参阅配置安全政策

可扩展性

借助媒体 CDN,您可以使用 Service Extensions 插件(预览版)向请求-响应处理路径添加自定义代码。这种自定义有助于实现各种轻量级用例,例如标头标准化和自定义标记化。

如需了解详情,请参阅在媒体 CDN 路由中部署 Service Extensions 插件

源身份验证

媒体 CDN 支持通过源站身份验证将私有 Cloud Storage 存储分区作为源站。您可以授权媒体 CDN 访问您的专用 Cloud Storage 存储分区并对请求进行身份验证,以确保仅授予有效的媒体 CDN 请求。

如需了解详情,请参阅源站连接和防护

高级路由功能

媒体 CDN 提供高级 HTTP 路由功能,让您可以将流量映射到特定的边缘配置和源站。

有关详情,请参阅高级转送

客户端连接功能

媒体 CDN 支持从客户端到边缘的现代网络协议(例如 HTTP/2 和 QUIC),从而提高吞吐量并缩短总体网络延迟时间。

如需了解详情,请参阅客户端连接和 IP 地址

缓存失效

缓存失效操作(也称为“缓存完全清除”)是指缓存的内容被声明为无效。如果内容声明为无效,相应内容会从缓存中移除,然后在下次请求内容时从源服务器重新填充。

媒体 CDN 支持以下使内容失效的方法:

  • 按主机和网址路径
  • 按网址前缀和通配符
  • 按缓存标记,包括状态、来源和媒体类型的内置标记

您可以组合使用失效参数来定位特定的缓存响应,并最大限度地减少后续缓存填充的源站负载。

如需了解详情,请参阅缓存失效操作

自定义 HTTP 标头

媒体 CDN 可让您指定自定义 HTTP 标头。自定义请求标头支持静态值,而自定义响应标头支持静态值和动态值。

借助自定义标头,您可以执行以下操作:

  • 返回有关客户端的地理数据,这些数据可用于显示本地化内容,例如国家/地区、区域或城市。

  • 确定响应是来自缓存还是部分缓存,以及响应来自哪个缓存位置。

  • 删除或替换请求和响应标头。

如需了解详情,请参阅定义自定义标头

与 Cloud Logging 集成

媒体 CDN 还提供与 Google Cloud 日志记录服务的集成。

媒体 CDN 将客户端和边缘之间以及媒体 CDN 与源站之间的每个 HTTP 请求记录到 Cloud Logging (Logging)。日志通常近乎实时地传送。您可以在 Logging 中查询日志并将其导出到 Cloud StoragePub/Sub

如需了解详情,请参阅日志记录指南

已签名的请求

媒体 CDN 支持使用签名 Cookie 和签名网址进行内容身份验证。通过签名请求,您可以将访问权限范围限定为在限定时间内和特定客户端访问确切网址前缀。

如需了解详情,请参阅使用签名请求

请求访问权限

如需请求访问媒体 CDN,请与您的 Google Cloud 销售代表或客户支持团队联系。然后,按照快速入门试用媒体 CDN。