Modell der gemeinsamen Verantwortung für Managed Airflow

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

Für das Ausführen einer geschäftskritischen Anwendung in Managed Airflow müssen mehrere Parteien unterschiedliche Verantwortlichkeiten übernehmen. In diesem Dokument werden die Verantwortlichkeiten aufgeführt, die Google und dem Kunden obliegen. Die Liste ist jedoch nicht vollständig.

Verantwortlichkeiten von Google

  • Absicherung und Patching der Komponenten und der zugrunde liegenden Infrastruktur der verwalteten Airflow-Umgebung, einschließlich des Google Kubernetes Engine-Clusters, der Cloud SQL-Datenbank (in der die Airflow-Datenbank gehostet wird), Pub/Sub, Artifact Registry und anderer Umgebungselemente. Dazu gehört insbesondere das automatische Upgrade der zugrunde liegenden Infrastruktur, einschließlich des GKE-Cluster und der Cloud SQL-Instanz einer Umgebung.

  • Schutz des Zugriffs auf verwaltete Airflow-Umgebungen durch Einbeziehung der von IAM bereitgestellten Zugriffssteuerung, standardmäßige Verschlüsselung ruhender Daten, Bereitstellung von zusätzlicher vom Kunden verwalteter Speicherverschlüsselung, Verschlüsselung von Daten bei der Übertragung.

  • Bereitstellung von Google Cloud Integrationen für Identity and Access Management, Cloud-Audit-Logs und Cloud Key Management Service.

  • Beschränken und Protokollieren des administrativen Zugriffs von Google auf Kundencluster mit Access Transparency und Access Approval für vertragliche Supportzwecke.

  • Veröffentlichen von Informationen zu abwärtskompatiblen Änderungen zwischen Managed Airflow- und Airflow-Versionen in den Versionshinweisen zu Managed Airflow.

  • Managed Airflow-Dokumentation auf dem neuesten Stand halten:

    • Beschreibung aller Funktionen von Managed Airflow.

    • Anleitung zur Fehlerbehebung, damit Umgebungen in einem guten Zustand bleiben.

    • Veröffentlichung von Informationen zu bekannten Problemen mit Problemumgehungen (falls vorhanden).

  • Kritische Sicherheitsvorfälle im Zusammenhang mit Managed Airflow-Umgebungen und von Managed Airflow bereitgestellten Airflow-Images (mit Ausnahme von vom Kunden installierten Python-Paketen) werden durch die Bereitstellung neuer Umgebungsversionen behoben, in denen die Vorfälle behoben werden.

  • Je nach Support-Plan des Kunden kann die Fehlerbehebung bei Problemen mit dem Systemstatus der Managed Airflow-Umgebung erfolgen.

  • Wartung und Erweiterung der Funktionen des Managed Airflow Terraform-Providers.

  • Zusammenarbeit mit der Apache Airflow-Community bei der Wartung und Entwicklung von Google Airflow-Operatoren.

  • Fehlerbehebung und, falls möglich, Behebung von Problemen in den Airflow-Kernfunktionen.

Pflichten der Kunden

  • Sie müssen ein Upgrade auf neue Managed Airflow- und Airflow-Versionen durchführen, um weiterhin Support für das Produkt zu erhalten und Sicherheitsprobleme zu beheben, sobald der Managed Airflow-Dienst eine Managed Airflow-Version veröffentlicht, in der die Probleme behoben sind.

  • Den DAG-Code so zu pflegen, dass er mit der verwendeten Airflow-Version kompatibel bleibt.

  • Die richtigen Berechtigungen in IAM für das Dienstkonto der Umgebung beibehalten. Insbesondere die Berechtigungen, die vom Managed Airflow-Agent und vom Dienstkonto der Umgebung benötigt werden. Die erforderliche Berechtigung für den CMEK-Schlüssel beibehalten, der für die Verschlüsselung der verwalteten Airflow-Umgebung verwendet wird, und ihn nach Bedarf rotieren.

  • Die richtigen Berechtigungen in IAM für den Bucket der Umgebung beibehalten.

  • Die richtigen IAM-Berechtigungen für ein Dienstkonto beibehalten, das PyPI-Pakete installiert. Weitere Informationen finden Sie unter Zugriffssteuerung.

  • Aufrechterhaltung der richtigen Endnutzerberechtigungen in IAM und der Airflow-UI-Zugriffssteuerungskonfiguration.

  • Die Größe der Airflow-Datenbank muss durch Konfiguration einer Aufbewahrungsrichtlinie für Datenbanken unter 20 GB gehalten werden.

  • Alle Probleme beim DAG-Parsing beheben, bevor Sie Supportanfragen an den Cloud Customer Care-Support richten.

  • DAGs richtig benennen, z. B. ohne unsichtbare Zeichen wie LEERZEICHEN oder TAB in DAG-Namen, damit Messwerte für DAGs korrekt erfasst werden können.

  • Aktualisieren Sie den Code von DAGs, damit keine eingestellten Operatoren verwendet werden, und migrieren Sie zu den aktuellen Alternativen. Eingestellte Operatoren werden möglicherweise aus Airflow-Providern entfernt. Dies kann sich auf Ihre Pläne für ein Upgrade auf eine spätere Managed Airflow- oder Airflow-Version auswirken. Die eingestellten Operatoren werden auch nicht mehr gewartet und müssen „wie besehen“ verwendet werden.

  • Konfigurieren Sie die richtigen IAM-Berechtigungen, wenn Sie Secret-Back-Ends wie Secret Manager verwenden, damit das Dienstkonto der Umgebung darauf zugreifen kann.

  • Anpassen von Parametern der Managed Airflow-Umgebung (z. B. CPU und Arbeitsspeicher für Airflow-Komponenten) und Airflow-Konfigurationen, um die Leistungs- und Lastanforderungen von Managed Airflow-Umgebungen zu erfüllen. Verwenden Sie dazu den Leitfaden zur Optimierung von Managed Airflow und den Leitfaden zur Umgebungsskalierung.

  • Entfernen Sie keine Berechtigungen, die für die Dienstkonten des Managed Airflow-Agents und der Umgebung erforderlich sind. Das Entfernen dieser Berechtigungen kann entweder zu fehlgeschlagenen Verwaltungsvorgängen oder zu DAG- und Aufgabenfehlern führen.

  • Alle für Managed Airflow erforderlichen Dienste und APIs sind immer aktiviert. Für diese Abhängigkeiten müssen Kontingente auf den für Managed Airflow erforderlichen Ebenen konfiguriert sein.

  • Empfehlungen und Best Practices für die Implementierung von DAGs beachten.

  • Diagnose von DAG- und Aufgabenfehlern anhand der Anleitung zur Fehlerbehebung beim Planer, bei DAGs und beim Trigger.

  • Einen Plan zur Notfallwiederherstellung erstellen und verwalten, einschließlich der Konfiguration und Verwaltung von Snapshots, um die Anforderungen an die Datenaufbewahrung und Geschäftskontinuität zu erfüllen. Google stellt gelöschte Umgebungen oder ihre Datenbanksicherungen nicht wieder her.

  • Wartung der Python-Abhängigkeits-Lieferkette für vom Kunden installierte Pakete. Dazu gehört die Fehlerbehebung bei Installationsfehlern, die durch Python-Abhängigkeitskonflikte verursacht werden, sowie das Definieren bestimmter Versionsbeschränkungen beim Hinzufügen oder Ändern dieser Pakete.

Nächste Schritte