【问题标题】:Cloudfront TTL: Setting max TTL to 0 to just get DDOS protection benefitsCloudfront TTL:将最大 TTL 设置为 0 以获得 DDOS 保护优势
【发布时间】:2018-10-14 04:05:55
【问题描述】:

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

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

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

【问题讨论】:

    标签: amazon-ec2 amazon-cloudfront httpserver ddos


    【解决方案1】:

    这是一个完全合理的计划。

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

    Amazon CloudFront 接受短至 0 秒的到期期限(在这种情况下,Amazon CloudFront 将使用源重新验证每个查看器请求)。 Amazon CloudFront 还支持特殊的缓存控制指令,例如私有、无存储等;在交付可能未在边缘缓存的动态内容时,这些通常很有用。

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

    当然,如果有足够的流量,一定程度仍然足以使您的服务器超载,但是,是的,这是一个可靠的策略。

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

    【讨论】:

      猜你喜欢
      • 2017-09-23
      • 1970-01-01
      • 2012-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-06
      相关资源
      最近更新 更多