Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
I Controlli di servizio VPC consentono alle organizzazioni di definire un perimetro attorno alle risorse Google Cloud per mitigare i rischi di esfiltrazione dei dati.
Gli ambienti Cloud Composer possono essere dispiacchiati all'interno di un perimetro di servizio. Configurando l'ambiente con i Controlli di servizio VPC, puoi mantenere privati i dati sensibili e usufruire al contempo delle funzionalità di orchestrazione dei flussi di lavoro completamente gestite di Cloud Composer.
Il supporto dei Controlli di servizio VPC per Cloud Composer significa che:
- Ora Cloud Composer può essere selezionato come servizio protetto all'interno di un perimetro di Controlli di servizio VPC.
- Tutte le risorse sottostanti utilizzate da Cloud Composer sono configurate in modo da supportano l'architettura dei Controlli di servizio VPC e ne seguono le regole.
Il deployment di ambienti Cloud Composer con Controlli di servizio VPC consente di:
- Riduzione del rischio di esfiltrazione di dati.
- Protezione dall'esposizione dei dati dovuta a controlli di accesso configurati in modo errato.
- Riduzione del rischio di utenti malintenzionati che copiano i dati in siti non autorizzati Risorse Google Cloud o utenti malintenzionati esterni che accedono delle risorse Google Cloud da internet.
Server web Airflow in modalità Controlli di servizio VPC
In modalità Controlli di servizio VPC, Cloud Composer esegue due istanze del server web Airflow. Identity-Aware Proxy esegue il bilanciamento del carico del traffico utente tra queste istanze. I server web Airflow vengono eseguiti in modalità di sola lettura, il che significa che:
La serializzazione DAG è attivata. Come Di conseguenza, il server web di Airflow non analizza i file di definizione dei DAG.
I plug-in non vengono sincronizzati con il server web, pertanto non puoi modificare o estendere la funzionalità del server web con i plug-in.
Il server web di Airflow utilizza un'immagine container predefinita il servizio Cloud Composer. Se installi immagini PyPI nel tuo ambiente, queste non vengono installate nell'immagine del container del server web.
Creazione di un perimetro di servizio
Consulta Creazione di un perimetro di servizio per scoprire come creare e configurare i perimetri di servizio. Assicurati di selezionare Cloud Composer come uno dei servizi protetti all'interno del perimetro.
Creazione di ambienti in un perimetro
Sono necessari ulteriori passaggi per eseguire il deployment di Cloud Composer un perimetro. Quando crei l'ambiente Cloud Composer:
Abilita l'API Access Context Manager e l'API Cloud Composer per il tuo progetto. Per riferimento, consulta la sezione Abilitazione delle API.
Assicurati che il perimetro di servizio abbia i seguenti servizi accessibili da VPC: altrimenti il tuo ambiente potrebbe non creare:
- API Cloud Composer (composer.googleapis.com)
- API Compute Engine (compute.googleapis.com)
- API Kubernetes Engine (container.googleapis.com)
- API Container Registry (containerregistry.googleapis.com)
- API Artifact Registry (artifactregistry.googleapis.com)
- API Cloud Storage (storage.googleapis.com)
- API Cloud SQL Admin (sqladmin.googleapis.com)
- API Cloud Logging (logging.googleapis.com)
- API Cloud Monitoring (monitoring.googleapis.com)
- API Cloud Pub/Sub (pubsub.googleapis.com)
- API Cloud Resource Manager (cloudresourcemanager.googleapis.com)
- API Service Directory (servicedirectory.googleapis.com)
- API Cloud Key Management Service (cloudkms.googleapis.com), se utilizzi chiavi Cloud KMS o CMEK
- API Secret Manager (secretmanager.googleapis.com), se utilizzi Secret Manager come backend per i segreti
Utilizza la versione composer-1.10.4 o successive.
Assicurati che la serializzazione dei DAG sia attivata. Se il tuo ambiente utilizza Cloud Composer 1.15.0 e versioni successive, la serializzazione è abilitata per impostazione predefinita.
Crea un nuovo ambiente Cloud Composer conIP privato abilitato. Tieni presente che questa impostazione deve essere configurata durante la creazione dell'ambiente.
Quando crei l'ambiente, ricordati di configurare l'accesso al server web Airflow. Per la massima protezione, consentono l'accesso al server web da intervalli IP specifici. Per maggiori dettagli, vedi Configura l'accesso di rete al server web.
Configurazione di ambienti esistenti con i Controlli di servizio VPC
Puoi aggiungere il progetto contenente il tuo ambiente al perimetro se:
Hai creato il perimetro come descritto nella sezione precedente.
I tuoi ambienti sono ambienti IP privati.
- Nei tuoi ambienti è attiva la serializzazione DAG.
Installazione dei pacchetti PyPI
Nella configurazione predefinita dei Controlli di servizio VPC, Cloud Composer supporta solo l'installazione di pacchetti PyPI da repository privati che sono raggiungibile dallo spazio di indirizzi IP interni della rete VPC.
Installa da un repository privato
La configurazione consigliata è impostare un repository PyPI privato, compilarlo con i pacchetti controllati utilizzati dalla tua organizzazione e poi configurare Cloud Composer per installare le dipendenze Python da un repository privato.
Installazione da un repository pubblico
Repository remoto
Questo è l'approccio consigliato per installare i pacchetti da un repository pubblico.
Per installare i pacchetti PyPI da repository esterni allo spazio IP privato, segui questi passaggi:
- Crea un repository remoto Artifact Registry.
- Concedi a questo repository l'accesso alle origini upstream.
- Configura Airflow in modo da installare i pacchetti da un repository Artifact Registry.
Connessioni esterne
Per installare i pacchetti PyPI da repository esterni allo spazio IP privato, segui questi passaggi:
Configura Cloud NAT per consentire a Cloud Composer in esecuzione nello spazio IP privato di connettersi ai repository PyPI esterni.
Configura le regole del firewall per consentire le connessioni in uscita dal cluster Composer al repository.
L'account di servizio utilizzato per il piano dati Cloud Composer
devono avere i seguenti ruoli di autorizzazione: Composer.Worker
e
iam.serviceAccountUser
.
Configura la connettività alle API e ai servizi Google
In una configurazione di Controlli di servizio VPC, per controllare il traffico di rete, configura l'accesso alle API e ai servizi Google tramite restricted.googleapis.com
. Questo dominio blocca l'accesso alle API di Google e
che non supportano Controlli di servizio VPC.
Gli ambienti Cloud Composer utilizzano i domini seguenti:
*.googleapis.com
viene utilizzato per accedere ad altri servizi Google.*.pkg.dev
viene utilizzato per ottenere immagini dell'ambiente, ad esempio quando crei o aggiorni un ambiente.*.gcr.io
GKE richiede la connettività a Dominio Container Registry indipendentemente dalla versione di Cloud Composer.
Configura la connettività all'endpoint restricted.googleapis.com
:
Dominio | Nome DNS | Record CNAME | Record A |
---|---|---|---|
*.googleapis.com
|
googleapis.com. |
Nome DNS: *.googleapis.com. Tipo di record di risorse: CNAME Nome canonico: googleapis.com. |
Tipo di record di risorse: A Indirizzi IPv4: 199.36.153.4 , 199.36.153.5 , 199.36.153.6 , 199.36.153.7
|
*.pkg.dev
|
pkg.dev. |
Nome DNS: *.pkg.dev. Tipo di record di risorse: CNAME Nome canonico: pkg.dev. |
Tipo di record di risorse: A Indirizzi IPv4: 199.36.153.4 , 199.36.153.5 , 199.36.153.6 , 199.36.153.7
|
*.gcr.io
|
gcr.io. |
Nome DNS: *.gcr.io. Tipo di record di risorse: CNAME Nome canonico: gcr.io. |
Tipo di record di risorse: A Indirizzi IPv4: 199.36.153.4 , 199.36.153.5 , 199.36.153.6 , 199.36.153.7
|
Per creare una regola DNS:
Crea una nuova zona DNS e utilizza Nome DNS come nome DNS di questa zona.
Esempio:
pkg.dev.
Aggiungi un insieme di record per il record CNAME.
Esempio:
- Nome DNS:
*.pkg.dev.
- Tipo di record di risorse:
CNAME
- Nome canonico:
pkg.dev.
- Nome DNS:
Aggiungi un set di record con un record A:
Esempio:
- Tipo di record di risorse:
A
- Indirizzi IPv4:
199.36.153.4
,199.36.153.5
,199.36.153.6
,199.36.153.7
- Tipo di record di risorse:
Per ulteriori informazioni, consulta Configurazione della connettività privata alle API e ai servizi Google.
Configurazione delle regole del firewall
Se il tuo progetto ha regole firewall non predefinite, ad esempio quelle che sostituiscono le regole firewall implicite o modificano le regole predefinite nella rete predefinita, verifica che le seguenti regole firewall siano configurate.
Ad esempio, Cloud Composer potrebbe non creare un ambiente se
esiste una regola firewall che nega tutto il traffico in uscita. Per evitare problemi,
definisci regole allow
selettive che seguono l'elenco e hanno una priorità più elevata
della regola deny
globale.
Configura la rete VPC per consentire il traffico dal tuo ambiente:
- Consulta Utilizzo delle regole firewall per scoprire come controllare, aggiungere e aggiornare le regole della rete VPC.
- Utilizza lo strumento di connettività per convalidare la connettività tra gli intervalli IP.
- Puoi utilizzare i tag di rete per limitare ulteriormente l'accesso. Puoi impostare questi tag quando crei un ambiente.
Descrizione | Direzione | Azione | Origine o destinazione | Protocolli | Porte |
---|---|---|---|---|---|
DNS Configura come descritto in Supporto dei Controlli di servizio VPC per Cloud DNS |
- | - | - | - | - |
API e servizi Google | In uscita | Consenti | Indirizzi IPv4 di restricted.googleapis.com che utilizzi per le API e i servizi Google. |
TCP | 443 |
Nodi del cluster dell'ambiente | In uscita | Consenti | Intervallo di indirizzi IP principali della subnet dell'ambiente | TCP, UDP | tutte |
Pod del cluster dell'ambiente | In uscita | Consenti | Intervallo di indirizzi IP secondari per i pod nella subnet dell'ambiente | TCP, UDP | tutte |
Control plane del cluster dell'ambiente | In uscita | Consenti | Intervallo IP del control plane GKE | TCP, UDP | tutte |
Server web | In uscita | Consenti | Intervallo IP della rete del server web | TCP | 3306, 3307 |
Per ottenere gli intervalli IP:
Gli intervalli di indirizzi di pod, servizi e piano di controllo sono disponibili nella pagina Cluster del cluster del tuo ambiente:
Nella console Google Cloud, vai alla pagina Ambienti.
Nell'elenco degli ambienti, fai clic sul nome dell'ambiente. Viene visualizzata la pagina Dettagli dell'ambiente.
Vai alla scheda Configurazione dell'ambiente.
Segui il link per visualizzare i dettagli del cluster.
Puoi vedere i dati sull'ambiente intervallo IP del server web nella scheda Configurazione dell'ambiente.
Puoi vedere l'ID rete dell'ambiente nella scheda Configurazione dell'ambiente. Per ottenere gli intervalli IP di una subnet, vai alla pagina Reti VPC e fai clic sul nome della rete per visualizzarne i dettagli:
Log di Controlli di servizio VPC
Per risolvere i problemi di creazione dell'ambiente, puoi analizzare i log di controllo generati da Controlli di servizio VPC.
Oltre ad altri messaggi di log, puoi controllare i log per informazioni sugli account servizio
cloud-airflow-prod@system.gserviceaccount.com
e
service-PROJECT_ID@cloudcomposer-accounts.iam.gserviceaccount.com
che configurano i componenti dei tuoi ambienti.
Il servizio Cloud Composer utilizza l'account di servizio cloud-airflow-prod@system.gserviceaccount.com
per gestire i componenti del progetto del tenant dei tuoi ambienti.
La
service-PROJECT_ID@cloudcomposer-accounts.iam.gserviceaccount.com
dell'account di servizio, noto anche come Composer Service Agent Service Account
gestisce
componenti dell'ambiente
progetti di servizio e host.
Limitazioni
- Tutti i vincoli di rete di VPC Service Controls si applicano anche ai tuoi ambienti Cloud Composer. Per maggiori dettagli, consulta la documentazione di VPC Service Controls.
La visualizzazione di un modello visualizzato con funzioni nell'interfaccia utente web con la serializzazione DAG abilitata è supportata per gli ambienti che eseguono Cloud Composer versione 1.12.0 o successive e Airflow versione 1.10.9 o successive.
L'impostazione del flag
async_dagbag_loader
suTrue
non è supportata durante il DAG la serializzazione sia abilitata.L'abilitazione della serializzazione dei DAG disabilita tutti i plug-in dei server web di Airflow, che potrebbero mettere a rischio la sicurezza della rete VPC in cui Cloud Composer viene eseguito il deployment. Questo non influisce sul comportamento dello scheduler o del worker plug-in, inclusi operatori Airflow, sensori e così via
- Quando Cloud Composer è in esecuzione all'interno di un perimetro, dei repository PyPI pubblici è limitato. Consulta Installare le dipendenze Python per apprendere come installare i moduli PyPI in modalità IP privato.