网络拓扑概览
网络拓扑是一种可视化工具,可显示网络基础架构的拓扑:
- 基础架构视图:显示 Virtual Private Cloud (VPC) 网络、与本地网络之间的混合连接、与 Google 代管式服务的连接及其关联的指标。
- GKE Enterprise 视图(适用于启用了 GKE Enterprise 的项目):显示 Google Kubernetes Engine (GKE) 部署的基础架构:集群、命名空间、工作负载、pod 及其关联的指标。
您还可以查看流向其他共享 VPC 网络的网络流量和区域间流量的指标和详细信息。网络拓扑在单个视图中将配置信息与实时操作数据结合在一起。此视图使您更容易理解 Google Cloud 上各种工作负载与其当前状态之间的网络关系,例如虚拟机 (VM) 实例之间的流量路径和吞吐量。
网络拓扑以图格式布置信息,其中节点和线表示网络中的实体和连接。
工作原理
网络拓扑从 Google 的基础架构中收集实时遥测和配置数据,以便直观呈现您的资源。网络拓扑会捕获配置信息、指标和日志等元素,以推断项目或多个项目中各项资源之间的关系。收集每个元素之后,网络拓扑会将它们组合在一起以生成代表您的部署的图。
优势
使用网络拓扑具有以下优势:
您可以查看部署的拓扑。使用网络拓扑不需要其他配置或代理。
您可以使用网络拓扑图来了解 Google Cloud 基础架构。您无需查看多个日志或使用第三方工具。
网络拓扑可帮助您分析网络的性能。您可以深入分析并查看各种指标,这些指标可以帮助您识别意外的模式。
过滤条件可以帮助您突出显示并专注于特定资源,尤其是在需要诊断和排查问题的时候。
您可以查看同一组织内跨共享 VPC 或 VPC 网络对等互连边界发送的网络流量的跨项目指标。
您可以查看具有高出站流量指标值的实体的数据分析,以便进行进一步分析和问题排查。
注意事项
网络拓扑会捕获 6 周的历史记录。
仅当实体和连接在所选时间段内进行通信(发送或接收流量)时,网络拓扑才会直观呈现实体和连接。如果实体各自层次结构中的基础实体处于通信状态,则实体之间存在连接。例如,如果每个地区中至少有一个虚拟机实例彼此通信,则网络拓扑会连接地区 us-east4
和 europe-west1
。尽管可能存在其他资源,但如果它们不接收或发送流量,网络拓扑也不会显示它们。
如需了解详情,请参阅数据收集和数据时效性。
资源和流量
网络拓扑图将您的资源和流量显示为实体和连接。网络拓扑会将相关资源聚合到分层实体中,其中每种资源类型都有自己的层次结构。以下各部分介绍了网络拓扑可以绘制图表的资源(实体)和流量路径(连接)。
实体
基础实体是特定层次结构的最低层级,表示可以通过网络直接与其他资源进行通信的资源,例如 Google Kubernetes Engine (GKE) 企业版项目的虚拟机实例或 GKE pod。
当您有多个网络和许多基础实体时,以平面视图显示所有内容会变得很困难。为了解决此问题,网络拓扑会将基础实体聚合到可以展开或折叠的分层实体中。首次查看网络拓扑图时,它会将所有基础实体聚合到其顶级层次结构中。
例如,网络拓扑会按如下方式聚合实体:
- 将虚拟机实例聚合到其实例组中,然后将实例组聚合到一个 Google Cloud 可用区中
- GKE pod 进入其 GKE 工作负载,然后将 GKE 工作负载聚合到 GKE 命名空间中,接着将 GKE 命名空间聚合到 GKE 集群中。此功能仅适用于启用了 GKE Enterprise 的项目。
网络拓扑会将基础或分层实体表示为图中的圆形节点。每个基础实体都有自己的层次结构。例如,负载平衡器的层次结构与虚拟机实例不同。
下表显示了基础实体及其聚合层次结构。在图中,网络拓扑使用表中显示的图标表示每个基础实体。
基础实体 | 图标 | 说明 | 聚合层次结构 (从上到下) |
---|---|---|---|
虚拟机实例 | Compute Engine 虚拟机实例 |
区域 > 网络 > 子网 > 可用区 > 实例组 > 实例 |
|
虚拟机实例组 | 可以作为单个实体进行管理的虚拟机实例的集合。 |
区域 > 网络 > 子网 > 可用区 > 实例组 > |
|
传统版应用负载均衡器 外部直通式网络负载均衡器 外部代理网络负载均衡器 |
外部负载平衡器组件的基础实体,例如转发规则和后端服务。 | 外部负载平衡 > 负载平衡器 |
|
内部负载平衡器 | 内部负载平衡器组件的基础实体,例如转发规则和后端服务。 | 内部负载平衡 > 负载平衡器 |
|
Cloud NAT 网关 | NAT 网关 | 地区 > 网络 > NAT > NAT 网关 |
|
VPC 网络对等互连 | 您无权查看对等网络时显示的 VPC 对等互连端点。如果您有权查看对等网络,则网络拓扑将显示对等网络的资源。 | 对等网络 > 网络 |
|
国家/地区 | 网络拓扑会显示外部客户端所在的国家/地区。这些客户端不在 Google Cloud 中。它们通常是通过外部 IP 地址与网络中的资源进行通信的主机。 | 业务区域* > 国家/地区# |
|
Cloud Interconnect | 网络拓扑会显示专用互连或合作伙伴互连连接。如需了解详情,请参阅 Cloud Interconnect 概览。 | interconnect | |
VLAN 连接 | 网络拓扑会显示专用互连或合作伙伴互连连接的 VLAN 连接。 |
互连 > 互连连接 |
|
Cloud VPN 网关 | 网络拓扑会显示 Cloud VPN 网关连接。如需了解详情,请参阅 Cloud VPN 概览。 |
网关 > |
|
Cloud VPN | 网络拓扑会显示 Cloud VPN 连接。 |
网关 > VPN 隧道 |
|
本地 | 网络拓扑会显示本地网络。本地网络可以引用 Google Cloud 网域外部的任何远程网络。 | 本地 | |
路由器设备实例 | 网络拓扑会显示路由器设备实例。 | ||
Google 管理的服务 | 网络拓扑会显示 Google 代管式服务实例。 |
Google 服务 > Google 服务 |
*业务地区可以是以下实体之一:美洲(表示北美洲和南美洲)、亚太地区(表示亚洲和大洋洲)以及欧洲、中东和非洲地区(表示欧洲、中东和非洲)。
# Google 使用外部 IP 地址对外部客户端的来源进行分类。但是,IP 地址可能无法指示客户端的实际位置。例如,如果您通过 Cloud CDN 传送内容,则网络拓扑观察到的 IP 地址可能不是外部客户端的实际地址。
下表显示了 GKE Enterprise 视图中的基础实体及其聚合层次结构(仅适用于 GKE Enterprise 项目)。在图中,网络拓扑使用表中显示的图标表示每个基础实体。
基础实体 | 图标 | 说明 | 聚合层次结构 (从上到下) |
---|---|---|---|
GKE Pod | GKE 实体(例如集群、工作负载和命名空间)的基础实体。 | 区域 > 网络 > 子网 > 可用区 > GKE 集群 > GKE 命名空间 > GKE 工作负载 > GKE pod |
|
GKE 工作负载 | GKE 工作负载 | 区域 > 网络 > 子网 > 可用区 > GKE 集群 > GKE 命名空间 > GKE 工作负载 |
|
GKE 命名空间 | GKE 命名空间 | 区域 > 网络 > 子网 > 可用区 > GKE 集群 > GKE 命名空间 |
|
GKE 集群 | GKE 集群 | 区域 > 网络 > 子网 > 可用区 > GKE 集群 |
连接
网络拓扑以线条表示实体之间的流量,例如虚拟机实例之间的流量。如果连接的至少一侧正在发送流量,则网络拓扑将连接实体。
网络拓扑会显示层次结构各个层级的连接,只要它们的基础实体处于通信状态即可。例如,如果每个地区中的至少一个虚拟机实例正在彼此通信,则网络拓扑会显示两个地区之间的连接。
网络拓扑支持某些流量路径的 TCP、UDP、ICMP、ICMPV6、ESP 和 GRE 流量。以下列表描述了网络拓扑在实体之间直观呈现的路径:
- VPC 网络中的流量,例如同一网络中虚拟机实例与内部负载平衡器之间的流量。
- 跨对等互连的 VPC 网络的流量,例如对等 VPC 网络中的虚拟机实例与内部负载平衡器之间的流量。
- Google Cloud 与互联网之间的流量,例如互联网上的客户端与实体(例如虚拟机实例或具有外部 IP 地址的外部应用负载均衡器)之间的流量。
- 进出 Cloud VPN 网关、Cloud Interconnect 连接和路由器设备实例的流量。
以下列表描述了网络拓扑在 GKE Enterprise 视图中实体之间直观呈现的路径(仅适用于 GKE Enterprise 项目):
- GKE 集群中的流量,例如不同 GKE 节点上 GKE 对之间的流量。 网络拓扑不会显示集群中 GKE 节点之间的流量指标。
- 同一 GKE 节点中的两个 pod 之间的流量(如果启用了节点内可见性)。
- GKE 集群之间的流量与外部 IP 地址(例如服务流)之间的流量。这些连接可能会流经负载均衡器。
Google 管理的服务
网络拓扑还可以直观呈现进出 Google 代管式服务的流量。Google Cloud 用户可以使用网络拓扑来审核其网络配置,并排查与使用中的各种 Google 服务相关的网络问题。
网络拓扑通过使用将下一个跃点用作 default-internet-gateway
或专用 Google 访问通道的默认路由,支持虚拟机直接访问 Google 代管式服务。它不支持对 Google 代管式服务的以下访问方法:
- 通过来自互联网的外部流量
- 从虚拟机直接访问 Google
- 通过本地主机上的专用 Google 访问通道
网络拓扑不会显示进出某些 Google 代管式服务(例如 App Engine Memcache、Filestore、Memorystore、Cloud SQL 以及合作伙伴和市场解决方案)的流量。
IP 地址注意事项
对于 Google Cloud 中使用外部 IP 地址进行通信的虚拟机实例之间的流量,网络拓扑不会直接在虚拟机之间显示单个连接。相反,网络拓扑会使用两个连接来显示流量,就好像流量往返于外部位置一样:一个连接位于第一个虚拟机和第二个虚拟机所在的国家/地区之间,另一个连接位于第二个虚拟机和第一个虚拟机所在的国家/地区之间。
网络接口注意事项
网络拓扑仅会直观呈现进出虚拟机的第一个网络接口 (nic0
) 的流量。
对于使用内部 IP 地址进行通信的虚拟机,只有当两个虚拟机同时使用第一个网络接口(nic0
到 nic0
)进行通信时,网络拓扑才会显示连接。
对于使用外部 IP 地址进行通信的虚拟机,网络拓扑通常会显示两个连接,如 IP 地址注意事项中所述。但是,如果仅有一个虚拟机使用的是 nic0
,则网络拓扑仅显示该虚拟机的连接。例如,如果一个虚拟机通过 nic0
进行通信,而另一个虚拟机通过 nic1
进行通信,则网络拓扑仅显示 nic0
虚拟机与某个国家/地区之间的连接。
实体指标
网络拓扑会显示所选小时内的平均流量。您还可以查看许多实体类型的一小时平均丢包率和延迟时间中位数 (RTT)。
时间轴上所选小时时段的指标包括:
- 适用于大多数实体的平均每小时吞吐量
- 适用于 Google Cloud 区域和可用区内流量的平均每小时丢包率
- 适用于许多实体类型的每小时延迟时间中位数 (RTT)
在适用于 GKE Enterprise 项目的 GKE Enterprise 视图中,时间轴上所选小时的指标还包括:
- 适用于大多数实体的平均每小时吞吐量
- 具有 GKE 集群的 Google Cloud 区域和可用区中的流量可用的延迟时间中位数
- 网络判定结果指标,显示所选集群中流量丢弃最多和转发最多的 GKE 工作负载
您还可以下载出站流量过高和网络判定流量数据分析的离群值表格,格式为 CSV。
具有高指标值的实体的数据分析
除了平均每小时指标之外,网络拓扑还会显示生成最高出站流量的虚拟机或实例组的排名。网络拓扑提供对资源进行排序的专门视图,您可以从此处开始进行问题排查和分析。
在“基础架构”视图中,时间轴上所选小时的指标数据分析包括:
- 高出站流量实例:各种类型的出站流量的每小时汇总值
- 高出站流量实例组:各种类型的出站流量的每小时汇总值
在适用于 GKE Enterprise 项目的 GKE Enterprise 视图中,时间轴上所选小时的指标数据分析包括:
- 高出站流量 GKE 工作负载:GKE Enterprise 视图中不同类型的 GKE 工作负载出站流量的每小时汇总值
根据流量类型过滤流量
您可以根据以下流量类型进一步过滤流量:
- 某个实体的所有出站流量
- 跨可用区出站流量:适合用于分析计费流量
- 流向互联网的出站流量:用于分析计费流量以及分析到达外部端点的流量
- 混合出站流量:用于分析流向本地的流量,包括 Cloud Interconnect、Cloud VPN 和路由器设备连接。
在 GKE Enterprise 视图中,您可以根据以下流量类型进一步过滤流量:
- 来自所选实体的所有测量的出站流量
- 跨可用区的出站流量:用于分析 Google Cloud 可用区之间的可计费流量
多个项目
Network Topology 直观呈现项目中的资源,或者您可以使用 Cloud Monitoring(可直观呈现多个 Google Cloud 项目的指标)。将 Cloud Monitoring 配置为有权访问多个项目的指标时,网络拓扑可以显示跨多个项目的网络流量。
例如,假设您在两个不同的项目中有两个虚拟机实例。vm-a
在 project-a
中,而 vm-b
在 project-b
中。这两个虚拟机实例彼此通信,并且位于某个共享 VPC 网络中。如果您只能看到 project-b
,则网络拓扑将显示 vm-b
,但不会显示它与 vm-a
进行了通信。但是,如果您配置 Cloud Monitoring 以查看两个项目的指标,则网络拓扑将显示 vm-a
、vm-b
及其通信。
对于资源或网络可能位于不同项目中的共享 VPC 和 VPC 网络对等互连场景,Cloud Monitoring 特别有用。如需了解详情,请参阅查看多个 Cloud 项目的指标。
项目聚合
在网络拓扑图中查看多个项目时,可以按项目然后按其标准层次结构聚合 Google Cloud 实体。通过此方式,您可以按项目查看资源。Google Cloud 外部的实体(例如外部客户端)不包括在项目聚合中。
例如,如果按项目进行聚合然后展开一个项目,该图将显示每个包含虚拟机实例的地区的地区实体。如果您不使用项目聚合,该图将显示所有实体,就像它们在同一项目中一样。如需启用项目聚合,请参阅按项目聚合实体。
更改项目范围
如需在网络拓扑中查看多个项目,请配置指标范围并向其添加受监控的项目。
将项目添加到某个指标范围后,便可通过该指标范围监控范围项目以及受监控项目的数据。借助该指标范围,您可以访问范围项目和受监控项目的组合指标。如需了解详情,请参阅查看多个项目的指标。
如需使用现有指标范围并在单个视图中监控多个 Google Cloud 项目,请使用 Google Cloud 控制台项目选择器或使用更改范围按钮选择范围项目。您还可以使用上述方法选择一个监控项目。
数据收集和数据时效性
网络拓扑会捕获 6 周的历史记录。
网络拓扑历史记录被划分为每小时的快照,这些快照均从一个小时的开头开始。对于每个小时快照,该图会显示基础实体及其在该小时内发生的通信。例如,如果两个实例相互通信,然后在这个小时内被删除,即使它们不再存在,也会出现在该小时内。
实体及其连接的直观呈现信息包含适用连接的叠加指标。网络拓扑还会显示单独的时间序列图表,其中显示各种指标,例如通信实体之间的流量吞吐量或虚拟机实例的 CPU 利用率。时间序列图表与直观呈现的实体、连接和叠加指标具有不同的小时限制条件。
如需详细了解如何查看指标,请参阅使用网络拓扑监控网络配置。
当前快照
当您查看当前时间时,网络拓扑图将显示前一个小时的小时快照。每次加载图时,网络拓扑都会显示最新的可用快照。
如需详细了解当前段内的每个组件及其数据,请参阅下表。
针对此组件 | 数据来自于此时间段 | 目前可用 | 示例 |
---|---|---|---|
实体和连接 | 前一个小时 | 紧跟在每小时后1 | 如果当前时间是下午 01:19,则该图将直观呈现从零点到下午 01:00 进行通信的实体,但该图可能会发生变化。在下午 01:20,该图是固定的,不会发生变化。 |
叠加指标值 | 前一个小时2 | 当实体和连接可用时 | 如果当前时间是上午 10:37,而所选指标为 Traffic ,则叠加值是从上午 09:55 到上午 10:00 的平均值。 |
时间序列图表 | 实时(包含您指定的时间范围内的历史数据)。默认时间范围显示过去一小时内每分钟的指标值。可用时间范围介于 1 hour 到 6 weeks 之间3。 |
一项活动后最多 7 分钟 | 如果当前时间是上午 10:37,并且您打开虚拟机的时间序列图表,则会看到从上午 09:37 到上午 10:37 这一小时内每分钟的指标值。 |
1 该图可能会在一小时结束后长达 20 分钟的时间内发生变化。
2流量和丢包率指标使用所选小时的平均值,而延迟时间则使用中间值。
3 聚合时间间隔(数据的采样频率)取决于时间范围。例如,1 hour
时间范围的聚合时间间隔为 1 分钟,而 1 day
时间范围的聚合时间间隔为 1 小时。
以往快照
查看以往快照时,如需详细了解每个组件及其数据,请参阅下表。
针对此组件 | 数据来自于此时间段 | 示例 |
---|---|---|
实体和连接 | 从过去时间选择的 1 小时 | 前一天的上午 11:00 到中午 12:00 |
叠加指标值 | 所选小时1 | 如果您选择的时间段是从前一天的上午 11:00 到中午 12:00,且所选指标为 Traffic ,则叠加值是从上午 11:55 到中午 12:00 的平均值。 |
时间序列图表 | 实时(包含您指定的时间范围内的历史数据)。默认时间范围显示过去一小时内每分钟的指标值。可用时间范围介于 1 hour 到 6 weeks 之间2。 |
如果您将时间序列图表的时间范围设置为 1 day ,则该图表会使用 5 分钟的聚合时间间隔显示从当前时间到 24 小时前的指标值。 |
1流量和丢包率指标使用最后一小时的平均值,而延迟时间则使用中间值。
2 聚合时间间隔(数据的采样频率)取决于时间范围。例如,1 hour
时间范围的聚合时间间隔为 1 分钟,而 1 day
时间范围的聚合时间间隔为 1 小时。