Configurazione di VPC condivisa

Cloud Composer 1 | Cloud Composer 2

Questa pagina descrive i requisiti della rete VPC condiviso e del progetto host per Cloud Composer.

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 mediante IP privati oltre i confini. Nella configurazione del VPC condiviso, Cloud Composer può richiamare servizi ospitati in altri progetti Google Cloud nella stessa organizzazione senza esporre i servizi alla rete internet pubblica.

Linee guida per il VPC condiviso

Progetti host e di servizio per Cloud Composer
Figura 1. Progetti host e di servizio per Cloud Composer
  • Un VPC condiviso richiede la definizione di un progetto host a cui appartengono le reti e delle subnet e di un progetto di servizio collegato al progetto host. Quando Cloud Composer partecipa a un VPC condiviso, l'ambiente Cloud Composer si trova nel progetto di servizio.

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

    • Intervallo IP principale della subnet utilizzata dai nodi GKE e che Cloud Composer usa come livello di 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 adattare le dimensioni del cluster e la scalabilità dell'ambiente.

    Consulta Creazione di un cluster nativo di VPC per le linee guida sulla configurazione di intervalli secondari per pod e servizi.

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

  • Se utilizzi l'agente di mascheramento IP e la configurazione degli IP privati per i tuoi ambienti, aggiungi gli intervalli IP di nodi e pod alla sezione nonMasqueradeCIDRs del ConfigMap ip-masq-agent. Per maggiori informazioni, consulta Configurazione di un agente di mascheramento IP.

preparazione

  1. Trova i seguenti ID e numeri di progetto:

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

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

  4. Se crei un ambiente nel progetto di servizio utilizzando la console Google Cloud, il tuo account deve disporre dell'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 host

Configura il progetto host come descritto ulteriormente.

(IP privato) Abilita accesso privato Google

Se prevedi di utilizzare ambienti IP privati, attiva l'accesso privato Google per la subnet nel progetto host. Puoi farlo nel passaggio successivo, quando configuri le risorse di networking 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 sarebbe consentito dalla regola firewall di autorizzazione in uscita da IPv4 IPv4 (questa operazione è necessaria per raggiungere correttamente gli endpoint *.googleapis.com).

Configura le risorse di networking

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

Configura un VPC condiviso e collega il progetto di servizio

  1. Se non è già stato fatto, configura un 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 Cloud Composer.

    Quando colleghi un progetto, lascia invariate le autorizzazioni di rete VPC predefinite.

Modifica le autorizzazioni per l'account di servizio delle API di Google

Nel progetto host, modifica le autorizzazioni per l'account di servizio delle API di Google, SERVICE_PROJECT_NUMBER@cloudservices.gserviceaccount.com.

Per questo account, aggiungi un altro ruolo, 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 gli account di servizio GKE

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

Per ogni account di servizio, aggiungi un altro ruolo, compute.networkUser.

Concedi questo ruolo a livello di subnet per consentire a un account di servizio di configurare i peering VPC richiesti da Cloud Composer. Tieni presente che, in questo caso, dovrai specificare esplicitamente la subnet che deve essere utilizzata dall'ambiente poiché il cluster GKE potrebbe non disporre delle autorizzazioni per trovarlo all'interno della rete.

In alternativa, puoi concedere questo ruolo per l'intero progetto host. In questo caso, l'account di servizio GKE del progetto di servizio dispone delle autorizzazioni necessarie per utilizzare qualsiasi subnet nel progetto host.

Modifica le autorizzazioni per l'account di servizio GKE del progetto di servizio

Nel progetto host, modifica le autorizzazioni per l'account di servizio 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 l'account di servizio GKE del progetto di servizio può utilizzare l'account di servizio GKE del progetto host per configurare risorse di rete condivise.

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

In una configurazione VPC condiviso con ambienti IP privati, come opzione, potresti voler instradare tutto il traffico alle API e ai servizi Google attraverso diversi indirizzi IP che appartengono 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 di Google Cloud. Se 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 e ai servizi Google.
  2. (Facoltativo) Configura le regole firewall.

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

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

Modifica autorizzazioni per l'account di servizio agente Composer

  1. Nel progetto di servizio, se questo è il primo ambiente Cloud Composer, esegui il provisioning dell'account di servizio agente Composer: gcloud beta services identity create --service=composer.googleapis.com.

  2. Nel progetto host:

    1. Modifica le autorizzazioni per l'account di servizio dell'agente 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 privato, aggiungi il ruolo Composer Shared VPC Agent.

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

Hai completato la configurazione della rete VPC condiviso per il progetto host.

Passaggi successivi