对特定区域的Cloudfront限制

时间:2015-07-29 10:15:55

标签: amazon-web-services amazon-cloudfront

我有一个仅在印度使用的应用程序。我正在使用Cloudfront分发来提供资产。我已经实现了版本控制策略,用于更改为构建更改的资产的名称。

鉴于所有这些,我只需要使index.html失效,而index.html负责使用版本化的其他资产。

我正在使用cloudfront失效来使index.html无效。我观察到,使这个单个文件无效总是需要2分钟以上。我理解它,因为它在42个边缘位置使文件无效。我不需要在42边缘位置放置文件并使其无效。如果有任何配置只能将文件保存在印度的边缘位置,我想失效会更快。

是否有任何类似的配置限制在特定边缘位置复制文件。

2 个答案:

答案 0 :(得分:2)

Amazon CloudFront使用拉模型,因此文件仅在从缓存位置请求后才会缓存在位置。

例如:

  • Internet上的用户请求CloudFront分配中的文件(例如dxxx.cloudfront.net/index.html
  • 用户被引导到最近的边缘位置(例如Chennai)
  • 如果缓存不包含该文件的副本,则CloudFront从Origin(例如Amazon S3,Amazon EC2服务器或其他地方)获取文件。
  • 如果缓存DOES包含文件的副本,但它已超过到期日期,CloudFront将查询原点以确定自上次检索后文件是否已被修改。如果已修改,则会获取更新的文件。
  • 然后将该文件返回给用户。

无法指示CloudFront仅将文件存储在单个边缘位置。最接近的功能是使用价格等级

来自Amazon CloudFront pricing

  • 价格等级100:美国,欧洲
  • 价格等级200:美国,欧洲,香港,菲律宾,韩国,新加坡,台湾,日本,印度
  • 价格等级全部:美国,欧洲,香港,菲律宾,韩国,新加坡,台湾,日本,印度,南美洲,澳大利亚

这些价​​格等级可用于限制Amazon CloudFront服务内容的位置,以降低成本(例如,南美洲和澳大利亚的每GB数据传输成本最高)。

但是,它们不能用于指示CloudFront仅在一个位置存储内容,也不能用于加速失效过程。

答案 1 :(得分:0)

您可以基于请求标头和更精细的控制(即基于地理位置)来缓存内容。 Amazon CloudFront添加了其他地理位置标头,以实现更精细的地理位置定位。以前,您可以配置Amazon CloudFront在CloudFront发送到您的来源的请求标头中提供查看者的国家代码。新标题使您可以更精细地控制缓存行为,并可以根据查看者的IP地址访问查看者的国家/地区名称,地区,城市,邮政编码,纬度和经度。

这是描述此内容的链接-https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-cloudfront-headers.html#cloudfront-headers-viewer-location

您可以将这些附加的地理位置标头与现有的受支持的CloudFront标头一起使用,以个性化您交付给查看者的内容。