Amazon Cloudfront,S3和EC2

我试图使用Amazon Cloudfront作为CDN提供商,但不确定其他服务的意图是什么。

是否必须使用S3和EC2作为虚拟服务器来托pipe我的文件并更改托pipe提供商才能使用Cloudfront?

我知道EC2是一个托pipe解决scheme,但S3到底是什么?

集成Cloudfront和S3以及潜在的EC3还有什么复杂性?

您将文件存储在s3中,然后在cloudfront中启用s3存储区,其中包含所有文件。 您仍然可以通过s3访问所有文件,并自动分发到亚马逊的云端位置。 当您从s3中删除某人时,它不会立即在云端删除,并可能需要几分钟的时间。

ec2只是一个虚拟的私人服务器,可以按需启动。

是否必须使用S3和EC2作为虚拟服务器来托pipe我的文件并更改托pipe提供商才能使用Cloudfront?

不,您不必使用S3和/或EC2。

CloudFront确实需要一个ORIGIN。 这可能是一个EC2,一个S3桶或另一个与AWS无关的服务器。

我知道EC2是一个托pipe解决scheme,但S3到底是什么?

EC2使您可以访问计算能力。 这是一个虚拟服务器。

您可以将S3视为FTP服务。 S3允许您存储文件 ,并轻松检索文件 ,而不需要服务器。

运行一个虚拟服务器只是为了提供文件可能会更便宜它是可扩展的 (不需要configuration)。 这也是可靠的,因为你的文件存储在多个位置

除了能够存储和检索文件之外,Amazon还允许您通过HTTP托pipe静态文件。 例如:如果你有一个简单的HTML网站,有一些JS / CSS和图像…你可以把它们全部上传到S3,并要求Amazon为你托pipe这些文件(不需要Web服务器!)。

你支付的文件存储和带宽…但价格往往要便宜很多,然后build立一个Web服务器做同样的工作。

集成Cloudfront和S3以及潜在的EC3还有什么复杂性?

CloudFront有几个问题,但安装起来并不困难。

当您设置新的CloudFront发行版时,系统会要求您提供原始地址。 你可以select一个S3 Bucket或者一个服务器位置(例如www.domain.com,你的文件被托pipe,也许这是由一些EC2提供的,也许它是在GoDaddy共享托pipe的,没关系!)。

有些事情要注意:

  • 您将需要获得权限 ,特别是在S3存储桶中。 CloudFront需要能够访问这些文件。
  • CloudFront是一个CDN,因此它将caching文件 。 如果您更改文件,CloudFront可能无法立即知道为您更新。 您可能需要手动清除有问题的文件,或者您可能需要通过URL中的参数启用caching清除function,以便“file.css?v = 1”与“file.css?v = 2”不同。