Utilizzo di Cloud Build in una rete privata

Questa pagina spiega come configurare le configurazioni di reti private di uso comune per l'utilizzo 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 viene configurata l'utilizzo della rete Virtual Private Cloud in cui si trovano i pool privati. Utilizza la rete VPC predefinita se:

  • Vuoi che le build accedano alla rete internet pubblica.
  • Vuoi tipi e dimensioni 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 su come connetterti alla rete predefinita, consulta la sezione Creare un pool privato.

Definizione di un intervallo IP interno statico

In alcuni casi, potrebbe essere necessario definire un intervallo IP statico per il pool privato, ad esempio quando si chiama un servizio che inserisce nella lista consentita le chiamate provenienti 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 allocati che verrà utilizzato da un pool privato.

Esecuzione in una rete VPC

Per utilizzare Cloud Build con le risorse di una rete privata dietro un firewall, come in una rete VPC, puoi creare una connessione privata tra il pool privato e la tua rete VPC gestita. In questo modo, il pool privato può accedere alle risorse della tua rete privata, come repository di origine, repository di elementi, database, istanze di secret e runtime.

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 Eseguire il provisioning di una rete VPC condivisa.

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

Le organizzazioni spesso adottano un VPC condiviso (progetto host) per centralizzare il networking e la gestione di identità e accessi in tutti i progetti. In questo modo, è possibile 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 a 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 della mancanza di peering transitivo. Il peering tra reti diverse è un problema solo quando più reti sono connesse tra loro tramite il peering VPC. Se una delle connessioni viene modificata in modo da utilizzare una VPN (o un interconnessione) anziché il peering VPC, le reti possono stabilire la connettività. Per istruzioni su questa configurazione della rete, consulta Accedere ai cluster Google Kubernetes Engine privati con i pool privati di Cloud Build.

Esecuzione in una regione specifica

Puoi creare un pool privato in una delle regioni supportate. Puoi archiviare gli artefatti e le immagini container creati nei repository Artifact Registry e nei bucket Cloud Storage in regioni specifiche.

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 da inserire nella lista consentita per l'accesso al cluster.

Per eseguire il deployment in cluster GKE privati con un endpoint privato, puoi seguire i passaggi descritti in Accesso ai cluster Google Kubernetes Engine privati con i pool privati di Cloud Build. In alternativa, dopo aver eseguito il peering nel 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

I Controlli di servizio VPC sono una Google Cloud funzionalità che ti consente di configurare un perimetro sicuro per proteggerti dall'esfiltrazione di dati. Per istruzioni sull'utilizzo dei Controlli di servizio VPC con i pool privati per aggiungere ulteriore sicurezza alle build, consulta Utilizzare i Controlli di servizio VPC.

Rimozione di IP pubblici dai pool privati

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

Limitazione del traffico in uscita verso la rete internet pubblica

Esistono diversi modi per limitare l'uscita dai pool privati all'internet pubblico:

Applicazione dell'utilizzo di pool privati

Cloud Build fornisce un constraints/cloudbuild.allowedWorkerPools vincolo della policy dell'organizzazione che puoi applicare per imporre alle build della tua organizzazione di non utilizzare il pool predefinito e di utilizzare solo il pool privato. Per istruzioni su come utilizzare questa funzionalità, consulta Configurare i 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 le istruzioni, vedi Condividere una zona privata.

Esecuzione dietro un NAT

Sebbene tu possa 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 indirizzo IP riservato, crea una VM proxy e instrada il traffico completando i passaggi descritti in Accedi alla risorsa esterna da un indirizzo IP di origine statico utilizzando Cloud Build.

Passaggi successivi