Se la tua organizzazione utilizza una rete VPC condivisa, puoi configurare i connettori di accesso VPC serverless nel progetto di servizio o nel progetto host. Questa guida illustra come configurare un connettore nel progetto del servizio.
Se devi configurare un connettore nel progetto host, consulta Configurare i connettori nel progetto host. Per informazioni sui vantaggi di ciascun metodo, consulta Connessione a una rete VPC condivisa.
In linea generale, devi seguire questi passaggi:
- Aggiungi regole firewall per consentire intervalli di IP richiesti
- Concedi le autorizzazioni
- Crea una subnet
- Nella pagina Configurazione dell'accesso VPC serverless, completa i passaggi descritti nelle seguenti sezioni:
Aggiungi regole firewall per consentire intervalli IP
Per eseguire questi passaggi, devi avere uno dei seguenti ruoli nel progetto host:
- Ruolo Amministratore sicurezza di Compute Engine
- Ruolo personalizzato di Identity and Access Management (IAM) con l'autorizzazione
compute.firewalls.create
abilitata
Devi creare regole firewall per consentire alle richieste provenienti dai seguenti intervalli IP di raggiungere il connettore e di raggiungere tale connettore:
- Intervalli NAT
107.178.230.64/26
35.199.224.0/19
- Intervalli del controllo di integrità
130.211.0.0/22
35.191.0.0/16
108.170.220.0/23
Questi intervalli vengono utilizzati dall'infrastruttura Google sottostante, da Cloud Run, Cloud Functions e dall'ambiente standard di App Engine. È garantito che tutte le richieste provenienti da questi IP provengano dall'infrastruttura di Google, il che assicura che ogni servizio/funzione/app di Cloud Run, Cloud Functions e App Engine comunichi solo con il connettore VPC a cui è connesso.
Per una configurazione semplice, applica le regole per consentire ai servizi serverless in qualsiasi progetto di servizio connesso alla rete VPC condiviso di inviare richieste a qualsiasi risorsa della rete.
Per applicare queste regole:
Esegui i tre comandi seguenti per impostare le regole in modo da consentire alle richieste dell'ambiente serverless di raggiungere tutti i connettori VPC nella rete:
gcloud compute firewall-rules create serverless-to-vpc-connector \ --allow tcp:667,udp:665-666,icmp \ --source-ranges 107.178.230.64/26,35.199.224.0/19 \ --direction=INGRESS \ --target-tags vpc-connector \ --network=VPC_NETWORK
gcloud compute firewall-rules create vpc-connector-to-serverless \ --allow tcp:667,udp:665-666,icmp \ --destination-ranges 107.178.230.64/26,35.199.224.0/19 \ --direction=EGRESS \ --target-tags vpc-connector \ --network=VPC_NETWORK
gcloud compute firewall-rules create vpc-connector-health-checks \ --allow tcp:667 \ --source-ranges 130.211.0.0/22,35.191.0.0/16,108.170.220.0/23 \ --direction=INGRESS \ --target-tags vpc-connector \ --network=VPC_NETWORK
Dove
VPC_NETWORK
è la rete VPC a cui collegare il connettore.Crea una regola in entrata nella rete VPC per consentire le richieste dai connettori:
gcloud compute firewall-rules create vpc-connector-requests \ --allow tcp,udp,icmp \ --direction=INGRESS \ --source-tags vpc-connector \ --network=VPC_NETWORK
Questa regola fornisce al connettore VPC l'accesso a tutte le risorse della rete. Per limitare le risorse che il tuo ambiente serverless può raggiungere utilizzando l'accesso VPC serverless, specifica una destinazione per queste regole firewall.
Creare regole firewall per connettori specifici
Se segui la procedura descritta in Aggiungere regole firewall per consentire intervalli IP, verranno applicate regole firewall che si applicano a tutti i connettori, sia quelli correnti sia quelli creati in futuro. Se non vuoi questa operazione, ma vuoi creare regole solo per connettori specifici, puoi definirne l'ambito in modo che venga applicato solo a tali connettori.
Per limitare l'ambito delle regole a connettori specifici, puoi utilizzare uno dei seguenti meccanismi:
- Tag di rete. Ogni connettore ha due tag di rete:
vpc-connector
evpc-connector-REGION-CONNECTOR_NAME
. Utilizza quest'ultimo formato per limitare l'ambito delle regole firewall a un connettore specifico. - Intervalli IP. Utilizza questo tipo solo per le regole in uscita, perché non funziona per Ingress. Puoi utilizzare l'intervallo IP della subnet del connettore per limitare l'ambito delle regole firewall a un singolo connettore VPC.
Concedi le autorizzazioni agli account di servizio nei progetti di servizio
Per ogni progetto di servizio che utilizzerà i connettori VPC, un amministratore del VPC condiviso deve concedere il ruolo Utente di rete Compute (compute.networkUser
) nel progetto host agli account di servizio del progetto cloudservices
e vpcaccess
.
Per concedere il ruolo:
Usa i seguenti comandi:
gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --role "roles/compute.networkUser" \ --member "serviceAccount:service-SERVICE_PROJECT_NUMBER@gcp-sa-vpcaccess.iam.gserviceaccount.com"
gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --role "roles/compute.networkUser" \ --member "serviceAccount:SERVICE_PROJECT_NUMBER@cloudservices.gserviceaccount.com"
Se l'account di servizio
@gcp-sa-vpcaccess
non esiste, attiva l'API Serverless VPC Access nel server di servizio e riprova:gcloud services enable vpcaccess.googleapis.com
Se preferisci non concedere l'accesso all'intera rete VPC a questi account di servizio, ma vuoi concedere l'accesso solo a subnet specifiche, puoi concedere questi ruoli a questi account di servizio solo su subnet specifiche.
Crea una subnet
Quando utilizza una rete VPC condivisa, l'amministratore della rete VPC condivisa deve creare una subnet per ogni connettore. Segui la documentazione in aggiunta di una subnet per aggiungere una subnet /28
alla rete VPC condiviso. Questa subnet deve trovarsi nella stessa area geografica dei
servizi server che utilizzeranno il connettore.
Passaggi successivi
- Nella pagina Configurazione dell'accesso VPC serverless, completa i passaggi descritti nelle seguenti sezioni: