带有弹性负载均衡器的Cloudfront,无需caching以保证安全

我有一个ec2实例的域,实时访问(插入新的线索)远程数据库。 最近,AWSbuild议使用elb + cloud front进行安全。

可以通过实时访问(插入新的线索)在远程数据库上启用域名云端。

ELB和CloudFront都提供了一些安全性。 它们通过终止连接来阻止特定的第3层和第7层攻击,然后将其传递到服务器。 这包括DDOS和SlowLoris 。

CloudFront的优势在于它拥有遍布全球的节点和大量的带宽。 仅仅因为规模可以减轻很多DDOS攻击。 ELB也随着stream量而变化,但并不像CloudFront那样快,因为它必须启动或分配新的服务器。

AWS上的传入stream量是免费的。 这意味着他们吸收免费的攻击给你。

使用这些产品可以提高您的安全性。 你不需要使用两者。 我build议你现在只使用CloudWatch。

我只是为我的EC2服务器设置了CloudFront,这相当简单,但在https附近有几个gotachas。 广泛的步骤(包括HTTPS)是:

  • 使用AWS证书pipe理器为US-EAST-1地区的域(包括www子域)创build一个证书(必须是该地区)
  • 为您的来源设置一个新的子域名。 CloudFront需要这个。 例如,我使用origin.example.com并configurationNginx来响应该地址。
  • 使用该来源设置CloudFront,将您的域和子域作为替代。 仔细设置你的行为,考虑到什么应该和不应该被caching。 即使没有caching,您的网站可能会比通过互联网更快,因为一旦请求达到CloudFront,它就会通过私有优化的AWS骨干网,而不是公共互联网。 dynamic内容是好的,只需将TTL设置为0即可。
  • 理想情况下,设置路线53,使用别名logging指向CloudFront,将您的DNS转移,并将其更改为您的名称服务器

如果您想要进一步提高安全性,则可以使用AWS WAF 。 它与CloudFront集成。 它比大多数WAF便宜,但如果全面build立起来,你可能每月花费几十美元。 我个人不打扰,我的服务并不重要。

如果您想要更简单的选项,请使用CloudFlare 。 这不是AWS的一部分,但它设置起来非常简单,而且它们有一个免费的层。 我使用它为我的大多数网站。