Cloudfront TTL:将最大TTL设置为0以获得DDOS保护优势

时间:2018-05-03 18:39:47

标签: amazon-ec2 amazon-cloudfront httpserver ddos

我一直在阅读Cloudfront文档,我想确保我的计划合理。我有一个后端API,结构为EC2 HTTP服务器,经常更新内容(每秒几次更改)。这是我的理解:

  • 我不应该将此HTTP服务器直接暴露给客户端,因为这会使EC2服务器容易受到DDOS攻击
  • 使用CloudFront边缘位置创建间接层有助于防御DDOS,因为AWS可以在网络外部而不是在我的EC2实例周围部署防火墙
  • 通过设置Maximum TTL = 0,我确保Cloudfront只是一个间接层,并且不会尝试进行任何实际缓存,以便用户始终获取最新信息。

这些假设是否正确/我的计划听起来合理吗?从在线阅读看来,这是对Cloudfront的非标准使用。

1 个答案:

答案 0 :(得分:1)

这是一个非常合理的计划。

它不是AWS销售CloudFront(作为CDN)的主要用例,但很难说这种做法不在产品的设计范围内。

  

Amazon CloudFront接受短至0秒的到期时间(在这种情况下,Amazon CloudFront将重新验证具有来源的每个查看者请求)。 Amazon CloudFront还尊重特殊的缓存控制指令,如私有,无商店等;这些在提供可能未在边缘缓存的动态内容时通常很有用。

     

https://aws.amazon.com/cloudfront/dynamic-content/

当然,如果有足够的流量,那么某些级别仍然足以让您的服务器过载,但是,是的,这是一个可靠的策略。

引擎盖,API网关边缘优化端点和S3传输加速功能都使用CloudFront完全禁用缓存。在这两种情况下,您都无法在控制台中看到与这些服务相关的CloudFront发行版,但这就是它们的工作方式。