Connessione a una rete VPC

Questa pagina mostra come utilizzare l'accesso VPC serverless per connettere Cloud Functions direttamente alla tua rete VPC, consentendo l'accesso alle istanze VM di Compute Engine, alle istanze Memorystore e a qualsiasi altra risorsa con un indirizzo IP interno.

Prima di iniziare

Se utilizzi una rete VPC condivisa, consulta Connessione a una rete VPC condivisa.

Crea un connettore di accesso VPC serverless

Per inviare richieste alla tua rete VPC e ricevere le risposte corrispondenti senza utilizzare la rete Internet pubblica, devi utilizzare un connettore di accesso VPC serverless.

Puoi creare un connettore utilizzando Google Cloud Console, l'interfaccia a riga di comando di Google Cloud o Teraform:

Console

  1. Assicurati che l'API Serverless VPC Access sia abilitata per il tuo progetto.

    Abilita API

  2. Vai alla pagina Panoramica dell'accesso VPC serverless.

    Vai all'accesso VPC serverless

  3. Fai clic su Crea connettore.

  4. Nel campo Nome, inserisci un nome per il connettore. Questo deve essere conforme alla convenzione di denominazione di Compute Engine, con la limitazione aggiuntiva che deve essere inferiore a 21 caratteri con trattini (-) conteggiati come due caratteri.

  5. Nel campo Area geografica, seleziona un'area geografica per il connettore. Deve corrispondere all'area geografica del tuo servizio serverless.

    Se il servizio si trova nell'area geografica us-central o europe-west, utilizza us-central1 o europe-west1.

  6. Nel campo Rete, seleziona la rete VPC a cui collegare il connettore.

  7. Fai clic sul menu a discesa Subnet:

    • Se utilizzi una subnet personale (obbligatoria per VPC condiviso), seleziona una subnet /28 non utilizzata.

      • Le subnet devono essere utilizzate esclusivamente dal connettore. Non possono essere utilizzate da altre risorse come VM, Private Service Connect o bilanciamento del carico HTTP(S) interno.
      • Per verificare che la subnet non sia utilizzata per Private Private Connect o il bilanciamento del carico HTTP(S) interno, verifica che la subnet purpose sia PRIVATE eseguendo il comando seguente nell'interfaccia a riga di comando gcloud:
        gcloud compute networks subnets describe SUBNET_NAME
        
        Sostituisci:
        • SUBNET_NAME: nome della subnet
    • Se non utilizzi la rete VPC condivisa e preferisci che il connettore crei una subnet anziché crearne una in modo esplicito, seleziona Intervallo IP personalizzato dal menu a discesa, quindi nel campo Intervallo IP inserisci il primo indirizzo in un intervallo IP interno CIDR /28 non prenotato. Questo intervallo IP non deve sovrapporsi ad alcuna prenotazione dell'indirizzo IP esistente nella tua rete VPC. Ad esempio, 10.8.0.0 (/28) funzionerà nella maggior parte dei nuovi progetti.

  8. (Facoltativo) Per impostare le opzioni di scalabilità per un maggiore controllo sul connettore, fai clic su Mostra impostazioni di scalabilità per visualizzare il modulo di scalabilità.

    1. Imposta il numero minimo e massimo di istanze per il connettore oppure utilizza i valori predefiniti, che sono 2 (min) e 10 (max). Il connettore fa lo scale out al massimo specificato se l'utilizzo del traffico lo richiede, ma il connettore non scala verticalmente quando il traffico diminuisce. Devi utilizzare valori compresi tra 2 e 10.
    2. Nel menu a discesa Tipo di istanza, scegli il tipo di macchina da utilizzare per il connettore oppure utilizza il valore predefinito e2-micro. Osserva la barra laterale dei costi a destra quando scegli il tipo di istanza, che mostra le stime della larghezza di banda e dei costi.
  9. Fai clic su Crea.

  10. Quando è pronto, viene visualizzato un segno di spunta verde accanto al nome del connettore.

