媒体 CDN 是 Google Cloud 的媒体分发解决方案。媒体 CDN 是对 Cloud CDN(Google Cloud 的 Web 加速解决方案)的补充。媒体 CDN 针对以下类别进行了优化: 高吞吐量出站流量工作负载,例如流式视频和大文件 下载。
边缘缓存通常是服务器基础架构,将内容存储在更靠近 位于入网点 (PoP) 或合作伙伴 ISP 内的最终用户。 媒体 CDN 使用 Google 的全球边缘缓存基础架构, 尽可能靠近用户的位置通过使用 Google 的 来传送内容,您可以减少源站的负载, 基础架构
媒体 CDN 可让您轻松地从 可公开访问的 HTTP 端点您可以将媒体 CDN 与 无论内容是否托管在 Cloud Storage、其他云或本地基础架构内。
您可以控制为路由中提供的每个 URI 缓存内容的方式。使用 路由让您可以根据内容类型、客户端 属性以及使用 API 定义的每个路线的新鲜度要求 媒体 CDN。
有关应使用哪种 CDN 产品的指南,请参阅 选择 CDN 产品。如果这两种产品都能满足您的需求,您可以同时使用它们。
媒体 CDN 的运作方式
媒体 CDN 包含三个主要组件:
- 一个路由器
- 缓存
- 缓存填充程序
从概念上讲,这些组件连接在一起,如下图所示:
路由器和缓存组件使用 IP 地址和
安全、缓存政策以及路由配置。
该配置包含在 EdgeCacheService
资源中。路由器使用 EdgeCacheService
中所述的 HeaderAction
来确定路由器修改请求的方式(包括标头操作和路径重写)。
媒体 CDN 通过反向代理终止用户的 HTTP 请求。通过
反向代理会将 HTTP 请求与 Routing
配置。
路由配置定义了 HTTP 请求的路由、修改
缓存和填充数据
如果配置的缓存组件缺少用户请求的内容(称为“缓存未命中”),则缓存组件会向配置的上游来源请求内容。Media CDN 使用请求参数(例如主机、路径和查询参数)作为缓存键。您可以配置 Media CDN 将哪些项视为缓存键的一部分,这可以减少 Media CDN 向上游源站发出的请求。有关 相关信息,请参阅缓存键。
缓存填充程序每次联系上游源时都会发出新请求。
当缓存填充程序联系上游来源时,它会保存原始来源
请求。然后,每次尝试填充缓存中由
缓存填充程序会复制原始请求的标头并修改
根据 EdgeCacheOrigin
中的设置发出请求。
由于缓存组件在路由器之后,而缓存填充程序在
缓存组件,则缓存填充程序只能访问
已修改路由器。缓存填充程序不会也不会撤消路由器所做的标头更改。但是,缓存填充程序只对给定的
EdgeCacheOrigin
资源。EdgeCacheOrigin
当缓存组件有所请求的内容时,它会将该内容返回给 路由器以返回给下游用户代理。
媒体 CDN 功能
以下部分简要介绍了媒体 CDN 的功能。
SSL (TLS) 证书支持
媒体 CDN 本身支持提供经过 TLS 加密的内容 (HTTPS) 流量。媒体 CDN 从以下来源提供: 作为自带 (BYO) 网域,无需使用 Google 托管的网域。
处理 SSL (TLS) 流量不会产生额外费用,或 (用于获取 Google 管理的 SSL 证书)。
如需了解详情,请参阅 SSL (TLS) 证书。
Google Cloud Armor 支持
Media 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 会记录客户端和边缘之间的每个 HTTP 请求, 在媒体 CDN 与源站之间传输流量,通过 Cloud Logging (日志记录。日志通常在 实时更新。您可以在 Logging 中查询日志,并将其导出到 Cloud Storage 或 Pub/Sub。
如需了解详情,请参阅日志记录指南。
已签名的请求
媒体 CDN 支持将签名 Cookie 和签名网址用于内容 身份验证。借助签名请求,您可以限制对特定网址前缀的访问权限,并将其限定在有限的时间段内和特定客户端。
如需了解详情,请参阅使用签名请求。
请求访问权限
如需请求访问媒体 CDN,请与您的 Google Cloud 销售代表或客户支持团队联系。然后,使用快速入门 来试用媒体 CDN