如何在Google Cloud上创建负载均衡器?
在Google Cloud平台(GCP)上创建一个HTTP(s)云负载均衡器
如果您在Google Cloud上托管应用程序并寻找更好的高可用性,则应尝试实现负载均衡器(LB)。
Google Cloud LB很聪明。它提供了比传统负载均衡器更多的功能。
- 启用HTTP/2
- 终止SSL握手
- 自定义SSL/TLS策略
- 将流量路由到最近的服务器
- 基于路径的路由
- 自动扩展
等等…
下面的内容中,我有两台服务器(一台在美国,另一台在英国)。让我们创建一个负载均衡器并将流量路由到这两台服务器。
由于Google提供自动扩展功能,您有多种选择,并可以根据业务需求进行选择。但是,在本文中,我将解释如何使用不支持自动扩展的非托管实例组创建负载均衡器。
创建实例组
所有服务器都应位于实例组中。因此,这是创建LB的先决条件。
- 登录到GCP Console
- 导航到Compute Engine >> 实例组
- 点击创建实例组
- 输入名称,选择区域为单个区域,选择服务器所在的区域,选择非托管实例组,从VM实例下拉菜单中选择服务器,然后点击创建
单个区域只能添加该区域的服务器。因为我在英国和美国都有服务器,所以我需要创建两个实例组。我将重复该过程以添加另一台服务器(server-uk)。
这样,这两个组就创建好了。
创建一个HTTP(s)负载均衡器
Google提供三种类型的负载均衡器。
- HTTP(s)
- TCP
- UDP
为了管理Web应用程序的流量分配,HTTP(s)是适合的。让我们创建一个HTTP(s)负载均衡器。
- 导航到网络服务 >> 负载均衡
- 点击创建负载均衡器
- 开始配置HTTP(s)负载均衡
- 输入LB名称
- 在后端配置选项卡上,选择下拉菜单并创建后端服务
- 输入名称,选择后端类型为实例组
- 添加两个实例组(server-us和server-uk)
- 调整端口号-服务器上的Web服务器或应用程序将侦听的端口号
- 在健康检查下,点击创建
- 输入名称,选择协议,端口
健康检查对于LB来说是必不可少的,以了解哪个实例已停机,因此它停止发送流量。下面,我指示LB每10秒命中端口80的服务器IP。如果一个服务器连续三次不响应,则LB将标记该实例为已停机。
- 点击保存并继续创建健康检查
- 在后端服务向导上点击创建
- 它将显示如下
在主机和路径规则选项卡上,确保选择了新创建的后端服务(在我的情况下是yaoweibinlab)
在前端配置选项卡上,输入名称并创建新的IP地址。
- 它将弹出一个对话框,用于预留一个新的静态IP地址。在那里给出名称,然后点击预留。
- 点击完成
注意:建议为您的LB获取静态IP,这样您就可以将其指向您的域名。
在审查选项卡上,确保一切正常,然后点击创建
它将花费几秒钟来创建,并且您应该在列表中看到它们。当您点击新创建的LB时,它将显示如下的详细信息。
正如您所看到的,两个实例都是健康的,LB在技术上是可操作的。
接下来,您需要更新您的域名A记录,将其指向负载均衡器的前端IP。完成后,当您访问您的域名时,它应该会命中负载均衡器并将流量分配到实例上。
我进行了一些测试,load test结果如下。
您可以看到来自欧洲的流量被路由到位于伦敦的最近服务器,而北美和亚洲的流量则被路由到美国服务器。好消息是,您无需为地理流量路由进行任何配置,它是默认功能。上述监控信息可在后端选项卡下查看。
结论
创建负载均衡器很容易,我希望这给您提供了一个思路。您可以根据应用程序要求进行许多配置,如会话亲和性、CDN integration、SSL证书等。如果您正在探索使用load balancer for your application的选项,那么可以尝试一下并看看它如何帮助您。
计费基于使用量,因此没有月度或年度锁定。我认为最低使用量每月大约需要18美元。如果您有兴趣了解Google Cloud管理知识,可以考虑taking this online course.