gcloud

  1. Aggiorna gcloud componenti all'ultima versione:

    gcloud components update
    
  2. Assicurati che l'API Serverless VPC Access sia abilitata per il tuo progetto:

    gcloud services enable vpcaccess.googleapis.com
    
  3. Se utilizzi la tua subnet (obbligatoria per VPC condiviso), crea un connettore con il comando:

    gcloud compute networks vpc-access connectors create CONNECTOR_NAME \
    --region REGION \
    --subnet SUBNET \
    # If you are not using Shared VPC, omit the following line.
    --subnet-project HOST_PROJECT_ID \
    # Optional: specify minimum and maximum instance values between 2 and 10, default is 2 min, 10 max.
    --min-instances MIN \
    --max-instances MAX \
    # Optional: specify machine type, default is e2-micro
    --machine-type MACHINE_TYPE
    

    Sostituisci quanto segue:

    • CONNECTOR_NAME: un nome per il connettore. Questo deve essere conforme alla convenzione di denominazione di Compute Engine, con la limitazione aggiuntiva che deve essere inferiore a 21 caratteri con trattini (-) conteggiati come due caratteri.
    • REGION: un'area geografica per il connettore; deve corrispondere all'area geografica del servizio serverless. Se il servizio si trova nell'area geografica us-central o europe-west, utilizza us-central1 o europe-west1.
    • SUBNET: nome di una subnet /28 inutilizzata.
      • Le subnet devono essere utilizzate esclusivamente dal connettore. Non possono essere utilizzate da altre risorse come VM, Private Service Connect o bilanciamento del carico HTTP(S) interno.
      • Per verificare che la subnet non sia utilizzata per Private Private Connect o il bilanciamento del carico HTTP(S) interno, verifica che la subnet purpose sia PRIVATE eseguendo il comando seguente nell'interfaccia a riga di comando gcloud:
        gcloud compute networks subnets describe SUBNET_NAME
        
        Sostituisci:
        • SUBNET_NAME: nome della subnet
    • HOST_PROJECT_ID: l'ID del progetto host; forniscilo solo se utilizzi una rete VPC condivisa
    • MIN: numero minimo di istanze da utilizzare per il connettore. Utilizza un numero intero compreso tra 2 e 10. Il valore predefinito è 2.
    • MAX: numero massimo di istanze da utilizzare per il connettore. Utilizza un numero intero compreso tra 2 e 10. Il valore predefinito è 10. Se il traffico lo richiede, il connettore fa lo scale out a [MAX] istanze, ma non fa lo scale down.
    • MACHINE_TYPE: f1-micro, e2-micro o e2-standard-4

      Tipo di macchina Intervallo di velocità effettiva stimato in Mbps Prezzo
      (istanza del connettore più costi per il traffico in uscita dalla rete)
      f1-micro 100-500 Prezzi f1-micro
      e2-micro 200-1000 Prezzi e2-micro
      e2-standard-4 3200-16000 Prezzi standard e2

    Ad esempio, se imposti MACHINE_TYPE su f1-micro, la velocità effettiva stimata del tuo connettore sarà 100 Mbps con valore predefinito MIN e 500 Mbps con MAX predefinito.

    Per ulteriori dettagli e argomenti facoltativi, consulta la documentazione di riferimento di gcloud.

  4. Se non utilizzi il VPC condiviso e vuoi fornire un intervallo IP personalizzato invece di una subnet, crea un connettore con il comando:

    gcloud compute networks vpc-access connectors create CONNECTOR_NAME \
    --network VPC_NETWORK \
    --region REGION \
    --range IP_RANGE
    

    Sostituisci quanto segue:

    • CONNECTOR_NAME: un nome per il connettore. Deve essere conforme alla convenzione di denominazione di Compute Engine, con la limitazione aggiuntiva secondo cui deve essere inferiore a 21 caratteri con trattini (-) come due caratteri.
    • VPC_NETWORK: la rete VPC a cui collegare il connettore
    • REGION: un'area geografica per il connettore. Deve corrispondere all'area geografica del tuo servizio serverless. Se il servizio si trova nell'area geografica us-central o europe-west, utilizza us-central1 o europe-west1.
    • IP_RANGE: è necessario disporre di una rete IP interna non prenotata e di uno '/28' spazio non allocato. Il valore fornito è la rete nella notazione CIDR (10.8.0.0/28). Questo intervallo IP non deve sovrapporsi ad alcuna prenotazione dell'indirizzo IP esistente nella tua rete VPC. Ad esempio, 10.8.0.0/28 funziona nella maggior parte dei nuovi progetti.

    Per ulteriori dettagli e argomenti facoltativi, come i controlli della velocità effettiva, consulta il riferimento gcloud.

  5. Verifica che il connettore sia nello stato READY prima di utilizzarlo:

    gcloud compute networks vpc-access connectors describe CONNECTOR_NAME \
    --region REGION
    

    Sostituisci quanto segue:

    • CONNECTOR_NAME: il nome del connettore; si tratta del nome specificato nel passaggio precedente
    • REGION: l'area geografica del tuo connettore; si tratta dell'area geografica che hai specificato nel passaggio precedente

    L'output dovrebbe contenere la riga state: READY.

