VPC 流日志
VPC 流日志会记录虚拟机 (VM) 实例(包括用作 Google Kubernetes Engine 节点的实例)发送和接收的数据包样本,以及通过 Cloud Interconnect 的 VLAN 连接和 Cloud VPN 隧道(预览版)发送的数据包样本。
流日志通过 IP 连接(5 元组)汇总。这些日志可用于网络监控、取证、安全分析和费用优化。
您可以在 Cloud Logging 中查看流日志,并将日志导出至 Cloud Logging 导出功能支持的任意目的地。
使用场景
网络监控
VPC 流日志可让您了解网络吞吐量和性能。您可以:
- 监控 VPC 网络
- 执行网络诊断
- 按虚拟机、VLAN 连接和 Cloud VPN 隧道过滤流日志,以了解流量变化
- 了解流量增长情况以执行容量预测
了解网络使用情况并优化网络流量费用
您可以使用 VPC 流日志分析网络使用情况,以优化网络流量费用。例如,您可以分析网络流以获取以下信息:
- 地区和区域之间的流量
- 发往互联网特定国家/地区的流量
- 流向本地网络和其他云网络的流量
- 网络中的最高用量者,包括虚拟机、VLAN 连接和 Cloud VPN 隧道
网络取证
您可以使用 VPC 流日志进行网络取证。例如,如果出现突发事件,您可以检查以下内容:
- 哪些 IP 在何时与谁进行过通信
- 通过分析所有入站和出站网络流来调查任何遭入侵的 IP
规格
- VPC 流日志是 Andromeda 的一部分,后者是为 VPC 网络提供支持的软件。VPC 流日志在启用后不会造成延迟或性能损失。
- VPC 流日志适用于 VPC 网络,但不适用于旧版网络。您可以为每个子网、Cloud Interconnect 的 VLAN 连接(预览版)或 Cloud VPN 隧道(预览版)启用或停用 VPC 流日志。如果为子网启用了 VPC 流日志,VPC 流日志会从该子网中的所有虚拟机实例(包括 GKE 节点)收集数据。
- VPC 流日志对 TCP、UDP、ICMP、ESP 和 GRE 流进行采样。系统将对入站和出站流进行采样。这些流量可以在 Google Cloud 内,也可以在 Google Cloud 与其他网络之间。如果通过采样采集流,VPC 流日志将生成该流的日志。每个流记录都包含记录格式部分中所述的信息。
- VPC 流日志通过以下方式与防火墙规则进行交互:
- 出站数据包在出站防火墙规则之前进行抽样。即使出站防火墙规则拒绝出站数据包,VPC 流日志也可以对这些数据包进行采样。
- 入站数据包依照入站防火墙规则进行采样。如果入站防火墙规则拒绝入站数据包,则 VPC 流日志不会对这些数据包进行采样。
- 您可以在 VPC 流日志中使用过滤条件以仅生成某些日志。
- VPC 流日志支持具有多个网络接口的虚拟机。 您需要为每个 VPC 中包含网络接口的每个子网启用 VPC 流日志。
- 如需记录同一 Google Kubernetes Engine (GKE) 节点上的 Pod 之间的流,您必须为集群启用节点内可见性。
- Cloud Run 资源不会报告 VPC 流日志。
日志收集
数据包在汇总时间间隔内进行采样。在汇总时间间隔内针对给定 IP 连接收集的所有数据包会汇总到单个流日志条目。然后,此数据会发送到 Logging。
日志默认在 Logging 中存储 30 天。如果您希望延长日志保留时间,可以设置自定义保留期限或导出日志到支持的平台。
日志采样和处理
为了生成流日志,VPC 流日志会对离开和进入虚拟机或通过网关(例如 VLAN 连接或 Cloud VPN 隧道)的数据包进行采样。流日志生成后,VPC 流日志会按照本部分所述的流程对其进行处理。
VPC 流日志使用主要采样率对数据包进行采样。主要采样率是动态的,具体取决于采样时运行虚拟机或网关的物理主机的负载。对任何单个 IP 连接采用的概率会随着数据包数量的增加而提高。您无法控制主要流日志采样流程,也无法调整主要采样率。
流日志生成后,VPC 流日志会按照以下过程处理这些日志:
- 过滤:您可以指定只生成与指定条件匹配的日志。例如,您可以过滤,以便仅生成特定虚拟机的日志或仅生成具有特定元数据值的日志,并舍弃其余日志。 如需了解详情,请参阅日志过滤。
- 汇总:系统会按可配置的汇总时间间隔汇总有关采样的数据包的信息,以生成一个流日志条目。
- 次要流日志采样:这是第二个采样流程。系统会根据可配置的次要采样率参数,对流日志条目进行进一步采样。次要采样在主要流日志采样流程生成的流日志上执行。例如,如果将次要采样率设置为 1.0 或 100%,则 VPC 流日志会对主要流日志采样生成的流日志进行 100% 采样。
- 元数据:如果停用,则会舍弃所有元数据注释。如果要保留元数据,可以指定保留所有字段或某些指定的字段。如需了解详情,请参阅元数据注解。
- 写入 Logging:最终日志条目会写入 Cloud Logging。
由于 VPC 流日志不会捕获每个数据包,因此它会通过从捕获的数据包进行插值来补偿丢失的数据包。由于初始配置和用户可配置的采样设置而丢失的数据包会发生这种情况。
尽管 Google Cloud 无法捕获每一个数据包,日志记录捕获量也可能相当庞大。您可以通过调整日志收集的以下方面来平衡流量可见性和存储费用需求:
- 汇总时间间隔:在一段时间间隔内采样的数据包会汇总到单个日志条目。此时间间隔可以是 5 秒(默认)、30 秒、1 分钟、5 分钟、10 分钟或 15 分钟。
- 次要采样率:
- 对于虚拟机,系统默认会保留 50% 的日志条目。您可以将此参数的范围设置为从
1.0
(100%,保留所有日志条目)到0.0
(0%,不保留任何日志)。 - 对于 VLAN 连接和 Cloud VPN 隧道,系统默认会保留 100% 的日志条目。您可以将此参数从
1.0
设置为大于0.0
。
- 对于虚拟机,系统默认会保留 50% 的日志条目。您可以将此参数的范围设置为从
- 元数据注解:默认情况下,流日志条目使用元数据信息进行注解,例如 Google Cloud 中的来源和目的地的名称或外部来源和目的地的地理区域。元数据注解可以关闭,也可以仅指定特定注解以节省存储空间。
- 过滤:默认情况下,系统会为每个采样流生成日志。您可以设置过滤条件,以便仅生成符合特定条件的日志。
价格
适用 Logging、BigQuery 或 Pub/Sub 标准价格。 如需了解 VPC 流日志价格,请参阅 Network Telemetry 价格。
后续步骤
- 如需详细了解 VPC 流日志记录格式以及可用的元数据注解,请参阅关于 VPC 流日志记录。
- 如需查看针对各种应用场景收集的 VPC 流日志示例,请参阅关于流量。
- 如需开始报告子网的流,请参阅配置 VPC 流日志。