Zephyrnet-Logo

Einführung größerer Amazon MWAA-Umgebungen | Amazon Web Services

Datum:

Von Amazon verwaltete Workflows für Apache Airflow (Amazon MWAA) ist ein verwalteter Dienst für Apache-Luftstrom Dies optimiert die Einrichtung und den Betrieb der Infrastruktur zur Orchestrierung von Datenpipelines in der Cloud. Kunden nutzen Amazon MWAA, um die Skalierbarkeit, Verfügbarkeit und Sicherheit ihrer Apache Airflow-Umgebungen zu verwalten. Da sie immer intensivere, komplexere und ständig wachsende Datenverarbeitungspipelines entwerfen, haben uns Kunden um zusätzliche zugrunde liegende Ressourcen gebeten, um mehr Parallelität und Kapazität für ihre Aufgaben und Arbeitsabläufe bereitzustellen.

Um diesem Problem zu begegnen, geben wir heute die Verfügbarkeit größerer Umgebungsklassen in Amazon MWAA bekannt. In diesem Beitrag befassen wir uns mit den Funktionen dieser neuen XL- und 2XL-Umgebungen, den Szenarien, für die sie gut geeignet sind, und wie Sie Ihre bestehende Amazon MWAA-Umgebung einrichten oder aktualisieren können, um die erhöhten Ressourcen zu nutzen.

Derzeitige Herausforderungen

Wenn Sie eine Amazon MWAA-Umgebung erstellen, wird eine Reihe verwalteter Amazon Elastic Container-Service (Amazon ECS) mit AWS Fargate Container werden mit definierten virtuellen CPUs und RAM bereitgestellt.

Wenn Sie mit größeren, komplexen und ressourcenintensiven Arbeitslasten arbeiten oder Tausende davon ausführen Gerichtete azyklische Graphen (DAGs) pro Tag kann es sein, dass die CPU-Verfügbarkeit bei Planern und Workern erschöpft wird oder die Speichergrenzen bei Workern erreicht werden. Das Ausführen von Apache Airflow in großem Maßstab belastet die Airflow-Metadatendatenbank proportional stärker, was manchmal zu CPU- und Speicherproblemen auf der zugrunde liegenden Datenbank führt Relationaler Amazon-Datenbankdienst (Amazon RDS)-Cluster. Eine ressourcenarme Metadatendatenbank kann dazu führen, dass die Verbindungen Ihrer Mitarbeiter unterbrochen werden und Aufgaben vorzeitig fehlschlagen.

Um die Leistung und Ausfallsicherheit Ihrer Aufgaben zu verbessern, sollten Sie Folgendes in Betracht ziehen Best Practices für Apache Airflow um DAGs zu verfassen. Alternativ können Sie mehrere Amazon MWAA-Umgebungen erstellen, um Arbeitslasten zu verteilen. Dies erfordert jedoch zusätzlichen Engineering- und Managementaufwand.

Neue Umgebungsklassen

Mit der heutigen Version können Sie jetzt zusätzlich zu den vorhandenen Umgebungsklassen XL- und 2XL-Umgebungen in Amazon MWAA erstellen. Sie verfügen über die zwei- bzw. vierfache Rechenleistung und die drei- bzw. sechsfache Speicherkapazität der aktuellen großen Amazon MWAA-Umgebungsinstanzklasse. Diese Instanzen fügen Rechenleistung und RAM linear hinzu, um die Kapazität und Leistung aller Apache Airflow-Komponenten direkt zu verbessern. Die folgende Tabelle fasst die zusammen Umgebungsfähigkeiten.

. Scheduler- und Worker-CPU/RAM

Web-Server

CPU/RAM

Gleichzeitige Aufgaben DAG-Kapazität
mw1.xlarge 8 vCPUs / 24 GB 4 vCPUs / 12 GB 40 Aufgaben (Standard) max. 2000
mw1.2xgroß 16 vCPUs / 48 GB 8 vCPUs / 24 GB 80 Aufgaben (Standard) max. 4000

Mit der Einführung dieser größeren Umgebungen verwendet Ihre Amazon Aurora-Metadatendatenbank nun größere, speicheroptimierte Instanzen von powered by AWS Graviton2. Mit der Graviton2-Prozessorfamilie erhalten Sie Rechen-, Speicher- und Netzwerkverbesserungen sowie die Reduzierung Ihres COXNUMX-Fußabdrucks durch die AWS-Prozessorfamilie.

AnzeigenPreise

