如何使用 Cloudflare 在 GCP 和 AWS 之间平衡站点?

了解如何使用 Cloudflare 负载均衡器 (LB) 在​​ AWS(亚马逊网络服务)和 GCP(谷歌云平台)之间分配流量。

大多数 Web 应用程序需要或在同一数据中心的服务器/服务之间进行负载平衡。

但是,如果您正在运行需要在全球范围内始终保持正常运行的任务关键型应用程序,那么您需要一个云负载均衡器。

不仅仅是正常运行时间,还有许多其他因素。

前任:

  • 主动-被动或主动-主动数据中心要求
  • 灾难恢复计划
  • 利用多个数据中心来处理来自最近位置的请求
  • 遵守

Cloudflare 提供本地和全局负载平衡选项,有助于将流量路由到多个数据中心。

Cloudflare LB 的一些功能包括:

  • 健康检查是内置的,因此您可以快速关闭有故障的服务器。
  • 健康检查失败时触发故障转移
  • 通过将流量路由到最近的服务器来减少延迟
  • DNS 级别并支持 HTTP(S)、TCP 和 UDP
  • 会话粘性以确保请求到达同一服务器

您可以通过 Cloudflare 仪表板或 API 配置所有内容。

从技术上讲,以下说明适用于 Azure 等任何云平台上的负载平衡, 数字海洋,阿里巴巴等。但我选择了 GCP 和 AWS 进行演示。

AWS 和 GCP 设置详细信息

我在 GCP 和 AWS 平台中预置了一台服务器,其中包含以下内容。

  • 安装 Nginx
  • 添加了带有自定义文本的 index.html 以显示页面是从相应的服务器提供的
  • 启动Nginx,页面可以从两台服务器访问

让我们转移到 Cloudflare 来实现 LB。

激活 Cloudflare 负载均衡器

我有一个可用的域 (bloggerflare.com),我将在本实验中使用它。

注意:Cloudflare 的负载均衡器不是免费的,并且 价钱 每月 5 美元起。

  如何解锁华为调制解调器

我假设您已经拥有 Cloudflare 帐户; 如果没有,您可以创建和添加域,正如我在上一篇文章中解释的那样。

  • 登录 Cloudflare 并选择要启用平衡的域
  • 转到流量选项卡并启用负载平衡。

  • 根据需求配置功能。 我正在进行最小配置。

如果您希望将请求重定向到最近的位置,那么您必须启用地理路由。

  • 确认订阅并启用它。

如您所见,您可以从每月 5 美元开始使用两台源服务器和一分钟的健康检查间隔。

基础设施现在非常实惠。 5 年前,你能想象 5 美元的云负载均衡器吗?

这表明 Cloudflare LB 已激活并准备好进行配置。

创建 Cloudflare LB

确认订阅并带您返回“流量”页面需要几秒钟。

  • 单击创建负载均衡器

  • 输入要设置平衡的域。
  • 如果您需要启用会话粘性,请展开 Session Affinity 并选择 By Cloudflare Cookie

  • 输入池名称,它是源(应将流量重定向到的服务器)

  • 接下来,您可以配置健康检查。

健康检查是必不可少的。 当运行状况检查失败时,Cloudflare 将停止向故障源发送流量。

  • 如果您的源正在侦听端口 80,那么您可以为 443 端口选择 HTTP 或 https。

Cloudflare 还允许您配置高级运行状况检查设置,例如:

  • GET 或 HEAD 方法
  • 预期的 HTTP 状态代码
  • 响应正文中的内容验证
  • 他们认为健康或不健康之前的尝试次数
  • 标头名称验证

最后,保存配置并部署

  • LB 将执行健康检查,几秒钟后,您将看到状态为健康。

太好了,这表明 Cloudflare 负载均衡器已准备好接受来自世界各地的流量并将其转发到配置的源服务器。

测试负载均衡器

让我们执行一个基本测试,看看它是否有效。

  • 首先,尝试访问域。

惊人的!

LB 向 Google Cloud VM 转发了一个请求并得到了响应。 我可以在 Nginx 中看到请求。

162.158.167.174 - - [19/Dec/2017:10:25:41 +0000] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36"
  • 让我在 GCP 上关闭 Nginx 并再次访问该页面。
  通过HDMI连接时如何让电脑填满电视屏幕

  • 给你。 请求的页面由 AWS 提供。

我可以看到 LB 将 GCP 池成员关闭。

默认情况下,Cloudflare IP 将显示在 Nginx 访问日志中,如果您需要恢复客户端 IP,则可以查看本指南。

结论

实施 Cloudflare 负载均衡器非常简单,可以在 15 分钟内启动。 如果您正在寻找多个数据中心或源站服务器之间的高可用性,请尝试看看它是如何工作的。

喜欢阅读这篇文章吗? 与世界分享如何?