使用 Cribl Stream 采样优化 Amazon VPC 流日志分析

作者: Rizwan Mushtaq, Kam Amir, Sunil Ramachandra |

为了保持竞争力,软件开发企业必须不断寻找方法来优化其云基础架构监控。Amazon Virtual Private Cloud (Amazon VPC) 流量日志是亚马逊云科技的一项重要功能,可捕获有关进出您的 VPC 网络接口的 IP 流量的信息。这些日志对于网络监控、安全分析和合规性审计至关重要。但是,组织在使用 VPC 流日志时面临重大挑战。生成的庞大数据量可能导致高昂的存储和处理成本。此外,日志格式的复杂性使得提取有意义的见解变得困难。使用上下文信息丰富日志并创建有效的可视化效果通常需要专门的工具和大量的精力。

Cribl 是 Amazon Marketplace 的亚马逊云科技合作伙伴网络(APN)成员,他直面了这些挑战。作为领先的遥测数据管道,Cribl Stream 位于数据源和目的地之间,允许灵活操作传输中的流量日志。它提供了独特的功能,包括用于减少数据量的实时过滤、使用外部数据源进行即时扩充以及便于分析的格式转换。这种方法不仅可以降低成本,还可以提高流日志数据的价值,从而实现更有效的网络监控和安全洞察。

先决条件

要执行该解决方案,您需要具备以下先决条件:

  • 具有管理访问权限的亚马逊云科技账户
  • VPC 流日志有权写入或创建新的 S3 存储桶的现有 Amazon S3 存储桶
  • 为需要启用流日志的用户配置了适当的身份和访问管理 (IAM) 权限
  • 一个 Cribl Cloud 账户

解决方案概述

这篇文章演示了如何将 Cribl Stream 与 VPC 流量日志集成,以优化您的网络流量分析。你将学习如何:

  • 通过 Amazon Marketplace 订阅 Cribl
  • 设置 VPC 流日志与 Cribl Stream 的集成
  • 使用 Cribl Search 查询来自 Cribl Lake 的数据
  • 为 VPC 流日志指标生成自定义查询和图表

图 1 显示了该解决方案的架构概述。

图 1:向 Cribl 环境提取流日志的架构概述

图 1:向 Cribl 环境提取流日志的架构概述

解决方案演练

本节将引导您完成部署解决方案所需的步骤。

通过 Amazon Marketplace 订阅 Cribl Cloud

  1. 登录您的亚马逊云科技管理控制台并前往 Amazon Marketplace 中的 Cribl 页面。
  2. 选择 Cribl.Cloud 套件。通读最终用户许可协议,然后选择免费试用
  3. 订阅完成后,您将收到一封来自 Amazon Marketplace 的确认邮件。

第 1 步:启用 VPC 流日志并发布流日志

要启用 VPC 流日志并将流日志发布到 Amazon Simple Storage Service (Amazon S3),请执行以下步骤:

  1. 在亚马逊 VPC 控制台的导航窗格中,选择您的 VPC。选中 VPC 的复选框。
  2. 选择操作,然后选择创建流日志。有关更多信息,请参阅创建发布到 Amazon S3 的流日志。
  3. 对于目标,选择发送到 Amazon S3 存储桶
  4. 对于 S3 存储桶 ARN,请指定现有 S3 存储桶的亚马逊资源名称 (ARN)。
  5. 选择 创建流日志

第 2 步:创建 Amazon SQS 队列

要创建 Amazon Simple Queue Service (Amazon SQS) 队列,请按照以下步骤操作:

  1. 在您的亚马逊云科技区域的 Amazon SQS 控制台中,创建一个队列。有关说明,请参阅 Amazon Simple Queue Service 开发者指南中的 Amazon SQS 入门。
  2. 将附加到 SQS 队列的访问策略替换为以下策略。
  3. 复制队列 ARN 以在步骤 3 中使用。

第 3 步:使用 Amazon S3 控制台启用 SQS 通知

