Utilizzo di Cloud Build in una rete privata

Questa pagina spiega come configurare configurazioni di reti private di uso comune da utilizzare con i pool privati. Per una panoramica dei pool privati, consulta Panoramica dei pool privati.

Definizione delle impostazioni di rete predefinite

Quando crei un pool privato, per impostazione predefinita puoi utilizzare la rete Virtual Private Cloud in cui risiedono i pool privati. Utilizza la rete VPC predefinita se:

  • Vuoi che le build accedano alla rete internet pubblica.
  • Vuoi dimensioni e tipi di macchine configurabili, intervalli IP interni statici o una delle altre funzionalità dei pool privati.
  • Non stai cercando build per accedere alle risorse all'interno della tua rete VPC privata.

Per istruzioni sulla connessione alla rete predefinita, consulta Creazione di un pool privato.

Definizione di un intervallo IP interno statico

In alcuni casi, potresti dover avere un intervallo IP statico definito per il tuo pool privato, ad esempio quando chiami un servizio che inserisce le chiamate nella lista consentita da un intervallo IP definito. Con i pool privati, quando configuri una connessione privata tra la tua rete VPC e la rete VPC del pool privato, puoi creare intervalli di indirizzi IP allocati con un intervallo CIDR definito di IP su cui verranno eseguiti i pool privati. Puoi anche specificare un intervallo CIDR più piccolo all'interno di un intervallo di indirizzi IP allocato che verrà utilizzato da un pool privato.

In esecuzione in una rete VPC

Per utilizzare Cloud Build con risorse in una rete privata protetta da un firewall, ad esempio in una rete VPC, puoi creare una connessione privata tra il pool privato e la rete VPC gestita. Ciò consente al pool privato di accedere alle risorse nella tua rete privata come repository di origine, repository di artefatti, database, istanze di secret e runtime.

In esecuzione in una rete VPC condivisa

Se utilizzi una rete VPC condivisa, il progetto in cui stai creando il pool privato deve essere collegato al progetto host che contiene la rete VPC condivisa. Per istruzioni su come collegare un progetto, consulta Provisioning di una rete VPC condivisa.

Connessione alle risorse in un'altra rete VPC in peering o in una rete VPC condivisa

Le organizzazioni spesso adottano un VPC condiviso (progetto host) per centralizzare il networking e Identity and Access Management in tutti i progetti. Ciò consente di utilizzare gli indirizzi IP interni per i servizi gestiti da Google come cluster GKE privati e Cloud SQL privato. Questi servizi gestiti da Google sono inoltre connessi in peering in una rete VPC condivisa di proprietà del cliente. Il problema di questa configurazione è che i pool privati non sono in grado di comunicare con i servizi gestiti da Google a causa dell'assenza di peering transitivo. Il peering transitivo è un problema solo quando più reti sono connesse l'una all'altra tramite peering VPC. Se una delle connessioni viene modificata per utilizzare una VPN (o interconnessione) anziché il peering VPC, le reti possono stabilire la connettività. Per istruzioni sulla configurazione di rete, consulta Accesso ai cluster privati di Google Kubernetes Engine con i pool privati di Cloud Build.

Esecuzione in una regione specifica

Puoi creare un pool privato in una delle regioni supportate. Puoi archiviare qualsiasi immagine container creata e artefatti in repository Artifact Registry e bucket Cloud Storage in regioni specificate.

Deployment in cluster GKE privati

I cluster GKE privati possono avere un endpoint pubblico o privato per il piano di controllo.

Per eseguire il deployment in un cluster GKE privato con un endpoint pubblico, puoi creare il tuo pool privato nella rete predefinita con accesso alla rete internet pubblica e definire un intervallo IP interno statico per il tuo pool in modo da consentire l'accesso al cluster all'elenco.

Per eseguire il deployment in cluster GKE privati con un endpoint privato, puoi seguire i passaggi descritti in Accesso ai cluster privati di Google Kubernetes Engine con i pool privati di Cloud Build. In alternativa, una volta connesso in peering al tuo VPC, puoi eseguire un proxy di rete sul cluster, come descritto in Creazione di cluster GKE privati con proxy di rete.

Utilizzo con i Controlli di servizio VPC

Controlli di servizio VPC è una funzionalità di Google Cloud che consente di configurare un perimetro sicuro per impedire l'esfiltrazione di dati. Per istruzioni sull'utilizzo dei Controlli di servizio VPC con pool privati per aggiungere ulteriore sicurezza alle tue build, consulta Utilizzo dei Controlli di servizio VPC.

Rimozione degli IP pubblici sui pool privati

Puoi rimuovere gli IP pubblici sui pool privati impostando il campo egressOption nel file di configurazione del pool privato su NO_PUBLIC_EGRESS. Tuttavia, tieni presente che la rimozione degli IP pubblici impedirà al tuo pool privato di accedere alle risorse nella rete internet pubblica.

Limitazione del traffico in uscita alla rete internet pubblica

Esistono alcuni modi per limitare il traffico in uscita dai pool privati alla rete internet pubblica:

Applicazione dell'utilizzo dei pool privati

Cloud Build fornisce un vincolo dei criteri dell'organizzazione constraints/cloudbuild.allowedWorkerPools che puoi applicare in modo forzato per autorizzare le build nella tua organizzazione a non utilizzare il pool predefinito e a utilizzare solo il pool privato. Per istruzioni sull'utilizzo di questa funzionalità, consulta Configurazione dei vincoli dei criteri dell'organizzazione.

Utilizzo con zone Cloud DNS private

Puoi condividere una zona Cloud DNS privata da utilizzare con i pool privati. Per istruzioni, consulta Condivisione di una zona privata.

Correre dietro un NAT

Anche se puoi controllare l'intervallo IP del tuo pool privato nel VPC, gli indirizzi IP esterni (se abilitati) non possono essere controllati. Se devi accedere a una risorsa da un IP riservato, crea una VM proxy e instrada il traffico attraverso di essa completando i passaggi descritti in Accedere alla risorsa esterna da un indirizzo IP di origine statico utilizzando Cloud Build.

Passaggi successivi