Effiziente Datenworkflows und schnellere Einblicke mit einer skalierbaren Extract, Transform, Load (ETL)-Lösung auf Unternehmensebene erschließen
Diese Anleitung hilft dabei, die Lücke zwischen den Anforderungen an den Datenverbrauch und den Datenverarbeitungsaktivitäten auf niedriger Ebene zu schließen, die nach gängigen ETL-Praktiken durchgeführt werden. Für Unternehmen, die mit SQL-basierten Datenmanagementsystemen arbeiten, kann die Anpassung an moderne Datentechnikpraktiken den Fortschritt bei der Nutzung aussagekräftiger Erkenntnisse aus ihren Daten verlangsamen. Diese Anleitung bietet ein qualitätsbewusstes Design zur Steigerung der Produktivität von Datenprozessen mithilfe des Open-Source-Datenframeworks Arc für einen benutzerzentrierten ETL-Ansatz. Die Anleitung beschleunigt die Interaktion mit ETL-Praktiken, fördert die Einfachheit und erhöht den Abstraktionsgrad, um ETL-Aktivitäten sowohl im Batch- als auch im Streaming-Modus zu vereinheitlichen.
Wir bieten auch Optionen für ein optimales Design unter Verwendung effizienter Datenverarbeitungsinstances (wie AWS-Graviton-Prozessoren), mit denen Sie die Leistung und die Kosten der skalierbaren Ausführung von ETL-Aufträgen in HAQM EKS optimieren können.
Bitte beachten Sie: [Haftungsausschluss]
Architekturdiagramm

[Beschreibung des Architekturdiagramms]
Schritt 1
Interagieren Sie mit ETL-Entwicklungs- und Orchestrierungstools über HAQM-CloudFront-Endpunkte mit Ursprüngen von Application Load Balancer, die sichere Verbindungen zwischen Clients und den Endpunkten der ETL-Tools bereitstellen.
Schritt 2
Entwickeln, testen und planen Sie ETL-Aufträge, die Batch- und Stream-Daten verarbeiten. Der Datenverkehr zwischen ETL-Prozessen und Datenspeichern fließt über HAQM Virtual Private Cloud (HAQM VPC)-Endpunkte, die von AWS PrivateLink betrieben werden, ohne das AWS-Netzwerk zu verlassen.
Schritt 3
JupyterHub integrierte Entwicklungsumgebung (IDE), Argo Workflows und Apache Spark Operator werden als Container auf einem HAQM Elastic Kubernetes Service (HAQM EKS)-Cluster ausgeführt. Die JupyterHub-IDE kann in ein Quellcode-Repository (wie GitHub) integriert werden, um die von Benutzern vorgenommenen Änderungen an ETL-Assets zu verfolgen. Zu den Ressourcen gehören Jupyter-Notebook-Dateien und SQL-Skripte, die mit dem Arc-ETL-Framework ausgeführt werden sollen.
Schritt 4
Aktualisieren Sie die ETL-Assets im Quellcode-Repository und laden Sie sie dann in einen HAQM Simple Storage Service (HAQM S3)-Bucket hoch. Der Synchronisationsprozess kann durch eine automatisierte Continuous Integration and Continuous Deployment (CI/CD)-Pipeline implementiert werden, die durch Aktualisierungen im Quellcode-Repository initiiert oder manuell durchgeführt wird.
Schritt 5
Sie können optional den Docker-Build-Quellcode ändern, der aus einem Code-Repository in den S3-ETL-Asset-Bucket hochgeladen wurde. Er aktiviert eine AWS-CodeBuild- und AWS-CodePipeline-CI/CD-Pipeline, um das Arc-ETL-Framework-Container-Image automatisch neu aufzubauen und in eine private HAQM Elastic Container Registry (HAQM ECR)-Registry zu übertragen.
Schritt 6
Planen Sie ETL-Aufträge über Argo Workflows so, dass sie in einem HAQM-EKS-Cluster ausgeführt werden. Diese Aufträge rufen automatisch das Arc-Container-Image aus HAQM ECR ab, laden ETL-Assets aus dem Artefakt-S3-Bucket herunter und senden Anwendungsprotokolle an HAQM CloudWatch. VPC-Endpunkte sichern den Zugriff auf alle AWS-Services.
Schritt 7
Als authentifizierter Benutzer können Sie Notebooks interaktiv als ETL-Aufträge in der JupyterHub-IDE entwickeln und testen, die automatisch Anmeldeinformationen von AWS Secrets Manager abruft, um Anmeldebenutzeranfragen zu validieren.
Schritt 8
Greifen Sie auf die ETL-Ausgabedaten zu, die im S3-Bucket gespeichert sind, das das transaktionale Data-Lake-Format unterstützt. Sie können die Delta-Lake-Tabellen über HAQM Athena abfragen, das in den AWS-Glue-Datenkatalog integriert ist.
Well-Architected-Säulen

