Umgebungsarchitektur

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Auf dieser Seite wird die Architektur von Cloud Composer-Umgebungen beschrieben.

Konfigurationen der Umgebungsarchitektur

Cloud Composer 1-Umgebungen können die folgenden Architekturkonfigurationen haben:

Kunden- und Mandantenprojekte

Beim Erstellen einer Umgebung verteilt Cloud Composer die Umgebungsressourcen zwischen einem Mandanten und einem Kundenprojekt zu speichern:

  • Das Kundenprojekt ist ein Google Cloud-Projekt, in dem Sie Ihre Umgebungen erstellen. Sie können in einem Kundenprojekt mehrere Umgebungen erstellen.

Das Mandantenprojekt ist ein von Google verwaltetes Mandantenprojekt. Das Mandantenprojekt bietet eine einheitliche Zugriffssteuerung und eine zusätzliche Ebene Datensicherheit in Ihrer Umgebung. Jeder Cloud Composer Die Umgebung hat ein eigenes Mandantenprojekt.

Umgebungskomponenten

Eine Cloud Composer-Umgebung besteht aus Umgebungskomponenten.

Eine Umgebungskomponente ist ein Element einer verwalteten Airflow-Infrastruktur, die in Google Cloud als Teil Ihrer Umgebung ausgeführt wird. Umgebung Komponenten, die entweder im Mandanten oder im Kundenprojekt von für Ihre Umgebung.

Cluster der Umgebung

Cluster der Umgebung ist ein Standardmodus VPC-nativ oder Routenbasierter Google Kubernetes Engine-Cluster Ihres Umgebung:

Standardmäßig aktiviert Cloud Composer automatische Knotenupgrades und automatische Knotenreparaturen, um den Cluster Ihrer Umgebung vor Sicherheitslücken zu schützen. Diese Vorgänge während Wartungsfenstern, die Sie für Ihre zu verbessern.

Bucket der Umgebung

Bucket der Umgebung ist ein Cloud Storage-Bucket zum Speichern von DAGs, Plug-ins, Datenabhängigkeiten und Airflow-Logs. Umgebung Bucket befindet sich im Kundenprojekt.

Wenn Sie Ihre DAG-Dateien in den Ordner /dags in Ihrem des Buckets der Umgebung synchronisiert Cloud Composer die DAGs mit Airflow-Komponenten Ihrer Umgebung.

Airflow-Webserver

Der Airflow-Webserver führt die Airflow-UI Ihrer Umgebung aus.

In Cloud Composer 1 wird der Airflow-Webserver im Mandantenprojekt ausgeführt Ihrer Umgebung.

Der Airflow-Webserver ist in Identity-Aware Proxy integriert. Cloud Composer blendet IAP-Integration aus Details und bietet Zugriff auf den Webserver basierend auf der Nutzeridentität. und IAM-Richtlinienbindungen für Nutzer definiert.

In Cloud Composer 1 wird der Airflow-Webserver mit einem anderen Dienstkonto ausgeführt als Airflow-Worker und Airflow-Planer. Das Dienstkonto für den Webserver wird beim Erstellen der Umgebung automatisch generiert und stammt aus dem Web Server-Domain. Lautet die Domain beispielsweise example.appspot.com, Dienstkonto ist example@appspot.gserviceaccount.com.

Airflow-Datenbank

Eine Airflow-Datenbank ist eine Cloud SQL-Instanz, die im Mandantenprojekt Ihrer Umgebung ausgeführt wird. Sie hostet die Airflow-Metadatendatenbank.

Zum Schutz vertraulicher Verbindungs- und Workflowinformationen lässt Cloud Composer den Datenbankzugriff nur auf das Dienstkonto Ihrer Umgebung zu.

Andere Luftstromkomponenten

Andere Airflow-Komponenten, die in Ihrer Umgebung ausgeführt werden, sind:

  • Airflow-Planer parsen DAG-Definitionsdateien, planen DAG-Ausführungen basierend auf dem Zeitplanintervall erstellt und Aufgaben zur Ausführung in die Warteschlange gestellt Airflow-Worker In Cloud Composer 1 Airflow-DAG-Prozessoren werden als Teil von Planerkomponenten ausgeführt.

  • Airflow-Worker führen Aufgaben aus, die von Airflow geplant wurden Planer.

Architektur der öffentlichen IP-Umgebung

Ressourcen der öffentlichen IP-Cloud Composer-Umgebung im Mandantenprojekt und im Kundenprojekt
Abbildung 1. Architektur einer öffentlichen IP-Umgebung (zum Vergrößern klicken)

