Cloudfront 限制特定区域

Vis*_*ath 2 amazon-web-services amazon-cloudfront

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

考虑到所有这些,我只需要使 index.html 无效,它负责使用版本化的其他资产。

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

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

Joh*_*ein 6

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

例如:

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

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

来自Amazon CloudFront 定价

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

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

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