自定义源站概览

如果内容托管在本地或其他云中,并且您希望通过 Google 的高性能分布式边缘缓存基础架构传送内容,那么可以为 Cloud CDN(内容分发网络)使用自定义源站。

“自定义源站”、“外部端点”和“互联网端点”这几个术语经常交替使用,因为它们的含义相同。在 CDN 中,“源站”是一个行业标准术语,用于表示提供 Web 内容的后端实例。 本文档使用“自定义源站”一词。

Cloud CDN 支持的源站

Cloud CDN 与 HTTP(S) 负载平衡搭配使用,为您的用户分发内容。外部 HTTP(S) 负载平衡器提供接收请求的前端 IP 地址和端口。Cloud CDN 内容可以来自各种类型的后端:

互联网 NEG 也称为自定义源站。互联网 NEG 可以是在本地基础架构中托管的源站,也可以是第三方提供商提供的源站。以下各部分将更详细地讨论互联网 NEG。

混合和多云端架构

在将服务迁移到 Google Cloud 时,您可能需要分阶段完成此任务。有时,某些内容无法立即迁移到云环境,可能需要留在本地。在其他一些情况下,内容可能托管在另一个云平台中。借助 Cloud CDN 对自定义源站的支持,您就可以为这些内容使用 Google 分布在全球各地的边缘缓存基础架构

混合和多云端架构
混合和多云端架构

在此示意图中,images 内容位于 Google Cloud 中,而 video 位于东京数据中心,该数据中心可能属于本地环境,也可能托管在另一个云平台中。使用自定义源站时,东京数据中心内的源站可以是 video 内容的后端来源,通过 Cloud CDN 和 HTTP(S) 负载平衡将这些内容分发给用户。

使用网址映射,此部署可将视频流量的源站拉取请求定向到东京的自定义源站。此映射是根据请求网址 /video 确定的。

对于图片(根据请求网址 /images 确定),内容将来自 Google Cloud 并由 Cloud CDN 边缘基础架构分发。

指定自定义源站

与使用部署在 Google Cloud 中的端点配置 Cloud CDN 相似,您可以使用网络端点组 (NEG) API 将您的服务器添加为 Cloud CDN 的自定义源站。

要指定自定义源站,请使用互联网 NEG。互联网 NEG 具有下表所示的端点类型之一。

端点地址 类型 定义 使用时间
主机名和可选端口 INTERNET_FQDN_PORT 可公开解析的完全限定域名 (FQDN) 和一个可选端口,例如 backend.example.com:443(默认端口 80 用于 HTTP,443 用于 HTTPS) 如果您的外部源站可以通过使用公共 DNS 的 FQDN 进行解析,请使用此端点。
IP 地址和可选端口 INTERNET_IP_PORT 可公开访问的 IP 地址和可选端口,例如 8.8.8.88.8.8.8:443(默认端口 80 用于 HTTP,443 用于 HTTPS) 使用此端点来指定可公开访问的 IP 地址和要连接的端口。

最佳做法是使用 INTERNET_FQDN_PORT 端点类型和一个 FQDN 值作为源站主机名值来创建互联网 NEG。这样可将 Cloud CDN 配置与源站基础架构中的 IP 地址更改隔离开来。使用 FQDN 定义的网络端点通过公共 DNS 进行解析。确保所配置的 FQDN 可通过 Google 公共 DNS 进行解析。

创建互联网 NEG 后,类型就无法再在 INTERNET_FQDN_PORTINTERNET_IP_PORT 之间更改。如需更改类型,您需要创建新的互联网 NEG,并将后端服务改为使用新的互联网 NEG。

如果使用的自定义源站需要特定值作为 HTTP 请求的 Host 标头,您就必须配置后端服务以将 Host 标头设置为该预期值。如果您没有配置用户定义的请求标头,则后端服务会保留客户端用于连接到 Google Cloud 外部 HTTP(S) 负载平衡器的 Host 标头。如需了解用户定义的请求标头的一般信息,请参阅创建用户定义的请求标头。如需获取具体示例,请参阅使用外部源站设置 Cloud CDN

要让 Cloud CDN 缓存来自您的源站的响应,您的源站必须满足现有 Cloud CDN 对缓存的要求,例如在对 Cloud CDN 和外部 HTTP(S) 负载平衡器的响应中设置有效的 Cache-Control 标头。

使用自定义源站和基于 Google Cloud 的源站

下图展示了用于通过 HTTP(S) 负载平衡和 Cloud CDN 部署自定义源站的互联网 NEG。

Cloud CDN 与自定义源站和 NEG
Cloud CDN 与自定义源站和 NEG

后续步骤