Das AWS-Well-Architected-Framework hilft Ihnen, die Vor- und Nachteile der Entscheidungen zu verstehen, die Sie beim Aufbau von Systemen in der Cloud treffen. Die sechs Säulen des Frameworks ermöglichen es Ihnen, architektonische bewärhte Methoden für die Entwicklung und den Betrieb zuverlässiger, sicherer, effizienter, kostengünstiger und nachhaltiger Systeme zu erlernen. Mit dem AWS-Well-Architected-Tool, das kostenlos in der AWS-Managementkonsole verfügbar ist, können Sie Ihre Workloads anhand dieser bewährten Methoden überprüfen, indem Sie eine Reihe von Fragen für jede Säule beantworten.
Das obige Architekturdiagramm ist ein Beispiel für eine Lösung, die unter Berücksichtigung der bewährten Methoden von Well-Architected erstellt wurde. Um eine vollständige Well-Architected-Lösung zu erhalten, sollten Sie so viele bewährte Methoden von Well-Architected wie möglich befolgen.
-
Betriebliche Exzellenz
Innerhalb der HAQM-EKS-Cluster agieren HAQM Elastic Compute Cloud (HAQM EC2)-Instances (X86_64 CPU, Graviton ARM64) als Datenverarbeitungsknoten, auf denen Anleitungs-Workloads ausgeführt werden. Spark-Aufträge werden auf elastisch bereitgestellten HAQM-EC2-Spot-Instances ausgeführt, die auf den Workload-Anforderungen basieren.
CodeBuild und CodePipeline automatisieren den GitOps-Prozess, indem sie Container-Images aus Git-Code-Updates erstellen und sie in die private HAQM-ECR-Registry übertragen. Argo Workflows plant ETL-Aufträge auf HAQM EKS, ruft automatisch das Arc-Docker-Image aus HAQM ECR ab, lädt ETL-Assets aus dem Artefakt-S3-Bucket herunter und sendet Anwendungsprotokolle an CloudWatch.
Diese automatisierte Bereitstellung und Ausführung von Daten-ETL-Aufträgen minimiert den betrieblichen Aufwand und verbessert die Produktivität. Darüber hinaus trägt die CI/CD-Pipeline mithilfe von CodeBuild und CodePipeline dazu bei, eine kontinuierliche Verbesserung und Weiterentwicklung sicherzustellen und gleichzeitig das Arc-Docker-Image der Anleitung sicher in HAQM ECR zu speichern.
-
Sicherheit
Die HAQM-EKS-Clusterressourcen werden in einer HAQM VPC bereitgestellt und bieten eine logische Netzwerkisolierung vom öffentlichen Internet. HAQM VPC unterstützt Sicherheits-Features wie VPC-Endpunkte (Aufrechterhaltung des Datenverkehrs innerhalb des AWS-Netzwerks), Sicherheitsgruppen, Netzwerk-Zugriffssteuerungslisten (ACL) sowie AWS Identity and Access Management (IAM)-Rollen und -Richtlinien zur Steuerung des eingehenden und ausgehenden Datenverkehrs und der Autorisierung. Die HAQM-ECR-Image-Registry bietet Sicherheits-Features auf Containerebene, wie z. B. das Scannen von Schwachstellen. HAQM ECR und HAQM EKS folgen den Registry- und Kubernetes-API-Standards der Open Container Initiative (OCI) und beinhalten strenge Sicherheitsprotokolle.
IAM bietet Zugriffskontrolle für HAQM-S3-Anwendungsdaten, während der AWS Key Management Service (AWS KMS) Daten im Ruhezustand auf HAQM S3 verschlüsselt. IAM-Rollen für Service-Konten (IRSA) auf HAQM-EKS-Clustern ermöglicht eine detaillierte Zugriffskontrolle für Pods, erzwingt eine rollenbasierte Zugriffskontrolle und begrenzt den unbefugten HAQM-S3-Datenzugriff. Secrets Manager speichert und verwaltet Anmeldeinformationen sicher. CloudFront bietet SSL-kodierte sichere Einstiegspunkte für die Webtools von Jupyter und Argo Workflows.
-
Zuverlässigkeit
HAQM EKS ermöglicht hochverfügbare Topologien, indem die Steuerungs- und Datenverarbeitungspläne von Kubernetes in mehreren Availability Zones (AZs) bereitgestellt werden. Dies trägt dazu bei, die kontinuierliche Verfügbarkeit von Datenanwendungen sicherzustellen – selbst wenn es bei einer AZ zu einer Unterbrechung kommt – was zu einer zuverlässigen Multi-AZ-EC2-Instance-Bereitstellung auf HAQM EKS führt.
Für die Datenspeicherung bietet HAQM S3 eine hohe Beständigkeit und Verfügbarkeit und repliziert Datenobjekte automatisch über mehrere AZs innerhalb einer Region. Darüber hinaus hostet HAQM ECR Docker-Images in einer hochverfügbaren und skalierbaren Architektur, die zuverlässig die containerbasierte Anwendungsbereitstellung und Inkremente unterstützt.
HAQM S3, HAQM EKS und HAQM ECR sind vollständig verwaltete Services, die für hohe Service Level Agreements (SLAs) mit reduzierten Betriebskosten konzipiert sind. Sie ermöglichen die Bereitstellung geschäftskritischer Anwendungen, um Hochverfügbarkeitsanforderungen zu erfüllen.
-
Leistung und Effizienz
Die HAQM-EC2-Datenverarbeitungsknoten des HAQM-EKS-Clusters können basierend auf dem Anwendungs-Workload dynamisch hoch- und herunterskaliert werden. Graviton-basierte EC2-Instances bieten eine höhere Leistungseffizienz durch speziell entwickelte ARM-basierte Prozessoren, optimierte Hardware und architektonische Verbesserungen.
Ein entkoppeltes Datenverarbeitungsspeichermuster (mit Eingabe- und Ausgabedaten, die in HAQM S3 gespeichert sind) verbessert die Effizienz der dynamischen Datenverarbeitungsskalierung. Der Datenkatalog optimiert das Metadatenmanagement und lässt sich nahtlos in Athena integrieren, um das Metadatenmanagement zu vereinfachen und die Abfrageleistung zu verbessern. Der Datenkatalog automatisiert das Crawling und Pflegen technischer Metadaten für eine effiziente Datenverarbeitung und -abfrage. Athena bietet schnelle Abfragen von HAQM-S3-Daten, ohne sie zu verschieben, wodurch die Effizienz des Analysen-Workflows weiter verbessert wird.
-
Kostenoptimierung
HAQM ECR ist ein verwalteter Service zur Sicherung und Unterstützung von Container-Anwendungen mit einer festen monatlichen Gebühr für das Speichern und Bereitstellen von Container-Images. HAQM-EKS-Cluster-Datenverarbeitungsknoten können basierend auf den Spark-Workloads hoch- und herunterskaliert werden und bieten kosteneffiziente Graviton- und Spot-Instance-Typen. Der Datenkatalog bietet ein vollständig verwaltetes Serverless-Metadaten-Repository, wodurch die Einrichtung und Wartung einer lang laufenden Metadatendatenbank entfällt und der Betriebsaufwand und die Kosten reduziert werden. CodeBuild und CodePipeline automatisieren die Erstellung und die Bereitstellung des Docker-Images des Arc-ETL-Frameworks in einer Serverless-Umgebung. Dadurch entfällt die Notwendigkeit, Buildserver bereitzustellen und zu verwalten. Außerdem werden die Wartungskosten für die Infrastruktur reduziert.
-
Nachhaltigkeit
In dieser Anleitung wird ein HAQM-EKS-Cluster mit effizienten Datenverarbeitungsarten ausgeführt, die auf Graviton-Prozessoren basieren. HAQM ECR macht benutzerdefinierte Hardware oder physische Serververwaltung überflüssig. Der Datenkatalog und Athena sind Serverless-Services, die die Energie- und Umweltbelastung weiter reduzieren.
Durch die Optimierung der HAQM-EKS-Datenverarbeitungsschicht für umfangreiche Apache-Spark-Workloads werden die Umweltauswirkungen von Analyse-Workloads minimiert. Sie haben die Flexibilität, je nach Leistungsanforderungen und Ihren Nachhaltigkeitsprioritäten ARM-basierte Prozessoren auszuwählen.
Implementierungsressourcen

