Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Questa pagina fornisce una breve introduzione ad Airflow e ai DAG e descrive le funzionalità e le capacità di Cloud Composer.
Per saperne di più sulle nuove funzionalità delle release di Cloud Composer, consulta le Note di rilascio.
Informazioni su Cloud Composer
Cloud Composer è un servizio di orchestrazione del flusso di lavoro completamente gestito, che ti consente di creare, pianificare, monitorare e gestire pipeline di flusso di lavoro che si estendono su cloud e data center on-premise.
Cloud Composer si basa sul popolare progetto open source Apache Airflow e opera utilizzando il linguaggio di programmazione Python.
Utilizzando Cloud Composer anziché un'istanza locale di Apache Airflow, puoi usufruire del meglio di Airflow senza costi di gestione o installazione. Cloud Composer ti consente di creare rapidamente ambienti Airflow gestiti e di utilizzare strumenti nativi per Airflow, come la potente interfaccia web di Airflow e gli strumenti a riga di comando, per concentrarti sui flussi di lavoro e non sull'infrastruttura.
Differenze tra le versioni di Cloud Composer
Per ulteriori informazioni sulle differenze tra le versioni principali di Cloud Composer, consulta la panoramica del controllo delle versioni di Cloud Composer.
Airflow e DAG di Airflow (flussi di lavoro)
Nell'analisi dei dati, un flusso di lavoro rappresenta una serie di attività per l'importazione, la trasformazione, l'analisi o l'utilizzo dei dati. In Airflow, i flussi di lavoro vengono creati utilizzando i DAG o "Directed Acyclic Graphs".
Un DAG è una raccolta di attività che vuoi pianificare ed eseguire, organizzate in modo da riflettere le loro relazioni e dipendenze. I DAG vengono creati in file Python, che definiscono la struttura del DAG utilizzando il codice. Lo scopo del DAG è garantire che ogni attività venga eseguita al momento giusto e nell'ordine corretto.
Ogni attività in un DAG può rappresentare quasi tutto, ad esempio un'attività può eseguire una qualsiasi delle seguenti funzioni:
- Preparazione dei dati per l'importazione
- Monitoraggio di un'API
- Invio di un'email in corso...
- Esecuzione di una pipeline
Oltre a eseguire un DAG in base a una pianificazione, puoi attivare i DAG manualmente o in risposta a eventi, ad esempio modifiche in un bucket Cloud Storage. Per maggiori informazioni, vedi Pianificare e attivare i DAG.
Per ulteriori informazioni sui DAG le attività, consulta le Documentazione di Apache Airflow.
Ambienti Cloud Composer
Gli ambienti Cloud Composer sono Airflow autonomi i deployment basati su Google Kubernetes Engine. e funzionano con altri servizi Google Cloud utilizzando connettori integrati in Airflow. Puoi creare uno o più ambienti in un singolo progetto Google Cloud, in qualsiasi regione supportata.
Cloud Composer esegue il provisioning dei servizi Google Cloud che dei tuoi flussi di lavoro e di tutti i componenti Airflow. I componenti principali di un sono:
Cluster GKE: i componenti di Airflow, come gli scheduler, gli attivatori e i worker di Airflow, vengono eseguiti come carichi di lavoro GKE in un singolo cluster creato per il tuo ambiente e sono responsabili dell'elaborazione ed esecuzione dei DAG.
Il cluster ospita anche altri componenti di Cloud Composer, come Composer Agent e Airflow Monitoring, che aiutano a gestire l'ambiente Cloud Composer, a raccogliere i log da archiviare in Cloud Logging e a raccogliere le metriche da caricare in Cloud Monitoring.
Server web Airflow: il server web esegue l'interfaccia utente di Apache Airflow.
Database Airflow: il database contiene i metadati di Apache Airflow.
Bucket Cloud Storage: Cloud Composer associa un bucket Cloud Storage al tuo ambiente. Questo bucket, chiamato anche bucket dell'ambiente, archivia la DAG, log, personalizzati plugins, e dati per l'ambiente. Per ulteriori informazioni sull'ambiente visualizza il bucket Dati archiviati in Cloud Storage.
Per un'analisi approfondita dei componenti di un ambiente, consulta Architettura dell'ambiente.
Interfacce di Cloud Composer
Cloud Composer fornisce interfacce per la gestione di ambienti, Istanze Airflow in esecuzione all'interno di ambienti e singoli DAG.
Ad esempio, puoi creare e configurare gli ambienti Cloud Composer nella console Google Cloud, in Google Cloud CLI, nell'API Cloud Composer o in Terraform.
Come altro esempio, puoi gestire i DAG dalla console Google Cloud, dall'interfaccia utente nativa di Airflow o eseguendo Google Cloud CLI e i comandi Airflow CLI.
Funzionalità di Airflow in Cloud Composer
Quando utilizzi Cloud Composer, puoi gestire e utilizzare le funzionalità di Airflow quali:
DAG Airflow: puoi aggiungere, aggiornare, rimuovere o attivare i DAG Airflow nella console Google Cloud o utilizzando l'interfaccia utente nativa di Airflow.
Opzioni di configurazione di Airflow: puoi modificare Airflow le opzioni di configurazione dai valori predefiniti utilizzati a valori personalizzati da Cloud Composer. In Cloud Composer, alcune opzioni di configurazione sono bloccate e non puoi modificarne i valori.
plug-in personalizzati: puoi installare plug-in Airflow personalizzati, come operatori Apache Airflow interni personalizzati, sensori o interfacce nel tuo ambiente Cloud Composer.
Dipendenze Python: puoi installare le dipendenze Python dall'Python Package Index nel tuo ambiente o da un repository di pacchetti privato, inclusi i repository Artifact Registry. Se le dipendenze non sono nell'indice del pacchetto, puoi anche utilizzare i plug-in.
Log e monitoraggio per DAG, componenti Airflow e ambienti Cloud Composer:
Puoi visualizzare i log di Airflow associati a singole attività DAG nell'interfaccia web di Airflow e la cartella
logs
nel bucket dell'ambiente.Log e metriche di ambiente di Cloud Monitoring per gli ambienti Cloud Composer.
Controllo dell'accesso in Cloud Composer
Gestisci la sicurezza a livello di progetto Google Cloud assegnare ruoli IAM che consentono ai team di modificare o creare ambienti. Se qualcuno non ha accesso al tuo progetto o non dispone di un Cloud Composer appropriato non può accedere a nessuno dei tuoi ambienti.
Oltre a IAM, puoi utilizzare Controllo dell'accesso all'interfaccia utente di Airflow, che si basa sul controllo Modello di controllo degli accessi di Airflow.
Per saperne di più sulle funzionalità di sicurezza di Cloud Composer, consulta la panoramica della sicurezza di Cloud Composer.
Networking dell'ambiente
Cloud Composer supporta diverse configurazioni di rete per gli ambienti, con molte opzioni di configurazione. Ad esempio, in un ambiente IP privato, i DAG e i componenti di Airflow sono completamente isolati dall'internet pubblico.
Per saperne di più sul networking in Cloud Composer, consulta le pagine per le singole funzionalità di networking:
- Ambienti IP pubblico e IP privato
- Ambienti Private Service Connect
- Ambienti VPC condivisi
- Configurazione dei Controlli di servizio VPC
- Reti autorizzate
- Agente di mascheramento IP
- Intervalli IP pubblici utilizzati privatamente
Altre funzionalità di Cloud Composer
Altre funzionalità di Cloud Composer includono:
- Ambienti con scalabilità automatica
- Sviluppo con ambienti Airflow locali
- Ambienti altamente resilienti
- Snapshot dell'ambiente
- Crittografia con chiavi di crittografia gestite dal cliente (CMEK)
- Integrazione della derivazione dei dati con Dataplex
Domande frequenti
Quale versione di Apache Airflow utilizza Cloud Composer?
Gli ambienti Cloud Composer si basano sulle immagini Cloud Composer. Quando crei un'immagine , puoi selezionare un'immagine con una versione Airflow specifica:
- Cloud Composer 3 supporta Airflow 2.
- Cloud Composer 2 supporta Airflow 2.
- Cloud Composer 1 supporta Airflow 1 e Airflow 2.
Hai il controllo della versione Apache Airflow del tuo ambiente. Puoi decidere di eseguire l'upgrade dell'ambiente a una versione successiva dell'immagine Cloud Composer. Ciascuna La release di Cloud Composer supporta diverse applicazioni Versioni Airflow.
Posso utilizzare l'interfaccia utente e l'interfaccia a riga di comando native di Airflow?
Puoi accedere all'interfaccia web di Apache Airflow del tuo ambiente. Ciascuno di i tuoi ambienti hanno la propria UI Airflow. Per ulteriori informazioni sull'accesso vedi la UI di Airflow, vedi Interfaccia web di Airflow.
Per eseguire i comandi dell'interfaccia a riga di comando di Airflow nei tuoi ambienti, utilizza i comandi gcloud
.
Per ulteriori informazioni sull'esecuzione dei comandi dell'interfaccia a riga di comando di Airflow negli ambienti Cloud Composer, consulta la sezione Interfaccia a riga di comando di Airflow.
Posso utilizzare il mio database come database Airflow?
Cloud Composer utilizza un servizio di database gestito per il database Airflow. Non è possibile utilizzare un database fornito dall'utente come database Airflow.
Posso utilizzare il mio cluster come cluster Cloud Composer?
Cloud Composer utilizza il servizio Google Kubernetes Engine per creare, gestire ed eliminare i cluster di ambiente in cui vengono eseguiti i componenti di Airflow. Questi cluster sono completamente gestiti da Cloud Composer.
Non è possibile creare un ambiente Cloud Composer in base a di Google Kubernetes Engine autogestito.
Posso utilizzare il mio registry dei container?
Cloud Composer utilizza il servizio Artifact Registry per gestire i repository di immagini contenitore utilizzati dagli ambienti Cloud Composer. Non è possibile sostituirlo con un Container Registry fornito dall'utente.
Gli ambienti Cloud Composer sono a livello di zona o di regione?
Gli ambienti Cloud Composer 3 e Cloud Composer 2 hanno un database Airflow zonale e un livello di pianificazione ed esecuzione Airflow regionale. Airflow scheduler, worker e server web vengono eseguiti nel livello di esecuzione di Airflow.
Gli ambienti Cloud Composer 1 sono zonali.