用例:审核网络性能

假设您是负责支持包含多个负载均衡应用的网络的网络管理员。您被要求审核支持那些应用的网络配置,以确保配置与网络的预期状态保持一致。通过执行此审核,您可以确保客户获得的应用延迟时间尽可能短。

以下用例演示了网络拓扑如何帮助您检查现有配置。例如,您可以检查所有客户端请求是否由与客户端最近的 Google Cloud 区域中的应用实例处理。您还可以确保跨区域流量较低,因为该流量来自全局复制数据的数据库。

拓扑概览

该部署跨越三个 Google Cloud 区域(us-central1europe-west1asia-east1)。所有外部客户端请求均由单个外部应用负载均衡器处理,该负载均衡器在三个区域的每个区域中都有多个后端。最近的 Google Cloud 区域中的应用实例负责处理来自三个业务区域(美洲、欧洲、中东和非洲地区以及亚太地区)之一的客户请求。

下图显示了该部署的顶级层次结构。

资源和流量路径

在此示例中,项目包含以下 Google Cloud 资源:

  • 1 个 HTTPS 负载平衡器

  • 4 个后端服务:browseshopping_cartcheckoutfeeds

  • 12 个实例组(它们是负载平衡器的后端)

    在这三个地区中,每个后端服务都有一个实例组。

  • 3 个数据库实例,每个地区一个

您预计来自某些国家/地区的流量会进入以下位置:

  • 来自 Americas 业务地区的国家/地区的流量会进入 us-central1 地区的后端。例如,来自加拿大外部客户的流量会通过负载平衡器到达 us-central1 区域中的 checkout 后端。
  • 来自 EMEA 业务地区的国家/地区的流量会进入 europe-west1 地区的后端。例如,来自波兰外部客户的流量会通过负载平衡器到达 europe-west1 区域中的 checkout 后端。
  • 来自 APAC 业务地区的国家/地区的流量会进入 asia-east1 地区的后端。例如,来自日本外部客户端的流量会流经负载平衡器进入 asia-east1 地区的 checkout 后端。
  • 传输到数据库实例的流量来自同一地区中的后端。例如,asia-east1 中的后端仅会将数据发送到 asia-east1 中的数据库实例。
  • 跨区域流量仅限于数据库复制。例如,us-central1europe-west1 之间的流量仅会在这些区域中的数据库实例之间传播。

意外的流量

在此情景中,您发现来自 EMEA 业务地区的流量现在将进入两个不同的 Google Cloud 地区:us-central1europe-west1。通过使用网络拓扑,您发现某个后端被过度利用。

  1. 您想检查通过负载平衡器的外部流量最终是否流向正确的 Google Cloud 区域。您可以过滤图表以仅显示外部负载平衡器 shopping-site-lb 的流量。

    应用过滤条件后,网络拓扑仅显示与负载平衡器相关的连接,如以下示例所示。

  2. 您将鼠标指针悬停在每个业务地区上,以突出显示与该地区的通信。

    将鼠标指针悬停在美洲亚太地区上时,您会看到流量进入最近的 Google Cloud 地区:分别为 us-central1asia- east1。但是,将指针悬停在欧洲、中东和非洲地区上时,您会看到流量进入 us-central1europe-west1。理想情况下,为了减少延迟,来自欧洲、中东和非洲地区的所有流量都应进入 europe-west1

  3. 接下来,您点击欧洲、中东和非洲地区来研究它与 Google Cloud 地区之间的吞吐量。网络拓扑会覆盖每个连接的带宽值。您可以看到流量进入 us-central1 的速度约为每秒 0.58 字节,进入 europe-west1 的速度为每秒 29.9 千字节。您知道大多数流量都按预期定向,但是有些流量正在流向 us-central1

    1该图仅供参考。它的数据不能反映具体用例。

  4. 为了进一步调查,请展开 us-central1 以查看流量方向。因为在该地区中只有一个网络具有单个子网,所以网络拓扑不会显示层次结构的那些级别,而是跳到实例组。

    您会看到流量进入与负载平衡器的后端服务关联的实例组。由于进入 europe-west1 的流量相对较少,因此 europe-west1 中的资源可能会被过度利用,并导致流量溢出到 us-central1

    1该图仅供参考。它的数据不能反映具体用例。

  5. 为了证实您的结论,请展开 europe-west1 区域,直至到达与同一负载平衡器的后端服务关联的实例为止。网络拓扑在该实例的详细信息窗格中显示时间序列图表。

    在图表中,您注意到该实例的 CPU 利用率为 81%。此示例的阈值为 80%,指示该实例已超额订阅。您可以通过纵向扩容实例组来解决此问题,以便流量返回理想的流向。

    1该图仅供参考。它的数据不能反映具体用例。

区域间流量

在以下部分中,您检查各区域之间的内部流量是否仅限于数据库实例流量。

  1. 如需关注内部流量,请在拓扑配置列表中仅选中实例Cloud NAT 网关复选框。因为您只查看应用中的流量,所以不需要查看外部客户端和外部负载均衡器流量。

  2. 展开 asia-east1 地区,然后看到 5 个实例组。这些实例组不按网络、子网或可用区聚合,因为它们都在同一网络、子网等中。

    您会注意到,只有一个实例组 (db-group-asia) 包含区域间流量的路径。所有其他实例组均在该区域内进行通信。

    您继续展开db-group-asia 组,直至到达基础实体。在此场景中,基本实体是充当数据库服务器的虚拟机实例 (db-instance-asia)。它正在与其他区域进行通信以复制数据,这正是您所期望的,因此不需要进一步的研究。̦

    1该图仅供参考。它的数据不能反映具体用例。

后续步骤