Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Auf dieser Seite finden Sie eine kurze Einführung in Airflow und DAGs sowie eine Beschreibung der Funktionen und Möglichkeiten von Cloud Composer.
Weitere Informationen zu neuen Funktionen in Cloud Composer-Releases finden Sie in den Versionshinweisen.
Cloud Composer
Cloud Composer ist ein vollständig verwalteter Workflow-Orchestrierungsdienst, mit dem Sie Workflow-Pipelines 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. Sie haben somit die Möglichkeit, sich ganz auf Ihre Workflows statt auf die Infrastruktur zu konzentrieren.
Unterschiede zwischen Cloud Composer-Versionen
Weitere Informationen zu den Unterschieden zwischen den Hauptversionen von Cloud Composer finden Sie unter Cloud Composer-Versionsverwaltung.
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. Ziel des DAG ist es, 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
DAGs können nicht nur nach Zeitplan ausgeführt, sondern auch manuell oder ereignisgesteuert ausgelöst werden, beispielsweise bei Änderungen an 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.
Cloud Composer-Umgebungen
Cloud Composer-Umgebungen sind eigenständige Airflow-Deployments, die auf Google Kubernetes Engine basieren. Sie funktionieren auch mit anderen Google Cloud-Diensten über in Airflow integrierte Connectors. Sie können eine oder mehrere Umgebungen in einem einzelnen Google Cloud-Projekt in jeder unterstützten Region erstellen.
Cloud Composer stellt Google Cloud Dienste bereit, mit denen Ihre Workflows und alle Airflow-Komponenten ausgeführt werden. 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, 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 das Airflow-Monitoring. Damit lassen sich die Cloud Composer-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: Cloud Composer ordnet Ihrer Umgebung einen Cloud Storage-Bucket zu. In diesem Bucket, der auch als Bucket der Umgebung 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-Schnittstellen
Cloud Composer bietet Schnittstellen zum Verwalten von Umgebungen, Airflow-Instanzen, die in Umgebungen ausgeführt werden, und einzelnen DAGs.
Sie können beispielsweise Cloud Composer-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 dieGoogle Cloud console, die native Airflow-UI oder durch Ausführen von Google Cloud CLI- und Airflow-CLI-Befehlen verwalten.
Airflow-Funktionen in Cloud Composer
Wenn Sie Cloud Composer verwenden, können Sie Airflow-Funktionen wie die folgenden verwalten und nutzen:
Airflow-DAGs: Sie können Airflow-DAGs in der Google Cloud -Konsole oder über die native Airflow-UI hinzufügen, aktualisieren, entfernen oder auslösen.
Airflow-Konfigurationsoptionen: Sie können Airflow-Konfigurationsoptionen von den Standardwerten, die von Cloud Composer verwendet werden, in benutzerdefinierte Werte ändern. In Cloud Composer sind einige Konfigurationsoptionen blockiert und Sie können ihre Werte nicht ändern.
Benutzerdefinierte Plug-ins: Sie können benutzerdefinierte Airflow-Plug-ins, wie z. B. benutzerdefinierte interne Apache Airflow-Operatoren, Hooks, Sensoren oder Oberflächen, in Ihrer Cloud Composer-Umgebung installieren.
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 Cloud Composer-Umgebungen:
Sie können Airflow-Logs, die einzelnen DAG-Aufgaben zugeordnet sind, in der Airflow-Weboberfläche und im
logs
-Ordner des Buckets der Umgebung anzeigen.Cloud Monitoring-Logs und Umgebungsmesswerte für Cloud Composer-Umgebungen.
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 Airflow-UI-Zugriffssteuerung verwenden, die auf dem Apache Airflow-Zugriffssteuerungsmodell basiert.
Weitere Informationen zu den Sicherheitsfunktionen in Cloud Composer finden Sie unter Cloud Composer-Sicherheit.
Netzwerkumgebung
Cloud Composer 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 zum Netzwerk in Cloud Composer 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 Cloud Composer
Weitere Cloud Composer-Funktionen:
- Autoscaling-Umgebungen
- Entwicklung mit lokalen Airflow-Umgebungen
- Hochgradig resiliente Umgebungen
- Umgebungssnapshots
- Verschlüsselung mit vom Kunden verwalteten Verschlüsselungsschlüsseln (CMEK)
- Integration der Datenherkunft in Dataplex Universal Catalog
Häufig gestellte Fragen
Welche Version von Apache Airflow verwendet Cloud Composer?
Cloud Composer-Umgebungen basieren auf Cloud Composer-Images. Beim Erstellen einer Umgebung 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 Ihre Umgebung auf eine neuere Version des Cloud Composer-Images aktualisieren. 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.
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 Cloud Composer-Umgebungen finden Sie unter Airflow-Befehlszeile.
Kann ich meine eigene Datenbank als Airflow-Datenbank verwenden?
Cloud Composer 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 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 Grundlage eines selbstverwalteten Google Kubernetes Engine-Clusters zu erstellen.
Kann ich meine eigene Container Registry verwenden?
Cloud Composer verwendet den Artifact Registry-Dienst, um Container-Image-Repositories zu verwalten, die von Cloud Composer-Umgebungen verwendet werden. Es ist nicht möglich, sie durch eine vom Nutzer bereitgestellte Containerregistrierung zu ersetzen.
Sind Cloud Composer-Umgebungen zonal oder regional?
Wenn Sie eine Umgebung erstellen, geben Sie eine Region dafür an:
Standardmäßige Cloud Composer-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.
Hochgradig resiliente (hochverfügbare) Cloud Composer-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. Cloud Composer verteilt die Komponenten Ihrer Umgebung automatisch auf Zonen. Die Cloud SQL-Komponente, in der die Airflow-Datenbank gespeichert ist, hat eine primäre Instanz und eine Standby-Instanz, die auf Zonen in der ausgewählten Region verteilt sind.