Die Preisdimensionen von Amazon MWAA bleiben unverändert und Sie zahlen nur für das, was Sie nutzen:

  • Die Umgebungsklasse
  • Zusätzliche Worker-Instanzen
  • Zusätzliche Scheduler-Instanzen
  • Metadaten-Datenbankspeicher belegt

Sie erhalten jetzt zwei zusätzliche Optionen in den ersten drei Dimensionen: XL und 2XL für Umgebungsklassen, zusätzliche Worker und Scheduler-Instanzen. Die Preise für die Speicherung von Metadatendatenbanken bleiben gleich. Beziehen auf Amazon Managed Workflows für Apache Airflow – Preise für Preise und weitere Details.

Beobachten Sie die Leistung von Amazon MWAA, um die Skalierung auf größere Umgebungen zu planen

Bevor Sie mit der Verwendung der neuen Umgebungsklassen beginnen, ist es wichtig zu verstehen, ob Sie sich in einem Szenario befinden, das mit Kapazitätsproblemen zusammenhängt, z. B. wenn der Speicher der Metadatendatenbank nicht ausreicht oder Worker oder Scheduler mit hoher CPU-Auslastung ausgeführt werden. Das Verständnis der Leistung Ihrer Umgebungsressourcen ist der Schlüssel zur Fehlerbehebung bei Kapazitätsproblemen. Wir empfehlen, die in beschriebene Anleitung zu befolgen Einführung in Container-, Datenbank- und Warteschlangenauslastungsmetriken für die Amazon MWAA-Umgebung um den Zustand von Amazon MWAA-Umgebungen besser zu verstehen und Erkenntnisse zur richtigen Größe Ihrer Instanzen zu erhalten.

Im folgenden Test simulieren wir ein Hochlastszenario CloudWatch-Beobachtbarkeitsmetriken um häufige Probleme zu identifizieren und eine fundierte Entscheidung zu treffen, um die Skalierung auf größere Umgebungen zu planen, um die Probleme zu entschärfen.

Während unserer Tests haben wir einen komplexen DAG ausgeführt, der dynamisch über 500 Aufgaben erstellt und mithilfe externer Sensoren auf den Abschluss einer Aufgabe in einem anderen DAG wartet. Nach der Ausführung in einer großen Amazon MWAA-Umgebungsklasse mit automatischer Skalierung für maximal 10 Worker-Knoten sind uns die folgenden Metriken und Werte aufgefallen CloudWatch-Dashboard.

Die Worker-Knoten haben die maximale CPU-Kapazität erreicht, wodurch die Anzahl der in der Warteschlange befindlichen Aufgaben weiter zunimmt. Die CPU-Auslastung der Metadatendatenbank hat mit über 65 % der Kapazität ihren Höhepunkt erreicht und der verfügbare freie Datenbankspeicher wurde reduziert. In dieser Situation könnten wir die Anzahl der Worker-Knoten weiter vergrößern, aber das würde die CPU der Metadatendatenbank zusätzlich belasten. Dies kann zu einem Rückgang der Anzahl der Worker-Datenbankverbindungen und des verfügbaren freien Datenbankspeichers führen.

Mit neuen Umgebungsklassen können Sie vertikal skalieren, um die verfügbaren Ressourcen zu erhöhen, indem Sie die Umgebung bearbeiten und eine höhere Umgebungsklasse auswählen, wie im folgenden Screenshot gezeigt.

Aus der Liste der Umgebungen wählen wir diejenige aus, die für diesen Test verwendet wird. Wählen Bearbeiten um zu navigieren Erweiterte Einstellungen konfigurieren Seite und wählen Sie je nach Bedarf die entsprechende xlarge- oder 2xlarge-Umgebung aus.

Nachdem Sie die Änderung gespeichert haben, dauert die Aktualisierung der Umgebung 20 bis 30 Minuten. Jeder laufende DAG, der während des Upgrades unterbrochen wurde, ist für einen Wiederholungsversuch geplant, abhängig von der Art und Weise, wie Sie die Wiederholungsversuche für Ihre DAGs konfiguriert haben. Sie können sie nun manuell aufrufen oder auf die nächste geplante Ausführung warten.

