我正在尝试设置一个 Google Cloud Storage 存储桶来存储和提供我网站的所有静态对象。我还尝试将该存储桶中的所有对象推送到 Google Cloud CDN 提供的所有全球边缘位置。
我在 Google Cloud Storage 上创建了一个存储桶:
cdn.mysite.com
。我为存储桶 location
设置选择了“美国”多区域。
我的假设是,存储在该存储桶中的任何对象都将被复制到所有
us-*
区域以实现高持久性目的,但不会出于 CDN 目的而推送到所有 Google Cloud CDN 全球边缘位置。
或者我的“美国”多区域存储桶中的所有对象是否已自动推送到所有 Google Cloud CDN 边缘位置?
我很惊讶我不知道我的存储桶是否已经是 CDN。即使经过两天的搜索(讽刺的是,谷歌)。
预先感谢您的帮助。
我见过的关于 Cloud Storage 边缘缓存与 Cloud CDN 的最佳讨论是在 Google Cloud Next '18 会议期间存储类、可靠性、性能和可扩展性的最佳实践。整个视频都很有用,但这里有指向内容分发主题的链接。
摘要中的一个要点是,边缘缓存为您提供了 CDN 的许多好处,但您仍然需要为数据出口付费。 Cloud CDN 为您提供缓存,这可以降低出口成本。他们还概述了其他一些选择。
2020 年 10 月 - 是 - 如果您相信 Google 的说法:
云存储本质上是一个内容交付网络。这 不需要任何特殊配置,因为默认情况下任何 公开可读的对象缓存在全局 Cloud Storage 中 网络。
https://cloud.google.com/appengine/docs/standard/java11/serving-static-files
Cloud Storage behaves like a Content Delivery Network (CDN) with no work on your part because publicly readable objects are cached in the Cloud Storage network by default.
Feature Cloud Storage Cloud CDN
Max cacheable file size 10 MiB 5 TiB
Default cache expiration 1 hour 1 hour (configurable)
Support custom domains over HTTPS No Yes
Cache invalidation No Yes
特别是,如果您向用户提供视频,它们可能会大于 10 MiB,并且不会被缓存。
另请注意,它仅对公共对象使用缓存。