Configurare la rete VPC condivisa

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

Questa pagina descrive i requisiti della rete VPC condiviso e del progetto host per Managed Airflow.

Il VPC condiviso consente alle organizzazioni di stabilire limiti di budget e controllo dell'accesso a livello di progetto, consentendo al contempo una comunicazione sicura ed efficiente utilizzando IP privati all'interno di questi limiti. Nella configurazione del VPC condiviso, Managed Service for Apache Airflow può richiamare i servizi ospitati in altri Google Cloud progetti della stessa organizzazione senza esporre i servizi alla rete internet pubblica.

Linee guida per il VPC condiviso

Progetti di servizio e host per Managed Airflow
Figura 1. Progetti di servizio e host per Managed Airflow
  • Il VPC condiviso richiede di designare un progetto host a cui appartengono reti e subnet e un progetto di servizio, collegato al progetto host. Quando Airflow gestito partecipa a un VPC condiviso, l'ambiente Airflow gestito si trova nel progetto di servizio.

  • Per configurare il VPC condiviso, seleziona i seguenti intervalli IP nel progetto host:

    • Intervallo IP principale della subnet utilizzata dai nodi GKE che Managed Airflow utilizza come livello Compute Engine.
    • Intervallo IP secondario per i servizi GKE.
    • Intervallo IP secondario per i pod GKE.
  • Gli intervalli IP secondari non possono sovrapporsi ad altri intervalli secondari in questo VPC.

  • Assicurati che gli intervalli secondari siano abbastanza grandi da ospitare le dimensioni del cluster e la scalabilità dell'ambiente.

    Per le linee guida sulla configurazione degli intervalli secondari per pod e servizi, consulta Creare un cluster nativo di VPC.

  • L'intervallo di indirizzi principali della subnet deve tenere conto della crescita prevista e degli indirizzi IP inutilizzabili.

  • Se utilizzi l'agente IP Masquerade e la configurazione IP privato per i tuoi ambienti, aggiungi gli intervalli IP di nodi e pod alla sezione nonMasqueradeCIDRs di `ip-masq-agent` ConfigMap.ip-masq-agent Per ulteriori informazioni, consulta Configurare un agente IP Masquerade.

preparazione

  1. Trova i seguenti ID progetto e numeri di progetto:

    • Progetto host: il progetto che contiene la rete VPC condiviso.
    • Progetto di servizio: il progetto che contiene l'ambiente Airflow gestito.
  2. Prepara la tua organizzazione.

  3. Abilita l'API GKE in progetti host e di servizio.

  4. Se crei un ambiente nel progetto di servizio utilizzando Google Cloud console, il tuo account deve disporre di l'autorizzazione compute.subnetworks.use nel progetto host. In caso contrario, l'elenco delle subnet disponibili non contiene le subnet del progetto host. Se crei un ambiente utilizzando gcloud, l'API o Terraform, il tuo account non ha bisogno di questa autorizzazione aggiuntiva.

Configura il progetto di servizio

Se nel progetto di servizio non sono mai stati creati ambienti Managed Airflow, esegui il provisioning dell'account Service Agent di Composer nel progetto di servizio:

gcloud beta services identity create --service=composer.googleapis.com

Configura il progetto host

Configura il progetto host come descritto di seguito.

(IP privato) Abilita l'accesso privato Google

Se prevedi di utilizzare ambienti IP privati, allora abilita l'accesso privato Google per la subnet nel progetto host. Puoi farlo nel passaggio successivo, quando configuri le risorse di rete per una subnet nuova o già esistente.

Se prevedi di utilizzare ambienti IP pubblici, ti consigliamo comunque di abilitare l'accesso privato Google per la subnet nel progetto host. Se scegli di non utilizzare l'accesso privato Google, assicurati di non bloccare il traffico che altrimenti la regola firewall in uscita IPv4 implicita consentirebbe. Questa operazione è necessaria per raggiungere correttamente gli endpoint *.googleapis.com.

Configura le risorse di rete

Scegli una delle seguenti opzioni per allocare e configurare le risorse di rete. Per ogni opzione, devi assegnare un nome agli intervalli IP secondari per pod e servizi.

