Se la tua organizzazione utilizza 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 Configurare i connettori nel progetto host. Per scoprire i vantaggi di ciascun metodo, consulta Connessione a una rete VPC condivisa.
In linea generale, devi seguire questi passaggi:
- Aggiungi regole firewall per consentire gli intervalli IP richiesti
- Concedi autorizzazioni
- Creare una subnet
- Nella pagina Configurazione dell'accesso VPC serverless, compila i passaggi descritti nelle seguenti sezioni:
Prima di iniziare
L'accesso VPC serverless non è compatibile con
Servizio di recupero URL.
Prima di iniziare, interrompi l'utilizzo di URLFetchService
.
Aggiungere regole firewall per consentire intervalli IP
Per eseguire questi passaggi, devi avere uno dei seguenti ruoli nel progetto ospitante:
- Google Compute Engine Ruolo Amministratore sicurezza
- Ruolo Identity and Access Management (IAM) personalizzato con l'autorizzazione
compute.firewalls.create
attivata
Devi creare regole del 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/26
35.199.224.0/19
- Intervalli di 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 a Cloud Run, le funzioni di Cloud Run e l'ambiente standard di App Engine. Tutte le richieste provenienti da questi IP provengono obbligatoriamente dall'infrastruttura di Google, il che garantisce che ogni servizio/funzione/app Cloud Run e App Engine comunichi solo con il connettore VPC a cui è connesso.
Per una configurazione semplice, applica le regole per consentire i servizi serverless in progetto di servizio connesso alla rete VPC condiviso per inviare richieste a per qualsiasi risorsa nella rete.
Per applicare queste regole:
Esegui i tre comandi seguenti per impostare le regole che consentono alle richieste provenienti dall'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 per collegare a cui collegare il connettore.Crea una regola di ingresso 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. A limita le risorse che il tuo ambiente serverless può raggiungere usando Accesso VPC serverless, specifica un target per queste regole firewall.
Crea regole firewall per connettori specifici
Se segui la procedura descritta in Aggiungere regole firewall per consentire intervalli IP, vengono create regole firewall che si applicano a tutti i connettori, sia quelli attuali sia quelli creati in futuro. Se non vuoi questa funzionalità, ma vuoi solo per connettori specifici, puoi definire l'ambito delle regole ma si applicano solo a quei 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 il secondo formato per limitare l'ambito delle regole firewall a una specifica di rete. - intervalli IP. Da usare solo per le regole in uscita, perché non funziona per In entrata. Puoi usare l'intervallo IP del connettore per limitare l'ambito delle regole del firewall a un singolo connettore VPC.
Concedi le autorizzazioni agli account di servizio nei tuoi progetti di servizio
Per ogni progetto di servizio che utilizzerà i connettori VPC, un amministratore VPC condiviso deve concedere il ruolo Utente di rete Compute (compute.networkUser
) nel progetto host agli account di servizio cloudservices
e vpcaccess
.
Per concedere il ruolo:
Utilizza 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 l'account di servizio
@gcp-sa-vpcaccess
non esiste, attiva il API Serverless VPC Access nel progetto di servizio e riprova:gcloud services enable vpcaccess.googleapis.com
Se preferisci non concedere a questi account di servizio l'accesso all'intero rete VPC condiviso e preferiresti concedere l'accesso solo a subnet specifiche, può invece concedere questi ruoli a questi account di servizio solo su subnet specifiche.
Crea una subnet
Quando si utilizza un VPC condiviso, l'amministratore del VPC condiviso deve creare una subnet
per ciascun connettore. Segui la documentazione in
aggiungendo una subnet per aggiungere una subnet /28
Rete VPC condiviso. Questa subnet deve trovarsi nella stessa regione
serverless che utilizzeranno il connettore.
Passaggi successivi
- Nella pagina Configurazione dell'accesso VPC serverless, compila i passaggi descritti nelle seguenti sezioni: