Managed Airflow – Übersicht

Managed Airflow (Gen 3) | Managed Airflow (Gen 2) | Managed Airflow (Legacy Gen 1)

Diese Seite bietet eine kurze Einführung in Airflow und DAGs und beschreibt die Features und Funktionen von Managed Airflow.

Weitere Informationen zu neuen Funktionen in Managed Airflow-Releases finden Sie in den Versionshinweisen.

Managed Airflow

Managed Airflow ist ein vollständig verwalteter Dienst zur Workflow-Orchestrierung, 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 Open-Source-Projekt Apache Airflow und wird in der Programmiersprache Python betrieben.

Wenn Sie Managed Airflow anstelle einer lokalen Instanz von Apache Airflow verwenden, können Sie die Vorteile von Airflow ohne Installations- oder Verwaltungsaufwand nutzen. Mit Managed Airflow können Sie schnell verwaltete Airflow-Umgebungen erstellen und native Airflow-Tools wie die leistungsstarke Airflow-Weboberfläche und Befehlszeilentools verwenden. Sie haben somit die Möglichkeit, sich ganz auf Ihre Workflows statt auf die Infrastruktur zu konzentrieren.

Unterschiede zwischen Managed Airflow-Versionen

Weitere Informationen zu den Unterschieden zwischen den Hauptversionen von Managed Airflow finden Sie unter Übersicht über die Versionierung von 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.

Beziehung zwischen DAGs und Aufgaben
Abbildung 1. Beziehung zwischen DAGs und Aufgaben

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, dafür zu sorgen, 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

Zusätzlich zur Ausführung eines DAG nach einem Zeitplan können Sie DAGs manuell oder als Reaktion auf Ereignisse wie Änderungen in einem Cloud Storage-Bucket auslösen. 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 der Google Kubernetes Engine basieren. Sie arbeiten mit anderen Google Cloud-Diensten über in Airflow integrierte Connectors zusammen. Sie können eine oder mehrere Umgebungen in einem einzelnen Google Cloud-Projekt in einer beliebigen 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, Trigger 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 Composer Agent und Airflow Monitoring, die die Verwaltung der Managed Airflow-Umgebung, das Erfassen von Logs zum Speichern in Cloud Logging und das Erfassen von Messwerten zum Hochladen in Cloud Monitoring unterstützen.

  • 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 verknüpft einen Cloud Storage-Bucket mit Ihrer Umgebung. In diesem Bucket, auch Umgebungs-Bucket genannt, werden die DAGs, Logs, benutzerdefinierten 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-Schnittstellen

Managed Airflow bietet Schnittstellen zum Verwalten von Umgebungen, Airflow-Instanzen, die in Umgebungen ausgeführt werden, und einzelnen DAGs.

Sie können beispielsweise verwaltete Airflow-Umgebungen in der Google Cloud Console, der Google Cloud CLI, der Cloud Composer API oder Terraform erstellen und konfigurieren.

Ein weiteres Beispiel: Sie können DAGs über die Google Cloud Console, die native Airflow-Benutzeroberfläche oder durch Ausführen von Google Cloud CLI- und Airflow CLI-Befehlen verwalten.

Airflow-Features in Managed Airflow

Wenn Sie Managed Airflow verwenden, können Sie Airflow-Funktionen wie die folgenden verwalten und verwenden:

Zugriffssteuerung in Managed Airflow

Sie verwalten die Sicherheit auf der Google Cloud -Projektebene und können IAM-Rollen zuweisen, mit denen einzelne Nutzer Umgebungen ändern oder erstellen können. Wenn jemand keinen Zugriff auf Ihr Projekt oder keine entsprechende IAM-Rolle für Managed Airflow hat, kann diese Person nicht auf Ihre Umgebungen zugreifen.

Zusätzlich zu IAM können Sie die Zugriffssteuerung für die Airflow-Benutzeroberfläche verwenden, die auf dem Apache Airflow-Zugriffssteuerungsmodell basiert.

Weitere Informationen zu den Sicherheitsfunktionen in Managed Airflow finden Sie unter Managed Airflow – Sicherheit – Übersicht.

Umgebungsnetzwerk

Managed Airflow unterstützt mehrere Netzwerkkonfigurationen für Umgebungen mit vielen Konfigurationsoptionen. In einer Umgebung mit privaten IP-Adressen sind DAGs und Airflow-Komponenten beispielsweise vollständig vom öffentlichen Internet isoliert.

Weitere Informationen zu Netzwerken in Managed Airflow finden Sie auf den Seiten zu den einzelnen Netzwerkfunktionen:

Weitere Funktionen von Managed Airflow

Weitere Managed Airflow-Funktionen:

Häufig gestellte Fragen

Welche Version von Apache Airflow verwendet Managed Airflow?

Managed Airflow-Umgebungen basieren auf Managed Airflow-Images. Wenn Sie eine Umgebung erstellen, können Sie ein Image mit einer bestimmten Airflow-Version auswählen:

  • Managed Airflow (Gen 3) unterstützt Airflow 2 und Airflow 3.
  • 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 ein Upgrade Ihrer Umgebung auf eine neuere Version des Managed Airflow-Images durchführen. Jeder Managed Airflow-Release 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.

Verwenden Sie gcloud-Befehle, um Airflow-CLI-Befehle in Ihren Umgebungen auszuführen. Weitere Informationen zum Ausführen von Airflow-CLI-Befehlen 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 Umgebungscluster 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 Basis 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:

  • Standard-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 Managed Airflow-Umgebungen haben eine multizonale Airflow-Datenbank und eine multizonale Airflow-Ausführungsebene. Eine hochgradig robuste 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 Stand‑by-Instanz, die auf Zonen in der ausgewählten Region verteilt sind.

Nächste Schritte