关于 IBM Cloud Flow Logs for VPC

IBM Cloud® Flow Logs for VPC 支持收集、存储和展示有关在您的虚拟私有云(VPC)内网络接口之间收发的 (IP)流量的信息。Internet Protocol

流日志可以帮助完成许多任务,包括:

  • 对特定流量未到达实例的原因进行故障诊断,这有助于诊断限制性安全组规则
  • 记录到达实例的元数据网络流量
  • 从网络接口确定源和目标流量
  • 遵守合规性法规
  • 帮助进行根本原因分析

功能概述

  • 全球所有 IBM Cloud 多专区区域 (MZR) 中的可用性,提供全局解决方案
  • 以网络为中心的生命周期和运营管理
  • 暂挂 (停止) 和恢复 (启动) 收集器活动
  • 方便地将收集器输出存储在 IBM Cloud® Object Storage 中
  • 对网络性能没有影响
  • 内置容错
  • 定价按每个流日志目标收集的每 GB 元数据进行计量

配置流日志收集器

您可以配置具有不同集合作用域的流日志收集器。 例如,以 VPC 为目标并从该 VPC 中的 所有 网络接口聚集传输中数据的收集器。 或者,将虚拟服务器实例作为目标并聚集来自 该虚拟服务器实例的网络接口的传输中数据的收集器。 收集数据后,流日志将存储在创建流日志收集器时配置的 IBM Cloud® Object Storage 存储区中。

您可以为以下目标作用域设置流日志收集器的粒度。 请记住,如果为子网或 VPC 创建流日志,那么将监视该子网或 VPC 中的每个网络接口。

流量日志目标范围
目标 收集哪些数据
VPC 收集特定 VPC 上所有网络接口的数据。
Subnet 收集特定子网上所有网络接口的数据。
实例 收集特定虚拟服务器上所有网络接口的数据。
接口 收集特定虚拟服务器上特定网络接口的数据。

在每个收集器上传间隔内,每个网络接口会有两个流量日志(入站和出站),这些日志会被写入指定的 Object Storage 存储桶。

最精细的粒度获胜

每个流日志目标都可以具有单个流日志收集器,这可能会导致重叠。 下面是一些示例,首先列出了最精细的详细程度:

  • 虚拟服务器实例接口可能具有流日志收集器。
  • 接口连接到的虚拟服务器实例可能具有单独的流日志收集器。
  • 虚拟服务器实例连接到的子网可能具有自己的流日志收集器。
  • 子网所属的 VPC 可能具有自己的流日志收集器。

如果存在重叠,那么最有针对性的流日志收集器优先。 此优先顺序很重要,因为每个流日志收集器都可能记录到不同的 Object Storage 存储区,并且存储流日志数据的位置可能会在虚拟服务器实例的生存期内发生更改。

入门

要开始使用流日志收集器,请执行以下步骤:

  1. 在订购 IBM Cloud 流日志之前,请完成所有 先决条件
  2. 确定集合作用域并 创建一个或多个流日志收集器
  3. 查看生成的流日志。 请参阅 查看流日志对象 以获取详细信息。

创建或删除流日志不会影响网络性能。 流日志数据是在网络流量路径外部收集的,因此不会影响网络等待时间或吞吐量。

流日志用例

通过IBM Cloud Flow Logs for VPC,您可以验证网络连接和数据是否成功到达目标目标,如果没有,则可以排除故障。 这在诊断安全组规则和拒绝的流等时很有用。

用例 1:设置最细粒度取胜

下图显示了可以配置流日志收集器的可能方法。 此示例突出显示了同一 VPC 中定义的不同流日志目标,描述了哪些收集器从其关联实例获取数据。 例如:

  • VPC 流日志收集器 (蓝色) 是雨伞收集器。 现在或将来 VPC 中的任何实例都将流入 Bucket-E (如果没有其他收集器以存储区为目标)。

  • 子网 流日志收集器 (绿色) 也是雨伞收集器,但适用于 VPC 中的特定子网。 此子网中的任何实例,或者将来此子网中的任何实例都将流入 Bucket-C。

  • 当您需要更精细的粒度时,将使用 实例 流日志收集器 (红色)。 例如,假定 Instance-5 正在使用 Bucket-E,并且您正在尝试对特定实例上的连接问题进行故障诊断。 您可以通过仅为该实例创建流日志收集器,将其所有流量发送到单独的存储区一段时间来缩小故障诊断范围。

    最细粒度获胜示例
    粒度获胜

用例 2:故障排除安全组和网络 ACL

与用例 1 类似,本用例说明了如何为不同目标范围设置流量日志收集器的粒度。 它还进一步描述了流日志如何通过使用安全组和网络 ACL (NACL) 来帮助您进行故障诊断。

方案:

  1. 子网 3 上的 NACL 2 阻止您在其中运行 Web 服务器。 请注意,此网络 ACL 允许入口,但拒绝出口。
  2. 子网 2 (NACL 1 允许入口和出口) 上的虚拟服务器实例尝试查询正在子网 3 上运行的 Web 服务器。
  3. 查询将通过,并且您将看到在子网 3 的入口路径上接受到虚拟服务器实例 31 中的流量。
  4. 当虚拟服务器实例 31 接收到请求时,它将生成应答并尝试发送该应答。 不幸的是,无法返回响应,并且您的连接在子网 2 上挂起,直到它超时为止。
  5. 流日志显示已发送请求,并且已在虚拟服务器实例 31 上接受该请求。 流日志显示已拒绝响应流量。

![排除安全组和网络 ACL 的故障](images/fl-sc-acls.png "排除安全组和网络 ACL 的故障排除安全组和网络 ACL 的故障排除安全组和网络" caption-side="bottom}的"){: caption="

用例 3:检测端口漏洞

设想一种情况:攻击者向 TCP 的不同端口发起连接。 反过来,安全组过滤器会阻止这些连接。 流量日志会收集所有被安全组拒绝的流量,并将其上报至 IBM Cloud® Object Storage。

检测端口漏洞示例
检测端口漏洞示例* 检测端口
示例