Connectivity Tests 的常见用例

Connectivity Tests 用于评估流量是否可以在网络中的端点之间成功传输。它会通过分析网络配置并在特定情况下发送探测数据包来评估可达性。

本页面介绍了 6 类 Connectivity Tests 的常见用例:

  • 在 Virtual Private Cloud (VPC) 网络中进行测试,包括使用共享 VPC 和 VPC 网络对等互连的网络
  • 测试 Google 管理的服务(预览版
  • 从 VPC 网络到非 VPC 网络(例如本地数据中心)的测试
  • 从非 Google Cloud 网络到 VPC 网络的测试
  • 从非 Google Cloud 网络测试到其他非 Google Cloud 网络的测试
  • 测试 Google Cloud 负载平衡器

检测无效或不一致的配置介绍了如何处理这些场景。

从一个虚拟机 (VM) 实例到另一个虚拟机实例的测试用例描述了完整的端到端测试场景,包括 Google Cloud Console 中提供的测试结果。

有关如何运行测试的说明,请参阅运行连接测试

跟踪记录图表图例

本页面上的跟踪记录图表使用以下图例中描述的符号。

符号 名称 含义
数据包跟踪图表的图例:灰色菱形。
灰色菱形
检查点 Connectivity Tests 的决策点会检查配置,并确定是否应转发、递送或丢弃跟踪记录数据包。
数据包跟踪图表的图例:蓝色矩形。
蓝色矩形
跃点 跟踪记录数据包的转发路径中的一个步骤,表示将数据包转发到 VPC 网络中的下一个跃点的 Google Cloud 资源(例如,到 Cloud Load Balancing 代理或到 Cloud VPN 隧道)。
数据包跟踪图表的图例:橙色六边形。
橙色六边形
端点 跟踪记录数据包的来源或目标。

在 VPC 网络中进行测试

Connectivity Tests 的一个常见使用场景是在同一 VPC 网络或对等互连 VPC 网络中的两个 Compute Engine 虚拟机 (VM) 实例之间进行测试。对于此类测试,Connectivity Tests 会使用配置分析和动态验证来评估可达性。

如需分析配置,Connectivity Tests 会识别并评估跟踪记录路径。

下图显示了两个虚拟机实例之间的典型跟踪记录路径。Match routes 对象可以表示在单个 VPC 网络中或在两个对等 VPC 网络之间定向流量的路由。

从源虚拟机到目标虚拟机的跟踪记录。
从源虚拟机到目标虚拟机的跟踪记录

以下步骤描述了与跟踪图表中的每个点对应的检查点。在每个检查点,检查可能会失败。查询结果会显示每次失败的原因。如需查看测试状态和消息的完整列表,请参阅配置分析状态参考文档

  1. Connectivity Tests 会验证源虚拟机是否可以发送具有指定源 IP 地址(或者可以默认为主要内部 IP 地址)的出站流量数据包。如果不是,则该虚拟机必须启用 IP 转发。
  2. 当往返虚拟机实例的模拟数据包使用并非归该实例拥有的 IP 地址时,连接测试将执行仿冒检查。虚拟机拥有的 IP 地址包含所有虚拟机内部 IP 地址和次要 IP 地址。

    如果该地址似乎是来自外部流量的地址(也称为外部地址),则该 IP 地址无法通过仿冒检查。

  3. 为确定是否可以从来源发送跟踪记录数据包,Connectivity Tests 会验证相应的出站防火墙规则。在此过程中,Connectivity Tests 首先评估存在的任何分层防火墙政策规则。如需详细了解分层防火墙规则政策和 VPC 防火墙规则如何影响连接,请参阅分层防火墙政策示例
  4. Connectivity Tests 根据路由顺序查找(匹配)目标 IP 地址的路由。如果没有其他路由可用于目标虚拟机实例,则 Connectivity Tests 将使用将下一个跃点作为互联网网关的默认静态路由。所有 VPC 网络都使用此默认路由(除非您将其移除)。
  5. Connectivity Tests 可验证网站的入站流量防火墙规则是否允许数据包到达目标虚拟机。 同样,Connectivity Tests 首先评估存在的任何分层防火墙政策规则。
  6. 如果需要,Connectivity Tests 会对到达第二个虚拟机的数据包进行仿冒检查。
  7. Connectivity Tests 会验证目标虚拟机是否可以接收具有指定目标 IP 地址的数据包。如果此地址是外部 IP 地址,则目标虚拟机必须启用 IP 转发。外部 IP 地址是不属于虚拟机的地址。

控制台

Google Cloud Console 中的以下屏幕截图显示了虚拟机到虚拟机测试的结果。

配置分析显示结果数据包可递送(在 API 响应中,此标签对应于 Deliver 的最终状态)。

此结果表明,配置分析已验证了从源虚拟机到目标虚拟机的路径中每个 Google Cloud 资源的网络连接性。 在这种情况下,路由包括两条 VPC 防火墙规则:一条是隐式 VPC 防火墙规则(名为 default),一条是为此 VPC 网络创建的规则。

此外,Connectivity Tests 还可使用主动探测来动态验证目的地虚拟机是否可访问。最后一个数据包传输结果字段会显示此结果的详细信息。

用于虚拟机间跟踪记录的 Cloud Console 屏幕截图。
用于虚拟机间跟踪记录的 Cloud Console 屏幕截图

您可以展开跟踪记录路径中的每张卡片,以查看更多详细信息。

以下示例展示了入站流量防火墙规则的展开卡片。此卡片包含有关 VPC 网络、防火墙规则(允许)的已配置操作以及规则优先级的信息。

入站流量防火墙规则卡片已展开。
入站流量防火墙规则卡片已展开

当跟踪记录包含下一个跃点为对等 VPC 网络的 VPC 网络路由时,跟踪记录的起点不是虚拟机实例,而是 VPC 网络。由于您测试的 IP 地址来自网络范围而不是虚拟机实例,因此这种类型的跟踪记录可在网络级别验证防火墙规则和路由。

对等网络可以存在于相同或不同的项目中。以下跟踪记录示例展示了不同项目中的对等网络。

通过不同项目中可访问的对等 VPC 网络的虚拟机间跟踪记录。
通过不同项目中的可访问对等 VPC 网络的虚拟机间跟踪记录

VPC 网络测试失败

下表列出了 VPC 网络中测试的常见失败。

失败类型 说明 跟踪记录结果
被防火墙规则阻止 离开来源或目标端点的流量被分层防火墙政策规则或 VPC 防火墙规则阻止。
  • 如果连接被分层防火墙政策规则阻止,则跟踪记录包含政策的名称。请注意,运行测试的人员可能无权查看政策详细信息。如需详细了解这种情况,请参阅问题排查
  • 如果连接被 VPC 防火墙规则阻止,则跟踪记录会列出相关入站或出站防火墙规则的名称。
没有匹配的路由 找不到到目标端点的路由。
  • 如果来源和目标虚拟机实例位于不同的 VPC 网络中,并且这些网络未对等互连,则分析确定数据包可丢弃
  • 如果虚拟机位于同一网络中,但找不到匹配的路由,则流量将通过默认静态路由发送,且下一个跃点指向互联网网关。在这种情况下,流量始终不会到达目标虚拟机,并且分析确定数据包可丢弃
  • 如果没有指向互联网网关的路由,分析将确定数据包可丢弃
实例未运行 目标虚拟机实例存在,但未处于运行状态。 分析确定数据包可丢弃
下一个跃点无效 为该虚拟机实例配置的下一个跃点不再存在,并且到该实例的路由无效。 分析确定数据包可丢弃

控制台

以下屏幕截图展示了由于连接被入站分层防火墙政策规则阻止而失败的跟踪记录。

被分层防火墙政策规则阻止的跟踪记录的 Cloud Console 屏幕截图。
被分层防火墙政策规则阻止的跟踪记录的 Cloud Console 屏幕截图

共享 VPC 网络测试失败

在共享 VPC 网络中,没有对主机项目或服务项目的权限可能导致下表中列出的测试失败。

失败类型 行为 跟踪记录结果
仅对宿主项目的权限 您无法运行跟踪记录,因为您没有对目标 IP 地址所在的服务项目的权限。 配置分析显示结果配置分析已取消(在 API 响应中,此标签对应于最终状态 Abort)。
仅对服务项目的权限

您没有权限,因此无法运行跟踪记录或在 Cloud Console 中选择宿主项目网络。

由于宿主项目拥有网络配置,因此如果没有对宿主项目中的 VPC 防火墙规则、网络路由或 IP 地址的访问权限,就无法继续对服务项目中的资源进行跟踪记录。

总体可达性结果为 Undetermined,因为 Connectivity Tests 无法确定数据包是否可以递送到目标。

VPC 网络对等互连测试失败

使用 VPC 网络对等互连,如果没有从 primary 网络访问 peered 网络的 Google Cloud 项目的权限,则可能导致下表中列出的测试失败。

失败类型 行为 跟踪记录结果
您没有对对等 VPC 网络中项目配置的权限。 Connectivity Tests 只能跟踪主网络项目中的配置。 配置分析显示数据包可转发结果。此结果表示数据包将离开该网络并发送到您无权访问的网络。在这种情况下,数据包已转发到对等互连网络网关。在 API 响应中,此状态对应于 Forward

以下跟踪路径显示了对等 VPC 网络的此失败。

通过不同项目中可访问的对等 VPC 网络的虚拟机间跟踪记录。
通过不同项目中的可访问对等 VPC 网络的虚拟机间跟踪记录

测试 Google 管理的服务

您可以获取往返于 Google 管理的服务(例如 Google Kubernetes Engine (GKE) 集群主服务器或 Cloud SQL实例)的路由的 Connectivity Tests 配置分析。即使您无权访问这些资源所属的 Google 拥有的项目,Connectivity Tests 仍然可以分析该项目的 VPC 网络配置,并提供总体可达性结果。Connectivity Tests 不会提供 Google 拥有的项目中配置的分析详情。

默认情况下,Connectivity Tests 会尝试使用 Google 管理的服务端点的专用 IP 地址和您的网络与 Google 拥有的网络之间的 VPC 网络对等互连连接来进行测试。如果端点没有专用 IP 地址,则 Connectivity Tests 会使用公共 IP 地址。 Connectivity Tests 会分析数据包能否到达端点,包括分分析 Google 拥有的 VPC 网络中的配置。如果 Connectivity Tests 在项目中检测到配置问题,则此分析在分析 Google 拥有的网络前会停止。

下图使用 GKE 节点到主实例测试作为示例,展示了测试与 Google 管理的服务的连接时的跟踪路径:

来源 GKE 节点到目标 GKE 主实例跟踪记录。
来源 GKE 节点到目标 GKE 主实例跟踪记录

从 Cloud SQL 到虚拟机

本部分介绍从 Cloud SQL 实例到虚拟机的测试示例。

示例输入

下表展示了从 Cloud SQL 实例测试的示例输入值。如需查看成功测试的输出,请继续阅读下一部分。

输入参数 输入值
协议 TCP
来源 Cloud SQL 实例 instance-1
来源项目 my-project
目标虚拟机 vm-1
目标端口 80

成功的测试

本部分提供了从 Cloud SQL 实例的成功测试的结果示例。

控制台

以下来自 Cloud Console 的屏幕截图展示了 Cloud SQL 实例的跟踪记录,指示 Reachable 的总体结果

此结果显示,Connectivity Tests 已验证从来源 Cloud SQL 实例到目标虚拟机的网络连接。这包括分析运行 Cloud SQL 实例的 Google 拥有的项目中的配置。此跟踪记录不会提供 Google 拥有的项目中资源的详细信息,因为您没有查看这些资源的权限。

从 Cloud SQL 到虚拟机的跟踪记录的 Cloud Console 屏幕截图。
从 Cloud SQL 实例到虚拟机的跟踪记录的 Cloud Console 屏幕截图

GKE 节点到 GKE 集群主服务器

本部分介绍从 Google Kubernetes Engine (GKE) 节点到 GKE 集群主服务器的示例测试。

示例测试输入

下表展示了 GKE 主实例测试的示例输入值。如需查看成功测试的输出,请继续阅读下一部分。

输入参数 输入值
协议 TCP
来源 GKE 节点 gke-cluster-1-node-1
来源项目 my-project
目标 GKE 集群主服务器 projects/myproject/locations/us-central1/clusters/cluster-1
目标端口 443

成功的测试

本部分将提供 GKE 主实例成功测试结果的示例。

控制台

以下来自 Cloud Console 的屏幕截图展示了目标 GKE 主实例的跟踪记录,指示 Reachable 的总体结果

此结果表明,Connectivity Tests 已验证从来源 GKE 节点到目标 GKE 主实例的网络连接。这包括分析运行主实例的 Google 拥有的项目中资源的配置。此跟踪记录不会提供 Google 拥有的项目中资源的详细信息,因为您没有查看这些资源的权限。

GKE 节点到主实例跟踪记录的 Cloud Console 屏幕截图。
GKE 节点到主实例跟踪记录的 Cloud Console 屏幕截图

通过公共 IP 地址从 GKE 节点到 GKE 主实例

下表展示了通过公共 IP 地址测试到 GKE 主实例的输入值示例。如需查看成功测试的输出,请继续阅读下一部分。

示例测试输入

输入参数 输入值
协议 TCP
来源 GKE 节点 gke-cluster-1-node-1
来源项目 my-project
目标 IP 地址 104.1.1.1
目标端口 443

成功的测试

本部分介绍通过公共 IP 地址到 GKE 主实例的成功测试示例。

控制台

以下来自 Cloud Console 的屏幕截图展示了 GKE 主实例的公共 IP 地址的跟踪记录,指示 Reachable 的总体结果

此结果显示,Connectivity Tests 已验证从来源 GKE 节点到运行 GKE 主实例的网络的网络连接,但未验证到 GKE 主实例的网络连接。通过公共 IP 地址进行测试时,Connectivity Tests 不会分析运行主实例的 Google 拥有的项目中资源的配置。

通过公共 IP 地址进行 GKE 节点到主实例测试的跟踪记录 Cloud Console 屏幕截图。
通过公共 IP 地址进行 GKE 节点到主实例测试的跟踪记录 Cloud Console 屏幕截图

由 Google 管理的服务的失败测试

测试由 Google 管理的服务时,测试可能会失败,并显示数据包在服务中丢弃的错误消息(例如 DROPPED_INSIDE_GKE_SERVICEDROPPED_INSIDE_CLOUD_SQL_SERVICE)。在以下情况下,该消息指示用于托管服务的 Google 拥有的项目中存在配置问题:

  • 测试同一集群中的 GKE 主实例和 GKE 节点之间的连接(无论方向如何)。
  • 测试从您的 VPC 网络到连接您的网络的 Cloud SQL 实例的连接(其中来源和目标位于同一地区)。

如果您在以上列出的情况中收到前述错误消息,请与支持团队联系。否则,错误消息可能会指示无效输入。确认您要测试的端点存在,且您希望访问 Google 拥有的项目中的代管资源。例如,如果要进行从 GKE 节点到 GKE 主实例的测试,请确认该节点存在,并且连接到该主实例。

测试输入示例:从虚拟机到位于不同地区的 Cloud SQL 实例

下表展示了从虚拟机到 Cloud SQL 实例的测试示例输入值,其中虚拟机与 Cloud SQL 实例位于不同的地区。如需查看失败测试的输出,请继续阅读下一部分。

输入参数 输入值
协议 TCP
来源虚拟机 instance-1
此虚拟机与 Cloud SQL 实例位于不同的地区。
来源项目 my-project
目标 Cloud SQL 实例 vm-1
目标端口 5432

失败的测试

本部分介绍 Cloud SQL 实例的失败测试示例。

控制台

以下来自 Cloud Console 的屏幕截图展示了目标 Cloud SQL 实例的跟踪记录,指示 Unreachable 的总体结果

从虚拟机到 Cloud SQL 的失败测试跟踪记录的 Cloud Console 屏幕截图。
从虚拟机到 Cloud SQL 的失败测试跟踪记录的 Cloud Console 屏幕截图

从 VPC 网络到非 Google Cloud 网络的测试

您可以使用 Connectivity Tests 配置分析,通过 Cloud VPN 或 Cloud Interconnect 测试从您的 VPC 网络到非 Google Cloud 网络的连通性。通常,非 Google Cloud 网络是您的本地网络或其他云服务提供商的网络。

配置分析会评估网络路径,而且仅分析到对等网络中路由器或 VPN 网关的外部 IP 地址。

以下示例展示了从 VPC 网络中的 VM1(通过使用静态路由的传统 VPN 隧道到本地网络中的 VM2)的跟踪记录。

使用静态路由通过 Cloud VPN 隧道进行数据包跟踪记录。
使用静态路由通过 Cloud VPN 隧道进行数据包跟踪记录

如果对等网络中的目标 IP 地址有匹配的静态或动态路由,则配置分析会根据路由优先级匹配并验证路由。

对于所有目标,默认路由都是下一个跃点为互联网网关的静态路由。除非您已移除或修改它,否则 Connectivity Tests 可以匹配该默认路由。

如果默认静态路由不存在,并且没有其他到目标的有效路由,则跟踪记录将返回最终状态为 Drop

使用静态路由的非 Google Cloud 网络的跟踪记录路径。
使用静态路由的非 Google Cloud 网络的跟踪记录路径


使用静态路由的非 Google Cloud 网络的跟踪记录路径。
使用动态路由的非 Google Cloud 网络的跟踪记录路径

从非 Google Cloud 网络到 VPC 网络的测试

配置分析会验证您的 VPC 网络可以从本地网络接收入站数据包,然后再将其到达您的 VPC 网络。此分析还会验证 VPC 网络配置是否可允许此数据包传送到预期目的地。配置分析显示数据包可以转发(在 API 响应中,最终状态为 Forward)。目的地被视为可到达。

当您的 VPC 网络通过 Cloud Router 与本地网络建立对等互连时,VPC 网络会从已建立对等互连的本地网络中接收一条或多条动态路由。同时,您的 VPC 网络将自己的路由发布到已建立对等互连的本地网络。

由于 Connectivity Tests 无法访问您的本地网络配置,因此无法验证是否在本地路由器上正确配置了路由和防火墙规则。因此,从本地网络到 VPC 网络的流量始终被 Connectivity Tests 配置分析视为有效。

但是,Connectivity Tests 可以评估 VPC 配置是否允许将数据包传送到 Google Cloud 中的目的地。如需评估可达性,Connectivity Tests 会评估以下 Google Cloud 资源:

  • VPC 网络的入站流量防火墙规则。
  • Cloud Router 向您的本地(对等)网络通告的 VPC 网络中 IP 地址的已通告路由

示例测试输入

下表展示了上一部分中介绍的测试 Google Cloud 负载平衡器的示例输入值。继续阅读下一部分以查看成功测试的输出。

输入参数 输入值
协议 TCP
示例本地 IP 地址 10.0.29.2
这是 Google Cloud 中使用的 IP 地址复选框 指定本地 IP 源地址时,请取消选中此复选框。

来自本地网络的测试成功

本部分介绍了从本地网络到 VPC 网络的成功测试示例。

控制台

以下测试结果会评估通过 Cloud VPN 从本地 IP 地址到虚拟机实例的连接,还会评估边界网关协议 (BGP) 会话、路由和 VPC 防火墙规则。

从本地到 Google Cloud 成功测试的示例输出。
从本地到 Google Cloud 成功测试的示例输出

在两个非 Google Cloud 网络之间进行测试

您可以使用 Connectivity Tests 配置分析,评估通过 Network Connectivity Center 连接的两个非 Google Cloud 网络之间的可达性。在此情况下,非 Google Cloud 网络通常是您的本地数据中心或分支办公室。

由于 Connectivity Tests 无法访问您的本地网络配置,因此无法验证是否在本地路由器上配置了路由和防火墙规则。因此,从本地网络到 VPC 网络的流量始终被 Connectivity Tests 配置分析视为有效,且系统只会验证 Google Cloud 中的配置。

配置分析会从与 Network Connectivity Center Spoke 关联的 Cloud Router 路由器获知本地网络范围。您可以识别 VPC 网络中可能影响本地网络之间的连接的配置问题。

所有 Network Connectivity Center Spoke 类型都使用 Cloud Routers 通过 BGP 会话交换路由。例如:

  • 路由器设备 Spoke::当 Cloud Router 路由器和路由器设备实例位于同一区域时,它们会相互交换路由。
  • Cloud VPN 和 VLAN 连接 Spoke:Cloud Router 路由器与本地网络中的路由器交换 BGP 路由。

如需详细了解 Network Connectivity Center,请参阅 Network Connectivity Center 概览

在通过路由器设备的两个非 Google Cloud 网络之间进行测试

在以下示例中,Connectivity Tests 会跟踪从一个本地网络到另一个本地网络的模拟数据包。该数据包从连接到第一个本地网络的路由器设备 spoke 进入 VPC 网络。接着,它遵循与连接到第二个本地网络的路由器设备 spoke 关联的 Cloud Router 路由器通告的动态路由。该数据包会从第二个路由器设备实例到达本地网络。

示例输入

下表显示了来自本地网络中 IP 地址的测试的示例输入值。如需查看成功测试的输出,请继续阅读下一部分。

输入参数 输入值
协议 TCP
来源端点 IP 地址 192.168.1.1
这是 Google Cloud 中使用的 IP 地址复选框 指定本地 IP 源地址时,请取消选中此复选框。
目的地端点 IP 地址 172.16.1.1
这是 Google Cloud 中使用的 IP 地址复选框 指定本地 IP 目标地址时,请取消选中此复选框。

从本地网络到另一个本地网络的测试成功

本部分介绍从一个本地网络到另一个通过路由器设备 Spoke 的本地网络的成功测试示例。

控制台

以下测试结果评估了通过两个路由器设备实例从一个本地网络到另一个本地网络的连接。它还评估了 BGP 会话、路由和 VPC 防火墙规则。

从本地到本地的测试成功的示例输出。
从本地到本地的测试成功的输出示例

通过 Cloud VPN 和 Cloud Interconnect 在两个非 Google Cloud 网络之间进行测试

在以下示例中,Connectivity Tests 会跟踪从一个本地网络到另一个本地网络的模拟数据包。该数据包通过 VPN 网关进入 VPC 网络。该数据包通过互连连接到达其他本地网络。

示例输入

下表显示了来自本地网络中 IP 地址的测试的示例输入值。如需查看成功测试的输出,请继续阅读下一部分。

输入参数 输入值
协议 TCP
来源端点 IP 地址 10.0.0.1
这是 Google Cloud 中使用的 IP 地址复选框 指定本地 IP 源地址时,请取消选中此复选框。
目的地端点 IP 地址 10.240.0.1
这是 Google Cloud 中使用的 IP 地址复选框 指定本地 IP 目标地址时,请取消选中此复选框。
目标端口 80

从本地网络到另一个本地网络的测试示例

本部分介绍从一个本地网络到另一个通过 VPN 和 VLAN 连接 Spoke 的本地网络的测试示例。

控制台

以下测试结果会评估从一个通过 VPN 和 VLAN 连接 Spoke 的本地网络到另一个本地网络的连接。

从本地到本地的测试成功的示例输出。
从本地网络到通过 VPN 和 VLAN 连接 Spoke 的本地网络的测试成功的示例输出

测试 Google Cloud 负载平衡器

Connectivity Tests 配置分析支持跟踪传送至所有类型的 Google Cloud 负载平衡器的模拟数据包。

外部 HTTP(S) 负载平衡器的跟踪记录路径也适用于 TCP 代理负载平衡器和 SSL 代理负载平衡器。如需了解详情,请参阅 Cloud Load Balancing 概览

在以下示例中,Connectivity Tests 会跟踪从外部主机到 VIP 的模拟数据包,以用于外部 HTTP(S) 负载平衡器。来自外部主机的 TCP 连接在外部 HTTP(S) 负载平衡器的代理处终止。然后,外部 HTTP(S) 负载平衡器会启动与充当负载平衡器后端的虚拟机的新 TCP 连接。

包含图表图例的外部 HTTP(S) 负载平衡器的典型跟踪记录路径
外部 HTTP(S) 负载平衡器的典型跟踪记录路径

在以下跟踪路径中,Connectivity Tests 配置分析提供了三个跟踪记录,每个跟踪记录指向三个负载平衡器后端的每个可能的路径。Connectivity Tests 之所以这样做是因为它仅会验证配置,而不验证实时数据平面。

外部 HTTP(S) 负载平衡器的数据包跟踪记录。
外部 HTTP(S) 负载平衡器的数据包跟踪记录(请参阅图表图例)

示例测试输入

下表展示了上一部分中介绍的测试外部 HTTP(S) 负载平衡器的示例输入值。如需查看成功测试的输出,请继续阅读下一部分。

输入参数 输入值
目标协议 TCP
目标端口 80
示例外部来源 IP 地址(未显示) 62.35.1.1
负载平衡器的外部 IP 地址 203.0.113.99
目标项目 myproject

负载平衡器测试成功

此部分介绍了成功测试外部 HTTP(S) 负载平衡器的示例。

在实际数据平面中,负载平衡算法会为每个后端连接选择一个虚拟机实例。由于此示例中有三个负载平衡器后端,因此通过结果屏幕上的跟踪记录选择菜单,您可以选择要查看的跟踪记录

控制台

以下成功的测试结果会验证外部 HTTP(S) 负载平衡器的以下所有 Google Cloud 资源是否均已正确配置。

  • 转发规则
  • 负载平衡器后端,包括负载平衡器向这些后端成功发送运行状况检查的功能
  • 代理连接
  • VPC 防火墙规则

该结果显示来自外部 IP 地址的模拟数据包可以成功到达后端虚拟机实例。

如需查看所有三个后端的跟踪记录的详细示例,请参阅检测无效或不一致的配置

外部 HTTP(S) 负载平衡器测试成功的示例输出。
外部 HTTP(S) 负载平衡器测试成功的示例输出

如果您无权查看外部 HTTP(S) 负载平衡器的网络路径中的 Google Cloud 资源,则仍会在 Cloud Console 中看到结果,包括成功的结果。但是,接受测试的每个资源的卡片均会显示“无权查看 PROJECT_NAME 中的资源”。

测试显示缺少用于运行状况检查的防火墙规则

负载平衡器跟踪记录会验证上述许多相同的 Google Cloud 资源配置。但是,如果以下负载平衡器资源配置错误,则分析会显示数据包可丢弃(跟踪记录的最终状态是 Drop)。

控制台

以下测试结果显示,VPC 网络的入站防火墙规则不允许对负载平衡器后端进行运行状况检查,从而使后端无法访问负载平衡器。

缺少防火墙规则的示例输出。
缺少防火墙规则的示例输出

除了 VPC 防火墙规则无效之外,以下问题是 Connectivity Tests 为 Google Cloud 负载平衡器检测到的常见配置问题。

如需更正这些问题,请使用下表中所述的解决方案。

配置问题 解决方案
输入参数与您在转发规则中为负载平衡器定义的协议或端口不匹配。 在运行测试之前,更改输入参数以匹配您在转发规则中定义的协议或端口。
负载平衡器的转发规则未配置后端。 在运行测试之前,请为负载平衡器配置后端。
负载平衡器的配置无效或不一致 在运行测试之前,请更正无效或不一致的配置。
流量无法到达地区不匹配的内部 TCP/UDP 负载平衡器,因为内部 TCP/UDP 负载平衡器是地区级服务。 在运行测试之前,请配置负载平衡器组件,以使它们位于同一地区。

后续步骤