View a markdown version of this page

Fehlerbehebung: Erstellen und Aktualisieren einer Amazon MWAA-Umgebung - Von Amazon verwaltete Workflows für Apache Airflow

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Fehlerbehebung: Erstellen und Aktualisieren einer Amazon MWAA-Umgebung

Die Themen auf dieser Seite enthalten Fehler, die bei der Erstellung und Aktualisierung einer Amazon Managed Workflows für Apache Airflow-Umgebung auftreten können, und Informationen zur Behebung dieser Fehler.

Inhalt

requirements.txt wird aktualisiert

Im folgenden Thema werden die Fehler beschrieben, die beim Aktualisieren von auftreten könnenrequirements.txt.

Ich habe eine neue Version meiner requirements.txt angegeben und es dauert mehr als 20 Minuten, meine Umgebung zu aktualisieren

Wenn es länger als zwanzig Minuten dauert, bis Ihre Umgebung eine neue Version einer requirements.txt Datei installiert hat, ist das Umgebungsupdate fehlgeschlagen und Amazon MWAA führt ein Rollback auf die letzte stabile Version des Container-Images durch.

  1. Überprüfen Sie die Paketversionen. Wir empfehlen, immer entweder eine bestimmte Version (==) oder eine maximale Version (<=) für die Python-Abhängigkeiten in Ihrem anzugebenrequirements.txt.

  2. Überprüfen Sie die Apache Airflow-Protokolle. Wenn Sie Apache Airflow-Protokolle aktiviert haben, überprüfen Sie auf der Seite „Protokollgruppen“ auf der Konsole, ob Ihre Protokollgruppen erfolgreich erstellt wurden. CloudWatch Wenn Sie leere Protokolle erhalten, liegt der häufigste Grund in fehlenden Berechtigungen in Ihrer Ausführungsrolle für CloudWatch oder Amazon S3, in dem Protokolle geschrieben werden. Weitere Informationen finden Sie unterRolle „Ausführung“.

  3. Prüfen Sie die Apache Airflow-Konfigurationsoptionen. Wenn Sie Secrets Manager verwenden, überprüfen Sie, ob die Schlüssel-Wert-Paare, die Sie als Apache Airflow-Konfigurationsoption angegeben haben, korrekt konfiguriert wurden. Weitere Informationen finden Sie unter. Konfiguration einer Apache Airflow Airflow-Verbindung mit einem AWS Secrets Manager Secret

  4. Überprüfen Sie die VPC-Netzwerkkonfiguration. Weitere Informationen finden Sie unter. Ich habe versucht, eine Umgebung zu erstellen, aber sie bleibt im Status Creating hängen

  5. Überprüfen Sie die Berechtigungen für Ausführungsrollen. Eine Ausführungsrolle ist eine AWS Identity and Access Management (IAM-) Rolle mit einer Berechtigungsrichtlinie, die Amazon MWA die Erlaubnis erteilt, die Ressourcen anderer AWS Dienste (wie Amazon S3, Amazon SQS CloudWatch, Amazon ECR) in Ihrem Namen aufzurufen. Ihr Customer-managed Schlüssel oder Ihr AWS eigener Schlüssel muss ebenfalls Zugriff haben. Weitere Informationen finden Sie unter. Rolle „Ausführung“

  6. Informationen zum Ausführen eines Skripts zur Fehlerbehebung, das die Amazon VPC-Netzwerkeinrichtung und -konfiguration für Ihre Amazon MWAA-Umgebung überprüft, finden Sie im Skript „Umgebung verifizieren“ in den AWS Support-Tools unter. GitHub

Ich erhalte die Fehlermeldung Pakete konnten aufgrund eines Betriebssystemfehlers [Fehler 28] Kein Speicherplatz mehr auf dem Gerät installiert werden

Amazon MWAA-Container verfügen über eine begrenzte Menge an Speicherplatz für das Betriebssystem, die DAGs, Laufzeiten und Bibliotheken. Weitere Informationen finden Sie unter Wie viel Aufgabenspeicher ist für jede Umgebung verfügbar?.

Um den Speicherbedarf zu reduzieren, können Sie ihn möglicherweise verwenden, --no-cache-dir indem Sie die Bibliotheken mit einem Startskript installieren. Beispiel:

#!/bin/sh if [[ "${MWAA_AIRFLOW_COMPONENT}" != "webserver" ]] then # place requirements.txt in DAGs folder, and replace existing requirements.txt with an empty text file pip3 install --no-cache-dir -r /usr/local/airflow/dags/requirements.txt fi