Terraform

Puoi utilizzare una risorsa Terra per abilitare l'API vpcaccess.googleapis.com.

resource "google_project_service" "vpcaccess-api" {
  project = var.project_id # Replace this with your project ID in quotes
  service = "vpcaccess.googleapis.com"
}

Puoi utilizzare i moduli Teraform per creare una rete VPC e una subnet, quindi creare il connettore.

module "test-vpc-module" {
  source       = "terraform-google-modules/network/google"
  version      = "~> 3.3.0"
  project_id   = var.project_id # Replace this with your project ID in quotes
  network_name = "my-serverless-network"
  mtu          = 1460

  subnets = [
    {
      subnet_name   = "serverless-subnet"
      subnet_ip     = "10.10.10.0/28"
      subnet_region = "us-central1"
    }
  ]
}

module "serverless-connector" {
  source     = "terraform-google-modules/network/google//modules/vpc-serverless-connector-beta"
  project_id = var.project_id
  vpc_connectors = [{
    name        = "central-serverless"
    region      = "us-central1"
    subnet_name = module.test-vpc-module.subnets["us-central1/serverless-subnet"].name
    # host_project_id = var.host_project_id # Specify a host_project_id for shared VPC
    machine_type  = "e2-standard-4"
    min_instances = 2
    max_instances = 7
    }
    # Uncomment to specify an ip_cidr_range
    #   , {
    #     name          = "central-serverless2"
    #     region        = "us-central1"
    #     network       = module.test-vpc-module.network_name
    #     ip_cidr_range = "10.10.11.0/28"
    #     subnet_name   = null
    #     machine_type  = "e2-standard-4"
    #     min_instances = 2
    #   max_instances = 7 }
  ]
  depends_on = [
    google_project_service.vpcaccess-api
  ]
}

Configura la funzione per utilizzare un connettore

Dopo aver creato un connettore di accesso VPC serverless, devi configurare ogni funzione che vuoi connettere alla tua rete VPC. Puoi configurare una funzione per utilizzare un connettore da Google Cloud Console o dall'interfaccia a riga di comando di Google Cloud:

Console

  1. Vai alla pagina Panoramica di Cloud Functions in Cloud Console:

    Vai a Cloud Functions

  2. Fai clic su Crea funzione. In alternativa, fai clic su una funzione esistente per passare alla relativa pagina dei dettagli, quindi fai clic su Modifica.

  3. Espandi le impostazioni avanzate facendo clic su IMPOSTAZIONE DI ESECUZIONE, CREAZIONE E CONNESSIONI.

  4. Nella scheda Connessioni nella sezione Impostazioni traffico in uscita, inserisci il nome del connettore nel campo Connettore VPC oppure cancella il campo per disconnettere il servizio da una rete VPC.

gcloud

Usa il comando gcloud functions deploy per eseguire il deployment della funzione e specifica il flag --vpc-connector:

gcloud functions deploy FUNCTION_NAME \
--vpc-connector CONNECTOR_NAME \
FLAGS...

dove:

  • FUNCTION_NAME è il nome della funzione.
  • CONNECTOR_NAME è il nome del connettore.
  • FLAGS... si riferisce ad altri flag che superi durante il deployment di funzioni.

Utilizza il flag --clear-vpc-connector per disconnettere la funzione da una rete VPC:

gcloud functions deploy FUNCTION_NAME \
--clear-vpc-connector \
FLAGS...

Per un maggiore controllo sulle richieste instradate tramite il connettore, consulta le impostazioni del traffico in uscita.