Configura il VPC condiviso e collega il progetto di servizio

  1. Se non l'hai ancora fatto, configura il VPC condiviso. Se hai già configurato il VPC condiviso, vai al passaggio successivo.

  2. Collega il progetto di servizio che utilizzi per ospitare gli ambienti Managed Airflow.

    Quando colleghi un progetto, mantieni le autorizzazioni predefinite della rete VPC.

Concedi le autorizzazioni all'account dell'agente di servizio Composer

Nel progetto host:

  1. Modifica le autorizzazioni per l'account dell'agente di servizio Composer, service-SERVICE_PROJECT_NUMBER@cloudcomposer-accounts.iam.gserviceaccount.com)

  2. Per questo account, aggiungi un altro ruolo a livello di progetto:

    • Per gli ambienti IP privati, aggiungi il ruolo Composer Shared VPC Agent.

    • Per gli ambienti IP pubblici, aggiungi il ruolo Compute Network User.

Concedi le autorizzazioni all'account dell'agente di servizio API di Google

Nel progetto host:

  1. Modifica le autorizzazioni per l'account dell'agente di servizio API di Google, SERVICE_PROJECT_NUMBER@cloudservices.gserviceaccount.com.

  2. Aggiungi un altro ruolo, Utente di rete Compute (compute.networkUser) a livello di progetto. Questo è un requisito per i gruppi di istanze gestite utilizzati con il VPC condiviso , perché questo tipo di account di servizio esegue attività come la creazione di istanze.

Modifica le autorizzazioni per i service account GKE

Nel progetto host, modifica le autorizzazioni per i service account GKE , service-SERVICE_PROJECT_NUMBER@container-engine-robot.iam.gserviceaccount.com.

Per ogni account di servizio, aggiungi un altro ruolo, compute.networkUser utilizzando una delle seguenti opzioni:

  • Concedi questo ruolo a livello di subnet per consentire a un account di servizio di configurare i peering VPC richiesti da Managed Service for Apache Airflow. In questo caso, specifica esplicitamente la subnet da utilizzare per l'ambiente, perché il cluster dell'ambiente potrebbe non disporre delle autorizzazioni per trovare la subnet all'interno della rete.

  • Concedi questo ruolo a livello di progetto per l'intero progetto host. In questo caso, il service account GKE del progetto di servizio dispone delle autorizzazioni per utilizzare qualsiasi subnet nel progetto host.

Modifica le autorizzazioni per il service account GKE del progetto di servizio

Nel progetto host, modifica le autorizzazioni per il service account GKE del progetto di servizio.

Per questo account, aggiungi un altro ruolo a livello di progetto, Utente agente di servizio host Kubernetes Engine (roles/container.hostServiceAgentUser).

In questo modo, il service account GKE del progetto di servizio può utilizzare il service account GKE del progetto host per configurare le risorse di rete condivise.

(IP privato, facoltativo) Configura le regole firewall e la connettività ai domini Google

In una configurazione del VPC condiviso con ambienti IP privati, puoi anche instradare tutto il traffico verso le API di Google e i servizi Google tramite diversi indirizzi IP appartenenti al dominio private.googleapis.com e configurare le regole firewall corrispondenti. In questa configurazione, l'ambiente accede alle API e ai servizi Google tramite indirizzi IP instradabili solo dall'interno. Google CloudSe la configurazione del VPC condiviso utilizza i Controlli di servizio VPC, instrada il traffico tramite restricted.googleapis.com.

Se la configurazione del VPC condiviso utilizza ambienti IP privati:

  1. (Facoltativo) Configura la connettività alle API di Google e ai servizi Google.
  2. (Facoltativo) Configura le regole firewall.

Se la configurazione del VPC condiviso utilizza i Controlli di servizio VPC, utilizza le istruzioni per gli ambienti con i Controlli di servizio VPC:

  1. Configura la connettività alle API e ai servizi Google.
  2. Configura le regole firewall

Conclusione

Hai completato la configurazione della rete VPC condiviso per i progetti di servizio e host.

Ora puoi creare nuovi ambienti nel progetto di servizio che utilizzano la rete VPC del progetto host.

Passaggi successivi