Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Diese Seite bietet eine kurze Einführung in Airflow und DAGs sowie eine Beschreibung der Funktionen von Cloud Composer.
Weitere Informationen zu neuen Features in Cloud Composer-Releases siehe Versionshinweise.
Cloud Composer
Cloud Composer ist ein vollständig verwalteter Workflow-Orchestrierungsdienst, damit 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. Cloud Composer hilft Ihnen beim Erstellen von verwaltetem Airflow und nutzen Sie native Airflow-Tools wie die leistungsstarke Weboberfläche und Befehlszeilentools von Airflow, damit Sie sich ganz auf Ihre und nicht Ihre Infrastruktur.
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.
<ph type="x-smartling-placeholder">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 erstellt in Python-Dateien, die die DAG-Struktur mithilfe von Code definieren. Ziel von ihr 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
Sie können DAGs nicht nur nach einem Zeitplan ausführen, sondern auch manuell oder ereignisgesteuert auslösen, z. B. bei Änderungen an einem Cloud Storage-Bucket. Weitere Informationen finden Sie unter DAGs planen und auslösen.
Weitere Informationen zu DAGs und finden Sie in der Apache Airflow-Dokumentation
Cloud Composer-Umgebungen
Cloud Composer-Umgebungen sind eigenständige Airflow-Deployments, die auf der Google Kubernetes Engine basieren. Sie funktionieren auch mit anderen in Airflow integrierten Google Cloud-Diensten. Sie können Eine oder mehrere Umgebungen in einer einzelnen Google Cloud erstellen in einer beliebigen unterstützten Region erstellen.
Cloud Composer stellt Google Cloud-Dienste bereit, die ausgeführt werden Ihre Workflows und alle Airflow-Komponenten. Die Hauptkomponenten einer Umgebung sind:
GKE-Cluster: Airflow-Komponenten wie Airflow Planer, Trigger und Worker, die als GKE-Arbeitslasten ausgeführt werden in einem einzigen Cluster, der für Ihre Umgebung erstellt wurde, und sind für DAGs verarbeiten und ausführen.
Der Cluster hostet auch andere Cloud Composer-Komponenten wie den Composer-Agent und Airflow-Monitoring für die Verwaltung von Cloud Composer Logs zum Speichern in Cloud Logging erfassen und in Cloud Monitoring hochladen können.
Airflow-Webserver: Der Webserver führt die Apache Airflow-Benutzeroberfläche aus.
Airflow-Datenbank: Die Datenbank enthält die Apache Airflow-Metadaten.
Cloud Storage-Bucket: Cloud Composer ordnet der Umgebung einen Cloud Storage-Bucket zu. In diesem Bucket, auch Bucket der Umgebung 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.
Cloud Composer-Schnittstellen
Cloud Composer bietet Schnittstellen zum Verwalten von Umgebungen, Airflow-Instanzen, die in Umgebungen ausgeführt werden, und einzelne 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.
Außerdem können Sie DAGs über die Google Cloud Console, die native Airflow-Benutzeroberfläche oder durch Ausführen von Google Cloud CLI- und Airflow-Befehlszeilenbefehlen verwalten.
Airflow-Funktionen in Cloud Composer
Mit Cloud Composer können Sie Airflow-Features verwalten und verwenden Beispiele:
Airflow-DAGs: Sie können Airflow-DAGs in der Google Cloud Console oder über die native Airflow-Benutzeroberfläche hinzufügen, aktualisieren, entfernen oder auslösen.
Airflow-Konfigurationsoptionen: Sie können Airflow ändern. Konfigurationsoptionen aus Standardwerten, die von Cloud Composer auf benutzerdefinierte Werte umzustellen. In Cloud Composer können Sie einige der Konfigurationsoptionen blocked ist und Sie können deren Werte nicht ändern.
Benutzerdefinierte Plug-ins: Sie können benutzerdefinierte Airflow-Plug-ins wie internen Apache Airflow-Operatoren, Hooks Sensoren oder Schnittstellen in die Cloud Composer-Umgebung einbinden.
Python-Abhängigkeiten: Sie können Python installieren. Abhängigkeiten aus dem Python-Paketindex in Ihrer Umgebung oder aus einem privaten Paket-Repository, einschließlich Artifact Registry-Repositories. Wenn der Parameter 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, die einzelne können Nutzer Umgebungen ändern oder erstellen. 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.
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 zum Networking in Cloud Composer finden Sie auf den Seiten zu den einzelnen Netzwerkfunktionen:
- Öffentliche IP- und private IP-Umgebungen
- Umgebung mit Ihrem VPC-Netzwerk verbinden
- Freigegebene VPC-Umgebungen
- VPC Service Controls konfigurieren
Weitere Features von Cloud Composer
Weitere Features von Cloud Composer:
- Autoscaling-Umgebungen
- Entwicklung mit lokalen Airflow-Umgebungen
- Äußerst robuste Umgebungen
- Umgebungs-Snapshots
- Verschlüsselung mit vom Kunden verwalteten Verschlüsselungsschlüsseln (CMEK)
- Data Lineage-Einbindung in Dataplex
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 entschließen Sie sich, ein Upgrade Ihrer Umgebung auf eine neuere Version von Cloud Composer-Image. 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 den Airflow einen verwalteten Datenbankdienst Datenbank. Es ist nicht möglich, eine von Nutzern 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 anhand eines selbstverwalteten Google Kubernetes Engine-Cluster.
Kann ich meine eigene Container Registry verwenden?
Cloud Composer verwendet den Artifact Registry-Dienst zum Verwalten von Containern Image-Repositories, die von Cloud Composer-Umgebungen verwendet werden. 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 einen zonalen Airflow sowie eine regionale Airflow-Planungs- und -Ausführungsebene. Airflow-Planer, -Worker und -Webserver werden in der Airflow-Ausführungsschicht ausgeführt.
Cloud Composer 1-Umgebungen sind zonal.