要使用 Amazon S3 控制台启用 SQS 通知,请执行以下步骤:

  1. 登录亚马逊云科技管理控制台,打开 Amazon S3 控制台。
  2. 选择捕获步骤 1 中的流量日志的存储桶。
  3. 选择 属性事件通知创建事件通知。有关更多信息,请参阅使用 Amazon S3 控制台启用 Amazon SNS、Amazon SQS 或 Lambda 通知。
  4. 目标部分中,选择类型为 SQS 队列的事件通知目标,然后从步骤 2 中选择您之前创建的 Amazon SQS ARN。

第 4 步:设置以 Amazon SQS 为源代码的 Cribl Stream

要设置以 Amazon SQS 作为源代码的 Cribl Stream,请按照以下步骤操作:

  1. 在顶栏上,导航到 "产品",然后选择 Cribl Stream
  2. 在顶部导航栏中,选择管理,然后选择要配置的工作组
  3. 要使用图形化快速连接用户界面进行配置,请选择路由,然后选择快速连接(直播)。
  4. 在左侧,选择 添加来源。从生成的抽屉图块中,选择 Pull,然后选择 Amazon
  5. 输入 ID 下,输入一个唯一的名称来标识此 SQS 源定义。
  6. 队列 下,输入要从中读取事件的 SQS 队列的 ARN。
  7. 对于身份验证配置,选择身份验证方法下拉菜单以选择亚马逊云科技身份验证方法并提供您生成的亚马逊云科技访问密钥和安全密钥。
  8. 选择 保存

下图(图 2)显示了控制台中的这些步骤。

图 2:将 Cribl Streams 中的源配置为 SQS

图 2:在 Cribl Stream 中将源代码配置为 SQS

第 5 步:将 Cribl Lake 配置为目的地

要将 Cribl Lake 配置为目的地,请执行以下步骤:

  1. 在 Cribl Stream 控制台中,选择工作人员组,然后选择您的工作组。
  2. 路由 选项卡上,选择 "快速连接"。
  3. 在右侧,选择添加目的地
  4. 从列表中选择你想要的目的地。在此示例中,您将 Cribl Lake 添加为流日志的目的地。
  5. 在目的地上,选择配置
  6. 在 Lake 数据集下拉菜单下,选择 default_metrics
  7. 选择 保存

在所示的示例(图 3)中,我们将 Cribl Lake 添加为流日志的目的地。

图 3:将目的地配置为 Cribl Lake

图 3:将目的地配置为 Cribl Lake

第 6 步:配置 Cribl 管道

要配置 Cribl 管道,请执行以下步骤:

  1. 在 Cribl Stream 控制台中,选择工作人员组,然后选择您的工作组。
  2. 选择路由,然后选择快速连接。有关更多信息,请参阅快速连接。
  3. 要连接源和目标,请在所需的源和目标之间拖动一条线。选择源上的 + 图标并将其拖动到目的地。
  4. 在 "连接配置" 模式中,选择 "管道" 或 "包",如图 4 所示。
图 4:在 Cribl Streams 中配置管道和数据包

图 4:在 Cribl Stream 中配置管道和数据包

在图 5 所示的示例中,我们正在安装一个名为 VPC Flow Pack 的包,它可以帮助安全团队减少数据量并使用 GeoIP 等情境信息丰富数据。GeoIP 功能使用基于 IP 地址的地理字段丰富了事件。它适用于 MaxMind 的 GeoIP 二进制数据库。

图 5:在 Cribl Streams 中为安全团队配置 VPC 流日志包

图 5:在 Cribl Stream 中为安全团队配置 VPC 流日志包

步骤 7:提交、部署和验证配置

要提交、部署和验证配置,请执行以下步骤:

  1. 要部署源、目标和管道配置,请在右上角选择 提交并部署
  2. 通过查看常见错误和警告,验证源和目标是否正常运行。

第 8 步:查询和分析数据

要查询和分析数据,请执行以下步骤:

  1. 产品 下,选择 Cribl Lake
  2. 选择搜索并在搜索栏中输入 default_metrics。有关更多信息,请参阅 Meet Cribl Search。
  3. 在查询编辑器中,您可以使用 Kusto 查询语言 (KQL) 执行查询来分析您的流日志。

