负载均衡器数据分析

本页面介绍了负载均衡器的网络分析器数据分析。如需了解所有数据分析类型,请参阅数据分析组和类型

在 Recommender API 中查看数据分析

如需在 gcloud CLI 或 Recommender API 中查看这些数据分析,请使用以下数据分析类型:

  • google.networkanalyzer.networkservices.loadBalancerInsight

您需要以下权限:

  • recommender.networkAnalyzerLoadBalancerInsights.list
  • recommender.networkAnalyzerLoadBalancerInsights.get

如需详细了解如何使用 Recommender API 获取网络分析器数据分析,请参阅使用 Recommender CLI 和 API

未配置健康检查防火墙

此数据分析表明负载均衡器未在使用的 VPC 网络上配置健康检查防火墙。数据分析包括以下信息:

  • 负载均衡器:负载均衡器的名称。
  • 转发规则:特定转发规则的名称。
  • 网络:在其中配置了负载均衡器的网络的名称。
  • 阻止防火墙:阻止健康检查 IP 地址范围的防火墙的名称。
  • 配置错误的后端:不包含用于健康检查 IP 地址范围的允许防火墙规则的负载均衡器的后端。

建议

配置健康检查防火墙规则,以明确允许健康检查 IP 地址范围访问负载均衡器后端。如需了解详情,请参阅负载均衡器的防火墙规则

健康检查 IP 地址范围被阻止

此数据分析表明,用户配置的防火墙规则屏蔽了健康检查 IP 地址范围。从数据分析详情中,您可以找到阻止健康检查地址范围的防火墙规则。

建议

如需确定负载均衡器类型的健康检查地址范围,请参阅负载均衡器的防火墙规则

  • 如果阻止防火墙规则具有更广泛的 IP 地址范围,请为健康检查 IP 地址范围创建优先级更高的允许规则。
  • 如果阻止防火墙规则的 IP 地址范围等于或小于健康检查 IP 地址范围,请移除阻止防火墙规则。

防火墙配置不一致

此数据分析表明,后端虚拟机之间的防火墙配置不一致。部分后端虚拟机允许健康检查 IP 地址范围,而在其他后端虚拟机上则拒绝。如果在某些后端虚拟机上错误地修改了网络标记或服务帐号,就会出现此问题。数据分析包括以下信息:

  • 负载均衡器:负载均衡器的名称
  • 转发规则:特定转发规则的名称
  • 网络:在其中配置了负载均衡器的网络的名称
  • 阻止防火墙:阻止健康检查范围的防火墙的名称
  • 部分允许防火墙:允许正确配置的后端虚拟机上的健康检查流量的防火墙的名称
  • 配置有误的后端:存在此问题的后端,其中健康检查 IP 地址范围的防火墙配置未正常工作

建议

通过将配置有误的后端虚拟机上配置的标记与部分允许防火墙规则上配置的标记进行比较,找到配置有误的标记。修改配置有误的后端虚拟机上的标记和服务账号,使其与工作后端虚拟机上的标记和服务账号相同。

健康检查 IP 地址范围遭部分阻止

此数据分析表明,所有后端已在健康检查范围内部分屏蔽流量。对于部分健康检查 IP 地址范围,允许健康检查流量,而对其他健康检查 IP 地址范围拒绝健康检查流量。该数据分析包含以下信息:

  • 负载均衡器:负载均衡器的名称
  • 转发规则:特定转发规则的名称
  • 网络:在其中配置了负载均衡器的网络的名称
  • 阻止防火墙:阻止健康检查范围的防火墙的名称
  • 部分允许防火墙:允许正确配置的后端虚拟机上的健康检查流量的防火墙的名称
  • 配置有误的后端:存在此问题的后端,其中健康检查范围的防火墙配置未正常工作
  • 已阻止的健康检查范围:健康检查流量遭到阻止的 IP 地址范围

建议

将部分允许防火墙规则的 IP 地址范围与负载均衡器类型的健康检查 IP 地址范围进行比较。如果缺少任何 IP 地址范围,请将其添加到允许防火墙规则中。如果数据分析持续存在,请确保部分允许防火墙规则的优先级高于拒绝防火墙规则的优先级。

后端服务均衡模式破坏会话亲和性

如果基于代理的负载均衡器的后端服务具有 NONE 以外的会话亲和性,并且具有一个或多个使用 UTILIZATION 均衡模式的实例组后端,则系统会触发此数据分析。如果流向负载均衡器的流量较低,会话亲和性可能会破坏。在负载均衡器中添加或移除后端时,如果后端数量更改,则负载均衡器还会丢弃部分会话,例如在健康检查失败或随后成功的情况下。丢弃的会话数与后端更改数量成正比。此类更改也会破坏这些会话的会话亲和性。

此数据分析包括以下信息:

  • 后端服务:受影响的后端服务。
  • 转发规则:将流量定向到此后端服务的转发规则。
  • 会话亲和性:后端服务使用的会话亲和性。
  • 受影响的后端:使用 UTILIZATION 均衡模式的后端。

