[SEO 副标题]
本指南演示了如何在 Amazon QuickSight 中追踪和更好地了解您的数据沿袭。 我们通过 AWS 服务组合实现这一过程,采用 AWS CloudFormation 模板,不再需要复杂的脚本了。由此,您可以对数据来源和数据集的使用情况和相互关系进行可视化和分析。以前,追踪这些资产之间的连接关系需要使用复杂的脚本。QuickSight 资产需要人工评估来验证迁移。在评估数据架构、筛选器、参数或视觉对象的变化时,还需要人工检查控制面板。这种人工流程不仅无法很好地扩展,而且会面临因缺失受影响的控制面板而导致生产故障的风险。然而,借助这种全新的自动化架构,用于追踪 QuickSight 数据沿袭的时间便可从数周缩短到数分钟。
请注意:[免责声明]
架构图
[架构图描述]
第 1 步
AWS Lambda 函数读取 AWS 账户中所有 Amazon QuickSight 数据来源、数据集、分析和控制面板的元数据。
第 2 步
Lambda 函数将元数据作为平面文件存储在 Amazon Simple Storage(Amazon S3)存储桶中。
第 3 步
Lambda 函数针对数据来源、数据集、分析和控制面板的元数据生成单独的 Amazon Athena 表。
第 4 步
Lambda 函数构造新的数据集和名为“数据沿袭控制面板”的 QuickSight 控制面板。此操作利用 Athena 表在 QuickSight 中对数据沿袭、对象和资源信息实现可视化。
第 5 步
用户访问 QuickSight 以查看“数据沿袭控制面板”并从中获得见解。
第 6 步
当用户查看“数据沿袭控制面板”时,QuickSight 会向 Athena 表发出查询。
第 7 步
Athena 运行查询,访问 Amazon S3 存储桶中的数据,并将结果返回给 QuickSight 以呈现数据沿袭控制面板。
第 8 步
当用户在 QuickSight 中创建或更新数据来源、数据集、分析或控制面板时,Amazon EventBridge 规则会调用 Lambda 函数。
第 9 步
Lambda 函数从 QuickSight 读取新的或修订后的资源元数据,并添加到 Amazon S3 存储桶中。然后,数据沿袭控制面板可以通过 QuickSight 访问这些添加的元数据。
Well-Architected 支柱
当您在云中构建系统时,AWS Well-Architected Framework 可以帮助您了解所做决策的利弊。框架的六大支柱使您能够学习设计和操作可靠、安全、高效、经济高效且可持续的系统的架构最佳实践。使用 AWS 管理控制台中免费提供的 AWS Well-Architected Tool,您可以通过回答每个支柱的一组问题,根据这些最佳实践来检查您的工作负载。
上面的架构图是按照 Well-Architected 最佳实践创建的解决方案示例。要做到完全的良好架构,您应该遵循尽可能多的 Well-Architected 最佳实践。
-
卓越运营
AWS CloudFormation 堆栈结合 Lambda 函数,可以记录资源预置、错误和用户活动。这样就能对运营情况进行一致的评估,并确定改进措施。本指南中使用的其他服务包括了 AWS CloudTrail 和 Amazon CloudWatch,用于自动捕获 Lambda 函数日志和错误。预置的 Athena 和 Quicksight 服务还在 CloudTrail 中记录用户 API 调用。Lambda 函数将 API 故障、节流或速率限制等错误记录到 CloudWatch。
CloudFormation 模板部署自动化基础架构,将所有故障记录到 CloudWatch 以供审核。如果资源预置失败,CloudFormation 会回滚其他资源。
此架构中的所有服务均支持向 CloudWatch 或 CloudTrail 发送可配置的日志记录,允许根据您的操作要求进行跟踪和自定义设置。
-
安全性
通过 AWS Identity and Access Management(IAM)策略确保数据访问的安全性,只向经授权用户授予访问权限。Amazon S3 存储桶的策略是只允许向 QuickSight 和 Athena 使用的 IAM 角色授予访问权限。默认情况下,资源属于私有,只能通过基于 IAM 身份的策略进行修改。QuickSight 数据沿袭控制面板最初属于私有,只对一名用户开放,不过该用户可以选择与其他授权用户共享。Amazon S3 存储桶中的数据只向使用 IAM 角色的 QuickSight 和 Athena 授予私人访问权限。此架构不允许其他身份访问数据,这有助于确保安全。
-
可靠性
本指南中的 AWS 服务是无服务器的,使用托管的 AWS 端点和 DNS 来支持高度可用的网络拓扑,而 AWS 会自动处理服务故障和恢复。具体而言,CloudFormation 堆栈会自动进行预置,如果一个资源出现故障,则回滚所有资源。CloudFormation 堆栈还预置了除 Athena 表以外的所需资源,并在出现故障或删除时会删除 QuickSight 之外的所有资源。CloudFormation 记录 CloudTrail 和 CloudWatch 中的预置和错误。
Amazon S3 存储桶存储可恢复的 QuickSight 元数据,Athena 具有跨可用区的高可用性,而 QuickSight 则利用 AWS 可靠性功能。
Lambda 函数是无状态的,使用 Amazon S3 进行调用;Lambda 将调用和错误记录到 CloudWatch 中。
最后,无服务器服务可根据使用情况自动扩展。Amazon S3 根据数据进行扩展、Athena 和 QuickSight 根据使用情况进行扩展,其他 Lambda 函数可通过 QuickSight 更新进行调用。
-
性能效率
所选择的服务专为此数据沿袭应用场景而设计。首先,QuickSight 是一项无服务器服务,与 Athena 集成,可在 Amazon S3 中查询数据。QuickSight 控制面板用于深入洞察您的 QuickSight 资源和数据沿袭。您可以根据 Athena 表构建额外的 Athena 视图或 QuickSight 数据集,以查询或可视化更多信息。
其次,Lambda 函数在创建或更新 QuickSight 资源时提供按需计算。
第三,服务部署在同一区域,以减少延迟和数据传输成本。
最后,托管的无服务器服务根据使用情况自动扩展,扩展和维护工作由 AWS 负责。这种优化的架构可让您专注于获得关于数据沿袭的见解,而不用专注于性能管理。
-
成本优化
本指南利用托管的 AWS 服务来省去维护开销和对第三方许可的需求。利用经过优化和自动化的 AWS 服务,可通过无服务器服务和减少数据传输来降低成本。此外,这些服务部署在同一区域,以尽量减少数据传输费用,而且 QuickSight 不收取数据传输费用。
无服务器服务仅在需要时运行。Athena 会在访问数据沿袭控制面板时进行调用。Amazon S3 存储桶只包含 QuickSight 元数据的平面文件。Lambda 最初运行一次后,后续仅在因 QuickSight 资源通过 EventBridge 更新而被调用时才会运行。
-
可持续性
此架构使用可持续的 AWS 服务,这些服务可按需扩展。Athena 只在用户访问 QuickSight 数据集时调用,并根据使用情况自动扩展。Lambda 函数在初始设置期间运行,然后仅在创建或修改 QuickSight 资源时运行。Amazon S3 中的数据存储具有成本效益且可自动扩展。数据存储在 Amazon S3 中,仅在需要时才能访问。无服务器服务只有在被调用时才提供计算,从而避免了持续的硬件分配。这种按需使用资源的优化方式增强了可持续性,同时自动扩缩、无服务器服务和 Amazon S3 存储最大限度地减少了对环境的影响。
相关内容
免责声明
示例代码;软件库;命令行工具;概念验证;模板;或其他相关技术(包括由我方人员提供的任何前述项)作为 AWS 内容按照《AWS 客户协议》或您与 AWS 之间的相关书面协议(以适用者为准)向您提供。您不应将这些 AWS 内容用在您的生产账户中,或用于生产或其他关键数据。您负责根据特定质量控制规程和标准测试、保护和优化 AWS 内容,例如示例代码,以使其适合生产级应用。部署 AWS 内容可能会因创建或使用 AWS 可收费资源(例如,运行 Amazon EC2 实例或使用 Amazon S3 存储)而产生 AWS 费用。
本指南中提及第三方服务或组织并不意味着 Amazon 或 AWS 与第三方之间存在认可、赞助或从属关系。AWS 的指导是一个技术起点,您可以在部署架构时自定义与第三方服务的集成。