Architettura dell'ambiente

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

Questa pagina descrive l'architettura degli ambienti Managed Airflow.

Configurazioni dell'architettura dell'ambiente

Gli ambienti Managed Airflow (seconda generazione) possono avere le seguenti configurazioni dell'architettura:

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.

Cluster dell'ambiente

Il cluster dell'ambiente è un cluster Google Kubernetes Engine nativo di VPC in modalità Autopilot del tuo ambiente:

Per impostazione predefinita, Managed Airflow abilita gli upgrade automatici dei nodi e la riparazione automatica dei nodi per proteggere il cluster dell'ambiente dalle vulnerabilità di sicurezza. Queste operazioni vengono eseguite durante i periodi di manutenzione specificati per l'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 dell'ambiente.

Server web Airflow

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

Managed Airflow 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 di connessione 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. In Managed Airflow (seconda generazione), i processori DAG di Airflow vengono eseguiti come parte dei componenti dello scheduler.

  • 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 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 IP pubblico

Risorse dell'ambiente Airflow gestito con IP pubblico nel progetto tenant e nel progetto cliente
Figura 1. Architettura dell'ambiente IP pubblico (fai clic per ingrandire)

In un'architettura dell'ambiente IP pubblico per Managed Airflow (seconda generazione):

  • Il progetto tenant ospita un'istanza Cloud SQL e lo spazio di archiviazione Cloud SQL.
  • Il progetto cliente ospita tutti gli altri componenti dell'ambiente.
  • Gli scheduler e i worker di Airflow nel progetto cliente comunicano con il database Airflow tramite un'istanza proxy Cloud SQL che si trova nel progetto cliente.

Architettura dell'ambiente IP privato

IP privato con risorse dell'ambiente Managed Airflow PSC nel progetto tenant e nel progetto cliente (fai clic per ingrandire)
Figura 2. Risorse dell'ambiente Airflow gestito con IP privato nel progetto tenant e nel progetto cliente (fai clic per ingrandire)

Per impostazione predefinita, Airflow gestito (seconda generazione) utilizza Private Service Connect, in modo che gli ambienti IP privati comunichino internamente senza l'utilizzo di peering VPC. È anche possibile utilizzare i peering VPC anziché Private Service Connect nel tuo ambiente. Questa è un'opzione non predefinita.

Nell'architettura dell'ambiente IP privato:

  • Il progetto tenant ospita un'istanza Cloud SQL e lo spazio di archiviazione Cloud SQL.
  • Il progetto cliente ospita tutti gli altri componenti dell'ambiente.
  • Gli scheduler e i worker di Airflow si connettono al database Airflow tramite l'endpoint PSC configurato.

Architettura IP privato a elevata resilienza

Risorse dell'ambiente IP privato a elevata resilienza nel progetto tenant e nel progetto cliente (fai clic per ingrandire)
Figura 3. Risorse dell'ambiente Airflow gestito con IP privato a elevata resilienza nel progetto tenant e nel progetto cliente (fai clic per ingrandire)

Gli ambienti Managed Airflow a elevata resilienza (a elevata disponibilità) sono ambienti multi-zona che utilizzano meccanismi di ridondanza e failover integrati che riducono la suscettibilità dell'ambiente agli errori a livello di zona e alle interruzioni dovute a un single point of failure.

In questo tipo di ambiente IP privato:

  • Un componente Cloud SQL del tuo ambiente ha un'istanza principale e un'istanza in standby distribuite tra le zone.
  • Il tuo ambiente esegue due scheduler Airflow, due server web e, se vengono utilizzati i triggerer, un minimo di due (fino a un totale di dieci) triggerer. Queste coppie di componenti vengono eseguite in due zone separate.
  • Il numero minimo di worker è impostato su due e il cluster dell'ambiente distribuisce le istanze worker tra le zone. In caso di interruzione a livello di zona, le istanze worker interessate vengono riprogrammate in un'altra zona.

Integrazione con Cloud Logging e Cloud Monitoring

Managed Airflow 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 acquisisce 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 disattivare Logging.

Passaggi successivi