建议

如需使用 NONE 以外的会话亲和性,您必须使用 RATECONNECTION 均衡模式。您只能使用 Google Cloud CLI 或 Compute Engine API 执行此操作,而不能使用 Google Cloud 控制台。

对于使用 HTTP、HTTPS 或 HTTP/2 协议的代理负载均衡器后端服务,请使用 gcloud compute backend-services update-backend 命令并选择速率均衡模式,将均衡模式切换到 RATE

以下代码示例展示了如何使用此命令将模式切换到 RATE

gcloud compute backend-services update-backend BACKEND_SERVICE_NAME \
    BACKEND_SERVICE_SCOPE \
    --instance-group=INSTANCE_GROUP_NAME \
    INSTANCE_GROUP_SCOPE \
    --balancing-mode=RATE \
    TARGET_CAPACITY

对于使用非 HTTP 协议(例如 TCP 或 SSL)的代理负载均衡器后端服务,请使用 gcloud compute backend-services update-backend 命令并选择连接均衡模式,将均衡模式切换到 CONNECTION

以下代码示例展示了如何使用此命令将模式切换到 CONNECTION

gcloud compute backend-services update-backend BACKEND_SERVICE_NAME \
    BACKEND_SERVICE_SCOPE \
    --instance-group=INSTANCE_GROUP_NAME \
    INSTANCE_GROUP_SCOPE \
    --balancing-mode=CONNECTION \
    TARGET_CAPACITY

在这两个示例中,替换以下内容:

  • BACKEND_SERVICE_NAME:后端服务的名称。
  • BACKEND_SERVICE_SCOPE:后端服务的范围。对于全球后端服务,请使用 --global。对于区域级后端服务,请使用 --region=REGION,并将 REGION 替换为区域。
  • INSTANCE_GROUP_NAME:后端实例组的名称。
  • INSTANCE_GROUP_SCOPE:实例组的位置。对于区域级代管式实例组,请使用 --region=REGION,并将 REGION 替换为区域。对于可用区级实例组,请使用 --zone=ZONE,并将 ZONE 替换为可用区。
  • TARGET_CAPACITY:目标速率或目标连接规范。对于速率均衡模式,请使用 --max-rate=--max-rate-per-instance= 标志,并参阅后端服务概览中的速率均衡模式。对于丢弃连接均衡模式,请使用 --max-connections=--max-connections-per-instance= 标志,并参阅后端服务概览中的连接均衡模式

后端服务对健康检查和流量使用不同的端口

负载均衡器会针对不同端口(而不是针对负载均衡器用于处理流量的已命名端口)上的某些后端执行健康检查。除非您有意将负载均衡器配置为使用不同端口,否则此配置可能会出现问题。

此数据分析包括以下信息:

  • 后端服务:受影响的后端服务。
  • 转发规则:将流量定向到后端服务的转发规则。
  • 服务端口名称:后端服务用于服务流量的端口名称。
  • 健康检查:后端服务使用的健康检查。
  • 健康检查端口号:健康检查使用的端口。
  • 受影响的后端:其中的服务端口与健康检查端口不同的实例组。

请参阅类别和端口规范

建议

通过使用服务端口规范配置健康检查,以便健康检查使用与后端服务相同的端口。以下代码示例展示了如何使用 Google Cloud CLI 命令更新健康检查以使用服务端口:

gcloud compute health-checks update PROTOCOL HEALTH_CHECK_NAME \
      HEALTH_CHECK_SCOPE \
      --use-serving-port

请替换以下内容:

  • PROTOCOL:健康检查使用的协议。
  • HEALTH_CHECK_NAME:健康检查的名称。
  • HEALTH_CHECK_SCOPE:健康检查的范围。对于全球性健康检查,请使用 --global。对于区域性健康检查,请使用 --region=REGION,并将 REGION 替换为相应区域。

SSL 证书未与负载均衡器关联

这表示您的项目具有 Google 管理的 SSL 证书,这些证书未与处理 SSL 或 HTTPS 流量的负载均衡器关联。在将证书附加到负载均衡器之前,无法使用 Google 管理的 SSL 证书。您可以在数据分析详情中查看未附加证书的列表。

建议

您可以在创建负载均衡器之前、期间或之后创建 Google 管理的 SSL 证书。要变为 ACTIVE 状态,Google 管理的 SSL 证书必须与负载均衡器(具体而言,即负载均衡器的目标代理)关联。

创建 SSL 证书并且其处于 PROVISIONING 状态后,您可以在创建负载均衡器期间使用该证书,也可以使用它来更新现有负载均衡器。如需详细了解 Google 管理的证书,请参阅对 Google 管理的 SSL 证书进行问题排查

与负载均衡器关联的 SSL 证书不会公开端口 443

这表示您的项目具有 Google 管理的 SSL 证书,这些证书无法正常运行,因为与其关联的转发规则不会公开端口 443。您可以在数据分析详情中查看这些证书的列表。

建议

创建或更新负载均衡器时,请使用端口 443 创建转发规则。