Managed Airflow (Gen 3) | Managed Airflow (Gen 2) | Managed Airflow (Legacy Gen 1)
Für das Ausführen geschäftskritischer Anwendungen in Managed Airflow müssen mehrere Parteien unterschiedliche Verantwortlichkeiten übernehmen. In diesem Dokument werden die Verantwortlichkeiten für Google und den Kunden aufgeführt.
Verantwortlichkeiten von Google
Härtung und Patching der Komponenten und der zugrunde liegenden Infrastruktur der Managed Airflow-Umgebung, einschließlich des Google Kubernetes Engine-Clusters, der Cloud SQL-Datenbank (die die Airflow-Datenbank hostet), 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 Managed Airflow-Umgebungen durch Einbindung der von IAM bereitgestellten Zugriffssteuerung, standardmäßige Verschlüsselung ruhender Daten, Bereitstellung einer zusätzlichen kundenverwalteten Speicherverschlüsselung und 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 Administratorzugriffs von Google auf Kundencluster mit Access Transparency und Zugriffsgenehmigung für vertragliche Supportzwecke.
Veröffentlichung von Informationen zu abwärtsinkompatiblen Änderungen zwischen Managed Airflow- und Airflow-Versionen in den Versionshinweisen zu Managed Airflow.
Managed Airflow-Dokumentation auf dem neuesten Stand halten:
Beschreibung aller von Managed Airflow bereitgestellten Funktionen.
Anleitungen zur Fehlerbehebung, die dazu beitragen, dass Umgebungen in einem fehlerfreien Zustand bleiben.
Veröffentlichung von Informationen zu bekannten Problemen mit Problemumgehungen (falls vorhanden).
Behebung kritischer Sicherheitsvorfälle im Zusammenhang mit Managed Airflow-Umgebungen und von Managed Airflow bereitgestellten Airflow-Images (mit Ausnahme von vom Kunden installierten Python-Paketen) durch Bereitstellung neuer Umgebungsvarianten, die die Vorfälle beheben.
Je nach Support-Tarif des Kunden: Fehlerbehebung bei Problemen mit dem Systemstatus der Managed Airflow-Umgebung.
Wartung und Erweiterung der Funktionalität des Managed Airflow Terraform-Anbieters.
Zusammenarbeit mit der Apache Airflow-Community zur Pflege und Entwicklung von Google Airflow-Operatoren.
Fehlerbehebung und, wenn möglich, Behebung von Problemen in den Hauptfunktionen von Airflow.
Pflichten der Kunden
Upgrade auf neue Managed Airflow- und Airflow-Versionen, um den Support für das Produkt aufrechtzuerhalten und Sicherheitsprobleme zu beheben, sobald der Managed Airflow-Dienst eine Managed Airflow-Version veröffentlicht, die die Probleme behebt.
Wartung des DAG-Codes, um ihn mit der verwendeten Airflow-Version kompatibel zu halten.
Aufrechterhaltung der richtigen Berechtigungen in IAM für das Dienstkonto der Umgebung. Insbesondere müssen die Berechtigungen für den Managed Airflow-Agent und das Dienstkonto der Umgebung beibehalten werden. Erforderliche Berechtigung für den CMEK-Schlüssel beibehalten, der für die Verschlüsselung der Managed Airflow-Umgebung verwendet wird, und den Schlüssel nach Bedarf rotieren.
Aufrechterhaltung der richtigen Berechtigungen in IAM für den Bucket der Umgebung.
Aufrechterhaltung der richtigen IAM-Berechtigungen für ein Dienstkonto, das PyPI-Paketinstallationen ausführt. Weitere Informationen finden Sie unter Zugriffssteuerung.
Aufrechterhaltung der richtigen Endnutzerberechtigungen in der IAM- und Airflow-UI-Zugriffssteuerungskonfiguration.
Die Größe der Airflow-Datenbank wird durch die Konfiguration einer Aufbewahrungsrichtlinie für die Datenbank unter 20 GB gehalten.
Beheben Sie alle DAG-Parsing-Probleme, bevor Sie Supportanfragen an Cloud Customer Care stellen.
DAGs richtig benennen (z. B. ohne unsichtbare Zeichen wie LEERZEICHEN oder TAB in DAG-Namen), damit Messwerte für DAGs korrekt gemeldet werden können.
Aktualisieren Sie den Code von DAGs, sodass keine verworfenen Operatoren verwendet werden, und migrieren Sie zu den Alternativen auf dem neuesten Stand. Verworfene Operatoren werden möglicherweise von Airflow-Anbietern entfernt. Dies kann sich auf Ihre Pläne für ein Upgrade auf eine neuere Managed Airflow- oder Airflow-Version auswirken. Die verworfenen Operatoren werden auch nicht verwaltet 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 Zugriff darauf hat.
Anpassen von Managed Airflow-Umgebungsparametern (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 vom Managed Airflow-Agenten und den Dienstkonten der Umgebung benötigt werden. Das Entfernen dieser Berechtigungen kann zu fehlgeschlagenen Verwaltungsvorgängen oder zu DAG- und Aufgabenfehlern führen.
Alle für Managed Airflow erforderlichen Dienste und APIs müssen immer aktiviert sein. 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 folgen.
Diagnose von DAG- und Aufgabenfehlern mithilfe der Anleitungen zur Fehlerbehebung beim Planer, zur Fehlerbehebung bei DAGs und zur Fehlerbehebung beim Trigger.
Einen Notfallwiederherstellungsplan pflegen, einschließlich der Konfiguration und Verwaltung von Snapshots, um Ihre Anforderungen an die Datenaufbewahrung und Geschäftskontinuität zu erfüllen. Google stellt gelöschte Umgebungen oder deren Datenbanksicherungen nicht wieder her.
Wartung der Python-Abhängigkeitslieferkette für Pakete, die vom Kunden installiert werden. Dazu gehören die Fehlerbehebung bei Installationsfehlern, die durch nicht übereinstimmende Python-Abhängigkeiten verursacht werden, und die Definition spezifischer Versionseinschränkungen beim Hinzufügen oder Ändern dieser Pakete.