Sblocca flussi di lavoro di dati efficienti e informazioni più rapide con una soluzione di estrazione, trasformazione e caricamento (ETL) scalabile di livello aziendale
Questa guida aiuta a colmare il divario tra i requisiti di consumo dei dati e le attività di elaborazione dei dati di basso livello eseguite con pratiche ETL comuni. Per le organizzazioni che operano su sistemi di gestione dei dati basati su SQL, l'adattamento alle moderne pratiche di ingegneria dei dati può rallentare il progresso dello sfruttamento di potenti informazioni dai propri dati. Questa guida fornisce un design attento alla qualità per aumentare la produttività dei processi di dati attraverso il framework di dati open source Arc per un approccio ETL incentrato sull'utente. La Guida accelera l'interazione con le pratiche ETL, promuovendo la semplicità e aumentando il livello di astrazione per unificare le attività ETL sia in batch che in streaming.
Offriamo anche opzioni per una progettazione ottimale utilizzando istanze di calcolo efficienti (come i processori AWS Graviton) che consentono di ottimizzare le prestazioni e i costi di esecuzione di processi ETL su larga scala su HAQM EKS.
Nota: [Disclaimer]
Diagramma dell'architettura

[Descrizione del diagramma dell’architettura]
Fase 1
Interagisci con gli strumenti di sviluppo e orchestrazione ETL tramite gli endpoint HAQM CloudFront con origini Application Load Balancer, che forniscono connessioni sicure tra i client e gli endpoint degli strumenti ETL.
Fase 2
Sviluppa, testa e pianifica processi ETL che elaborano dati in batch e in streaming. Il traffico di dati tra i processi ETL e gli archivi di dati fluisce attraverso gli endpoint HAQM Virtual Private Cloud (HAQM VPC) basati su AWS PrivateLink senza lasciare la rete AWS.
Fase 3
Ambiente di sviluppo integrato JupyterHub (IDE), Argo Workflows e Apache Spark Operator vengono eseguiti come container su un cluster HAQM Elastic Kubernetes Service (HAQM EKS). JupyterHub IDE può integrarsi con un repository di codice sorgente (come GitHub) per tenere traccia delle modifiche agli asset ETL apportate dagli utenti. Le risorse includono i file del notebook Jupyter e gli script SQL da eseguire con il framework Arc ETL.
Fase 4
Aggiorna gli asset ETL nel repository del codice sorgente, quindi caricali in un bucket HAQM Simple Storage Service (HAQM S3). Il processo di sincronizzazione può essere implementato mediante una pipeline automatizzata di integrazione continua e implementazione continua (CI/CD) avviata da aggiornamenti nel repository del codice sorgente o eseguita manualmente.
Fase 5
Facoltativamente, puoi modificare il codice sorgente della build Docker caricato da un repository di codice nel bucket di asset S3 ETL. Attiva una pipeline CI/CD di AWS CodeBuild e AWS CodePipeline per ricostruire e inviare automaticamente l'immagine del contenitore Arc ETL Framework a un registro privato HAQM Elastic Container Registry (HAQM ECR).
Fase 6
Pianifica i job ETL tramite Argo Workflows per eseguirli su un cluster HAQM EKS. Questi processi estraggono automaticamente l'immagine del container Arc da HAQM ECR, scaricano risorse ETL dal bucket artefatto S3 e inviano i log delle applicazioni ad HAQM CloudWatch. Gli endpoint VPC proteggono l'accesso a tutti i servizi AWS.
Fase 7
In qualità di utente autenticato, puoi sviluppare e testare in modo interattivo i notebook come processi ETL nell'IDE JupyterHub, che recupera automaticamente le credenziali di accesso da AWS Secrets Manager per convalidare le richieste degli utenti di accesso.
Fase 8
Accedi ai dati di output ETL archiviati nel bucket S3 che supporta il formato del data lake transazionale. Puoi interrogare le tabelle Delta Lake tramite HAQM Athena integrato con Catalogo dati AWS Glue.
Principi di Well-Architected

