Cloud CDN 是 Google Cloud 的 Web 加速内容分发网络平台,可帮助您缓存更靠近用户的定期访问静态内容。Cloud CDN 经过优化,可混合使用静态和动态延迟敏感型 Web 资源,例如 CSS、JavaScript、HTML 和图片文件。
媒体 CDN 是 Google Cloud 的媒体传送 CDN 平台,是对 Cloud CDN 的补充。媒体 CDN 针对高吞吐量出站流量工作负载(例如流式视频和大型文件下载)进行了优化。
使用 Cloud CDN 和 Media CDN 可以为用户提高性能,降低源站基础架构资源的使用量,并降低网络传送费用。
这两款产品支持的功能类似,但各自针对特定用例进行了优化。Cloud CDN 与 Media CDN 的比较类似于 Cloud SQL 与 BigQuery 的比较。 Cloud CDN 和 Cloud SQL 适用于大规模的小查询。媒体 CDN 和 BigQuery 专为高吞吐量和极大规模而设计。使用 Media CDN 传送 JavaScript 或 CSS(Web 工作负载)类似于尝试将 BigQuery 用于具有几千行的 5 GB 表。虽然它可以发挥作用,但未针对该使用场景进行优化。
使用场景
下表介绍了一些常见使用场景和推荐的 CDN 产品。
使用场景 | 推荐的 CDN 产品 |
---|---|
同时传送标准 Web 内容和媒体内容(如社交媒体网站)的工作负载。 | 在此场景中,您可以采用以下两种配置:
|
快速向用户传送网站。 | 对于通常以高比率传送非常小对象的工作负载(例如广告技术平台和电子商务平台),Cloud CDN 是理想之选。它的优势在于传送静态 Web 内容,例如 JavaScript、CSS、字体和内嵌图片。 |
传送大型软件下载内容。 | 如果您预计软件下载需求量较大,请考虑使用 Media CDN。 如果软件下载仅占您整体网站工作负载的一小部分,请考虑使用 Cloud CDN。 |
通过 HLS 和 DASH 传送流式视频。 | 如果您有大规模视频在线播放需求,Media CDN 是理想之选,因为它具有增强的源站防护功能、数 Tbps 级容量,以及详细的日志记录和指标。 |
满足传送固件下载内容(例如向政府机构或医疗服务提供方传送固件下载内容)的严格合规性需求。 |
Cloud CDN 是正确的选择。Cloud CDN 具有美国联邦风险和授权管理计划 (FedRAMP) 授权,较适合满足严格的合规性需求。 除非您使用的是签名请求,否则存储在 CDN 缓存中的内容通常可通过网址公开访问。与任何 CDN 一样,请考虑根据需要使用自己的数字版权管理 (DRM) 或加密方案。 |
向用户传送用户生成的图片内容。 | Cloud CDN 是大多数图片服务平台的理想之选。 |
例外情况
下表介绍了 Cloud CDN 或 Media CDN 不适合的使用场景。
使用场景 | 建议 |
---|---|
通过实时消息传递协议 (RTMP) 传送视频。 | Media CDN 和 Cloud CDN 不支持向客户端发送基于 RTMP 的传送内容。 如果您有任何基于 RTMP 的旧版服务,则可以配置全球外部直通式网络负载均衡器以传送 RTMP。您还可以使用 Live Stream API 将 RTMP 源流打包到 HLS/DASH 资产中,以通过媒体 CDN 传送。 |
通过 WebRTC 在用户之间传送视频。 |
Media CDN 和 Cloud CDN 不支持 WebRTC 传送。 您可以配置区域级外部直通式网络负载均衡器以管理基于 WebRTC 的服务。 |
使用 WebSocket 进行用户-服务器通信。 | 设置全球外部应用负载均衡器。WebSocket 流量无法缓存,并且会从将 Google 位置(外部应用负载均衡器运行的位置)连接到后端的全球骨干网中获益。 |
传送敏感工作负载,例如健康数据或其他特定于用户的数据。 | 请勿使用 Cloud CDN 或 Media CDN 来传送敏感工作负载或特定于用户的数据。 |
CDN 产品使用入门
如需开始使用 CDN 产品,请参阅以下页面:
支持的 CDN 功能
下表汇总了 Cloud CDN 和 Media CDN 的特性。
源站和后端支持
特征 | Cloud CDN | 媒体 CDN |
---|---|---|
Cloud Storage 存储桶,包括冗余 Multi-Regional Storage | ✓ | ✓ |
Compute Engine 虚拟机 (VM) 实例 | ✓ | ✓ |
Google Kubernetes Engine (GKE) 容器实例 | ✓ | ✓ |
外部后端(自定义源站)- 本地、多云 | ✓ 信息 | ✓ |
App Engine、Cloud Run functions 或 Cloud Run 服务 | ✓ | ✓ |
来源故障切换 | ✓ 信息 | |
可配置超时 | ✓ 信息 | ✓ 信息 |
缓存
特征 | Cloud CDN | 媒体 CDN |
---|---|---|
请求折叠(合并) | ✓ 信息 | ✓ 信息 |
来源防护 | ✓ 信息 | |
自定义缓存键 | ✓ 信息 | ✓ 信息 |
可配置的缓存替换项 | ✓ 信息 | ✓ 信息 |
编程式缓存失效操作 | ✓ 信息 | ✓ 信息 |
使用缓存标记进行编程式缓存失效 | ✓ 信息 | |
标准 Cache-Control 指令 |
✓ 信息 | ✓ 信息 |
可配置的 TTL | ✓ 信息 | ✓ 信息 |
负缓存 | ✓ 信息 | ✓ 信息 |
异步内容验证 | ✓ 信息 | |
绕过缓存 | ✓ 信息 | ✓ 信息 |
针对每个源站的缓存政策 | ✓ 信息 | ✓ 信息 |
针对每个路由的缓存政策 | ✓ 信息 |
路由匹配和源站选择
特征 | Cloud CDN | 媒体 CDN |
---|---|---|
基于主机和基于路径的后端选择 | ✓ 信息 | ✓ 信息 |
网址重定向 | ✓ 信息 | ✓ 信息 |
网址重写 | ✓ 信息 | ✓ 信息 |
标头和查询参数匹配 | ✓ 信息 | ✓ 信息 |
模式(通配符)匹配 | ✓ 信息 | ✓ 信息 |
动态标头注入 - 客户端地理位置、缓存状态、TLS 版本 | ✓ 信息 | ✓ 信息 |
内置跨域资源共享 (CORS) 政策 | ✓ 信息 |
支持的协议
特征 | Cloud CDN | 媒体 CDN |
---|---|---|
全球任播 - IPv4 和 IPv6 | ✓ | ✓ |
HTTP/3,基于 IETF QUIC | ✓ | ✓ |
HTTP/2 | ✓ | ✓ |
HTTP/1.1 | ✓ | ✓ |
传输层安全协议 (TLS) 1.3 | ✓ | ✓ |
传输层安全协议 (TLS) 1.2 | ✓ | ✓ |
TLS 1.0 和 1.1 对旧版设备的支持 | ✓ |
日志记录和监控
特征 | Cloud CDN | 媒体 CDN |
---|---|---|
详细的请求日志 | ✓ 信息 | ✓ 信息 |
近乎实时的日志传送 | ✓ | ✓ 信息 |
缓存命中率报告 | ✓ | ✓ |
请求和响应指标 | ✓ | ✓ |
导出到 Cloud Storage、BigQuery 或外部工具 | ✓ | ✓ |
针对受支持商品的提醒 | ✓ | ✓ |
Automation 和 API
特征 | Cloud CDN | 媒体 CDN |
---|---|---|
REST API | ✓ 信息 | ✓ 信息 |
Google Cloud 控制台 | ✓ | ✓ |
Google Cloud CLI | ✓ 信息 | ✓ 信息 |
Terraform 支持 | ✓ 信息 | ✓ 信息 |
安全
特征 | Cloud CDN | 媒体 CDN |
---|---|---|
代管式 SSL (TLS) 证书 | ✓ | ✓ 信息 |
代管式 SSL (TLS) 证书,无额外费用 | ✓ 信息 | |
自带 SSL (TLS) 证书,无额外费用 | ✓ 信息 | |
可自定义的 SSL 政策 - 版本、加密方式 | ✓ 信息 | ✓ 信息 |
静态加密 | ✓ | ✓ |
审核日志记录 | ✓ 信息 | ✓ 信息 |
Google Cloud Armor 支持 | ✓ 信息 | ✓ 信息 |
Identity and Access Management | ✓ 信息 | ✓ 信息 |
可扩展性
功能 | Cloud CDN | 媒体 CDN |
---|---|---|
使用 Service Extensions 插件的自定义代码 | ✓信息(预览版) |
内容身份验证
特征 | Cloud CDN | 媒体 CDN |
---|---|---|
签名网址 | ✓ 信息 | ✓ 信息 |
签名 Cookie | ✓ 信息 | ✓ 信息 |
签名令牌 | ✓ 信息 | |
双令牌身份验证 | ✓ 信息 | |
专用源站身份验证 | ✓ 信息 | ✓ 信息 |
支持签名请求中的标头和 IP 属性 | ✓ 信息 | |
支持签名请求中的 HMAC-SHA1 | ✓ | ✓ |
支持签名请求中的 Ed25519 和 HMAC-SHA-256 | ✓ |
法规遵从
合规性标准 | Cloud CDN | 媒体 CDN |
---|---|---|
HIPAA | ✓ | |
PCI-DSS | ✓ | ✓ |
SOC1、SOC2、SOC3 | ✓ | ✓ |
ISO 27001、ISO 27017、ISO 27018、ISO 27701 | ✓ | ✓ |
FedRAMP 中等风险级别 | ✓ |
这两种产品之间的转换
如果您已经部署了包含 CDN 引导和切换产品的多 CDN 环境,则可以使用 DNS 在这些 CDN 之间切换,或将其中一个 CDN 配置为额外的 CDN。
Cloud DNS 服务器政策可用作在 CDN 之间路由流量或从一个 CDN 转换到另一个 CDN 的方案。
使用多 CDN 策略
为了优化性能并降低费用,您可以通过实施多 CDN 部署策略将 Cloud CDN 和媒体 CDN 搭配使用或与其他 CDN 搭配使用。
在多 CDN 策略中,您的内容由多个 CDN 提供商托管,这可帮助您按区域和不同提供商提供的 CDN 功能来优化 CDN 服务。如果您托管高流量事件并且需要将流量分配给多个提供商,则这些策略也非常有用。如果某个提供商发生服务间断,您可以将流量快速转移到其他 CDN 提供商。
多 CDN 部署策略的一个示例是具有主 CDN 和辅助 CDN 的 CDN 部署。主 CDN 传送大部分流量,辅助 CDN 传送小部分流量。如果主 CDN 发生问题,作为故障切换策略,用户可以将流量定向到辅助 CDN 并开始传送流量,而无需像常规那样等待缓存预热。
首先,请使用 DNS 服务器政策或类似的流量重定向服务将流量路由到每个 CDN 或将现有流量的一部分拆分到新的 CDN。