在 Google Cloud Platform 中创建 HTTP 负载平衡器
Creating a HTTP load balancer in Google Cloud Platform
GCP 中的 HTTP 负载平衡器有很多活动部件,例如全局转发规则、目标代理、URL 映射、后端服务和实例组。
因为我发现设置 HTTP 负载均衡器很困难,所以我写了下面的答案,汇总了在 GCP 中设置 HTTP 负载均衡器的步骤。
这个问题是另一个 question's answer 的一部分,它是关于构建一个自动缩放和负载平衡的后端。
首先,GCP 提供两种类型的负载均衡器,即网络负载均衡器和 HTTP(s) 负载均衡器。您可以找到 网络与 HTTP(s) 负载平衡器 之间的区别。从这一点开始,我将调用 HTTP 负载平衡器 作为 HLB(因为它太长了)。
这里是 HLB 的架构,取自 GCP:
正如您从上面的体系结构中看到的,设置 HLB 有很多活动部件。现在,我们将从实例模板、实例组到转发规则从后向构建它。
1.实例模板: 尽管设置 HLB 不需要实例模板,因为您甚至可以使用非托管实例组并将其附加到 HLB。我更喜欢有一个实例模板和托管实例组,这样也可以为同类实例组添加自动缩放功能。我已经编写了创建 实例模板 .
的步骤
Lets assume the instance template to be sample-template.
2。托管实例组: 请完成创建 托管实例组和自动缩放 的步骤。自动缩放和负载平衡彼此独立。两者都提供健康检查。从我的角度来看,为负载均衡器和自动缩放设置健康检查是多余的,我认为单独对负载均衡器进行健康检查会很好。
Lets assume the managed instance group to be autoscale-managed-instance group, which is autoscaled and created based on sample-template.
3。服务端点: 您需要指定 HLB 将使用的服务端点。 gcloud中设置服务端点的命令:
gcloud compute instance-groups managed \
set-named-ports \
autoscale-managed-instance group \
--named-ports http:80 \
--region asia-northeast1
以上命令在实例组中创建一个服务端点,帮助 HLB 与组中的同类实例进行通信。
4.健康检查: 这是必不可少的,以确保 HLB 仅将流量路由到健康的实例。创建健康检查的命令:
gcloud compute http-health-checks create sample-health-check
5.后端服务: 该服务将流量路由到所有后端实例,即实例组中的实例。它还关联实例的健康检查,并确保它仅将流量路由到健康的实例。创建后端服务的命令:
gcloud compute backend-services create \
sample-backend-service \
--http-health-checks sample-health-check
上述命令创建了一个后端服务并将其自身关联到上一步创建的健康检查。现在,通过运行以下命令将实例组添加到后端服务:
gcloud compute backend-services add-backend sample-backend-service \
--instance-group \
sample-managed-instance-group \
--balancing-mode RATE \
--max-rate-per-instance 100 \
--instance-group-region asia-northeast1
上述命令将实例组附加到后端服务,并使用 balancing-mode 标志根据请求数量分散负载。 max-rate-per-instance 由自动缩放器使用,如果您已根据负载均衡器利用率设置自动缩放器策略。
6. URL 映射: 创建一个 URL 映射,将 HTTP 请求 URL 映射到您的后端服务。创建URL地图的命令:
gcloud compute url-maps create sample-map \
--default-service sample-backend-service
当您选择基于内容的负载平衡器时,您需要在URL映射中添加许多条目,以便将请求路由到适当的后端服务。
7.目标 HTTP 代理: 此步骤将目标代理关联到 URL 映射。创建目标 HTTP 代理的命令:
gcloud compute target-http-proxies \
create sample-target-proxy \
--url-map sample-map
8.转发规则: 这是向 HLB 提供全局外部 IP 地址的最后一步。
gcloud compute forwarding-rules \
create sample-forward \
--global \
--ports 80 \
--target-http-proxy sample-target-proxy
现在,在浏览器中访问HLB的IP地址,给出了实例组中实例服务的网页。这最终设置了一个高度可扩展的 Web 应用程序,它是自动缩放和负载平衡的。
这是 3-part series 的 第 3 部分 关于构建自动缩放的负载平衡后端。
GCP 中的 HTTP 负载平衡器有很多活动部件,例如全局转发规则、目标代理、URL 映射、后端服务和实例组。
因为我发现设置 HTTP 负载均衡器很困难,所以我写了下面的答案,汇总了在 GCP 中设置 HTTP 负载均衡器的步骤。
这个问题是另一个 question's answer 的一部分,它是关于构建一个自动缩放和负载平衡的后端。
首先,GCP 提供两种类型的负载均衡器,即网络负载均衡器和 HTTP(s) 负载均衡器。您可以找到 网络与 HTTP(s) 负载平衡器
这里是 HLB 的架构,取自 GCP:
正如您从上面的体系结构中看到的,设置 HLB 有很多活动部件。现在,我们将从实例模板、实例组到转发规则从后向构建它。
1.实例模板: 尽管设置 HLB 不需要实例模板,因为您甚至可以使用非托管实例组并将其附加到 HLB。我更喜欢有一个实例模板和托管实例组,这样也可以为同类实例组添加自动缩放功能。我已经编写了创建 实例模板
Lets assume the instance template to be sample-template.
2。托管实例组: 请完成创建 托管实例组和自动缩放
Lets assume the managed instance group to be autoscale-managed-instance group, which is autoscaled and created based on sample-template.
3。服务端点: 您需要指定 HLB 将使用的服务端点。 gcloud中设置服务端点的命令:
gcloud compute instance-groups managed \
set-named-ports \
autoscale-managed-instance group \
--named-ports http:80 \
--region asia-northeast1
以上命令在实例组中创建一个服务端点,帮助 HLB 与组中的同类实例进行通信。
4.健康检查: 这是必不可少的,以确保 HLB 仅将流量路由到健康的实例。创建健康检查的命令:
gcloud compute http-health-checks create sample-health-check
5.后端服务: 该服务将流量路由到所有后端实例,即实例组中的实例。它还关联实例的健康检查,并确保它仅将流量路由到健康的实例。创建后端服务的命令:
gcloud compute backend-services create \
sample-backend-service \
--http-health-checks sample-health-check
上述命令创建了一个后端服务并将其自身关联到上一步创建的健康检查。现在,通过运行以下命令将实例组添加到后端服务:
gcloud compute backend-services add-backend sample-backend-service \
--instance-group \
sample-managed-instance-group \
--balancing-mode RATE \
--max-rate-per-instance 100 \
--instance-group-region asia-northeast1
上述命令将实例组附加到后端服务,并使用 balancing-mode 标志根据请求数量分散负载。 max-rate-per-instance 由自动缩放器使用,如果您已根据负载均衡器利用率设置自动缩放器策略。
6. URL 映射: 创建一个 URL 映射,将 HTTP 请求 URL 映射到您的后端服务。创建URL地图的命令:
gcloud compute url-maps create sample-map \
--default-service sample-backend-service
当您选择基于内容的负载平衡器时,您需要在URL映射中添加许多条目,以便将请求路由到适当的后端服务。
7.目标 HTTP 代理: 此步骤将目标代理关联到 URL 映射。创建目标 HTTP 代理的命令:
gcloud compute target-http-proxies \
create sample-target-proxy \
--url-map sample-map
8.转发规则: 这是向 HLB 提供全局外部 IP 地址的最后一步。
gcloud compute forwarding-rules \
create sample-forward \
--global \
--ports 80 \
--target-http-proxy sample-target-proxy
现在,在浏览器中访问HLB的IP地址,给出了实例组中实例服务的网页。这最终设置了一个高度可扩展的 Web 应用程序,它是自动缩放和负载平衡的。
这是 3-part series 的 第 3 部分 关于构建自动缩放的负载平衡后端。