Il framework AWS Well-Architected consente di valutare i pro e i contro delle decisioni prese durante il processo di creazione di sistemi nel cloud. I sei principi del framework consentono di apprendere le best practice architetturali per la progettazione e il funzionamento di sistemi affidabili, sicuri, efficienti, convenienti e sostenibili. Grazie allo strumento AWS Well-Architected, disponibile gratuitamente nella Console di gestione AWS, puoi rivedere i tuoi carichi di lavoro rispetto a queste best practice rispondendo a una serie di domande per ciascun principio.
Il diagramma dell'architettura sopra riportato è un esempio di una soluzione creata tenendo conto delle best practice Well-Architected. Per essere completamente Well-Architected, dovresti seguire il maggior numero possibile di best practice.
-
Eccellenza operativa
All'interno dei cluster HAQM EKS, le istanze HAQM Elastic Compute Cloud (HAQM EC2) (CPU X86_64, Graviton ARM64) agiscono come nodi di calcolo, eseguendo carichi di lavoro di Guida. I processi Spark vengono eseguiti su istanze HAQM EC2 Spot con provisioning elastico in base alle richieste di carico di lavoro.
CodeBuild e CodePipeline automatizzano il processo GitOps, creando immagini di container a partire dagli aggiornamenti del codice Git e inviandole al registro privato HAQM ECR. Argo Workflows pianifica i processi ETL su HAQM EKS, estraendo automaticamente l'immagine Arc Docker da HAQM ECR, scaricando le risorse ETL dal bucket S3 dell'artefatto e inviando i log delle applicazioni a CloudWatch.
Questa implementazione ed esecuzione automatizzate dei processo Data ETL riduce al minimo il sovraccarico operativo e migliora la produttività. Inoltre, la pipeline CI/CD che utilizza CodeBuild e CodePipeline aiuta a garantire il miglioramento e lo sviluppo continui archiviando in modo sicuro l'immagine Arc Docker di Guida in HAQM ECR.
-
Sicurezza
Le risorse del cluster HAQM EKS sono distribuite all'interno di un HAQM VPC, fornendo un isolamento logico della rete dalla rete Internet pubblica. HAQM VPC supporta funzionalità di sicurezza come gli endpoint VPC (che mantengono il traffico all'interno della rete AWS), i gruppi di sicurezza, le liste di controllo degli accessi alla rete (ACL) e i ruoli e le politiche di AWS Identity and Access Management (IAM) per il controllo del traffico e delle autorizzazioni in entrata e in uscita. Il registro di immagini HAQM ECR offre funzionalità di sicurezza a livello di container, come la scansione delle vulnerabilità. HAQM ECR e HAQM EKS seguono gli standard del registro Open Container Initiative (OCI) e delle API Kubernetes, incorporando protocolli di sicurezza rigorosi.
IAM fornisce il controllo degli accessi per i dati delle applicazioni HAQM S3, mentre il servizio AWS di gestione delle chiavi (AWS KMS) crittografa i dati a riposo su HAQM S3. IAM Roles for Service Accounts (IRSA) sui cluster HAQM EKS consente un controllo granulare degli accessi per i pod, applicando il controllo degli accessi basato sui ruoli e limitando l'accesso non autorizzato ai dati HAQM S3. Secrets Manager archivia e gestisce in modo sicuro le credenziali. CloudFront fornisce punti di ingresso sicuri con codifica SSL per gli strumenti web Jupyter e Argo Workflows.
-
Affidabilità
HAQM EKS abilita topologie ad alta disponibilità distribuendo i piani di controllo e calcolo di Kubernetes su più zone di disponibilità (AZ). Questo aiuta a garantire la disponibilità continua delle applicazioni di dati, anche se un AZ subisce un'interruzione, con conseguente implementazione affidabile di istanze EC2 Multi-AZ su HAQM EKS.
Per l'archiviazione di dati, HAQM S3 offre elevata durabilità e disponibilità, replicando automaticamente gli oggetti di dati su più AZ all'interno di una regione. Inoltre, HAQM ECR ospita immagini Docker in un'architettura altamente disponibile e scalabile, supportando in modo affidabile l'implementazione e gli incrementi di applicazioni basate su container.
HAQM S3, HAQM EKS e HAQM ECR sono servizi completamente gestiti progettati per contratti di servizio (SLA) elevati con costi operativi ridotti. Consentono l'implementazione di applicazioni aziendali critiche per soddisfare i requisiti di elevata disponibilità.
-
Efficienza delle prestazioni
I nodi di calcolo HAQM EKS del cluster HAQM EC2 possono scalare dinamicamente verso l'alto e verso il basso in base al carico di lavoro delle applicazioni. Le istanze EC2 basate su Graviton offrono una maggiore efficienza delle prestazioni grazie a processori basati su ARM progettati su misura, hardware ottimizzato e miglioramenti dell'architettura.
Un modello di storage di calcolo disaccoppiato (con dati di input e output archiviati in HAQM S3) migliora l'efficienza di scalabilità dinamica del calcolo. Data Catalog semplifica la gestione dei metadati, integrandosi perfettamente con Athena per una gestione semplificata dei metadati e prestazioni delle query migliorate. Data Catalog automatizza il crawling e la manutenzione dei metadati tecnici per un'elaborazione e un'interrogazione efficienti dei dati. Athena offre query rapide sui dati di HAQM S3 senza spostarli, migliorando ulteriormente l'efficienza del flusso di lavoro di analisi.
-
Ottimizzazione dei costi
HAQM ECR è un servizio gestito per la protezione e il supporto delle applicazioni container con una tariffa mensile fissa per l'archiviazione e la distribuzione delle immagini dei contenitori. I nodi di calcolo del cluster HAQM EKS possono scalare verso l'alto e verso il basso in base ai carichi di lavoro Spark, offrendo tipi di istanze Graviton e Spot convenienti. Data Catalog fornisce un repository di metadati serverless e completamente gestito, eliminando la necessità di configurare e mantenere un database di metadati a lunga durata e riducendo i costi e i costi operativi. CodeBuild e CodePipeline automatizzano la creazione e l'implementazione dell'immagine Docker di Arc ETL Framework in un ambiente serverless, eliminando la necessità di provisioning e gestione dei server di sviluppo oltre a ridurre i costi di manutenzione dell'infrastruttura.
-
Sostenibilità
Questa guida esegue un cluster HAQM EKS con tipi di calcolo efficienti basati su processori Graviton. HAQM ECR elimina la necessità di hardware personalizzato o gestione di server fisici. Data Catalog e Athena sono servizi serverless, che riducono ulteriormente l'impatto energetico e ambientale.
L'ottimizzazione del livello di calcolo di HAQM EKS per carichi di lavoro Apache Spark su larga scala riduce al minimo l'impatto ambientale dei carichi di lavoro di analisi. Hai la flessibilità di scegliere processori basati su ARM in base alle esigenze di prestazioni e alle tue priorità di sostenibilità.
Risorse per l'implementazione