Der Beispielcode dient als Ausgangspunkt. Er ist branchenerprobt, präskriptiv, aber nicht endgültig, und ein Blick unter die Motorhaube, der Ihnen den Einstieg erleichtert.
Ähnliche Inhalte

[Titel]
Haftungsausschluss
Der Beispielcode, die Softwarebibliotheken, die Befehlszeilentools, die Machbarkeitsnachweise, die Vorlagen oder andere zugehörige Technologien (einschließlich derjenigen, die von unseren Mitarbeitern bereitgestellt werden) werden Ihnen als AWS-Inhalte im Rahmen der AWS-Kundenvereinbarung oder der entsprechenden schriftlichen Vereinbarung zwischen Ihnen und AWS (je nachdem, was zutrifft) zur Verfügung gestellt. Sie sollten diese AWS-Inhalte nicht in Ihren Produktionskonten oder für Produktions- oder andere kritische Daten verwenden. Sie sind verantwortlich für das Testen, Sichern und Optimieren des AWS-Inhalts, z. B. des Beispielcodes, für die Verwendung in der Produktion auf der Grundlage Ihrer spezifischen Qualitätskontrollverfahren und -standards. Bei der Bereitstellung von AWS-Inhalten können AWS-Gebühren für die Erstellung oder Nutzung von kostenpflichtigen AWS-Ressourcen anfallen, z. B. für den Betrieb von HAQM-EC2-Instances oder die Nutzung von HAQM-S3-Speicher.
Verweise auf Services oder Organisationen von Drittanbietern in diesen Leitlinien bedeuten nicht, dass HAQM oder AWS eine Billigung, Förderung oder Zugehörigkeit zwischen HAQM oder AWS und dem Drittanbieter darstellt. Die Beratung durch AWS ist ein technischer Ausgangspunkt, und Sie können Ihre Integration mit Services von Drittanbietern anpassen, wenn Sie die Architektur bereitstellen.