Managed Airflow (Gen 3) | Managed Airflow (Gen 2) | Managed Airflow (Legacy Gen 1)
L'esecuzione di un'applicazione fondamentale per l'attività su Managed Airflow richiede che più parti si assumano responsabilità diverse. Sebbene non sia un elenco esaustivo, questo documento elenca le responsabilità di Google e del Cliente.
Responsabilità di Google
Protezione e applicazione di patch ai componenti e all'infrastruttura sottostante dell'ambiente Managed Airflow, tra cui il cluster Google Kubernetes Engine, il database Cloud SQL (che ospita il database Airflow), Pub/Sub, Artifact Registry e altri elementi dell'ambiente. In particolare, ciò include l'upgrade automatico dell'infrastruttura sottostante, inclusi il cluster GKE e l'istanza Cloud SQL di un ambiente.
Protezione dell'accesso agli ambienti Managed Airflow mediante l'incorporamento del controllo dell'accesso dell'accesso fornito da IAM, crittografia dei dati at-rest per impostazione predefinita, fornitura di crittografia di archiviazione gestita dal cliente aggiuntiva, crittografia dei dati in transito.
Fornendo Google Cloud integrazioni per Identity and Access Management, Cloud Audit Logs e Cloud Key Management Service.
Limitazione e registrazione dell'accesso amministrativo di Google ai cluster dei clienti per scopi di assistenza contrattuale con Access Transparency e Approvazione accesso.
Pubblicazione di informazioni sulle modifiche incompatibili con le versioni precedenti tra Managed Airflow e Airflow nelle note di rilascio di Managed Airflow.
Mantenere aggiornata la documentazione di Managed Airflow:
Fornire una descrizione di tutte le funzionalità fornite da Managed Airflow.
Fornire istruzioni per la risoluzione dei problemi che contribuiscono a mantenere gli ambienti in uno stato ottimale.
Pubblicazione di informazioni sui problemi noti con soluzioni alternative (se esistono).
Risoluzione degli incidenti gravi legati alla sicurezza relativi agli ambienti Managed Airflow e alle immagini Airflow fornite da Managed Airflow (esclusi i pacchetti Python installati dal cliente) tramite la distribuzione di nuove versioni dell'ambiente che risolvono gli incidenti.
A seconda del piano di assistenza del cliente, risoluzione dei problemi di integrità dell'ambiente Managed Airflow.
Mantenere ed espandere la funzionalità del provider Terraform di Managed Airflow.
Collaborare con la community Apache Airflow per gestire e sviluppare gli operatori Google Airflow.
Risoluzione dei problemi e, se possibile, correzione dei problemi nelle funzionalità principali di Airflow.
Responsabilità del cliente
Eseguire l'upgrade a nuove versioni di Managed Airflow e Airflow per mantenere il supporto del prodotto e risolvere i problemi di sicurezza una volta che il servizio Managed Airflow pubblica una versione di Managed Airflow che risolve i problemi.
Manutenzione del codice DAG per mantenerlo compatibile con la versione di Airflow utilizzata.
Mantenere intatta la configurazione del cluster GKE dell'ambiente, in particolare la funzionalità di upgrade automatico.
Mantenere le autorizzazioni corrette in IAM per il account di servizio dell'ambiente. In particolare, mantieni le autorizzazioni richieste dall'agente Airflow gestito e dal service account dell'ambiente. Mantenere l'autorizzazione richiesta per la chiave CMEK utilizzata per la crittografia dell'ambiente Managed Airflow e ruotarla in base alle tue esigenze.
Mantenere le autorizzazioni corrette in IAM per il bucket e il repository Artifact Registry dell'ambiente in cui sono archiviate le immagini dei componenti di Managed Airflow .
Mantenere le autorizzazioni IAM corrette per un account di servizio che esegue installazioni di pacchetti PyPI. Per saperne di più, consulta Controllo dell'accesso.
Mantenere le autorizzazioni utente finale corrette in IAM e nella configurazione del controllo dell'accesso all'interfaccia utente di Airflow.
Mantenere le dimensioni del database Airflow al di sotto di 16 GB utilizzando il DAG di manutenzione.
Risoluzione di tutti i problemi di analisi DAG prima di inviare richieste di assistenza a assistenza clienti Google Cloud.
Assegna un nome ai DAG in modo corretto (ad esempio, senza utilizzare caratteri invisibili come SPAZIO o TAB nei nomi dei DAG) in modo che le metriche possano essere segnalate correttamente per i DAG.
Esegui l'upgrade del codice dei DAG in modo che non utilizzi operatori ritirati e migra alle loro alternative aggiornate. Gli operatori ritirati potrebbero essere rimossi dai provider Airflow, il che potrebbe influire sui tuoi piani di upgrade a una versione successiva di Managed Airflow o Airflow. Gli operatori deprecati non vengono più gestiti e devono essere utilizzati "così come sono".
Configurazione delle autorizzazioni IAM corrette quando si utilizzano backend dei secret come Secret Manager, in modo che il account di servizio dell'ambiente abbia accesso.
Modifica dei parametri dell'ambiente Managed Airflow (come CPU e memoria per i componenti Airflow) e delle configurazioni Airflow per soddisfare le aspettative di prestazioni e carico degli ambienti Managed Airflow utilizzando la guida all'ottimizzazione di Managed Airflow e la guida allo scaling dell'ambiente.
Evita di rimuovere le autorizzazioni richieste dall'agente Managed Airflow e dai service account dell'ambiente (la rimozione di queste autorizzazioni può comportare operazioni di gestione non riuscite o errori di DAG e attività).
Mantenere tutti i servizi e le API richiesti da Managed Airflow sempre abilitati. Queste dipendenze devono avere quote configurate ai livelli richiesti per Managed Airflow.
Mantenere i repository Artifact Registry che ospitano le immagini container utilizzate dagli ambienti Managed Airflow.
Segui i consigli e le best practice per l'implementazione dei DAG.
Diagnostica gli errori di DAG e attività seguendo le istruzioni per la risoluzione dei problemi dello scheduler, risoluzione dei problemi dei DAG e risoluzione dei problemi dell'attivatore.
Evita di installare o eseguire componenti aggiuntivi nel cluster GKE dell'ambiente che interferiscono con i componenti di Managed Airflow e ne impediscono il corretto funzionamento.
Mantenere un piano di recupero di emergenza, inclusa la configurazione e la gestione degli snapshot per soddisfare le esigenze di conservazione dei dati e continuità aziendale. Google non ripristina gli ambienti eliminati o i relativi backup del database.
Gestione della catena di fornitura delle dipendenze Python per i pacchetti installati dal cliente. Ciò include la risoluzione dei problemi di installazione causati da mancata corrispondenza delle dipendenze Python e la definizione di vincoli di versione specifici durante l'aggiunta o la modifica di questi pacchetti.