本指南有助于处理数据消费需求与常见 ETL 实践执行的低级数据处理活动之间的差距。对于使用基于 SQL 的数据管理系统的组织来说,适应现代数据工程实践可能会拖慢从数据中获取强大见解的进度。本指南提供了一种质量认知设计,通过开源数据框架 Arc 实现以用户为中心的 ETL 方法,从而提高数据处理效率。该指南加速了与 ETL 实践的交互,简化了流程并提高了抽象级别,从而统一批处理和流处理中的 ETL 活动。

我们还提供使用高效计算实例(例如 AWS Graviton 处理器)进行优化设计的选项,使您能够优化在 Amazon EKS 上大规模运行 ETL 任务的性能和成本。

请注意:[免责声明]

架构图

[架构图描述]

下载架构图 PDF 

Well-Architected 支柱

当您在云中构建系统时,AWS Well-Architected Framework 可以帮助您了解所做决策的利弊。框架的六大支柱使您能够学习设计和操作可靠、安全、高效、经济高效且可持续的系统的架构最佳实践。使用 AWS 管理控制台中免费提供的 AWS Well-Architected Tool,您可以通过回答每个支柱的一组问题,根据这些最佳实践来检查您的工作负载。

上面的架构图是按照 Well-Architected 最佳实践创建的解决方案示例。要做到完全的良好架构,您应该遵循尽可能多的 Well-Architected 最佳实践。

  • Amazon EKS 集群中,Amazon Elastic Compute Cloud(Amazon EC2)实例(X86_64 CPU、Graviton ARM64)充当计算节点,运行 Guidance 工作负载。Spark 作业根据工作负载需求在弹性配置的 Amazon EC2 Spot 实例上执行。

    CodeBuildCodePipeline 自动化 GitOps 流程,从 Git 代码更新构建容器映像并将其推送到 Amazon ECR 私有注册表。Argo Workflows 在 Amazon EKS 上调度 ETL 作业,自动从 Amazon ECR 拉取 Arc Docker 映像,从构件 S3 存储桶下载 ETL 资产,并将应用程序日志发送到 CloudWatch

    这种数据 ETL 作业的自动化部署和执行最大限度地减少了运营开销并提高了生产力。此外,使用 CodeBuildCodePipeline 的 CI/CD 管道有助于确保持续改进和开发,同时将指南的 Arc Docker 映像安全地存储在 Amazon ECR 中。

    阅读卓越运营白皮书 
  • Amazon EKS 集群资源部署在 Amazon VPC 内,提供与公共互联网的逻辑网络隔离。Amazon VPC 支持安全功能,例如 VPC 端点(将流量保留在 AWS 网络内)、安全组、网络访问控制列表(ACL)以及用于控制入站和出站流量及授权的 AWS Identity and Access Management(IAM)角色和策略。Amazon ECR 映像注册表提供容器级安全功能,例如漏洞扫描。Amazon ECRAmazon EKS 遵循开放容器计划(OCI)注册表和 Kubernetes API 标准,并纳入严格的安全协议。

    IAM 提供对 Amazon S3 应用程序数据的访问控制,AWS Key Management Service(AWS KMS)则会对 Amazon S3 上的静态数据进行加密。Amazon EKS 集群上的服务账户 IAM 角色(IRSA)可对 Pod 进行细粒度访问控制,实施基于角色的访问控制并限制未经授权的 Amazon S3 数据访问。Secrets Manager 安全地存储和管理凭证。 CloudFront 为 Jupyter 和 Argo Workflows Web 工具提供 SSL 编码的安全入口点。

    阅读安全性白皮书 
  • Amazon EKS 通过跨多个可用区(AZ)部署 Kubernetes 控制面板和计算面板来实现高度可用的拓扑。这有助于确保数据应用程序的持续可用性(即使可用区遇到中断),从而在 Amazon EKS 上实现可靠的多可用区 EC2 实例部署。

    对于数据存储,Amazon S3 提供高持久性和可用性,自动跨区域内的多个可用区复制数据对象。此外,Amazon ECR 在高度可用且可扩展的架构中托管 Docker 映像,可靠地支持基于容器的应用程序部署和增量。

    Amazon S3Amazon EKSAmazon ECR 是完全托管的服务,专为高服务等级协议(SLA)而设计,同时具有较低的运营成本。它们支持部署关键业务应用程序以满足高可用性要求。

    阅读可靠性白皮书 
  • Amazon EKS 集群的 Amazon EC2 计算节点可以根据应用程序工作负载动态扩展和缩减。基于 Graviton 的 EC2 实例通过定制设计的基于 Arm 的处理器、优化的硬件和架构增强来提高性能效率。

    解耦的计算存储模式(输入和输出数据存储在 Amazon S3 中)可增强动态计算扩展效率。Data Catalog 可简化元数据管理,并与 Athena 无缝集成,以简化元数据管理并增强查询性能。Data Catalog 可自动抓取和维护技术元数据,以实现高效的数据处理和查询。Athena 无需移动即可快速查询 Amazon S3 数据,进一步提高了分析工作流程的效率。

    阅读性能效率白皮书 
  • Amazon ECR 是一项托管服务,用于保护和支持容器应用程序,对存储和提供容器映像收取固定的月费。 Amazon EKS 集群计算节点可以根据 Spark 工作负载进行扩展和缩减,从而提供经济高效的 Graviton竞价型实例类型。Data Catalog 提供无服务器、完全托管的元数据存储库,无需设置和维护长期运行的元数据数据库,并降低了运营开销和成本。CodeBuildCodePipeline 在无服务器环境中自动构建和部署 Arc ETL 框架的 Docker 映像,不仅可以降低基础设施维护成本,而且无需配置和管理构建服务器。

    阅读成本优化白皮书 
  • 本指南运行具有基于 Graviton 处理器的高效计算类型的 Amazon EKS 集群。Amazon ECR 无需管理定制硬件或物理服务器。Data CatalogAthena 是无服务器服务,可进一步减少能源和环境影响。

    针对大规模 Apache Spark 工作负载优化 Amazon EKS 计算层可最大限度地减少分析工作负载对环境的影响。您可以根据性能需求和可持续发展优先事项灵活选择基于 Arm 的处理器。

    阅读可持续性白皮书 

实施资源

示例代码为起点。它经过行业验证,是规范性但不是决定性的,可以帮助您开始。

[内容类型]

[标题]

此[博客文章/电子书/指南/示例代码]演示了如何 [插入简短描述]。

免责声明

示例代码;软件库;命令行工具;概念验证;模板;或其他相关技术(包括由我方人员提供的任何前述项)作为 AWS 内容按照《AWS 客户协议》或您与 AWS 之间的相关书面协议(以适用者为准)向您提供。您不应将这些 AWS 内容用在您的生产账户中,或用于生产或其他关键数据。您负责根据特定质量控制规程和标准测试、保护和优化 AWS 内容,例如示例代码,以使其适合生产级应用。部署 AWS 内容可能会因创建或使用 AWS 可收费资源(例如,运行 Amazon EC2 实例或使用 Amazon S3 存储)而产生 AWS 费用。

本指南中提及第三方服务或组织并不意味着 Amazon 或 AWS 与第三方之间存在认可、赞助或从属关系。AWS 的指导是一个技术起点,您可以在部署架构时自定义与第三方服务的集成。

此页内容对您是否有帮助?