Architettura dell'ambiente

Airflow gestito (terza generazione) | Airflow gestito (seconda generazione) | Airflow gestito (prima generazione legacy)

Questa pagina descrive l'architettura degli ambienti Airflow gestiti.

Configurazioni dell'architettura dell'ambiente

Gli ambienti Managed Airflow (terza generazione) hanno una singola configurazione che non dipende dal tipo di rete:

Progetti cliente e tenant

Quando crei un ambiente, Airflow gestito distribuisce le risorse dell'ambiente tra un progetto tenant e un progetto cliente:

  • Il progetto cliente è un Google Cloud progetto in cui crei i tuoi ambienti. Puoi creare più ambienti in un singolo progetto cliente.

  • Il progetto tenant è un progetto tenant gestito da Google e appartiene all'organizzazione Google.com. Il progetto tenant fornisce controllo dell'accesso unificato e un ulteriore livello di sicurezza dei dati per il tuo ambiente. Ogni ambiente Airflow gestito ha il proprio progetto tenant.

Componenti dell'ambiente

Un ambiente Airflow gestito è costituito da componenti dell'ambiente.

Un componente dell'ambiente è un elemento di un'infrastruttura Airflow gestita che viene eseguita Google Cloud, come parte del tuo ambiente. I componenti dell'ambiente vengono eseguiti nel progetto tenant o nel progetto cliente del tuo ambiente.

Bucket dell'ambiente

Il bucket dell'ambiente è un bucket Cloud Storage che archivia DAG, plug-in, dipendenze dei dati e log di Airflow. Il bucket dell'ambiente si trova nel progetto cliente.

Quando carichi i file DAG nella cartella /dags del bucket dell' ambiente, Airflow gestito sincronizza i DAG con i componenti Airflow del tuo ambiente.

Server web Airflow

Il server web di Airflow esegue la UI di Airflow del tuo ambiente.

Airflow gestito fornisce l'accesso all'interfaccia in base alle identità utente e ai binding dei criteri IAM definiti per gli utenti.

Database Airflow

Il database Airflow è un'istanza Cloud SQL che viene eseguita nel progetto tenant del tuo ambiente. Ospita il database dei metadati Airflow.

Per proteggere le informazioni sensibili su connessioni e workflow, Managed Airflow consente l'accesso al database solo a l'service account del tuo ambiente.

Altri componenti Airflow

Gli altri componenti Airflow eseguiti nel tuo ambiente sono:

  • Gli scheduler Airflow analizzano i file di definizione DAG, pianificano le esecuzioni dei DAG in base all'intervallo pianificato e accodano le attività per l'esecuzione da parte dei worker di Airflow.

  • I triggerer di Airflow monitorano in modo asincrono tutte le attività differite nel tuo ambiente. Se imposti il numero di triggerer nel tuo ambiente su un valore maggiore di zero, puoi utilizzare operatori differibili nei tuoi DAG.

  • I processori DAG di Airflow elaborano i file DAG e li trasformano in oggetti DAG. In Airflow gestito (terza generazione), i processori DAG vengono eseguiti come componenti dell'ambiente separati.

  • I worker di Airflow eseguono le attività pianificate dagli scheduler di Airflow. Il numero minimo e massimo di worker nel tuo ambiente cambia in modo dinamico a seconda del numero delle attività in coda.

Architettura dell'ambiente Airflow gestito (terza generazione)

Risorse dell'ambiente Managed Airflow (Gen 3) nel progetto tenant e nel progetto cliente
Figura 1. Architettura dell'ambiente Airflow gestito (terza generazione) (fai clic per ingrandire)

Negli ambienti Managed Airflow (terza generazione):

  • Il progetto tenant ospita un'istanza Cloud SQL con il database Airflow.
  • Tutte le risorse Airflow vengono eseguite nel progetto tenant.
  • Il progetto cliente ospita il bucket dell'ambiente.
  • È possibile utilizzare un collegamento di rete VPC personalizzato nel progetto cliente per collegare l'ambiente a una rete VPC personalizzata. Puoi utilizzare un collegamento esistente oppure Managed Airflow può crearlo automaticamente su richiesta. È anche possibile scollegare un ambiente da una rete VPC.
  • Google Cloud La console, Monitoring e Logging nel progetto cliente forniscono modi per gestire l'ambiente, i DAG e le esecuzioni dei DAG e per accedere alle metriche e ai log dell'ambiente. Puoi anche utilizzare la UI di Airflow, Google Cloud CLI, l'API Composer e Terraform per gli stessi scopi.

Negli ambienti Managed Airflow (terza generazione) a elevata resilienza:

  • L'istanza Cloud SQL del tuo ambiente è configurata per l'alta disponibilità (è un'istanza regionale). All'interno di un'istanza regionale, la configurazione include un'istanza principale e un'istanza in standby.

  • Il tuo ambiente esegue i seguenti componenti Airflow in zone separate:

    • Due scheduler Airflow
    • Due server web
    • Almeno due processori DAG (fino a 10 in totale)
    • Se vengono utilizzati i triggerer, almeno due triggerer (fino a 10 in totale)

    • Il numero minimo di worker è impostato su due e il cluster dell'ambiente distribuisce le istanze worker tra le zone. In caso di interruzione del servizio a livello di zona, le istanze worker interessate vengono riprogrammate in un'altra zona.

Integrazione con Cloud Logging e Cloud Monitoring

Airflow gestito si integra con Cloud Logging e Cloud Monitoring del tuo Google Cloud progetto, in modo da avere un luogo centralizzato per visualizzare i log di Airflow e dei DAG.

Cloud Monitoring raccoglie e importa metriche, eventi e metadati da Managed Airflow per generare insight tramite dashboard e grafici.

Grazie alla natura di streaming di Cloud Logging, puoi visualizzare immediatamente i log emessi dai componenti Airflow anziché attendere che i log di Airflow vengano visualizzati nel bucket Cloud Storage del tuo ambiente.

Per limitare il numero di log nel tuo Google Cloud progetto, puoi interrompere l'importazione di tutti i log. Non disabilitare Logging.

Passaggi successivi