为附近的访问者运行我自己的 CDN 和 Amazon S3

为附近的访问者运行我自己的 CDN 和 Amazon S3

我在共享网络托管上运营博客。网站本身在托管上,但我的文件目前在 Amazon 的 S3 CDN 上。我在美国设置了一个锁定的存储桶,并使用我拥有的免费域名设置了一个虚拟主机。总结:

  • 在 mydomain.com 上运行博客
  • s3 上的文件,存储桶位于美国,虚拟主机 mybucket.cdnname.net

现在我自己位于欧洲的荷兰,这里就是我自己的网站托管服务器所在地。

我在速度测试中看到的是,从亚马逊获取文件需要一些时间,我想知道是否可以稍微优化一下。

--

所以如果可能的话我想做的是设置无 cookie 域在自己的服务器上,并在服务器上有我的文件的镜像。默认情况下,这些文件已经镜像,所以没有问题。现在对于附近的访问者,包括我自己,我只想获取本地存储的文件。

这可能吗?我如何告诉mybucket.cdnname.net不要从亚马逊获取文件,而是从本地获取文件。

答案1

根据您的描述,这是我的建议。

设置使用您的 S3 存储桶作为原始服务器的 Amazon CloudFront 分发 (CDN)。

http://aws.amazon.com/cloudfront/

您可以进行设置,以便您域中的主机名指向您的分发的 CloudFront CDN(例如,cdn.example.com),类似于您今天对 S3 存储桶执行的操作。

CloudFront 在阿姆斯特丹设有边缘站点,因此您的客户将获得出色的性能。此外,世界其他地区的客户也将受益于 CloudFront 的众多边缘站点:http://aws.amazon.com/cloudfront/#details

CloudFront 的网络传输成本与 S3 大致相同,但每次边缘位置必须查询 S3 存储桶以填充其缓存时也会产生一次性的网络传输成本。

相关内容