In einer öffentlichen IP-Umgebungsarchitektur für Cloud Composer 1:

  • Das Mandantenprojekt hostet eine Cloud SQL-Instanz, Cloud SQL Storage und eine App Engine Flex-Instanz, auf der der Airflow-Webserver ausgeführt wird.
  • Das Kundenprojekt hostet alle anderen Komponenten der Umgebung.
  • Airflow-Planer und -Worker im Kundenprojekt kommunizieren über eine Cloud SQL-Proxy-Instanz im Kundenprojekt mit der Airflow-Datenbank.
  • Der Airflow-Webserver im Mandantenprojekt kommuniziert mit der Airflow-Datenbank über eine Cloud SQL-Proxyinstanz im Mandantenprojekt.

Architektur der privaten IP-Umgebung

Ressourcen der privaten IP-Cloud Composer-Umgebung im Mandantenprojekt und im Kundenprojekt
Abbildung 2. Architektur einer privaten IP-Umgebung (zum Vergrößern klicken)

In einer Architektur mit einer privaten IP-Umgebung:

  • Das Mandantenprojekt hostet eine Cloud SQL-Instanz, Cloud SQL Storage und zwei App Engine-Instanzen, auf denen der Airflow-Webserver ausgeführt wird.
  • Das Kundenprojekt hostet alle anderen Komponenten der Umgebung.
  • Airflow-Planer und -Worker stellen über den HAProxy-Prozess im Cluster der Umgebung eine Verbindung zur Airflow-Datenbank her.
  • Der HAProxy-Prozess verteilt den Traffic durch Load-Balancing auf die Cloud SQL-Instanz zwischen zwei Cloud SQL-Proxy-Instanzen, die sich im Mandantenprojekt befinden. Private IP-Umgebungen verwenden zwei Cloud SQL-Proxy-Instanzen, da das Kundenprojekt aufgrund von Netzwerkeinschränkungen nicht direkt auf die Datenbank zugreift. Es sind zwei Instanzen erforderlich, damit die Komponenten Ihrer Umgebung jederzeit auf die Datenbank zugreifen können.

Private IP mit DRS

Private IP-Adresse mit DRS Cloud Composer-Umgebungsressourcen im Mandantenprojekt und im Kundenprojekt (zum Vergrößern klicken)
Abbildung 3. Architektur einer privaten IP-Umgebung (zum Vergrößern klicken)

Wenn die Organisationsrichtlinie für die Domaineingeschränkte Freigabe (DRS) in Ihrem Projekt aktiviert ist, verwendet Cloud Composer die private IP-Adresse mit der DRS-Umgebungsarchitektur.

In der Architektur der privaten IP-Adresse mit DRS-Umgebung:

  • Das Mandantenprojekt hostet eine Cloud SQL-Instanz, Cloud SQL Storage und zwei App Engine-Instanzen, auf denen der Airflow-Webserver ausgeführt wird.

  • Im Mandantenprojekt wird der Bucket einer zusätzlichen Umgebung gehostet. Airflow im Web greift direkt auf diesen Bucket zu.

  • Das Kundenprojekt hostet alle anderen Komponenten der Umgebung.

  • Im Kundenprojekt wird die Bucket-Synchronisierung in für den Cluster der Umgebung. Dabei werden zwei Umgebungen synchronisiert, Buckets.

  • Airflow-Planer und -Worker stellen über den HAProxy-Prozess im Cluster der Umgebung eine Verbindung zur Airflow-Datenbank her.

  • Der HAProxy-Prozess verteilt den Traffic durch Load-Balancing auf die Cloud SQL-Instanz zwischen zwei Cloud SQL-Proxy-Instanzen, die sich im Mandantenprojekt befinden. Private IP-Umgebungen verwenden zwei Cloud SQL-Proxy-Instanzen, da das Kundenprojekt aufgrund von Netzwerkeinschränkungen nicht direkt auf die Datenbank zugreift. Es sind zwei Instanzen erforderlich, damit die Komponenten Ihrer Umgebung jederzeit auf die Datenbank zugreifen können.

Einbindung in Cloud Logging und Cloud Monitoring

Cloud Composer kann in Cloud Logging und Cloud Monitoring Ihres Google Cloud-Projekts, sodass Sie Airflow- und DAG-Logs

Cloud Monitoring erfasst und nimmt Messwerte, Ereignisse und Metadaten auf von Cloud Composer bis zu Informationen durch Dashboards und Diagramme generieren

Aufgrund des Streaming-Charakters von Cloud Logging können Sie Logs, die von Airflow-Komponenten ausgegeben werden, sofort ansehen, anstatt darauf zu warten, dass Airflow-Logs im Cloud Storage-Bucket Ihrer Umgebung angezeigt werden.

Wenn Sie die Anzahl der Logs in Ihrem Google Cloud-Projekt begrenzen möchten, beenden Sie die gesamte Aufnahme von Logs. Deaktivieren Sie das Logging aber nicht.

Nächste Schritte