Limita accesso alle risorse VPC

Puoi limitare l'accesso del connettore alla rete VPC utilizzando le regole firewall.

Quando ti connetti a una rete VPC condivisa con connettori nei progetti del servizio, le regole del firewall non vengono create automaticamente. Un utente con ruolo di Amministratore di rete sul progetto host imposta le regole firewall quando configura il progetto host.

Quando ti connetti a una rete VPC autonoma o a una rete VPC condivisa con il connettore nel progetto host, sulla rete VPC viene creata automaticamente una regola firewall implicita con priorità 1000 per consentire il traffico in entrata dalla subnet del connettore o dall'intervallo IP personalizzato a tutte le destinazioni nella rete VPC. La regola firewall implicita non è visibile in Google Cloud Console ed esiste solo se esiste il connettore associato. Se non vuoi che il connettore raggiunga tutte le destinazioni nella tua rete VPC, puoi limitarne l'accesso.

Puoi limitare l'accesso al connettore creando regole di traffico in entrata nella risorsa di destinazione o creando regole di traffico in uscita sul connettore VPC.

Limita accesso con regole di traffico in entrata

Scegli i tag di rete o gli intervalli CIDR per controllare il traffico in entrata verso la tua rete VPC.

Tag di rete

I passaggi seguenti mostrano come creare regole di traffico in entrata che limitano l'accesso di un connettore alla rete VPC in base ai tag di rete del connettore.

  1. Assicurati di disporre delle autorizzazioni necessarie per inserire regole firewall. Devi avere uno dei seguenti ruoli Identity and Access Management (IAM):

  2. Rifiuta il traffico dei connettori nella rete VPC.

    Crea una regola del firewall in entrata con priorità inferiore a 1000 sulla rete VPC per negare in entrata dal tag di rete del connettore. L'override della regola del firewall implicito creato da Serverless VPC Access viene eseguito sulla rete VPC per impostazione predefinita.

    gcloud compute firewall-rules create RULE_NAME \
    --action=DENY \
    --source-tags=VPC_CONNECTOR_NETWORK_TAG \
    --direction=INGRESS \
    --network=VPC_NETWORK \
    --priority=PRIORITY
    

    Sostituisci quanto segue:

    • RULE_NAME: il nome della nuova regola firewall. Ad esempio, deny-vpc-connector.
    • VPC_CONNECTOR_NETWORK_TAG: il tag di rete del connettore universale se vuoi limitare l'accesso a tutti i connettori (compresi quelli eventualmente creati in futuro) o al tag di rete univoco se vuoi limitare l'accesso a un connettore specifico.

      • Tag di rete universale: vpc-connector
      • Tag di rete univoco: vpc-connector-REGION-CONNECTOR_NAME

        Sostituisci:

        • REGION: area del connettore da limitare
        • CONNECTOR_NAME: il nome del connettore che vuoi limitare

      Per ulteriori informazioni sui tag di rete del connettore, consulta Tag di rete.

    • VPC_NETWORK: il nome della tua rete VPC

    • PRIORITY: un numero intero compreso tra 1 e 999 inclusi. Ad esempio, 990.

  3. Consenti il traffico del connettore alla risorsa che dovrebbe ricevere il traffico del connettore.

    Utilizza i flag allow e target-tags per creare una regola firewall in entrata indirizzata alla risorsa nella rete VPC a cui vuoi che il connettore VPC possa accedere. Imposta la priorità per questa regola su un valore inferiore a quello della regola eseguita nel passaggio precedente.

    gcloud compute firewall-rules create RULE_NAME \
    --allow=PROTOCOLS \
    --source-tags=VPC_CONNECTOR_NETWORK_TAG \
    --direction=INGRESS \
    --network=VPC_NETWORK \
    --target-tags=RESOURCE_TAG \
    --priority=PRIORITY
    

    Sostituisci quanto segue:

    • RULE_NAME: il nome della nuova regola firewall. Ad esempio, allow-vpc-connector-for-select-resources.
    • PROTOCOLS: i protocolli che vuoi consentire dal connettore VPC. Può essere uno o più valori di stringa sensibili alle maiuscole tcp, udp, icmp, esp, ah, sctp o qualsiasi numero di protocollo IP. Per i protocolli basati su porte, tcp, udp e sctp, è possibile specificare un elenco di porte o intervalli di porte di destinazione a cui si applica la regola. Per ulteriori informazioni, consulta la documentazione per il flag allow.
    • VPC_CONNECTOR_NETWORK_TAG: il tag di rete del connettore universale se vuoi limitare l'accesso a tutti i connettori (compresi quelli eventualmente creati in futuro) o al tag di rete univoco se vuoi limitare l'accesso a un connettore specifico. Deve corrispondere al tag di rete specificato nel passaggio precedente.

      • Tag di rete universale: vpc-connector
      • Tag di rete univoco: vpc-connector-REGION-CONNECTOR_NAME

        Sostituisci:

        • REGION: area del connettore da limitare
        • CONNECTOR_NAME: il nome del connettore che vuoi limitare

      Per ulteriori informazioni sui tag di rete del connettore, consulta Tag di rete.

    • VPC_NETWORK: il nome della tua rete VPC

    • RESOURCE_TAG: il tag di rete per la risorsa VPC a cui vuoi accedere con il connettore VPC.

    • PRIORITY: un numero intero inferiore alla priorità impostata nel passaggio precedente. Ad esempio, se imposti la priorità per la regola creata nel passaggio precedente su 990, prova 980.