Weitere Informationen finden Sie unter Konfigurieren Sie ein Startskript.

Sie können Ihre Bibliotheken auch aus Python-Wheel-Dateien installieren. Weitere Informationen finden Sie unter Option zwei: Python-Räder (.whl).

Plugins

Das folgende Thema beschreibt Probleme, die bei der Konfiguration oder Aktualisierung von Apache Airflow-Plugins auftreten können.

Unterstützt Amazon MWAA die Implementierung einer benutzerdefinierten Benutzeroberfläche?

Ab Apache Airflow v2.2.2 unterstützt Amazon MWAA die Installation von Plugins auf dem Apache Airflow-Webserver und die Implementierung einer benutzerdefinierten Benutzeroberfläche. Wenn in Ihrer Amazon MWAA-Umgebung Apache Airflow v2.0.2 oder älter ausgeführt wird, können Sie keine benutzerdefinierte Benutzeroberfläche implementieren.

Weitere Informationen zur Versionsverwaltung und zur Aktualisierung Ihrer vorhandenen Umgebungen finden Sie unter. Apache-Airflow-Versionen in von Amazon verwalteten Workflows für Apache Airflow

Erstellen eines Buckets

Im folgenden Thema werden die Fehler beschrieben, die beim Erstellen eines Amazon S3-Buckets auftreten können.

Ich kann die Option für die Einstellungen für S3 Block Public Access nicht auswählen

Die Ausführungsrolle für Ihre Amazon MWAA-Umgebung benötigt eine Genehmigung für die GetBucketPublicAccessBlock Aktion im Amazon S3-Bucket, um zu überprüfen, ob der Bucket den öffentlichen Zugriff blockiert hat. Wir empfehlen die folgenden Schritte:

  1. Folgen Sie den Schritten, um eine JSON-Richtlinie an Ihre Ausführungsrolle anzuhängen.

  2. Hängen Sie die folgende JSON-Richtlinie an:

    { "Effect":"Allow", "Action":[ "s3:GetObject*", "s3:GetBucket*", "s3:List*" ], "Resource":[ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] }

    Ersetzen Sie die Beispiel-Platzhalter amzn-s3-demo-bucket durch Ihren Amazon S3-Bucket-Namen.

  3. Informationen zum Ausführen eines Skripts zur Fehlerbehebung, das die Amazon VPC-Netzwerkeinrichtung und -konfiguration für Ihre Amazon MWAA-Umgebung überprüft, finden Sie im Skript „Umgebung verifizieren“ in AWS den Support-Tools auf. GitHub

Erstellen der -Umgebung

Im folgenden Thema werden die Fehler beschrieben, die beim Erstellen einer Umgebung auftreten können.

Ich habe versucht, eine Umgebung zu erstellen, aber sie bleibt im Status Creating hängen

Wir empfehlen die folgenden Schritte:

  1. Überprüfen Sie das VPC-Netzwerk mit öffentlichem Routing. Wenn Sie eine Amazon VPC mit Internetzugang verwenden, überprüfen Sie Folgendes:

    1. Dass Ihre Amazon VPC so konfiguriert ist, dass sie Netzwerkverkehr zwischen den verschiedenen AWS Ressourcen zulässt, die von Ihrer Amazon MWAA-Umgebung verwendet werden, wie unter definiert. Über Netzwerke auf Amazon MWAA Beispielsweise muss Ihre VPC-Sicherheitsgruppe entweder den gesamten Datenverkehr in einer selbstreferenzierenden Regel zulassen oder optional den Portbereich für den HTTPS-Portbereich 443 und einen TCP-Portbereich 5432 angeben.

  2. Überprüfen Sie das VPC-Netzwerk mit privatem Routing. Wenn Sie eine Amazon VPC ohne Internetzugang verwenden, überprüfen Sie Folgendes:

    1. Dass Ihre Amazon VPC so konfiguriert ist, dass sie Netzwerkverkehr zwischen den verschiedenen AWS Ressourcen für Ihre Amazon MWAA-Umgebung zulässt, wie unter definiert. Über Netzwerke auf Amazon MWAA Beispielsweise dürfen Ihre beiden privaten Subnetze weder eine Routing-Tabelle zu einem NAT-Gateway (oder einer NAT-Instance) noch zu einem Internet-Gateway haben.

  3. Um ein Fehlerbehebungsskript auszuführen, das die Amazon VPC-Netzwerkeinrichtung und -konfiguration für Ihre Amazon MWAA-Umgebung überprüft, lesen Sie das Verify Environment-Skript in AWS den Support-Tools unter. GitHub

