amazon-web-services - Cloudfront 限制特定区域

标签 amazon-web-services amazon-cloudfront

我有一个仅在印度使用的应用程序。我正在使用 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 仅将文件存储在单个边缘位置。最接近的功能是使用价格等级

来自Amazon CloudFront pricing :

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

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

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

关于amazon-web-services - Cloudfront 限制特定区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31697581/

相关文章:

amazon-web-services - Cloudfront 的 Cloudformation S3 存储桶主体

javascript - AWS IoT private.pem.key 不存在

amazon-web-services - 获取 DynamoDB/AWS 生态系统中的热门帖子

java - zip文件太大aws lambda java gradle

ssl - 上传后 UI 中未显示 CloudFront SSL 证书

amazon-web-services - 什么可能导致 Lambda Edge 中出现 "KeyError: ' Records 的“”?

aws-lambda - Django Zappa 生成的 cloudfront 生成 403 错误

amazon-web-services - AWSEBCLI没有这样的文件或目录

amazon-web-services - 如何在有指标数据之前创建 cloudwatch 警报?

amazon-web-services - ACM 请求的公共(public) SSL 证书未出现在 CloudFront 中