亚马逊云端和403成本

时间:2017-12-05 13:11:20

标签: amazon-cloudfront

我们在cloudfront中托管一些脚本和内容。这些可以作为其网站的一部分由不同的消费者公开访问。当脚本不再具有相关性时,我们使文件/内容无效并且不再可用。在其页面上使用脚本/内容的人员会收到通知,但我们无法强制他们删除现在提供403状态代码的脚本/内容。如何避免或降低这笔费用?

1 个答案:

答案 0 :(得分:1)

这是一个策略。

假设您的域名是example.com。

使用备用域名*.example.com创建CloudFront分配。

对于每个网站,脚本或网站+脚本组合,分配一个自定义"虚拟"主机名 - 例如jozxyqkrd52169.example.com。只将其提供给一个网站。

在Route 53中,仅维护您当前认为有效的主机名的DNS条目。不再需要输入时删除它们。这可以自动化。

从技术上讲,CloudFront会响应任何*.example.com主机名,但没有指向那里的DNS记录,没有请求到达您不使用的主机名。

您将为Route 53付费以处理已删除条目的主机名查询,但这只是CloudFronr和S3请求定价成本的一小部分。

或者,不是为Route 53配置您想要使用的记录,而是可以为其配置指向CloudFront的通配符记录,然后为要阻止的主机名创建特定条目。指向目标名称的CNAME记录(例如invalid.invalid.invalid是实际保留用于表示记录实际上无效的顶级域名)应该可用于覆盖特定的子域和阻止对这些名称的请求命中CloudFront。

请注意,只要您不配置CloudFront缓存行为以将Host标头转发到源,就可以在单个分发中回答多个主机名,foo.example.com/cat.js和{{ 1}}将被视为同一个对象,因此这样的多个主机名不应对缓存命中率产生负面影响。