Configura i connettori nei progetti di servizio con VPC condiviso
Se la tua organizzazione utilizza il VPC condiviso, puoi configurare i connettori di accesso VPC serverless nel progetto di servizio o nel progetto host. Questa guida mostra come configurare un connettore nel progetto di servizio.
Se devi configurare un connettore nel progetto host, consulta Configura i connettori nel progetto host. Per scoprire di più sui vantaggi di ciascun metodo, consulta Connettiti a una rete VPC condivisa.
A livello generale, devi seguire questi passaggi:
- Aggiungi regole firewall per consentire gli intervalli IP richiesti
- Concedi le autorizzazioni
- Crea una subnet
- Nella pagina Configurazione dell'accesso VPC serverless, completa i passaggi nelle seguenti sezioni:
Aggiungi regole firewall per consentire intervalli IP
Per eseguire questi passaggi, devi disporre di uno dei seguenti ruoli nel progetto host:
- Ruolo Security Admin di Compute Engine
- Ruolo Identity and Access Management (IAM) personalizzato con l'autorizzazione
compute.firewalls.createattivata
Devi creare regole firewall per consentire alle richieste provenienti dai seguenti intervalli IP di raggiungere il connettore e di essere raggiunte dal connettore:
- Intervalli NAT
107.178.230.64/2635.199.224.0/19
- Intervalli del controllo di integrità
130.211.0.0/2235.191.0.0/16108.170.220.0/23
Questi intervalli vengono utilizzati dall'infrastruttura Google sottostante Cloud Run, Cloud Run Functions e App Engine Standard. È garantito che tutte le richieste provenienti da questi IP hanno origine dall'infrastruttura di Google, il che garantisce che la funzione comunichi solo con il connettore VPC a cui è connessa.
Per una configurazione semplice, applica le regole per consentire ai servizi serverless in qualsiasi progetto di servizio connesso alla rete VPC condivisa di inviare richieste a qualsiasi risorsa della rete.
Per applicare queste regole:
Esegui questi tre comandi 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 concede al connettore VPC l'accesso a ogni risorsa 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.
Crea regole firewall per connettori specifici
Se segui la procedura descritta in Aggiungi regole firewall per consentire intervalli IP, le regole firewall risultanti si applicano a tutti i connettori, sia quelli attuali sia quelli creati in futuro. Se non vuoi che questo accada, ma vuoi creare regole solo per connettori specifici, puoi definire l'ambito delle regole in modo che vengano applicate solo a questi 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-connectorevpc-connector-REGION-CONNECTOR_NAME. Utilizza il secondo formato per limitare l'ambito delle regole firewall a un connettore specifico. - Intervalli IP. Utilizza questo valore solo per le regole in uscita, perché non funziona per quelle in entrata. Puoi utilizzare l'intervallo IP della subnet del connettore per limitare l'ambito delle regole firewall a un singolo connettore VPC.
Concedi le autorizzazioni ai service account nei tuoi progetti di servizio
Per ogni progetto di servizio che utilizzerà i connettori VPC, un amministratore VPC condiviso deve concedere il ruolo Compute Network User (compute.networkUser) nel progetto host ai service account cloudservices e vpcaccess del progetto di servizio.
Per concedere il ruolo:
Usa questi 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 il service account
@gcp-sa-vpcaccessnon esiste, attiva l'API Serverless VPC Access nel progetto di servizio e riprova:gcloud services enable vpcaccess.googleapis.com
Se preferisci non concedere a questi service account l'accesso all'intera rete VPC condivisa e preferisci concedere l'accesso solo a subnet specifiche, puoi concedere questi ruoli ai service account solo su subnet specifiche.
Crea una subnet
Quando si utilizza il VPC condiviso, il rispettivo l'amministratore deve creare una subnet per ogni connettore. Segui la documentazione
su come aggiungere una subnet per aggiungere una subnet /28 alla rete VPC condivisa. Questa subnet deve trovarsi nella stessa regione dei servizi serverless che utilizzeranno il connettore.
Passaggi successivi
- Nella pagina Configurazione dell'accesso VPC serverless, completa i passaggi nelle seguenti sezioni: