数据管道
数据管道是解决方案的核心功能。在 亚马逊云科技点击流分析 解决方案中,我们将数据管道定义为将点击流数据摄取、处理和建模成目标数据仓库的一系列集成 AWS 服务的序列。它还被设计为高效可靠地从您的网站和应用程序收集数据到基于 S3 的数据湖中,可以进一步处理、分析和用于其他用例(例如实时监控和推荐)。
概念
在创建数据管道之前,您可以在本解决方案中学习一些概念,以便将数据管道配置为最符合您业务目标的方式。
项目
本解决方案中的项目是顶层实体,类似于一个容器,用于分组您的应用程序和收集和处理点击流数据的数据管道。一个项目包含一个数据管道,并且可以有一个或多个应用程序注册到它。
数据管道
数据管道部署在一个 AWS 区域中,这意味着所有基础资源都在一个 AWS 区域中创建。本解决方案中的数据管道包含四个模块:
- 数据摄取:提供通过 HTTP 请求收集数据的端点的 Web 服务,并将数据汇入流服务或 S3。
- 数据处理:将原始数据转换为解决方案架构并使用其他维度丰富数据的模块。
- 数据建模:聚合数据以计算业务分析指标的模块。
- 报表:在 QuickSight 中创建指标和开箱即用的可视化仪表板,使得用户能够在分析工作坊中查看报表和查询点击流数据的模块。
应用程序
本解决方案中的应用程序可以代表您业务中的一个应用程序,该应用程序可能构建在一个或多个平台上(例如 Android、iOS 和 Web)。
仪表板
对于在仪表板中注册的每个应用程序,解决方案将在 AWS 区域中为每个应用程序创建一个 QuickSight 仪表板。
下面是一个图解,以帮助您更好地理解这些概念及其在 AWS 上下文中的关系。
先决条件
您可以在所有 AWS 区域中配置管道。对于需要选择的区域,您需要首先启用它们。
在开始在特定区域中配置管道之前,请确保目标区域中具有以下内容:
- 至少一个 Amazon VPC。
- 在 VPC 中至少有两个公共子网跨越两个可用区。
- 在 VPC 中至少有两个私有子网(带 NAT 网关或实例)跨越两个可用区,或者在 VPC 中至少有两个隔离子网跨越两个可用区。如果您想将解决方案资源部署在隔离子网中,则必须为以下 AWS 服务创建 VPC 终端,
s3
、logs
、ecr.api
、ecr.dkr
、ecs
、ecs-agent
、ecs-telemetry
。- 如果您在摄取模块中使用 KDS 作为缓冲器,则为
kinesis-streams
。 - 如果您启用数据处理模块,则为
emr-serverless
、glue
。 - 如果您在数据建模模块中启用 Redshift 作为分析引擎,则为
redshift-data
、sts
、dynamodb
(必须是网关类型的 DynamoDB 端点)、states
和lambda
。
- 一个位于同一区域的 S3 存储桶。
- 如果您需要在数据建模模块中启用 Redshift Serverless 作为分析引擎,则需要跨至少三个可用区的子网。
- 如果启用了报表功能,则需要 QuickSight 企业版订阅。