Cloud Composer

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Diese Seite bietet eine kurze Einführung in Airflow und DAGs. Außerdem werden die Features und Funktionen von Cloud Composer beschrieben.

Weitere Informationen zu den neuen Features in Cloud Composer-Releases finden Sie unter Versionshinweise.

Informationen zu Cloud Composer

Cloud Composer ist ein vollständig verwalteter Workflow-Orchestrierungsdienst, mit dem Sie Workflowpipelines erstellen, planen, überwachen und verwalten können, die sich über Clouds und lokale Rechenzentren erstrecken.

Cloud Composer basiert auf dem beliebten Open-Source-Projekt Apache Airflow und wird in der Programmiersprache Python verwendet.

Durch die Verwendung von Cloud Composer 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 Cloud Composer können Sie verwaltete Airflow-Umgebungen schnell erstellen und native Airflow-Tools wie die leistungsstarke Airflow-Weboberfläche und Befehlszeilentools verwenden. So können Sie sich auf Ihre Workflows statt auf die Infrastruktur konzentrieren.

Unterschiede zwischen Cloud Composer-Versionen

Weitere Informationen zu den Unterschieden zwischen den Hauptversionen von Cloud Composer finden Sie unter Versionsverwaltung für Cloud Composer.

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, sicherzustellen, dass jede Aufgabe zum richtigen Zeitpunkt 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

DAGs können nicht nur nach Zeitplan ausgeführt werden, sondern auch manuell oder als Reaktion auf Ereignisse wie Änderungen in einem Cloud Storage-Bucket ausgelöst werden. Weitere Informationen finden Sie unter DAGs auslösen.

Weitere Informationen zu DAGs und Aufgaben finden Sie in der Dokumentation zu Apache Airflow.

Cloud Composer-Umgebungen

Cloud Composer-Umgebungen sind eigenständige Airflow-Bereitstellungen, die auf Google Kubernetes Engine basieren. Sie arbeiten mit anderen Google Cloud-Diensten über in Airflow integrierte Connectors zusammen. Sie können in einem einzelnen Google Cloud-Projekt in jeder unterstützten Region eine oder mehrere Umgebungen erstellen.

Cloud Composer 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 für Ihre Umgebung erstellten Cluster ausgeführt und sind für die Verarbeitung und Ausführung von DAGs verantwortlich.

    Der Cluster hostet auch andere Cloud Composer-Komponenten wie den Composer-Agent und Airflow-Monitoring. Diese dienen zum Verwalten der Cloud Composer-Umgebung, zum Erfassen von Logs zum Speichern in Cloud Logging und zum Erfassen von Messwerten zum Hochladen in Cloud Monitoring.

  • Airflow-Webserver: Der Webserver führt die Apache Airflow-UI aus.

  • Airflow-Datenbank: Die Datenbank enthält die Apache Airflow-Metadaten.

  • Cloud Storage-Bucket: Cloud Composer verknüpft Ihrer Umgebung einen Cloud Storage-Bucket. In diesem Bucket, der auch als Umgebungs-Bucket bezeichnet wird, 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.

Cloud Composer-Oberflächen

Cloud Composer bietet Schnittstellen zum Verwalten von Umgebungen, in Umgebungen ausgeführte Airflow-Instanzen und einzelne DAGs.

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

Als weiteres Beispiel können Sie DAGs über die Google Cloud Console, die native Airflow-UI oder die Befehle der Google Cloud CLI und Airflow CLI verwalten.

Airflow-Features in Cloud Composer

Mit Cloud Composer können Sie beispielsweise folgende Airflow-Features verwalten und verwenden:

Zugriffssteuerung in Cloud Composer

Sie verwalten die Sicherheit auf Google Cloud-Projektebene und können IAM-Rollen zuweisen, mit denen einzelne Nutzer Umgebungen ändern oder erstellen können. Nutzer ohne Zugriff auf Ihr Projekt und ohne entsprechende IAM-Rolle für Cloud Composer können nicht auf Ihre Umgebungen zugreifen.

Zusätzlich zu IAM können Sie die Zugriffssteuerung für die Airflow-UI verwenden, die auf dem Modell der Apache Airflow-Zugriffssteuerung basiert.

Weitere Informationen zu den Sicherheitsfunktionen von Cloud Composer finden Sie unter Cloud Composer-Sicherheit.

Umgebung – Netzwerk

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

Weitere Informationen zu Netzwerken in Cloud Composer finden Sie auf den Seiten zu den einzelnen Netzwerkfunktionen:

Häufig gestellte Fragen

Welche Version von Apache Airflow verwendet Cloud Composer?

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

  • Cloud Composer 3 unterstützt Airflow 2.
  • Cloud Composer 2 unterstützt Airflow 2.
  • Cloud Composer 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 Cloud Composer-Images ausführen. Jede Cloud Composer-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.

Verwenden Sie gcloud-Befehle, um Befehle der Airflow-Befehlszeile in Ihren Umgebungen auszuführen. Weitere Informationen zum Ausführen von Befehlen der Airflow-Befehlszeile in Cloud Composer-Umgebungen finden Sie unter Airflow-Befehlszeile.

Kann ich meine eigene Datenbank als Airflow-Datenbank verwenden?

Cloud Composer verwendet für die Airflow-Datenbank einen verwalteten Datenbankdienst. Es ist nicht möglich, eine vom Nutzer bereitgestellte Datenbank als Airflow-Datenbank zu verwenden.

Kann ich meinen eigenen Cluster als Cloud Composer-Cluster verwenden?

Cloud Composer 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 Cloud Composer verwaltet.

Es ist nicht möglich, eine Cloud Composer-Umgebung auf der Grundlage eines selbstverwalteten Google Kubernetes Engine-Clusters zu erstellen.

Kann ich meine eigene Container Registry verwenden?

Cloud Composer verwendet den Artifact Registry-Dienst, um die von Cloud Composer-Umgebungen verwendeten Container-Image-Repositories zu verwalten. Es ist nicht möglich, sie durch eine vom Nutzer bereitgestellte Container Registry zu ersetzen.

Sind Cloud Composer-Umgebungen zonal oder regional?

Cloud Composer 3- und Cloud Composer 2-Umgebungen haben eine zonale Airflow-Datenbank und eine regionale Airflow-Planungs- und -Ausführungsebene. Airflow-Planer, -Worker und -Webserver werden auf der Airflow-Ausführungsebene ausgeführt.

Cloud Composer 1-Umgebungen sind zonal.

Nächste Schritte