使用本指引,有助於消除資料取用需求與常用 ETL 實務執行的低層級資料處理活動之間的差距。組織若採用以 SQL 為基礎的資料管理系統來運作,適應現代化的資料工程實務可能會減慢利用資料中強大洞察的程序。本指引提供具有品質感知的設計,可透過開放原始碼資料架構 Arc,以使用者為中心的 ETL 方法來提高資料處理效率。本指引可加速與 ETL 實務的互動,促進簡單性並提高抽象層級,以便在批次和串流中統一 ETL 活動。

我們還提供使用高效運算執行個體 (例如 AWS Graviton 處理器) 實現最佳設計的選項,讓您能夠優化在 Amazon EKS 上大規模執行 ETL 任務的效能與成本。

請注意:[免責聲明]

架構圖

[架構圖說明]

下載架構圖 PDF 

Well-Architected 支柱

AWS Well-Architected Framework 可協助您了解在雲端建立系統時所做決策的利弊。該架構的六根支柱讓您能夠學習設計和操作可靠、安全、高效、經濟高效且永續的系統的架構最佳實務。使用 AWS Well-Architected Tool (在 AWS 管理主控台中免費提供),您可以透過回答每根支柱的一組問題來針對這些最佳實務審查您的工作負載。

上方的架構圖是一個考量到 Well-Architected 最佳實務而建立的的解決方案的範例。若要完全實現 Well-Architected,您應該盡可能地多遵循 Well-Architected 的最佳實務。

  • Amazon EKS 叢集內,Amazon Elastic Compute Cloud (Amazon EC2) 執行個體 (X86_64 CPU、Graviton ARM64) 充當運算節點,執行指引工作負載。根據工作負載需求,在彈性佈建的 Amazon EC2 Spot 執行個體上執行 Spark 任務。

    CodeBuildCodePipeline 會自動執行 GitOps 程序,透過 Git 程式碼更新來建置容器映像,並將其推送至 Amazon ECR 私有登錄檔。Argo 工作流程會在 Amazon EKS 上排程 ETL 任務,自動從 Amazon ECR 提取 Arc Docker 映像檔,從成品 S3 儲存貯體下載 ETL 資產,以及將應用程式日誌傳送至 CloudWatch

    這種自動化的 Data ETL 任務部署和執行可將營運開銷降至最低,並提高效率。此外,使用 CodeBuild CodePipeline 的 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 叢集上服務帳戶 (IRSA) 的 IAM 角色可針對 Pod 進行精細的存取控制,強制實施以角色為基礎的存取控制,並限制未經授權的 Amazon S3 資料存取。Secrets Manager 可安全地存放和管理憑證。 CloudFront 針對 Jupyter 和 Argo 工作流程 Web 工具提供 SSL 編碼的安全入口點。

    閱讀安全白皮書 
  • Amazon EKS 透過在多個可用區域 (AZ) 部署 Kubernetes 控制和運算平面,來實現高可用性拓樸。這有助於確保資料應用程式的持續可用性 (即使 AZ 遇到中斷),從而在 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 工作負載擴展和縮減,提供經濟高效的 GravitonSpot 執行個體類型。Data Catalog 提供無伺服器、全受管中繼資料儲存庫,無需設定和維護長期運作中的中繼資料資料庫,並降低營運開銷和成本。CodeBuildCodePipeline 在無伺服器環境中自動化建置和部署 Arc ETL 架構的 Docker 映像檔,除了降低基礎設施維護成本之外,還消除了佈建和管理組建伺服器的需求。

    閱讀成本最佳化白皮書 
  • 本指引在 Graviton 處理器基礎上,以高效的運算類型執行 Amazon EKS 叢集。Amazon ECR 無需自訂硬體或實體伺服器管理。Data CatalogAthena 是無伺服器服務,可進一步減少能源和環境影響。

    針對大規模 Apache Spark 工作負載優化 Amazon EKS 運算層,將分析工作負載的環境影響降至最低。您可靈活地根據效能需求和永續發展優先事項,選擇 Arm 處理器。

    閱讀永續發展白皮書 

Implementation 資源

範本程式碼是一個起點。它經過了產業驗證、具有規範性但並非明確性,並且可以幫助您開始。

[內容類型]

[標題]

這個 [落格文章/電子書/指南/範本程式碼] 演示了如何 [插入簡短描述]。

免責聲明

範例程式碼、軟體庫、命令列工具、概念驗證、範本或其他相關技術 (包括我們的人員提供的任何上述技術) 依據 AWS 客戶協議或您與 AWS 之間的相關書面協議 (以適用者為準) 作為 AWS 內容提供給您。您不得在您的生產帳戶、生產或其他關鍵資料中使用此 AWS 內容。您有責任根據您的特定品質控制實務和標準,依生產級用途來測試、保護和最佳化 AWS 內容 (如範例程式碼)。部署 AWS 內容可能會因建立或使用 AWS 收費資源 (如執行 Amazon EC2 執行個體或使用 Amazon S3 儲存) 而產生 AWS 費用。

本指引中對第三方服務或組織的參考並不意味著 Amazon 或 AWS 與第三方之間的認可、贊助或聯繫。AWS 的指引是技術起點,您可以在部署架構時自訂與第三方服務的整合。

本頁對您是否有幫助?