Per ulteriori informazioni sui flag obbligatori e facoltativi per la creazione di regole firewall, consulta la documentazione di gcloud compute firewall-rules create.

Intervallo CIDR

I passaggi seguenti mostrano come creare regole di traffico in entrata che limitano l'accesso di un connettore alla rete VPC in base all'intervallo CIDR di un connettore.

  1. Assicurati di disporre delle autorizzazioni necessarie per inserire regole firewall. Devi avere uno dei seguenti ruoli Identity and Access Management (IAM):

  2. Rifiuta il traffico dei connettori nella rete VPC.

    Crea una regola del firewall in entrata con priorità inferiore a 1000 sulla rete VPC in modo da impedire il traffico in entrata dall'intervallo CIDR del connettore. L'override della regola del firewall implicito creato da Serverless VPC Access viene eseguito sulla rete VPC per impostazione predefinita.

    gcloud compute firewall-rules create RULE_NAME \
    --action=DENY \
    --source-ranges=VPC_CONNECTOR_CIDR_RANGE \
    --direction=INGRESS \
    --network=VPC_NETWORK \
    --priority=PRIORITY
    

    Sostituisci quanto segue:

    • RULE_NAME: il nome della nuova regola firewall. Ad esempio, deny-vpc-connector.
    • VPC_CONNECTOR_CIDR_RANGE: intervallo CIDR del connettore di cui stai limitando l'accesso
    • VPC_NETWORK: il nome della tua rete VPC
    • PRIORITY: un numero intero compreso tra 1 e 999. Ad esempio, 990.
  3. Consenti il traffico del connettore alla risorsa che dovrebbe ricevere il traffico del connettore.

    Utilizza i flag allow e target-tags per creare una regola firewall in entrata indirizzata alla risorsa nella rete VPC a cui vuoi che il connettore VPC possa accedere. Imposta la priorità per questa regola su un valore inferiore a quello della regola eseguita nel passaggio precedente.

    gcloud compute firewall-rules create RULE_NAME \
    --allow=PROTOCOLS \
    --source-ranges=VPC_CONNECTOR_CIDR_RANGE \
    --direction=INGRESS \
    --network=VPC_NETWORK \
    --target-tags=RESOURCE_TAG \
    --priority=PRIORITY
    

    Sostituisci quanto segue:

    • RULE_NAME: il nome della nuova regola firewall. Ad esempio, allow-vpc-connector-for-select-resources.
    • PROTOCOLS: i protocolli che vuoi consentire dal connettore VPC. Può essere uno o più valori di stringa sensibili alle maiuscole tcp, udp, icmp, esp, ah, sctp o qualsiasi numero di protocollo IP. Per i protocolli basati su porte, tcp, udp e sctp, è possibile specificare un elenco di porte o intervalli di porte di destinazione a cui si applica la regola. Per ulteriori informazioni, consulta la documentazione per il flag allow.
    • VPC_CONNECTOR_CIDR_RANGE: intervallo CIDR relativo al connettore a cui stai limitando l'accesso
    • VPC_NETWORK: il nome della tua rete VPC
    • RESOURCE_TAG: il tag di rete per la risorsa VPC a cui vuoi accedere con il connettore VPC.
    • PRIORITY: un numero intero inferiore alla priorità impostata nel passaggio precedente. Ad esempio, se imposti la priorità per la regola creata nel passaggio precedente su 990, prova 980.

