为什么 Cloudflare LB 应该指向另一个 AWS/GC/etc. LB?

为什么 Cloudflare LB 应该指向另一个 AWS/GC/etc. LB?

在此处输入图片描述

我知道 Cloudflare 注重安全,但考虑到它也提供负载平衡,为什么我应该让它指向另一个负载平衡器(例如 AWS ELB)?

答案1

CloudFlare 拥有 CDN(内容分发网络)产品,可提供 DNS、安全和路由功能。他们还拥有负载平衡产品,与 AWS 的负载平衡器大致相似。

AWS ELB 是一个负载均衡器。ELB 支持可用区之间的故障转移,并与自动扩展集成。ELB 具有AWS Shield 基本版集成,提供一些安全功能,例如 DDOS 保护。

如果将 AWS WAF 考虑在内,ELB 和 CloudFlare 提供的功能类似。可以说 CloudFlare 更简单、更易于使用。您可以在 CDN 和负载均衡器之间混合搭配服务产品,不过我建议,如果您要平衡 EC2 资源,最好使用 AWS 负载均衡器。CloudFront + AWS WAF / CloudFlare 可以轻松互换。

您应该使用 ELB 来访问跨多个 AZ 的负载平衡,并使用自动扩展来管理您的负载。

答案2

Cloudflare LB 与 AWS ELB/NLB 类似,但它支持代理,从而增加了 SSL/TLS 支持、DDOS 保护和其他 Cloudflare 功能。ELB/NLB 支持 SSL/TLS,并增加了来自 AWS 证书管理器的证书(额外的配置步骤)和使用 AWS WAF 的 DDOS 保护(额外的配置步骤)。Cloudflare LB 也比 AWS ELB/NLB 便宜得多,尤其是考虑到基本月费时,Cloudflare 上 5 美元即可为您提供多个 LBS 及其各自的池和监视器,而 AWS 上仅建立 LB 就需要 18 美元以上。

虽然这一切听起来不错,但 Cloudflare 代理因在连接到 AWS 资源时造成麻烦而臭名昭著。例如,在启用代理的情况下将 Cloudflare LB 连接到 AWS EC2 实例不起作用,但在关闭代理的情况下,http 请求可以正常工作(没有代理,您会丢失 https)。我还没有看到关于为什么存在这种行为的解释或找到解决方法。

相关内容