Managed Airflow (Gen 3) | Managed Airflow (Gen 2) | Managed Airflow (Legacy Gen 1)
Auf dieser Seite finden Sie eine kurze Einführung in Airflow und DAGs sowie eine Beschreibung der Features und Funktionen von Managed Airflow.
Weitere Informationen zu neuen Features in Managed Airflow-Releases, finden Sie in den Versionshinweisen.
Managed Airflow
Managed Airflow ist ein vollständig verwalteter Workflow-Orchestrierungsdienst, mit dem Sie Workflow-Pipelines, die sich über Clouds und lokale Rechenzentren erstrecken, erstellen, planen, überwachen und verwalten können.
Managed Airflow basiert auf dem beliebten Apache Airflow Open-Source-Projekt und wird in der Programmiersprache Python verwendet.
Durch die Verwendung von Managed Airflow anstelle einer lokalen Instanz von Apache Airflow können Sie vom Besten von Airflow profitieren, ohne dass eine Installation oder ein hoher Verwaltungsaufwand erforderlich sind. Mit Managed Airflow können Sie schnell verwaltete Airflow-Umgebungen erstellen und native Airflow-Tools wie die leistungsstarke Airflow-Weboberfläche sowie Befehlszeilentools nutzen. Damit können Sie sich ganz auf Ihre Workflows statt auf die Infrastruktur konzentrieren.
Unterschiede zwischen Managed Airflow-Versionen
Weitere Informationen zu den Unterschieden zwischen den Hauptversionen von Managed Airflow finden Sie unter Übersicht zur Versionsverwaltung für Managed Service for Apache Airflow.
Airflow und Airflow-DAGs (Workflows)
Bei der Datenanalyse stellt ein Workflow eine Reihe von Aufgaben zum Aufnehmen, Transformieren, Analysieren oder Nutzen von Daten dar. In Airflow werden Workflows mithilfe von DAGs oder „gerichteten azyklischen Graphen“ erstellt.
Ein DAG ist eine Sammlung von Aufgaben, die Sie planen und ausführen möchten, so, dass die Struktur deren Beziehungen und Abhängigkeiten wiedergibt. DAGs werden in Python-Dateien erstellt, die die DAG-Struktur mithilfe von Code definieren. Der Zweck des DAG besteht darin, sicherzustellen, dass jede Aufgabe zur richtigen Zeit und in der richtigen Reihenfolge ausgeführt wird.
Jede Aufgabe in einem DAG kann fast alles darstellen. Eine Aufgabe kann beispielsweise eine der folgenden Funktionen ausführen:
- Daten für die Aufnahme vorbereiten
- API beobachten
- E-Mails senden
- Pipeline ausführen
Neben der Ausführung eines DAG nach Zeitplan können Sie DAGs manuell oder als Reaktion auf Ereignisse auslösen, z. B. bei Änderungen in einem Cloud Storage-Bucket. Weitere Informationen finden Sie unter DAGs planen und auslösen.
Weitere Informationen zu DAGs und Aufgaben finden Sie in der Apache Airflow-Dokumentation.
Managed Airflow-Umgebungen
Managed Airflow-Umgebungen sind eigenständige Airflow-Deployments, die auf Google Kubernetes Engine basieren. Sie funktionieren auch mit anderen Google Cloud in Airflow integrierten Diensten. Sie können eine oder mehrere Umgebungen in einem einzelnen Google Cloud Projekt in jeder unterstützten Region erstellen.
Managed Airflow stellt Google Cloud Dienste bereit, die Ihre Workflows und alle Airflow-Komponenten ausführen. Die Hauptkomponenten einer Umgebung sind:
GKE-Cluster: Airflow-Komponenten wie Airflow Planer, -Auslöser und -Worker werden als GKE-Arbeitslasten in einem einzelnen Cluster ausgeführt, der für Ihre Umgebung erstellt wurde. Sie sind für die Verarbeitung und Ausführung von DAGs verantwortlich.
Der Cluster hostet auch andere Managed Airflow-Komponenten wie den Composer-Agent und das Airflow-Monitoring. Damit lassen sich die Managed Airflow- Umgebung verwalten, Logs im Cloud Logging speichern und Messwerte zum Hochladen in Cloud Monitoring erfassen.
Airflow-Webserver: Der Webserver führt die Apache Airflow-UI aus.
Airflow-Datenbank: Die Datenbank enthält die Apache Airflow-Metadaten.
Cloud Storage-Bucket: Managed Airflow ordnet Ihrer Umgebung einen Cloud Storage-Bucket zu. In diesem Bucket, auch Bucket der Umgebung genannt, werden die DAGs, Logs, benutzerdefinierte Plug-ins, und Daten für die Umgebung gespeichert. Weitere Informationen zum Bucket der Umgebung finden Sie unter In Cloud Storage gespeicherte Daten.
Ausführliche Informationen zu den Komponenten einer Umgebung finden Sie unter Umgebungsarchitektur.
Managed Airflow-Oberflächen
Managed Airflow bietet Oberflächen zum Verwalten von Umgebungen, Airflow-Instanzen, die in Umgebungen ausgeführt werden, und einzelnen DAGs.
Sie können beispielsweise Managed Airflow-Umgebungen in der Console, der Google Cloud CLI, der Google Cloud Cloud Composer API oder Terraform erstellen und konfigurieren.
Außerdem können Sie DAGs verwalten über Google Cloud die Console, die native Airflow-UI oder durch Ausführen von Google Cloud CLI- und Airflow CLI-Befehlen.
Airflow-Funktionen in Managed Airflow
Wenn Sie Managed Airflow verwenden, können Sie Airflow-Funktionen wie die folgenden verwalten und nutzen:
Airflow-DAGs: Sie können Airflow-DAGs in der Google Cloud Console oder über die native Airflow-UI hinzufügen, aktualisieren, entfernen oder auslösen.
Airflow-Konfigurationsoptionen: Sie können die Airflow Konfigurationsoptionen von den Standardwerten, die von Managed Airflow verwendet werden, in benutzerdefinierte Werte ändern. In Managed Airflow sind einige Konfigurationsoptionen gesperrt, sodass Sie deren Werte nicht ändern können.
Benutzerdefinierte Plug-ins: Sie können benutzerdefinierte Airflow-Plug-ins installieren, wie z. B. benutzerdefinierte interne Apache Airflow-Operatoren, Hooks, Sensoren oder Oberflächen, in Ihrer Managed Airflow-Umgebung.
Python-Abhängigkeiten: Sie können Python Abhängigkeiten aus dem Python-Paketindex in Ihrer Umgebung oder aus einem privaten Paket-Repository installieren, einschließlich Artifact Registry-Repositories. Wenn die Abhängigkeiten nicht im Paketindex enthalten sind, können Sie auch Plug-ins verwenden.
Logging und Monitoring für DAGs, Airflow-Komponenten und Managed Airflow-Umgebungen:
Sie können Airflow-Logs, die einzelnen DAG-Aufgaben zugeordnet sind in der Airflow-Weboberfläche und im Ordner
logsdes Buckets der Umgebung anzeigen.Cloud Monitoring-Logs und Umgebungsmesswerte für Managed Airflow-Umgebungen.
Zugriffssteuerung in Managed Airflow
Sie verwalten die Sicherheit auf Google Cloud Projektebene und können IAM-Rollen zuweisen, die einzelnen Nutzern das Ändern oder Erstellen von Umgebungen ermöglichen. Nutzer ohne Zugriff auf Ihr Projekt und ohne entsprechende IAM-Rolle für Managed Airflow können nicht auf Ihre Umgebungen zugreifen.
Neben IAM können Sie auch die Airflow-UI-Zugriffssteuerungverwenden, die auf dem Apache Airflow-Zugriffssteuerungsmodell basiert.
Weitere Informationen zu den Sicherheitsfunktionen in Managed Airflow finden Sie in der Übersicht zur Sicherheit von Managed Airflow.
Netzwerk für Umgebungen
Managed Airflow unterstützt mehrere Netzwerkkonfigurationen für Umgebungen mit vielen Konfigurationsoptionen. In einer Private IP-Umgebung sind DAGs und Airflow-Komponenten beispielsweise vollständig vom öffentlichen Internet isoliert.
Weitere Informationen zum Netzwerk in Managed Airflow finden Sie auf den Seiten zu den einzelnen Netzwerkfunktionen:
- Umgebungen mit öffentlicher und privater IP-Adresse
- Umgebung mit Ihrem VPC-Netzwerk verbinden
- Umgebungen mit freigegebener VPC
- VPC Service Controls konfigurieren
Weitere Funktionen von Managed Airflow
Weitere Managed Airflow-Funktionen:
- Umgebungen automatisch skalieren
- Entwicklung mit lokalen Airflow-Umgebungen
- Hochverfügbare Umgebungen
- Umgebungssnapshots
- Datenabstammung mit Knowledge Catalog integrieren
- Verschlüsselung mit kundenverwalteten Verschlüsselungsschlüsseln (CMEK)
Häufig gestellte Fragen
Welche Version von Apache Airflow verwendet Managed Airflow?
Managed Airflow-Umgebungen basieren auf Managed Airflow-Images. Beim Erstellen einer Umgebung können Sie ein Image mit einer bestimmten Airflow-Version auswählen:
- Managed Airflow (Gen 3) unterstützt Airflow 2.
- Managed Airflow (Gen 2) unterstützt Airflow 2.
- Managed Airflow (Legacy Gen 1) unterstützt Airflow 1 und Airflow 2.
Sie haben die Kontrolle über die Apache Airflow-Version Ihrer Umgebung. Sie können entscheiden, Ihre Umgebung auf eine neuere Version des Managed Airflow-Images zu aktualisieren. Jede Managed Airflow-Version unterstützt mehrere Apache Airflow-Versionen.
Kann ich die native Airflow-UI und -Befehlszeile verwenden?
Sie können auf die Apache Airflow-Weboberfläche Ihrer Umgebung zugreifen. Jede Umgebung hat eine eigene Airflow-UI. Weitere Informationen zum Zugriff auf die Airflow-UI finden Sie unter Airflow-Weboberfläche.
Zum Ausführen von Befehlen der Airflow-Befehlszeile in Ihren Umgebungen verwenden Sie gcloud-Befehle.
Weitere Informationen zum Ausführen von Befehlen der Airflow-Befehlszeile in
Managed Airflow-Umgebungen finden Sie unter
Airflow-Befehlszeile.
Kann ich meine eigene Datenbank als Airflow-Datenbank verwenden?
Managed Airflow verwendet einen verwalteten Datenbankdienst für die Airflow-Datenbank. Es ist nicht möglich, eine vom Nutzer bereitgestellte Datenbank als Airflow-Datenbank zu verwenden.
Kann ich meinen eigenen Cluster als Managed Airflow-Cluster verwenden?
Managed Airflow verwendet den Google Kubernetes Engine-Dienst, um Cluster für Umgebungen zu erstellen, zu verwalten und zu löschen, in denen Airflow-Komponenten ausgeführt werden. Diese Cluster werden vollständig von Managed Airflow verwaltet.
Es ist nicht möglich, eine Managed Airflow-Umgebung auf der Grundlage eines selbstverwalteten Google Kubernetes Engine-Clusters zu erstellen.
Kann ich meine eigene Container-Registry verwenden?
Managed Airflow verwendet den Artifact Registry-Dienst, um Container-Image-Repositories zu verwalten, die von Managed Airflow-Umgebungen verwendet werden. Es ist nicht möglich, sie durch eine vom Nutzer bereitgestellte Container-Registry zu ersetzen.
Sind Managed Airflow-Umgebungen zonal oder regional?
Wenn Sie eine Umgebung erstellen, geben Sie eine Region dafür an:
- Standardmäßige Managed Airflow-Umgebungen haben eine zonale Airflow Datenbank und eine multizonale Airflow-Ausführungsebene. Die Airflow-Datenbank befindet sich in einer der Zonen in der angegebenen Region und die Airflow Komponenten sind auf mehrere Zonen verteilt.
- Hochverfügbare (Highly Available) Managed Airflow-Umgebungen haben eine multizonale Airflow-Datenbank und eine multizonale Airflow-Ausführungsebene. Eine hochverfügbare Umgebung wird in mindestens zwei Zonen der ausgewählten Region ausgeführt. Managed Airflow verteilt die Komponenten Ihrer Umgebung automatisch auf die Zonen. Die Cloud SQL Komponente, in der die Airflow-Datenbank gespeichert ist, hat eine primäre Instanz und eine Standby-Instanz, die auf die Zonen in der ausgewählten Region verteilt sind.