如果内容托管在本地或其他云中,并且您希望通过 Google 的高性能分布式边缘缓存基础架构传送内容,则可以为 Cloud CDN(内容分发网络)使用外部后端(也称为自定义源站)。
术语
以下术语有时可以互换使用,因为它们的含义相同或相似:
- 外部后端:驻留在 Google Cloud 外部且可通过互联网访问的后端。互联网 NEG 中的端点。
- 自定义源站:与外部后端相同。在 CDN 中,“源站”是一个业界标准术语,用于表示传送 Web 内容的后端实例。
- 互联网网络端点组 (NEG):用于指定外部后端的 Google Cloud API 资源。
- 外部端点:与外部后端相同。
为了与负载均衡文档保持一致,本文档使用“外部后端”这一术语,但引用互联网 NEG API 资源时除外。
Cloud CDN 支持的后端类型
Cloud CDN 可以搭配 HTTP(S) 负载均衡来为用户分发内容。外部 HTTP(S) 负载均衡器提供接收请求的前端 IP 地址和端口。Cloud CDN 内容可以来自各种类型的后端:
- 实例组
- 可用区网络端点组 (NEG)
- 无服务器 NEG:一个或多个 App Engine、Cloud Run 或 Cloud Functions 服务
- 外部后端的互联网 NEG
- Cloud Storage 中的存储分区
外部后端可以托管在本地基础架构或第三方提供商提供的源站中。以下各部分将更详细地讨论外部后端。
混合和多云端架构
在将服务迁移到 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 (默认端口:对于 HTTP 为 80 ,对于 HTTPS 为 443 ) |
如果您的外部后端可以使用 FQDN 通过公共 DNS 进行解析,请使用此端点。 |
IP 地址和可选端口 | INTERNET_IP_PORT |
可公开访问的 IP 地址和可选端口,例如 192.0.2.8 或 192.0.2.8:443 (默认端口:对于 HTTP 为 80 ,对于 HTTPS 为 443 ) |
使用此端点来指定可公开访问的 IP 地址和要连接的端口。 |
最佳做法是使用 INTERNET_FQDN_PORT
端点类型和一个 FQDN 值作为源站主机名值来创建互联网 NEG。这样可将 Cloud CDN 配置与源站基础架构中的 IP 地址更改隔离开来。使用 FQDN 定义的网络端点通过公共 DNS 进行解析。确保所配置的 FQDN 可通过 Google 公共 DNS 进行解析。
创建互联网 NEG 后,类型就无法再在 INTERNET_FQDN_PORT
和 INTERNET_IP_PORT
之间更改。如需更改类型,您需要创建新的互联网 NEG,并将后端服务改为使用新的互联网 NEG。
如果使用的外部后端需要特定值作为 HTTP 请求的 Host
标头,则必须配置后端服务以将 Host
标头设置为该预期值。如果您没有配置用户定义的请求标头,则后端服务会保留客户端用于连接到 Google Cloud 外部 HTTP(S) 负载均衡器的 Host
标头。如需了解用户定义的请求标头的一般信息,请参阅创建用户定义的请求标头。如需查看具体示例,请参阅使用外部后端设置 Cloud CDN。
使用外部后端和基于 Google Cloud 的源站
下图展示了用于通过 HTTP(S) 负载均衡和 Cloud CDN 部署外部后端的互联网 NEG。
后续步骤
- 如需了解缓存的内容,请参阅缓存概览。
- 如需解决问题,请参阅排查外部后端和互联网 NEG 问题。