我正在尝试使用 Amazon Cloudfront 作为 CDN 提供商,但不确定其他服务是什么。
我是否必须使用 S3 和 EC2 作为虚拟服务器来托管我的文件并更改托管服务提供商才能使用 Cloudfront?
我知道 EC2 是一种托管解决方案,但是 S3 到底是什么?
此外,将 Cloudfront 与 S3 以及潜在的 EC3 进行集成是否会涉及复杂性?
答案1
您将文件存储在 s3 中,然后在 cloudfront 中启用包含所有文件的 s3 存储桶。您仍然可以通过 s3 访问所有文件,并且这些文件会自动分发到 amazon 的 cloudfront 位置。当您从 s3 中删除某人时,该人不会立即在 cloudfront 上被删除,可能需要几分钟。
ec2 只是一个虚拟专用服务器,您可以根据需要启动它。
答案2
我是否必须使用 S3 和 EC2 作为虚拟服务器来托管我的文件并更改托管服务提供商才能使用 Cloudfront?
不您不必使用 S3 和/或 EC2。
CloudFront 确实需要 ORIGIN。这可能是 EC2、S3 Bucket 或与 AWS 无关的其他服务器。
我知道 EC2 是一种托管解决方案,但是 S3 到底是什么?
EC2 为您提供计算能力。它是一个虚拟服务器。
您可以将 S3 视为 FTP 服务。S3 允许您存储文件, 和检索文件非常容易,并且不需要服务器。
可能会更便宜然后运行虚拟服务器来提供文件服务,它是可扩展的(无需配置)。它也是可靠的因为你的文件存储在多个地点为你。
除了能够存储和检索文件之外,Amazon 还允许您通过 HTTP 托管静态文件。例如:如果您有一个简单的 HTML 网站,其中包含一些 JS/CSS 和图像……您可以将它们全部上传到 S3,并要求 Amazon 为您托管这些文件(无需 Web 服务器!)。
您需要支付文件存储和带宽费用...但价格通常比设置一个网络服务器来执行相同的工作要便宜得多。
此外,将 Cloudfront 与 S3 以及潜在的 EC3 进行集成是否会涉及任何复杂性?
CloudFront 存在一些问题,但设置起来并不太难。
当您设置新的 CloudFront 分发时,系统会要求您提供源。您可以选择 S3 Bucket 或服务器位置(例如,托管文件的 www.domain.com,可能由某些 EC2 提供支持,也可能是 GoDaddy 上的共享托管,这无关紧要!)。
需要注意以下几点:
- 你需要获得权限没错,特别是在 S3 存储桶上。CloudFront 需要能够访问这些文件。
- CloudFront 是一个 CDN,因此它将缓存文件。如果您更改了文件,CloudFront 可能不会立即知道为您更新它。您可能需要手动清除相关文件,或者您可能需要通过 URL 中的参数启用缓存清除,以便“file.css?v=1”不同于“file.css?v=2”。