亚马逊 s3 或云端

Amazon s3 or cloudfront

我的网站流量大部分来自印度。据我所知,Cloudfront 从最近的数据中心传输数据。但与 s3 的 0.09 美元相比,它向印度传输数据的费用几乎翻了一番,为 0.17 美元。我可以将数据中心设置为 s3 中的某个亚洲国家/地区以便以几乎同样快的速度提供内容,还是我宁愿使用云端?

Amazon CloudFront 是一个内容分发网络,充当 Web 内容的缓存层。

创建 CloudFront 分配后,您会收到一个特殊的 URL,用于引用 CloudFront 上的流量。解析此 URL 后,AWS 将 return 指向最近的 CloudFront 接入点的 IP 地址。 "Closest" 实际上可能意味着 "least latency" 而不是地理位置最近,因为这为用户提供了最快的连接。

The data transfer cost for CloudFront 因提供流量的位置而异。请注意,这与数据 "origin" 的位置无关——您可能是 运行 美国以外的服务器,但 CloudFront 是根据流量的来源收费的,这接近于用户。因此,如果您更改原始数据的位置 ("Region"),CloudFront 不会更便宜。

如果您担心来自印度的高昂流量价格,您可以配置一个价格Class来限制流量服务的位置。

价格Class100:

  • 美国
  • 欧洲

价格Class200:

  • 美国
  • 欧洲
  • 香港、菲律宾、韩国、新加坡和台湾
  • 日本
  • 印度

价格Class全部:

  • 同上,加上:
  • 南美洲
  • 澳大利亚

因此,将您的 CloudFront 分配配置为价格 Class 100 会停止从印度提供服务的流量,从而导致从美国或欧洲提供服务。这对您的用户来说会更慢,但对您来说会更便宜。

参见:Amazon CloudFront pricing

在比较 Amazon CloudFront 与 Amazon S3 的价格时,S3 定价的数据传输部分与您使用的 S3 区域有关。例如,来自俄勒冈州 S3 的流量为 9 美分。这实际上比从俄勒冈州提供服务的 CloudFront 流量更贵,后者为 8.5 美分。此外,直接从 S3 提供流量不会缓存更靠近用户的内容,因此会有更高的延迟。

底线: 为您的用户提供来自 CloudFront 的缓存流量通常更便宜、更快捷。使用 价格 Classes 来限制从更昂贵的位置发送流量的费用。