Ich habe versucht, eine Umgebung zu erstellen, aber sie zeigt den Status Erstellen fehlgeschlagen an

Wir empfehlen die folgenden Schritte:

  1. Überprüfen Sie die VPC-Netzwerkkonfiguration. Weitere Informationen finden Sie unter. Ich habe versucht, eine Umgebung zu erstellen, aber sie bleibt im Status Creating hängen

  2. Überprüfen Sie die Benutzerberechtigungen. Amazon MWAA führt einen Probelauf mit den Anmeldeinformationen eines Benutzers durch, bevor eine Umgebung erstellt wird. AWS-Konto Möglicherweise verfügen Sie in AWS Identity and Access Management (IAM) nicht über die Berechtigung, einige der Ressourcen für eine Umgebung zu erstellen. Wenn Sie beispielsweise den Apache Airflow-Zugriffsmodus Privates Netzwerk gewählt haben, AWS-Konto muss Ihnen Ihr Administrator Zugriff auf die AmazonMWAAFullConsoleAccess Zugriffskontrollrichtlinie für Ihre Umgebung gewährt haben, die es Ihrem Konto ermöglicht, VPC-Endpunkte zu erstellen.

  3. Überprüfen Sie die Berechtigungen für die Ausführungsrolle. Eine Ausführungsrolle ist eine AWS Identity and Access Management (IAM-) Rolle mit einer Berechtigungsrichtlinie, die Amazon MWA die Erlaubnis erteilt, die Ressourcen anderer AWS Dienste (wie Amazon S3, Amazon SQS CloudWatch, Amazon ECR) in Ihrem Namen aufzurufen. Ihr Customer-managed Schlüssel oder Ihr AWS eigener Schlüssel muss ebenfalls Zugriff haben. Weitere Informationen finden Sie unter. Rolle „Ausführung“

  4. Prüfen Sie die Apache Airflow-Protokolle. Wenn Sie Apache Airflow-Protokolle aktiviert haben, überprüfen Sie auf der Seite „Protokollgruppen“ auf der Konsole, ob Ihre Protokollgruppen erfolgreich erstellt wurden. CloudWatch Wenn Sie leere Protokolle erhalten, liegt der häufigste Grund in fehlenden Berechtigungen in Ihrer Ausführungsrolle für CloudWatch oder Amazon S3, in dem Protokolle geschrieben werden. Weitere Informationen finden Sie unterRolle „Ausführung“.

  5. Informationen zum Ausführen eines Skripts zur Fehlerbehebung, das die Amazon VPC-Netzwerkeinrichtung und -konfiguration für Ihre Amazon MWAA-Umgebung überprüft, finden Sie im Skript „Umgebung verifizieren“ in den AWS Support-Tools unter. GitHub

  6. Wenn Sie eine Amazon VPC ohne Internetzugang verwenden, stellen Sie sicher, dass Sie einen Amazon S3-Gateway-Endpunkt erstellt und Amazon ECR die mindestens erforderlichen Berechtigungen für den Zugriff auf Amazon S3 erteilt haben. Weitere Informationen zum Erstellen eines Amazon S3-Gateway-Endpunkts finden Sie im Folgenden:

Ich habe versucht, eine VPC auszuwählen, und habe einen Netzwerkfehler erhalten

Wir empfehlen die folgenden Schritte:

  • Wenn Sie beim Erstellen Ihrer Umgebung versuchen, eine Amazon VPC auszuwählen, eine Network Failure Fehlermeldung erhalten, schalten Sie alle im Browser ausgeführten Proxys aus, und versuchen Sie es erneut.

Ich habe versucht, eine Umgebung zu erstellen, und habe den Fehler „muss übergeben werden“ für einen Dienst, eine Partition oder eine Ressource erhalten

Wir empfehlen die folgenden Schritte:

  • Möglicherweise erhalten Sie diesen Fehler, weil die URI, die Sie für Ihren Amazon S3-Bucket angegeben haben, am Ende der URI ein '/' enthält. Wir empfehlen, das '/' im Pfad zu entfernen. Der Wert muss das folgende Format haben:

    s3://amzn-s3-demo-bucket

