Configura i connettori nei progetti di servizio del VPC condiviso

Se la tua organizzazione utilizza un VPC condiviso, puoi configurare Connettori di accesso VPC serverless nel progetto di servizio progetto host. Questa guida illustra come configurare un connettore nel progetto di servizio.

Se devi configurare un connettore nel progetto host, consulta Configura i connettori nel progetto host. Per conoscere i vantaggi di ciascun metodo, consulta Connessione a una VPC condiviso condivisa

A livello generale, devi seguire questi passaggi:

  1. Aggiungi regole firewall per consentire gli intervalli IP richiesti
  2. Concedi autorizzazioni
  3. Crea una subnet
  4. Nella pagina Configurazione dell'accesso VPC serverless, completa i passaggi nelle seguenti sezioni:

Prima di iniziare

L'accesso VPC serverless non è compatibile con il recupero dell'URL completamente gestito di Google Cloud. Prima di iniziare, disattivare l'impostazione predefinita Recupero URL e interrompere qualsiasi uso esplicito dei urlfetch libreria.

Aggiungi regole firewall per consentire gli intervalli IP

Per eseguire questi passaggi, devi disporre di uno dei seguenti ruoli nella progetto host:

Devi creare regole firewall per consentire le richieste dai seguenti intervalli IP a raggiungere il connettore e per essere raggiunto dal 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 a Cloud Run, Cloud Functions e l'ambiente standard di App Engine. Tutte le richieste da questi IP sono garantite provengono dall'infrastruttura di Google, che garantisce che ogni Servizio/funzione/app Cloud Run, Cloud Functions e App Engine comunica 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:

  1. Esegui questi tre comandi per impostare le regole che consentano l'esecuzione delle richieste da per raggiungere tutti i connettori VPC della 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.

  2. Crea una regola in entrata sulla 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 tutte le risorse nella 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

Seguendo la procedura in Aggiungere regole firewall per consentire gli intervalli IP genera regole firewall che si applicano a tutti i connettori, entrambi attuali e 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 una delle i seguenti meccanismi:

  • tag di rete. Ogni connettore ha due tag di rete: vpc-connector e vpc-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 progetti di servizio

Per ogni progetto di servizio che utilizzerà i connettori VPC, una VPC condiviso L'amministratore deve concedere all'utente di rete Compute (compute.networkUser) nel ruolo progetto host al progetto di servizio cloudservices e al servizio vpcaccess .

Per concedere il ruolo:

  1. 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"
  2. 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