Nachdem wir die Umgebungsklasse aktualisiert hatten, testeten wir denselben DAG und stellten fest, dass die Metriken verbesserte Werte anzeigten, da jetzt mehr Ressourcen verfügbar sind. Mit dieser XL-Umgebung können Sie mehr Aufgaben auf weniger Worker-Knoten ausführen, wodurch die Anzahl der in der Warteschlange befindlichen Aufgaben immer weiter abnimmt. Wenn Sie Aufgaben haben, die mehr Arbeitsspeicher und/oder CPU erfordern, können Sie alternativ die Aufgaben pro Worker reduzieren, aber dennoch eine hohe Anzahl von Aufgaben pro Worker mit einer größeren Umgebungsgröße erreichen. Wenn Sie beispielsweise über eine große Umgebung verfügen, in der die CPU des Worker-Knotens maximal ausgelastet ist celery.worker_autoscale (die Airflow-Konfiguration, die die Anzahl der Aufgaben pro Arbeiter definiert) Auf 20,20 eingestellt, können Sie auf eine XL-Umgebung erhöhen und festlegen celery.worker_autoscale auf 20,20 auf der XL, statt der standardmäßigen 40 Aufgaben pro Worker in einer XL-Umgebung, und die CPU-Auslastung sollte deutlich reduziert werden.

Richten Sie eine neue XL-Umgebung in Amazon MWAA ein

Du kannst dich Beginnen Sie mit Amazon MWAA in Ihrem Konto und Ihrer bevorzugten AWS-Region mithilfe der AWS-Managementkonsole, API oder AWS-Befehlszeilenschnittstelle (AWS CLI). Wenn Sie Infrastructure as Code (IaC) einführen, können Sie die Einrichtung mit automatisieren AWS CloudFormation, der AWS Cloud-Entwicklungskit (AWS CDK) oder Terraform-Skripte.

Die Umgebungsklassen Amazon MWAA XL und 2XL sind ab sofort in allen Regionen verfügbar, in denen Amazon MWAA derzeit verfügbar ist.

Zusammenfassung

Heute geben wir die Verfügbarkeit von zwei neuen Umgebungsklassen in Amazon MWAA bekannt. Mit den Umgebungsklassen XL und 2XL können Sie größere Mengen komplexer oder ressourcenintensiver Arbeitsabläufe orchestrieren. Wenn Sie DAGs mit einer hohen Anzahl an Abhängigkeiten ausführen, Tausende von DAGs in mehreren Umgebungen ausführen oder sich in einem Szenario befinden, in dem Sie viele Worker für die Datenverarbeitung nutzen müssen, können Sie die damit verbundenen Kapazitätsprobleme jetzt überwinden, indem Sie die Ressourcen Ihrer Umgebung in einigen wenigen Fällen erhöhen einfache Schritte.

In diesem Beitrag haben wir die Fähigkeiten der beiden neuen Umgebungsklassen besprochen, einschließlich der Preisgestaltung und einiger häufiger Probleme mit Ressourcenbeschränkungen, die sie lösen. Wir haben eine Anleitung und ein Beispiel dafür bereitgestellt, wie Sie Ihre bestehenden Umgebungen beobachten können, um eine Skalierung auf XL oder 2XL zu planen, und wir haben beschrieben, wie Sie bestehende Umgebungen aktualisieren können, um die erhöhten Ressourcen zu nutzen.

Weitere Details und Codebeispiele zu Amazon MWAA finden Sie unter Amazon MWAA-Benutzerhandbuch und dem Amazon MWAA-Beispiele GitHub-Repo.

Apache, Apache Airflow und Airflow sind entweder eingetragene Marken oder Marken der Apache Software Foundation in den USA und/oder anderen Ländern.


Über die Autoren

Hernan Garcia ist Senior Solutions Architect bei AWS mit Sitz in den Niederlanden. Er ist in der Finanzdienstleistungsbranche tätig und unterstützt Unternehmen bei der Cloud-Einführung. Seine Leidenschaft gilt den serverlosen Technologien, Sicherheit und Compliance. Er verbringt gerne Zeit mit Familie und Freunden und probiert neue Gerichte aus verschiedenen Küchen aus.

Jeetendra Vaidya ist Senior Solutions Architect bei AWS und bringt sein Fachwissen in die Bereiche KI/ML, Serverless und Datenanalyse ein. Seine Leidenschaft besteht darin, Kunden bei der Entwicklung sicherer, skalierbarer, zuverlässiger und kostengünstiger Lösungen zu unterstützen.

Sriharsh Adari ist Senior Solutions Architect bei AWS und unterstützt Kunden dabei, ausgehend von Geschäftsergebnissen rückwärts zu arbeiten und innovative Lösungen auf AWS zu entwickeln. Im Laufe der Jahre hat er mehreren Kunden bei der Transformation von Datenplattformen in verschiedenen Branchen geholfen. Zu seinen Kernkompetenzen gehören Technologiestrategie, Datenanalyse und Datenwissenschaft. In seiner Freizeit treibt er gerne Sport, schaut sich Fernsehsendungen an und spielt Tabla.

spot_img

Neueste Intelligenz

spot_img