Il codice di esempio è un punto di partenza. È convalidato dal settore, prescrittivo ma non definitivo, ed è il punto di partenza per iniziare a lavorare.
Contenuti correlati

[Titolo]
Avvertenza
Il codice di esempio, le librerie software, gli strumenti della linea di comando, le proof of concept, i modelli e le altre tecnologie correlate (comprese tutte le tecnologie di cui sopra fornite dal nostro personale) vengono forniti all'utente sotto forma di contenuto AWS ai sensi dell'Accordo cliente AWS o del relativo accordo scritto stipulato tra l'utente e AWS (a seconda dei casi). Non bisogna utilizzare il contenuto AWS in questione negli account di produzione o sui dati di produzione o altri dati fondamentali. L'utente è responsabile dei test, della sicurezza e dell'ottimizzazione del contenuto AWS, come il codice di esempio, in modo appropriato per l'utilizzo in produzione sulla base delle pratiche e degli standard di qualità specifici. L'implementazione del contenuto AWS può comportare costi AWS per la creazione o l'utilizzo di risorse AWS addebitabili, quali le istanze HAQM EC2 in esecuzione o l'archiviazione HAQM S3.
Eventuali riferimenti a servizi o organizzazioni di terze parti contenuti in questa guida non implicano alcuna approvazione, sponsorizzazione o affiliazione tra HAQM o AWS e dette terze parti. La guida di AWS è un punto di partenza tecnico e l'integrazione con servizi di terze parti può essere personalizzata al momento dell'implementazione dell'architettura.