媒体 CDN 概览

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

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

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

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

如需了解有关使用哪个 CDN 产品的指导,请参阅选择 CDN 产品。如果两款产品都符合您的需求,您可以同时使用这两款产品。

媒体 CDN 的工作原理

媒体 CDN 包含三个主要组件:

  • 路由器
  • 缓存
  • 缓存填充器

从概念上讲,这些组件的连接方式如下图所示:

一张图片,描绘了下游用户代理与媒体 CDN 路由器之间、路由器与缓存之间、缓存与缓存填充器之间以及缓存填充器与上游源之间的通信。
图 1:媒体 CDN 组件。

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

Media CDN 在反向代理处终止用户 HTTP 请求。反向代理会将 HTTP 请求与 Routing 配置相匹配。路由配置定义了 HTTP 请求的路由、修改、缓存和填充方式。

如果配置的缓存组件缺少用户请求的内容(称为缓存未命中),则该缓存组件会从配置的上游来源请求内容。Media CDN 使用请求参数(例如主机、路径和查询参数)作为缓存键。您可以配置 Media CDN 将哪些项视为缓存键的一部分,这有助于减少 Media CDN 向上游源站发出的请求。如需了解详情,请参阅缓存键

缓存填充器每次与上游来源联系时都会发出新请求。 当缓存填充器与上游源站联系时,它会保存原始请求。然后,对于缓存填充器尝试填充缓存所请求的每个商品,缓存填充器会复制原始请求的标头,并根据 EdgeCacheOrigin 中的设置修改请求。

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

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

媒体 CDN 功能

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

SSL (TLS) 证书支持

Media CDN 内置了对从您自己的网域传送 TLS 加密 (HTTPS) 流量的支持。Media CDN 通过您自己的网域(自带网域 [BYO])提供服务,不需要 Google 托管的网域。

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

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

Google Cloud Armor 支持

Media CDN 支持 Google Cloud Armor 边缘安全政策。Media CDN 使用 Google Cloud Armor 来允许或拒绝访问内容。Google Cloud Armor 支持 IP 地址许可名单和拒绝名单、地理位置和第 7 层标头过滤控件,并通过插入自定义标头来修饰请求。此外,Google Cloud Armor for Media CDN 还与 Google 威胁情报集成,可针对已知的恶意 IP 地址和流量模式提供高级防护。

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

可扩展性

借助 Service Extensions 插件(预览版),您可以将自定义代码添加到请求-响应处理路径中。这种自定义功能可实现各种轻量级使用场景,例如标头规范化和自定义分词。

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

源站身份验证

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

如需了解详情,请参阅 Origin 连接和屏蔽

高级路线规划功能

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

如需了解详情,请参阅高级路由

客户端连接功能

媒体 CDN 支持从客户端到边缘的 HTTP/2 和 QUIC 等现代网络协议,从而提高吞吐量并降低整体网络延迟。

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

缓存失效操作

缓存失效(也称为缓存清除)是指声明缓存内容无效。当内容被声明为无效时,系统会从缓存中移除该内容,然后在下次请求该内容时从源服务器重新填充。

媒体 CDN 支持以下内容失效方式:

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

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

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

自定义 HTTP 标头

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

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

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

  • 确定响应是否从缓存中(全部或部分)传送,以及从哪个缓存位置传送。

  • 剥离或替换请求标头和响应标头。

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

与 Cloud Logging 集成

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

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

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

已签名的请求

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

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

请求访问权限

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