【问题标题】:Difference between Amazon S3 cross region replication and CloudfrontAmazon S3 跨区域复制和 Cloudfront 之间的区别
【发布时间】:2016-02-23 14:49:18
【问题描述】:

阅读了一些 AWS 文档后,我想知道如果我想在亚洲(包括中国)、美国和欧洲交付(js、css、图像和 api 请求)内容,这些不同的用例之间有什么区别。

  1. 将我的图像和静态文件存储在 S3 美国区域并设置欧洲和亚洲(日本或新加坡)跨区域复制以与美国区域 S3 同步。

  2. 将我的图像和静态文件存储在 S3 美国区域并设置 Cloudfront CDN 以在初始请求后将我的内容缓存在不同的位置。

  3. 以上都做(如果有显着的性能提升)。

如果我需要实现全球部署,什么是最具成本效益的解决方案?以及如何使来自中国的请求保持一致和稳定(我尝试过cloudfront+s3(us-west),速度很快但性能不一致)?

附言。在早期,我不希望有太多的用户请求,但用户遍布全球,我希望他们有类似的体验。我的大部分内容是全景图像,我希望在每次访问中依次加载约 30MB(10 张高分辨率图像)数据。

【问题讨论】:

  • Cloudfront 的性能随着流量的增加而更加一致,因为对象已经被缓存在特定边缘的可能性增加了。

标签: amazon-web-services amazon-s3 amazon-cloudfront


【解决方案1】:

跨区域复制会将一个区域的存储桶中的所有内容复制到另一个区域的不同存储桶中。这实际上仅用于额外备份/冗余,以防整个 AWS 区域出现故障。它与性能无关。请注意,它会复制到不同的存储桶,因此您需要使用不同的 URL 来访问每个存储桶中的文件。

CloudFront 是一个内容交付网络。 S3 只是一个文件存储服务。直接从 S3 提供文件可能会出现性能问题,这就是为什么在 S3 前面放置一个 CDN 是个好主意。听起来您肯定需要 CDN,听起来您已经测试过 CloudFront 并且不为所动。听起来您还需要一个在中国拥有更大影响力的 CDN。

您没有理由仅仅因为您使用其他 AWS 服务而选择 CloudFront 作为您的 CDN。你应该看看其他 CDN 服务,看看他们的边缘网络是什么样的。鉴于您的要求,我强烈建议您查看CloudFlare。他们在中国有不少edge network locations

另一种选择可能是使用可以实际将文件推送到的 CDN。我过去曾在MaxCDN 中使用过此功能。您可以通过 FTP 将文件推送到 CDN,这些文件将自动推送到所有边缘网络位置并缓存,直到您推送更新。对于大图像下载的用例,这可能会提供更高性能的缓存机制。不过 MaxCDN 在中国的业务似乎并不大,而且带宽费用会比 CloudFlare 贵。

【讨论】:

  • 但是说如果用户尝试在美国访问相同的图像,S3 EU 的速度应该比 S3 US 慢?
  • 是的,但这是您在美国和欧盟都使用具有边缘网络位置的 CDN 的原因之一。跨区域复制在这种情况下无济于事,除非您能够以某种方式获取用户的地理位置并为您的美国或欧盟存储桶创建不同的 URL。
  • 谢谢!但不是说真正的 Route 53 可以用来根据地理位置分发对应的 URL 吗?
  • S3 将仅响应与存储桶名称匹配的域名的请求,因此您必须更改浏览器请求的 URL。 Route53 地理位置只是更改浏览器为特定 URL 获取的 IP 地址。更重要的是,S3 没有速度保证,你经常会看到它的性能很慢。如果您关心快速提供文件,则需要使用为此目的而构建的 CDN。
【解决方案2】:

如果您想将 S3 存储桶中的文件提供给世界各地,那么我相信您可以考虑使用 S3 传输加速。它可用于您从 S3 存储桶上传或下载的情况。或者你也可以试试 AWS Global Accelerator

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-02
    • 1970-01-01
    • 1970-01-01
    • 2017-07-19
    • 2021-01-24
    • 2017-02-04
    • 1970-01-01
    • 2014-11-01
    相关资源
    最近更新 更多