Per ulteriori informazioni sui flag obbligatori e facoltativi per la creazione di regole firewall, consulta la documentazione di gcloud compute firewall-rules create.

Limita accesso con regole di traffico in uscita

I passaggi seguenti mostrano come creare regole in uscita per limitare l'accesso al connettore.

  1. Assicurati di disporre delle autorizzazioni necessarie per inserire regole firewall. Devi avere uno dei seguenti ruoli di Identity and Access Management (IAM):

  2. Rifiuta il traffico in uscita dal connettore.

    Crea una regola firewall in uscita sul connettore di accesso VPC serverless per evitare che invii traffico in uscita.

    gcloud compute firewall-rules create RULE_NAME \
    --action=DENY \
    --direction=EGRESS \
    --target-tags=VPC_CONNECTOR_NETWORK_TAG \
    --network=VPC_NETWORK \
    --priority=PRIORITY
    

    Sostituisci quanto segue:

    • RULE_NAME: il nome della nuova regola firewall. Ad esempio, deny-vpc-connector.
    • VPC_CONNECTOR_NETWORK_TAG: il tag di rete del connettore VPC universale se vuoi che la regola venga applicata a tutti i connettori VPC esistenti e a qualsiasi connettore VPC creato in futuro. Oppure, il tag di rete del connettore VPC univoco se vuoi controllare un connettore specifico.
    • VPC_NETWORK: il nome della tua rete VPC
    • PRIORITY: un numero intero compreso tra 1 e 999. Ad esempio, 990.
  3. Consenti il traffico in uscita quando la destinazione si trova nell'intervallo CIDR a cui vuoi che il connettore abbia accesso.

    Utilizza i flag allow e destination-ranges per creare una regola firewall che consenta il traffico in uscita dal connettore per un intervallo di destinazione specifico. Imposta l'intervallo di destinazione sul valore CIDR della risorsa nella tua rete VPC a cui vuoi che il connettore possa accedere. Imposta la priorità per questa regola su un valore inferiore rispetto alla priorità della regola eseguita nel passaggio precedente.

    gcloud compute firewall-rules create RULE_NAME \
    --allow=PROTOCOLS \
    --destination-ranges=RESOURCE_CIDR_RANGE \
    --direction=EGRESS \
    --network=VPC_NETWORK \
    --target-tags=VPC_CONNECTOR_NETWORK_TAG \
    --priority=PRIORITY
    

    Sostituisci quanto segue:

    • RULE_NAME: il nome della nuova regola firewall. Ad esempio, allow-vpc-connector-for-select-resources.
    • PROTOCOLS: i protocolli che vuoi consentire dal connettore VPC. Può essere uno o più valori di stringa sensibili alle maiuscole tcp, udp, icmp, esp, ah, sctp o qualsiasi numero di protocollo IP. Per i protocolli basati su porte, tcp, udp e sctp, è possibile specificare un elenco di porte o intervalli di porte di destinazione a cui si applica la regola. Per ulteriori informazioni, consulta la documentazione per il flag allow.
    • RESOURCE_CIDR_RANGE: intervallo CIDR del connettore di cui stai limitando l'accesso
    • VPC_NETWORK: il nome della tua rete VPC
    • VPC_CONNECTOR_NETWORK_TAG: il tag di rete del connettore VPC universale se vuoi che la regola venga applicata a tutti i connettori VPC esistenti e a qualsiasi connettore VPC creato in futuro. Oppure, il tag di rete del connettore VPC univoco se vuoi controllare un connettore specifico. Se nel passaggio precedente hai utilizzato il tag di rete univoco, usa il tag univoco.
    • PRIORITY: un numero intero inferiore alla priorità impostata nel passaggio precedente. Ad esempio, se imposti la priorità per la regola creata nel passaggio precedente su 990, prova 980.