以下是一些 Cribl 示例查询,如图 6 所示:

dataset="default_metrics"
| extract parser='AWS VPC Flow Logs'
| where bytes > 100

此查询从 VPC 流日志数据集中检索最多 100 行。

图 6:CriblSeach 内部的图表,查询 Cribl Lake 的字节数

图 6:CriblSearch 内部的图表,查询 Cribl Lake 的字节数

要按条件筛选,请执行以下操作:

dataset="cribl_search_sample"| extract parser='AWS VPC Flow Logs' | render table

此查询通过 GeoIP 映射源和目标位置来分析 VPC 流量日志,从而清晰地了解网络流量模式(图 7)。

图 7:CriblSeach 内部图表,根据筛选后的参数查询 Cribl Lake

图 7:CriblSearch 内部图表,根据筛选后的参数查询 Cribl Lake

要按时间范围筛选,请执行以下操作:

dataset="default_metrics" earliest=-30d latest=-1h
| extract parser='AWS VPC Flow Logs'
| where bytes > 100 and action == "ACCEPT"
| timestats span=1d by host

如图 8 所示,此查询将结果范围缩小到过去 30 天到 1 小时前的流日志,其中字节 > 100 和操作 ACCEPT 每天按主机分组。

图 8:按主机分组查询 Cribl Lake 的 CriblSeach 内部图表

图 8:CriblSearch 内部按主机分组查询 Cribl Lake 的图表

清理

将此解决方案用于所涉及的服务(亚马逊云科技和 Cribl)会产生费用。为避免产生不必要的费用,请按照以下步骤清理您在本演练期间创建的资源:

  • 删除 VPC 日志日志,包括在解决方案演练中创建的 S3 存储桶。删除流日志后,可能需要几分钟才能停止收集数据。删除流日志不会从目标删除日志数据或修改目标资源。您必须使用目标服务的控制台直接从目标删除现有流日志数据并清理目标资源。
  • 删除 Cribl 中使用的任何临时或未使用的配置。
  • 按照 Amazon Marketplace 流程取消您的 SaaS 订阅。

结论

在这篇文章中,我们展示了 Cribl 如何通过高效的数据路由、筛选和转换来改进 VPC 流日志管理。使用 Stream 的组织可以降低其亚马逊云科技网络流量分析成本,同时提高日志质量。该平台通过额外的上下文丰富了 VPC 流日志,并标准化了日志格式,使分析更加简单。好处包括减少数据量和存储成本、增强网络可见性、改善安全监控以及灵活地路由到首选分析工具。

要了解后续步骤,请详细了解 VPC 流日志,然后在 Amazon Marketplace 中订阅 Cribl。

作者简介

riz.jpg

Rizwan Mushtaq

Rizwan 是亚马逊云科技的首席解决方案架构师。他使用亚马逊云科技服务帮助客户设计创新、有弹性且经济实惠的解决方案。他拥有威奇托州立大学电气工程硕士学位。

suramac.jpg

Sunil Ramachandra

Sunil 是一名高级解决方案架构师,帮助高速增长的独立软件供应商 (ISV) 在亚马逊云科技上进行创新和加速。他与客户合作构建高度可扩展和弹性的云架构。不与客户合作时,Sunil 喜欢与家人共度时光、跑步、冥想和在 Prime Video 上看电影。

Kamilo-1.jpg

Kamilo "Kam" Amir

Kamilo "Kam" Amir 是 Cribl 的业务发展总监,常驻华盛顿特区。他从 LogStream 2.2 版本开始就在 Cribl 工作,领导技术联盟计划。如果你需要找到他,只要找他和家人和哈士奇犬一起在岩溪公园徒步旅行即可,或者去 Cribl Slack 社区找他。


*前述特定亚马逊云科技生成式人工智能相关的服务仅在亚马逊云科技海外区域可用,亚马逊云科技中国仅为帮助您发展海外业务和/或了解行业前沿技术选择推荐该服务。