我有一个仅在印度使用的应用程序。我正在使用 Cloudfront 分发来提供 Assets 。我已经实现了版本控制策略,用于更改为构建而更改的 Assets 的名称。
考虑到所有这些,我只需使 index.html 无效,它负责使用版本化的其他 Assets 。
我正在使用 cloudfront 失效来使 index.html 失效。我观察到,使这个单个文件失效总是需要 2 分钟以上的时间。我理解它是因为它使 42 个边缘位置的文件无效。我不需要将文件放置在 42 边缘位置并使其失效。如果有任何配置仅将文件保留在印度的边缘位置,我想失效会更快。
是否有类似的配置来限制在特定边缘位置复制文件。
最佳答案
Amazon CloudFront 使用拉取模型,因此文件仅在从缓存位置请求后才会缓存在位置中。
例如:
- 互联网上的用户向您的 CloudFront 分配请求文件(例如
dxxx.cloudfront.net/index.html
) - 用户被引导至最近的边缘位置(例如金奈)
- 如果缓存不包含文件的副本,则 CloudFront 将从源(例如 Amazon S3、Amazon EC2 服务器或其他位置)获取文件
- 如果缓存确实包含文件的副本,但已超过过期日期,CloudFront 将查询源以确定自上次检索以来文件是否已被修改。如果已修改,则获取更新的文件。
- 然后文件会返回给用户。
无法指示 CloudFront 仅将文件存储在单个边缘位置。最接近的功能是使用价格等级。
- 价格等级 100:美国、欧洲
- 价格等级 200:美国、欧洲、香港、菲律宾、韩国、新加坡、台湾、日本、印度
- 所有价格等级:美国、欧洲、香港、菲律宾、韩国、新加坡、台湾、日本、印度、南美洲、澳大利亚
这些价格等级可用于限制 Amazon CloudFront 提供内容的位置,以降低成本(例如,南美洲和澳大利亚的每 GB 数据传输成本最高)。
但是,它们不能用于指示 CloudFront 仅将内容存储在一个位置,也不能用于加速失效过程。
关于amazon-web-services - Cloudfront 限制特定区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31697581/