Per ulteriori informazioni sui flag obbligatori e facoltativi per la creazione di regole firewall, consulta la documentazione per gcloud compute firewall-rules create.

Gestisci il connettore

Scollegare una funzione da una rete VPC

Puoi scollegare una funzione dalla tua rete VPC utilizzando la Google Cloud Console o l'interfaccia a riga di comando di Google Cloud:

Console

  1. Vai alla pagina Panoramica di Cloud Functions in Cloud Console:

    Vai a Cloud Functions

  2. Fai clic su una funzione esistente per passare alla relativa pagina dei dettagli, quindi fai clic su Modifica.

  3. Espandi le impostazioni avanzate facendo clic su IMPOSTAZIONE DI ESECUZIONE, CREAZIONE E CONNESSIONI.

  4. Nella scheda Connessioni nella sezione Impostazioni traffico in uscita, inserisci il nome del connettore nel campo Connettore VPC oppure cancella il campo per disconnettere il servizio da una rete VPC.

gcloud

Utilizza il flag --clear-vpc-connector per disconnettere la funzione dalla tua rete VPC:

gcloud functions deploy FUNCTION_NAME \
--clear-vpc-connector \
FLAGS...

dove:

  • FUNCTION_NAME è il nome della funzione.
  • CONNECTOR_NAME è il nome del connettore.
  • FLAGS... si riferisce ad altri flag che superi durante il deployment di funzioni.

I connettori continuano a essere addebitati anche se non hanno traffico e sono scollegati. Per maggiori dettagli, consulta la sezione Prezzi. Se non hai più bisogno del connettore, assicurati di eliminarlo per evitare di continuare la fatturazione.

Elimina un connettore

Prima di eliminare un connettore, assicurati che nessun servizio sia ancora connesso.

Per gli utenti di VPC condivisi che hanno configurato connettori nel progetto host VPC condiviso, puoi utilizzare il comando gcloud compute networks vpc-access connectors describe per elencare i progetti in cui sono presenti servizi che utilizzano un determinato connettore.

Per eliminare un connettore, utilizza Cloud Console o l'interfaccia a riga di comando di Google Cloud:

Console

  1. Vai alla pagina di panoramica dell'accesso VPC serverless in Cloud Console:

    Vai all'accesso VPC serverless

  2. Seleziona il connettore da eliminare.

  3. Fai clic su Elimina.

gcloud

Usa il seguente comando gcloud per eliminare un connettore:

gcloud compute networks vpc-access connectors delete CONNECTOR_NAME --region=REGION

Sostituisci quanto segue:

  • CONNECTOR_NAME con il nome del connettore da eliminare
  • REGION con l'area geografica in cui si trova il connettore

Risolvere i problemi

Autorizzazioni account di servizio

Per eseguire operazioni nel progetto Cloud, l'accesso VPC serverless utilizza l'account di servizio Serverless VPC Access Service Agent. L'indirizzo email di questo account di servizio ha il seguente modulo:

service-PROJECT_NUMBER@gcp-sa-vpcaccess.iam.gserviceaccount.com

Per impostazione predefinita, questo account di servizio ha il ruolo di Agente di servizio VPC serverless (roles/vpcaccess.serviceAgent). Le operazioni di Accesso VPC serverless potrebbero non riuscire se modifichi le autorizzazioni di questo account.

Errori

Se la creazione di un connettore genera un errore, prova quanto segue:

  • Specifica un intervallo IP interno RFC 1918 che non si sovrapponga ad alcuna prenotazione di indirizzo IP esistente nella rete VPC.
  • Concedi al tuo progetto l'autorizzazione per utilizzare le immagini VM di Compute Engine dal progetto con ID serverless-vpc-access-images. Per informazioni su come aggiornare di conseguenza i criteri dell'organizzazione, vedi Impostare i vincoli di accesso alle immagini.
  • Imposta il criterio dell'organizzazione constraints/compute.vmCanIpForward per consentire alle VM di abilitare l'inoltro IP.

Se hai specificato un connettore ma non riesci ancora ad accedere alle risorse nella tua rete VPC:

  • Assicurati che non siano presenti regole del firewall sulla rete VPC con priorità prima di 1000 che negano l'ingresso dall'intervallo IP del connettore.

Passaggi successivi