测试与 Google 管理的服务之间的连接

本页面介绍测试 Google 管理的服务(例如 Google Kubernetes Engine (GKE) 控制层面和 Cloud SQL 实例)的连接的常见场景。

您可以对往返于 Google 管理的服务的路由进行 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 拥有的网络前会停止。

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

下图展示了测试与 Google 管理的服务的连接时的跟踪路径。该图使用 GKE 节点到控制层面测试作为示例。

来源 GKE 节点到目标 GKE 控制层面跟踪记录。
来源 GKE 节点到目标 GKE 控制层面跟踪记录

从 Cloud SQL 到虚拟机

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

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

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

虚拟机到 Cloud SQL

本部分提供了从虚拟机到 Cloud SQL 实例的成功测试的示例结果。在此示例中,配置分析指示 Reachable 的总体结果

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

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

通过公共 IP 地址从虚拟机到 Cloud SQL

本部分提供了通过公共 IP 地址从虚拟机到 Cloud SQL 实例的成功测试的示例结果。在此示例中,配置分析指示 Reachable 的总体结果

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

通过公共 IP 地址从虚拟机到 Cloud SQL 跟踪记录的 Cloud Console 屏幕截图。
通过公共 IP 地址从虚拟机到 Cloud SQL 实例跟踪记录的 Cloud Console 屏幕截图

GKE 控制层面到 GKE 节点

本部分提供了 GKE 节点成功测试的示例结果。在此示例中,配置分析指示 Reachable 的总体结果

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

GKE 控制层面到节点跟踪记录的 Cloud Console 屏幕截图。
GKE 控制层面到节点跟踪记录的 Cloud Console 屏幕截图

GKE 节点到 GKE 控制层面

本部分提供了 GKE 控制层面成功测试的示例结果。在此示例中,配置分析指示 Reachable 的总体结果

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

GKE 节点到控制层面跟踪记录的 Cloud Console 屏幕截图。
GKE 节点到控制层面跟踪记录的 Cloud Console 屏幕截图

通过公共 IP 地址从 GKE 节点到 GKE 控制层面

本部分介绍了通过公共 IP 地址成功测试 GKE 控制层面的示例。在此示例中,配置分析指示 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 Console 的屏幕截图展示了目标 Cloud SQL 实例的跟踪记录,指示 Unreachable 的总体结果。测试失败的原因是该端口是使用端口 80 而不是端口 5432 创建的,目标 Cloud SQL 实例 (Postgres) 在前一个端口上接受连接。

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

后续步骤