Ich habe versucht, eine Umgebung zu erstellen, und sie zeigt den Status Verfügbar an, aber wenn ich versuche, auf die Airflow-Benutzeroberfläche zuzugreifen, wird ein Fehler vom Server leer oder der Fehler 502 Bad Gateway angezeigt

Wir empfehlen die folgenden Schritte:

  1. Überprüfen Sie die Konfiguration der VPC-Sicherheitsgruppe. Weitere Informationen finden Sie unter. Ich habe versucht, eine Umgebung zu erstellen, aber sie bleibt im Status Creating hängen

  2. Vergewissern Sie sich, dass alle Apache Airflow-Pakete, die Sie in der Liste aufgeführt haben, der Apache Airflow-Version requirements.txt entsprechen, die Sie auf Amazon MWAA ausführen. Weitere Informationen finden Sie unter. Python-Abhängigkeiten installieren

  3. Informationen zum Ausführen eines Skripts zur Fehlerbehebung, das die Amazon VPC-Netzwerkeinrichtung und -konfiguration für Ihre Amazon MWAA-Umgebung überprüft, finden Sie im Skript „Umgebung verifizieren“ in den AWS Support-Tools unter. GitHub

Ich habe versucht, eine Umgebung zu erstellen, und mein Benutzername besteht aus einer Reihe zufälliger Zeichennamen

  • Apache Airflow hat maximal 64 Zeichen für Benutzernamen. Wenn Ihre AWS Identity and Access Management (IAM-) Rolle diese Länge überschreitet, wird ein Hash-Algorithmus verwendet, um sie zu reduzieren, wobei sie eindeutig bleibt.

Umgebung aktualisieren

Im folgenden Thema werden die Fehler beschrieben, die beim Aktualisieren einer Umgebung auftreten können.

Ich habe versucht, die Umgebungsklasse zu ändern, aber das Update ist fehlgeschlagen

Wenn Sie Ihre Umgebung auf eine andere Umgebungsklasse aktualisieren (z. B. eine mw1.medium in eine ändernmw1.small) und die Anforderung zum Aktualisieren Ihrer Umgebung fehlgeschlagen ist, wechselt der Umgebungsstatus in einen UPDATE_FAILED Status und die Umgebung wird auf die vorherige stabile Version einer Umgebung zurückgesetzt und entsprechend abgerechnet.

Wir empfehlen die folgenden Schritte:

  1. Testen Sie Ihre DAGs, benutzerdefinierten Plugins und Python-Abhängigkeiten lokal mit https://github.com/aws/amazon-mwaa-docker-images aws-mwaa-docker-images on. GitHub

  2. Informationen zum Ausführen eines Skripts zur Fehlerbehebung, das die Amazon VPC-Netzwerkeinrichtung und -konfiguration für Ihre Amazon MWAA-Umgebung überprüft, finden Sie im Skript „Umgebung verifizieren“ in den Support-Tools auf. https://github.com/awslabs/aws-support-tools/tree/master/MWAA AWS GitHub

Zugriffsumgebung

Im folgenden Thema werden die Fehler beschrieben, die beim Zugriff auf eine Umgebung auftreten können.

Ich kann nicht auf die Apache Airflow-Benutzeroberfläche zugreifen

Wir empfehlen die folgenden Schritte:

  1. Überprüfen Sie die Benutzerberechtigungen. Möglicherweise wurde Ihnen kein Zugriff auf eine Berechtigungsrichtlinie gewährt, mit der Sie auf die Apache Airflow-Benutzeroberfläche zugreifen können. Weitere Informationen finden Sie unter. Zugreifen auf eine Amazon MWAA-Umgebung

  2. Überprüfen Sie den Netzwerkzugriff. Dies kann daran liegen, dass Sie den Zugriffsmodus Privates Netzwerk ausgewählt haben. Wenn die URL Ihrer Apache Airflow-Benutzeroberfläche das folgende Format hat, bedeutet dies387fbcn-8dh4-9hfj-0dnd-834jhdfb-vpce.c10.us-west-2.airflow.amazonaws.com, dass Sie privates Routing für Ihren Apache Airflow-Webserver verwenden. Sie können entweder den Apache Airflow-Zugriffsmodus auf den öffentlichen Netzwerkzugriffsmodus aktualisieren oder einen Mechanismus für den Zugriff auf den VPC-Endpunkt für Ihren Apache Airflow-Webserver erstellen. Weitere Informationen finden Sie unter. Verwaltung des Zugriffs auf servicespezifische Amazon VPC-Endpunkte auf Amazon MWAA