VPC con connettori

Puoi abilitare il tuo servizio o job Cloud Run per inviare traffico a un VPC di rete configurando un accesso VPC serverless di rete.

Prima di iniziare

  • Se non hai ancora una rete VPC nel progetto, creane una.

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

  • Nella console Google Cloud, assicurati che l'accesso VPC serverless L'API è abilitata per il tuo progetto.

    Abilita API

  • Ogni connettore di accesso VPC serverless richiede una propria subnet /28 per posizionare le istanze del connettore. Questa subnet non deve includere altre risorse oltre al connettore. Se non utilizzi il VPC condiviso, puoi crea una subnet che il connettore possa utilizzare o specifica un intervallo IP personalizzato inutilizzato per consentire al connettore di creare una subnet da usare. Se scegli l'IP personalizzato nell'intervallo di indirizzi, la subnet creata è nascosta e non può essere utilizzata nelle regole firewall e configurazioni NAT.

Crea connettore

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

Se il connettore si trova nello stesso progetto del rispettivo VPC rete, puoi creare un connettore utilizzando una subnet esistente oppure un connettore e una nuova subnet.

Se il connettore si trova in un progetto di servizio e utilizza una rete VPC condivisa, il connettore e la rete VPC associata si trovano in progetti diversi. Quando un connettore e la relativa rete VPC si trovano in progetti diversi, un amministratore della rete VPC condivisa deve creare la subnet del connettore nella rete VPC condivisa prima che tu possa creare il connettore e devi creare il connettore utilizzando una subnet esistente.

Per ulteriori informazioni sui requisiti delle subnet, consulta Subnet connettore requisiti.

Per informazioni sulla velocità effettiva del connettore, inclusi tipo di macchina e scalabilità, consulta Velocità effettiva e scalabilità.

Puoi creare un connettore utilizzando la console Google Cloud, Google Cloud CLI o Terraform.

Console

  1. Vai alla pagina di panoramica di Accesso VPC serverless.

    Vai ad Accesso VPC serverless

  2. Fai clic su Crea connettore.

  3. Nel campo Nome, inserisci un nome per il connettore corrispondente Denominazione di Compute Engine standard, con i requisiti aggiuntivi che il nome deve essere inferiore a 21 e i trattini (-) vengono conteggiati come due caratteri.

  4. Nel campo Regione, seleziona una regione per il connettore. Deve corrispondere alla regione del servizio serverless.

    Se il servizio o il job si trova nella regione us-central o europe-west, utilizza us-central1 o europe-west1.

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

  6. Nel campo Subnet, seleziona una delle seguenti opzioni:

    • Crea un connettore utilizzando una subnet esistente: seleziona la subnet esistente nel campo Subnet.

    • Crea un connettore e una nuova subnet:seleziona Intervallo IP personalizzato in nel campo Subnet. Poi, inserisci il primo indirizzo in un /28 CIDR non utilizzato (ad esempio 10.8.0.0/28) da utilizzare come intervallo di indirizzi IPv4 primario di una nuova subnet creata da Google Cloud nella rete VPC del connettore. Assicurati che l'intervallo IP non entri in conflitto con eventuali route esistenti nella rete VPC del connettore. Il nome della nuova subnet inizia con "aet-" .

  7. (Facoltativo) Per impostare le opzioni di scalabilità per un maggiore controllo Sul connettore, fai clic su Mostra impostazioni di scalabilità per visualizzare in un modulo di testo.

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

  9. Quando il connettore è pronto per l'uso, accanto al nome viene visualizzato un segno di spunta verde.

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. Aggiorna i componenti di gcloud alla versione più recente:

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

    gcloud services enable vpcaccess.googleapis.com
  4. Crea il connettore utilizzando una delle seguenti opzioni:

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

    • Crea un connettore utilizzando una subnet esistente:

      gcloud compute networks vpc-access connectors create CONNECTOR_NAME \
       --region REGION \
       --subnet SUBNET_NAME \
       --subnet-project HOST_PROJECT_ID \
       --min-instances MIN \
       --max-instances MAX \
       --machine-type MACHINE_TYPE

      Sostituisci quanto segue:

      • CONNECTOR_NAME: un nome per il connettore, nome corrispondente di Compute Engine tradizionali, con i requisiti aggiuntivi che il nome deve essere inferiore a 21 e i trattini (-) vengono conteggiati come due caratteri.
      • REGION: una regione per il connettore, corrispondente alla regione del servizio o del job serverless. Se il servizio o il job si trova in us-central o europe-west, utilizza us-central1 o europe-west1.
      • SUBNET_NAME: il nome della subnet esistente.
      • HOST_PROJECT_ID: l'ID progetto dell'host VPC condiviso. Se il connettore e la sottorete esistente si trovano nello stesso progetto, ometti il flag --subnet-project.
      • MIN: il numero minimo di istanze da utilizzare per il connettore. Utilizza un numero intero compreso tra 2 (il valore predefinito) e 9.
      • MAX: il numero massimo di istanze da utilizzare per il connettore. Utilizza un numero intero compreso tra 3 e 10 (valore predefinito). Se il connettore esegue lo scale up fino al numero massimo di istanze, non esegue lo scale down.
      • MACHINE_TYPE: deve essere uno dei seguenti valori: f1-micro, e2-micro o e2-standard-4.
    • Crea un connettore e una nuova subnet:

      gcloud compute networks vpc-access connectors create CONNECTOR_NAME \
       --region REGION \
       --network VPC_NETWORK \
       --range IP_RANGE
       --min-instances MIN \
       --max-instances MAX \
       --machine-type MACHINE_TYPE

      Sostituisci quanto segue:

      • CONNECTOR_NAME: un nome per il connettore, corrispondente alle convenzioni di denominazione di Compute Engine, con i requisiti aggiuntivi che il nome deve avere meno di 21 caratteri e che i trattini (-) contino come due caratteri.
      • REGION: una regione per il connettore, corrispondente alla del tuo job o job serverless. Se il servizio o il job si trova in us-central o europe-west, utilizza us-central1 o europe-west1.
      • VPC_NETWORK: il nome del VPC alla rete a cui collegare il connettore. Il connettore e La rete VPC deve trovarsi nello stesso progetto.
      • IP_RANGE: fornisci un CIDR /28 inutilizzato (per esempio 10.8.0.0/28) da utilizzare come intervallo di indirizzi IPv4 principale di una nuova subnet che Google Cloud crea rete VPC. Assicurati che l'intervallo IP non in conflitto con eventuali route esistenti nel rete VPC. Il nome della nuova sottorete inizia con il prefisso "aet-".
      • MIN: il numero minimo di istanze da utilizzare per il connettore. Utilizza un numero intero compreso tra 2 (il valore predefinito) e 9.
      • MAX: il numero massimo di istanze da utilizzare per il connettore. Utilizza un numero intero compreso tra 3 e 10 (valore predefinito). Se il connettore esegue lo scale up fino al numero massimo di istanze, non esegue lo scale down.
      • MACHINE_TYPE: deve essere uno dei seguenti: f1-micro, e2-micro o e2-standard-4.
  5. Prima di utilizzarlo, verifica che il connettore sia nello stato READY:

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

    Sostituisci quanto segue:

    • CONNECTOR_NAME: il nome del connettore; questo è il nome specificato nel passaggio precedente.
    • REGION: la regione del connettore; questo è il regione specificata nel passaggio precedente.

    L'output deve contenere la riga state: READY.

Terraform

Puoi utilizzare una risorsa Terraform 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 Terraform per creare una rete VPC e una subnet, quindi di rete.

module "test-vpc-module" {
  source       = "terraform-google-modules/network/google"
  version      = "~> 9.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"
  version    = "~> 9.0"
  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
  ]
}

Configurare il servizio

Puoi configurare il servizio Cloud Run in modo da utilizzare un connettore di accesso VPC serverless per l'invio del traffico in uscita. Puoi farlo utilizzando la console Google Cloud, Google Cloud CLI o il file YAML quando crei un nuovo servizio o esegui il deployment di una nuova revisione:

Console

  1. Nella console Google Cloud, vai a Cloud Run:

    Vai a Cloud Run

  2. Fai clic su Esegui il deployment del contenitore e seleziona Servizio per configurare un nuovo servizio. Se stai configurando un servizio esistente, fai clic sul servizio, quindi fai clic su Modifica ed esegui il deployment di una nuova revisione.

  3. Se stai configurando un nuovo servizio, compila il servizio iniziale delle impostazioni, poi fai clic su Container, volumi, networking, sicurezza per espandere di configurazione del servizio.

  4. Fai clic sulla scheda Networking.

    immagine

    • Nel campo Rete, scegli una delle seguenti opzioni dal menu:

      • Per disconnettere il tuo servizio da un VPC rete, seleziona Nessuna.
      • Per utilizzare un connettore esistente, selezionalo dall'elenco a discesa o seleziona Personalizzato per utilizzare un connettore esistente non mostrato nell'elenco a discesa.
      • Per creare un nuovo connettore, seleziona Aggiungi nuovo connettore VPC. Consulta Creare un connettore di accesso VPC serverless per i dettagli sulla creazione di un connettore.
      • Per Routing del traffico, seleziona una delle seguenti opzioni:
        • Instrada al VPC solo richieste a IP privati per inviare solo a indirizzi interni attraverso la rete VPC.
        • Instrada tutto il traffico al VPC per inviare tutto il traffico in uscita attraverso la rete VPC.
  5. Fai clic su Crea o Esegui il deployment.

gcloud

Per specificare un connettore durante il deployment, utilizza il --vpc-connector flag:

gcloud run deploy SERVICE --image IMAGE_URL --vpc-connector CONNECTOR_NAME

Sostituisci:

  • SERVICE con il nome del servizio.
  • IMAGE_URL con un riferimento all'immagine container, per ad esempio us-docker.pkg.dev/cloudrun/container/hello:latest. Se utilizzi Artifact Registry, il repository REPO_NAME deve essere già creati. L'URL ha la forma LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG .
  • CONNECTOR_NAME con il nome del tuo di rete.

Per collegare, aggiornare o rimuovere un connettore per un servizio esistente, utilizza il gcloud run services update con uno dei seguenti flag, a seconda delle esigenze:

Ad esempio, per collegare o aggiornare un connettore:

gcloud run services update SERVICE --vpc-connector CONNECTOR_NAME

Sostituisci:

  • SERVICE con il nome del servizio.
  • CONNECTOR_NAME con il nome del connettore.

YAML

  1. Se stai creando un nuovo servizio, salta questo passaggio. Se stai aggiornando un servizio esistente, scarica la relativa configurazione YAML:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Aggiungi o aggiorna l'attributo run.googleapis.com/vpc-access-connector nell'attributo annotations nell'attributo di primo livello spec:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
    spec:
      template:
        metadata:
          annotations:
            run.googleapis.com/vpc-access-connector: CONNECTOR_NAME
          name: REVISION

    Sostituisci:

    • SERVICE con il nome del tuo dal servizio Cloud Run.
    • CONNECTOR_NAME con il nome del connettore.
    • REVISION con un nuovo nome di revisione o eliminala (se presente). Se fornisci un nuovo nome per la revisione, deve soddisfare i seguenti criteri:
      • Inizia con SERVICE-
      • Contiene solo lettere minuscole, numeri e -
      • Non termina con -
      • Non deve superare i 63 caratteri
  3. Crea o aggiorna il servizio utilizzando il seguente comando:

    gcloud run services replace service.yaml

Terraform

Puoi utilizzare una risorsa Terraform per creare un servizio e configurarlo in modo da utilizzare il connettore.

# Cloud Run service
resource "google_cloud_run_v2_service" "gcr_service" {
  name     = "mygcrservice"
  location = "us-west1"

  deletion_protection = false # set to "true" in production

  template {
    containers {
      image = "us-docker.pkg.dev/cloudrun/container/hello"
      resources {
        limits = {
          cpu    = "1000m"
          memory = "512Mi"
        }
      }
      # the service uses this SA to call other Google Cloud APIs
      # service_account_name = myservice_runtime_sa
    }

    scaling {
      # Limit scale up to prevent any cost blow outs!
      max_instance_count = 5
    }

    vpc_access {
      # Use the VPC Connector
      connector = google_vpc_access_connector.connector.id
      # all egress from the service should go through the VPC Connector
      egress = "ALL_TRAFFIC"
    }
  }
}

Configura il job

Dopo aver creato un connettore di accesso VPC serverless, puoi configurare il tuo job Cloud Run per utilizzare il connettore. Puoi farlo utilizzando la console Google Cloud, Google Cloud CLI o YAML quando crei un nuovo job:

Console

  1. Nella console Google Cloud, vai alla pagina dei job Cloud Run:

    Vai a Cloud Run

  2. Fai clic su Esegui il deployment del contenitore e seleziona Job per compilare la pagina delle impostazioni iniziali del job. Se stai configurando un job esistente, seleziona il job, quindi fai clic su Modifica.

  3. Fai clic su Contenitore, variabili e secret, connessioni, sicurezza per espandere la pagina delle proprietà del job.

  4. Fai clic sulla scheda Connessioni.

    immagine

    • Nel campo Rete, scegli una delle seguenti opzioni dal menu:

      • Per disconnettere il job da un VPC rete, seleziona Nessuna.
      • Per utilizzare un connettore esistente, selezionalo dall'elenco a discesa o seleziona Personalizzato per utilizzare un connettore esistente non mostrato nell'elenco a discesa.
      • Per creare un nuovo connettore, seleziona Aggiungi nuovo connettore VPC.

        Per informazioni dettagliate sulla creazione di un connettore, consulta Creare un connettore di accesso VPC serverless.
  5. Fai clic su Crea o Aggiorna.

gcloud

Per specificare un connettore durante il deployment del job, utilizza il --vpc-connector flag:

gcloud run jobs create JOB --image IMAGE_URL --vpc-connector CONNECTOR_NAME

Sostituisci:

  • JOB con il nome del tuo job.
  • IMAGE_URL con un riferimento all'immagine del container, ad esempio us-docker.pkg.dev/cloudrun/container/hello:latest. Se utilizzi Artifact Registry, il repository REPO_NAME deve essere già stato creato. L'URL ha la forma LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG .
  • CONNECTOR_NAME con il nome del tuo di rete.

Per collegare, aggiornare o rimuovere un connettore per un servizio esistente, utilizza il comando gcloud run jobs update con uno dei seguenti flag, a seconda delle esigenze:

Ad esempio, per collegare o aggiornare un connettore:

gcloud run jobs update JOB --vpc-connector CONNECTOR_NAME

Sostituisci:

  • JOB con il nome del tuo job.
  • CONNECTOR_NAME con il nome del tuo di rete.

YAML

Puoi scaricare e visualizzare una configurazione job esistente utilizzando il gcloud run jobs describe --format export, che restituisce una risposta pulita in formato YAML. Puoi quindi modificare i campi descritti di seguito e caricare il file YAML modificato usando il comando gcloud run jobs replace. Assicurati di modificare solo i campi come descritto nella documentazione.

  1. Per visualizzare e scaricare la configurazione:

    gcloud run jobs describe JOB --format export > job.yaml
  2. Aggiungi o aggiorna l'attributo run.googleapis.com/vpc-access-connector nell'attributo annotations nell'attributo di primo livello spec:

    apiVersion: serving.knative.dev/v1
      kind: Job
      metadata:
        name: JOB
      spec:
        template:
          metadata:
            annotations:
              run.googleapis.com/vpc-access-connector: CONNECTOR_NAME

    Sostituisci:

    • JOB con il nome del tuo job Cloud Run.
    • CONNECTOR_NAME con il nome del tuo connettore. L'attributo run.googleapis.com/vpc-access-connector è richiesto quando specifichi un'impostazione in uscita.
  3. Sostituisci il job con la nuova configurazione utilizzando il seguente comando:

    gcloud run jobs replace job.yaml

Accesso alle risorse VPC

Puoi limitare l'accesso dal tuo connettore utilizzando regole firewall e e puoi aggiungere ulteriori limitazioni configurando il traffico in uscita impostazioni di traffico in entrata.

Regole firewall e impostazioni dei criteri

Regole firewall richieste per i connettori nei progetti di servizi

Se crei un connettore in una rete VPC autonoma o nel progetto host di una rete VPC condiviso, Google Cloud crea le regole firewall necessarie per il funzionamento del connettore. Per ulteriori informazioni, consulta Regole firewall per i connettori nelle reti VPC autonome o nei progetti host del VPC condiviso.

Tuttavia, se crei un connettore in un progetto di servizio e i target del connettore su una rete VPC condiviso nel progetto host, devi aggiungere regole firewall per consentire il traffico necessario per il funzionamento del connettore dai seguenti intervalli:

Questi intervalli vengono utilizzati dall'infrastruttura Google sottostante Cloud Run, dalle funzioni Cloud Run e dall'ambiente standard di App Engine. Tutte le richieste da che questi indirizzi IP provengono dall'infrastruttura di Google per che ogni risorsa serverless comunica solo con a cui è connesso.

Devi inoltre consentire il traffico dalla subnet del connettore alle risorse nella tua rete VPC.

Per eseguire questi passaggi, devi avere uno dei seguenti ruoli nel progetto ospitante:

Per una configurazione di base, applica le regole per consentire le risorse serverless in qualsiasi progetto di servizio connesso alla rete VPC condiviso per inviare richieste a per qualsiasi risorsa nella rete.

Per applicare queste regole, esegui questi comandi nel progetto host:

  1. Crea regole firewall che consentano le richieste dal server serverless di Google dell'infrastruttura e del controllo di integrità per raggiungere tutti i connettori nel in ogni rete. In questi comandi, le porte UDP e TCP vengono utilizzate rispettivamente come proxy e per i controlli di integrità HTTP. Non modificare le porte specificate.

    gcloud compute firewall-rules create serverless-to-vpc-connector \
        --allow tcp:667,udp:665-666,icmp \
        --source-ranges=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=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=35.191.0.0/16,35.191.192.0/18,130.211.0.0/22 \
        --direction=INGRESS \
        --target-tags vpc-connector \
        --network=VPC_NETWORK

    Sostituisci VPC_NETWORK con il nome del Rete VPC a cui collegare il connettore.

  2. Crea una regola firewall in entrata sulla rete VPC per consentire richieste dai connettori che hanno come target questa rete:

    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 l'accesso a tutte le risorse nella rete. Per limitare le risorse che il tuo ambiente serverless può raggiungere utilizzando l'accesso VPC serverless, consulta Limitare l'accesso della VM del connettore alle risorse di rete VPC.

Crea regole firewall per connettori specifici

Seguendo la procedura in Regole firewall obbligatorie per i connettori nei progetti di servizio genera regole firewall che si applicano a tutti i connettori, entrambi attuali e quelli creati in futuro. Se non vuoi, ma vuoi invece creare regole solo per connettori specifici, puoi definire l'ambito delle regole in modo che si applichino solo a questi 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 quest'ultimo formato per limitare l'ambito delle regole firewall a un connettore specifico.
  • Intervalli IP: utilizza questa opzione solo per le regole in uscita, perché non funziona per e le regole in entrata. Puoi usare l'intervallo IP del connettore per limitare l'ambito delle regole firewall a un singolo VPC di rete.

Limita l'accesso delle VM del connettore alle risorse di rete VPC

Puoi limitare l'accesso del connettore alle risorse nella sua destinazione Rete VPC mediante firewall VPC regole o regole in firewall criteri. Puoi farlo delle limitazioni utilizzando una delle seguenti strategie:

  • Crea regole di ingresso i cui target rappresentano le risorse a cui vuoi limitare l'accesso delle VM del connettore e le cui origini rappresentano le VM del connettore.
  • Creare regole in uscita le cui destinazioni rappresentano le VM del connettore Le destinazioni rappresentano le risorse per cui vuoi limitare la VM del connettore a cui accedono.

Gli esempi riportati di seguito illustrano ciascuna strategia.

Limitare l'accesso utilizzando le regole per il traffico in entrata

Scegli tag di rete o intervalli CIDR per controllare il traffico in entrata nella rete VPC.

Tag di rete

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

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

  2. Nega il traffico del connettore nella rete VPC.

    Crea una regola firewall in entrata con priorità inferiore a 1000 sulla rete VPC per negare l'ingresso dal tag di rete del connettore. Questa operazione sostituisce la regola firewall implicita creata da Accesso VPC serverless sulla rete VPC per impostazione predefinita.

    gcloud compute firewall-rules create RULE_NAME \
    --action=DENY \
    --rules=PROTOCOL \
    --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.

    • PROTOCOL: uno o più protocolli che vuoi consentire dal tuo connettore VPC. I protocolli supportati sono tcp o udp. Ad esempio, tcp:80,udp consente il traffico TCP attraverso la porta 80 e il traffico UDP. Per ulteriori informazioni, vedi la documentazione per allow flag.

      Per motivi di sicurezza e convalida, puoi anche configurare regole di rifiuto per bloccare il traffico per i seguenti protocolli non supportati: ah, all, esp, icmp, ipip e sctp.

    • VPC_CONNECTOR_NETWORK_TAG: il tag della rete del connettore universale se vuoi limitare l'accesso per tutti i connettori (inclusi eventuali connettori creati in futuro) oppure il tag di rete univoco se vuoi limitare l'accesso per un connettore specifico.

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

        Sostituisci:

        • REGION: la regione del connettore che vuoi limitare
        • CONNECTOR_NAME: il nome del connettore che vuoi limitare

      Per scoprire di più sui tag di rete dei connettori, consulta Tag di rete.

    • VPC_NETWORK: il nome della tua rete VPC

    • PRIORITY: un numero intero compreso tra 0 e 65535. Ad esempio, 0 imposta il valore la priorità più alta.

  3. Consenti il traffico del connettore alla risorsa che deve riceverlo.

    Utilizza i flag allow e target-tags per creare una regola del firewall di ingresso che abbia come target la risorsa nella rete VPC a cui vuoi che acceda il connettore VPC. Imposta la priorità di questa regola su un valore inferiore rispetto alla priorità della regola creata nel passaggio precedente.

    gcloud compute firewall-rules create RULE_NAME \
    --allow=PROTOCOL \
    --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.

    • PROTOCOL: uno o più protocolli che vuoi consentire dal connettore VPC. I protocolli supportati sono tcp o udp. Ad esempio, tcp:80,udp consente il traffico TCP attraverso la porta 80 e il traffico UDP. Per ulteriori informazioni, consulta la documentazione relativa al flag allow.

    • VPC_CONNECTOR_NETWORK_TAG: il tag della rete del connettore universale se vuoi limitare l'accesso per tutti i connettori (inclusi eventuali connettori creati in futuro) oppure il tag di rete univoco se vuoi limitare l'accesso per un connettore specifico. Deve corrispondere alla rete specificato nel passaggio precedente.

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

        Sostituisci:

        • REGION: la regione del connettore che vuoi limitare
        • CONNECTOR_NAME: il nome del connettore che vuoi limitare

      Per scoprire di più sui tag di rete dei connettori, 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 che acceda il connettore VPC

    • PRIORITY: un numero intero minore della priorità impostata al passaggio precedente. Ad esempio, se imposti la priorità per la regola che hai creato nel passaggio precedente a 990, prova a 980.

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

Intervallo CIDR

I passaggi seguenti mostrano come creare regole in entrata che limitano un l'accesso del connettore alla tua rete VPC in base al Intervallo CIDR.

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

  2. Nega il traffico del connettore sulla rete VPC.

    Crea una regola firewall in entrata con priorità inferiore a 1000 sul tuo Rete VPC per negare il traffico in entrata dal CIDR del connettore intervallo. Questa operazione sostituisce la regola firewall implicita creata da Accesso VPC serverless sulla rete VPC per impostazione predefinita.

    gcloud compute firewall-rules create RULE_NAME \
    --action=DENY \
    --rules=PROTOCOL \
    --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.

    • PROTOCOL: uno o più protocolli che vuoi consentire dal connettore VPC. I protocolli supportati sono tcp o udp. Ad esempio, tcp:80,udp consente il traffico TCP attraverso la porta 80 e il traffico UDP. Per ulteriori informazioni, consulta la documentazione relativa al flag allow.

      Per motivi di sicurezza e convalida, puoi anche configura regole di negazione per bloccare il traffico per i seguenti elementi non supportati protocolli: ah, all, esp, icmp, ipip e sctp.

    • VPC_CONNECTOR_CIDR_RANGE: l'intervallo CIDR del connettore di cui stai limitando l'accesso

    • VPC_NETWORK: il nome della tua rete VPC

    • PRIORITY: un numero intero compreso tra 0 e 65535. Ad esempio, 0 imposta il valore la priorità più alta.

  3. Consenti il traffico del connettore alla risorsa che deve riceverlo.

    Utilizza i flag allow e target-tags per creare una regola del firewall di ingresso che abbia come target la risorsa nella rete VPC a cui vuoi che acceda il connettore VPC. Imposta la priorità di questa regola su un valore inferiore rispetto alla priorità della regola creata nel passaggio precedente.

    gcloud compute firewall-rules create RULE_NAME \
    --allow=PROTOCOL \
    --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.

    • PROTOCOL: uno o più protocolli che vuoi consentire dal tuo connettore VPC. I protocolli supportati sono tcp o udp. Ad esempio, tcp:80,udp consente il traffico TCP attraverso la porta 80 e il traffico UDP. Per ulteriori informazioni, vedi la documentazione per allow flag.

    • VPC_CONNECTOR_CIDR_RANGE: l'intervallo CIDR per il connettore l'utente di 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 che acceda il connettore VPC

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

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

Limitare l'accesso mediante regole in uscita

I passaggi riportati di seguito mostrano come creare regole di uscita per limitare l'accesso del connettore.

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

  2. Rifiutare il traffico in uscita dal connettore.

    Crea una regola firewall in uscita sull'accesso VPC serverless per impedirgli di inviare traffico in uscita, ad eccezione del e prestabilite, in qualsiasi destinazione.

    gcloud compute firewall-rules create RULE_NAME \
    --action=DENY \
    --rules=PROTOCOL \
    --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.

    • PROTOCOL: uno o più protocolli che vuoi consentire dal tuo connettore VPC. I protocolli supportati sono tcp o udp. Ad esempio, tcp:80,udp consente il traffico TCP tramite la porta 80 e il traffico UDP. Per ulteriori informazioni, consulta la documentazione relativa al flag allow.

      Per motivi di sicurezza e convalida, puoi anche configura regole di negazione per bloccare il traffico per i seguenti elementi non supportati protocolli: ah, all, esp, icmp, ipip e sctp.

    • 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 eventuali connettori VPC creati in futuro. In alternativa, 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 0 e 65535. Ad esempio, 0 imposta il valore la priorità più alta.

  3. Consenti il traffico in uscita quando la destinazione è nell'intervallo CIDR desiderato al tuo connettore.

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

    gcloud compute firewall-rules create RULE_NAME \
    --allow=PROTOCOL \
    --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.

    • PROTOCOL: uno o più protocolli che vuoi consentire dal tuo connettore VPC. I protocolli supportati sono tcp o udp. Ad esempio, tcp:80,udp consente il traffico TCP tramite la porta 80 e il traffico UDP. Per ulteriori informazioni, vedi la documentazione per allow flag.

    • RESOURCE_CIDR_RANGE: l'intervallo CIDR del connettore la cui accesso limitato

    • VPC_NETWORK: il nome della 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 eventuali connettori VPC creati in futuro. Oppure, il tag di rete univoco del connettore VPC per controllare un connettore specifico. Se hai utilizzato l'attributo nel passaggio precedente, utilizza il tag di rete univoco.

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

Per ulteriori informazioni sui flag obbligatori e facoltativi per la creazione di un firewall di Google Cloud, fai riferimento documentazione relativa a gcloud compute firewall-rules create.

Gestisci il tuo connettore

Per impostazione predefinita, solo le richieste a determinate destinazioni di indirizzi IPv4 interni (incluse le destinazioni IPv4 interne risolte dalle risposte DNS) vengono instradate tramite un connettore Serverless VPC Access. In alcuni casi, tuttavia, potresti volere che tutte le richieste in uscita dal tuo servizio o job vengano inoltrate alla tua rete VPC.

L'accesso VPC serverless supporta solo il routing del traffico IPv4. Il traffico IPv6 non è supportato, anche se hai route IPv6 nella rete VPC.

Per controllare il routing delle richieste in uscita dal tuo servizio o job, puoi impostare il traffico in uscita VPC verso una delle seguenti opzioni:

  • Instrada al VPC solo richieste a IP privati: impostazione predefinita. Il traffico viene instradato attraverso la rete VPC solo se i pacchetti che generano traffico hanno destinazioni corrispondenti alle seguenti:

    I pacchetti diretti a qualsiasi altra destinazione vengono instradati da Cloud Run a internet (non tramite una rete VPC).

  • Instrada tutto il traffico al VPC: il traffico viene sempre instradato tramite la rete VPC associata al connettore per tutte le destinazioni dei pacchetti. Devi utilizzare questa opzione nelle seguenti circostanze:

    • Se devi inviare il traffico a intervalli di subnet VPC con di indirizzi IP esterni utilizzati privatamente. Per ulteriori informazioni Intervalli di subnet VPC, consulta IPv4 valido nella pagina Panoramica delle subnet.
    • Se devi inviare traffico a un endpoint Private Service Connect per le API di Google il cui indirizzo è un indirizzo IP esterno utilizzato privatamente. Per ulteriori informazioni sugli endpoint di Private Service Connect per le API di Google, consulta Accedere alle API di Google tramite gli endpoint.
    • Se devi inviare traffico a qualsiasi altra destinazione di indirizzo IP esterno utilizzato privatamente che sia instradabile all'interno della rete VPC del connettore. Alcuni esempi di altre destinazioni che coprono indirizzi IP esterni utilizzati privatamente possono includere intervalli di subnet di peering (e intervalli di subnet di peering creati da Intervalli di indirizzi IP allocati per i servizi) e le destinazioni accessibili utilizzando route personalizzate nello script VPC.

    Se la tua rete VPC include una route predefinita, i pacchetti possono a internet dopo essere stato elaborato dal connettore se Configurare un gateway Cloud NAT per fornire i servizi NAT alla subnet utilizzata dal connettore. Questi pacchetti sono soggetti alle route nella tua rete VPC e le regole firewall che si applicano rete VPC. Puoi utilizzare la configurazione della route e del firewall controllare il traffico in uscita da internet per tutte le richieste in uscita inviate dalla tua funzione attraverso un connettore di accesso VPC serverless.

Controllare il traffico in uscita dei servizi

Puoi specificare un'impostazione di traffico VPC in uscita utilizzando il metodo console Google Cloud, Google Cloud CLI o file YAML quando crei un nuovo servizio o eseguire il deployment di una nuova revisione:

Console

  1. Nella console Google Cloud, vai a Cloud Run:

    Vai a Cloud Run

  2. Fai clic su Esegui il deployment del contenitore e seleziona Servizio per configurare un nuovo servizio. Se stai configurando un servizio esistente, fai clic sul servizio, poi su Modifica ed esegui il deployment di una nuova revisione.

  3. Se stai configurando un nuovo servizio, compila il servizio iniziale delle impostazioni, poi fai clic su Container, volumi, networking, sicurezza per espandere di configurazione del servizio.

  4. Fai clic sulla scheda Networking.

    immagine

    • Dopo aver selezionato un connettore VPC, seleziona Instrada al VPC solo richieste a IP privati o Instrada tutto il traffico al VPC.
  5. Fai clic su Crea o Esegui il deployment.

gcloud

Per specificare un'impostazione di uscita, utilizza il flag --vpc-egress. Puoi specificare un'impostazione di uscita durante il deployment:

gcloud run deploy SERVICE \
--image IMAGE_URL \
--vpc-connector CONNECTOR_NAME \
--vpc-egress EGRESS_SETTING

Sostituisci:

  • SERVICE con il nome del servizio.
  • IMAGE_URL con un riferimento all'immagine del container, ad esempio us-docker.pkg.dev/cloudrun/container/hello:latest. Se utilizzi Artifact Registry, il repository REPO_NAME deve essere già stato creato. L'URL ha la forma LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG di Google.
  • CONNECTOR_NAME con il nome del tuo di rete.
  • EGRESS_SETTING con un valore impostazione in uscita:
    • all-traffic: invia tutto il traffico in uscita tramite il connettore.
    • private-ranges-only: invia solo il traffico agli indirizzi interni tramite il connettore VPC.

Puoi anche aggiornare una proprietà esistente e modifica l'impostazione del traffico in uscita:

gcloud run services update SERVICE --vpc-egress EGRESS_SETTING

Sostituisci:

YAML

  1. Se stai creando un nuovo servizio, salta questo passaggio. Se stai aggiornando un servizio esistente, scarica la relativa configurazione YAML:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Aggiungi o aggiorna l'attributo run.googleapis.com/vpc-access-egress nell'attributo annotations nell'attributo di primo livello spec:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
    spec:
      template:
        metadata:
          annotations:
            run.googleapis.com/vpc-access-connector: CONNECTOR_NAME
            run.googleapis.com/vpc-access-egress: EGRESS_SETTING
          name: REVISION

    Sostituisci:

    • SERVICE con il nome del tuo servizio Cloud Run.
    • CONNECTOR_NAME con il nome del connettore. L'attributo run.googleapis.com/vpc-access-connector è obbligatorio quando viene specificata un'impostazione di uscita.
    • EGRESS_SETTING con uno dei seguenti valori:
      • all-traffic: invia tutto il traffico in uscita attraverso il connettore.
      • private-ranges-only: invia solo il traffico agli indirizzi interni tramite il connettore VPC.
      • REVISION con un nuovo nome di revisione o eliminala (se presente). Se fornisci un nuovo nome per la revisione, deve soddisfare i seguenti criteri:
        • Inizia con SERVICE-
        • Contiene solo lettere minuscole, numeri e -
        • Non termina con -
        • Non deve superare i 63 caratteri
  3. Crea o aggiorna il servizio utilizzando il comando seguente:

    gcloud run services replace service.yaml

Controllare il traffico in uscita dei job

Puoi specificare un'impostazione di traffico in uscita della VPC utilizzando la console Google Cloud, Google Cloud CLI o il file YAML quando crei o aggiorni un job:

Console

  1. Nella console Google Cloud, vai alla pagina dei job Cloud Run:

    Vai a Cloud Run

  2. Fai clic su Esegui il deployment del container e seleziona Job per compilare il job iniziale. nella pagina delle impostazioni. Se stai configurando un job esistente, seleziona il job, quindi fai clic su Modifica.

  3. Fai clic su Contenitore, variabili e secret, connessioni, sicurezza per espandere la pagina delle proprietà del job.

  4. Fai clic sulla scheda Connessioni.

    immagine

    • Dopo aver selezionato un connettore, seleziona Instrada al VPC solo richieste a IP privati o Instrada tutto il traffico al VPC.
  5. Fai clic su Crea o Aggiorna.

gcloud

Per specificare un'impostazione di uscita, utilizza il flag --vpc-egress. Puoi specificare un'impostazione di traffico in uscita durante il processo di deployment del job:

gcloud run jobs create JOB \
--image IMAGE_URL \
--vpc-connector CONNECTOR_NAME \
--vpc-egress EGRESS_SETTING

Sostituisci:

  • JOB con il nome del tuo job.
  • IMAGE_URL con un riferimento all'immagine del container, ad esempio us-docker.pkg.dev/cloudrun/container/hello:latest. Se utilizzi Artifact Registry, il repository REPO_NAME deve essere già stato creato. L'URL ha la forma LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG di Google.
  • CONNECTOR_NAME con il nome del connettore.
  • EGRESS_SETTING con un valore dell'impostazione di uscita:
    • all-traffic: invia tutto il traffico in uscita attraverso il connettore.
    • private-ranges-only: invia il traffico solo agli indirizzi interni attraverso il connettore VPC.

Puoi anche aggiornare una proprietà esistente del job e modifica l'impostazione del traffico in uscita:

gcloud run jobs update JOB --vpc-egress EGRESS_SETTING

Sostituisci:

YAML

Puoi scaricare e visualizzare una configurazione job esistente utilizzando il gcloud run jobs describe --format export, che restituisce una risposta pulita in formato YAML. Puoi quindi modificare i campi descritti di seguito e caricare il file YAML modificato usando il comando gcloud run jobs replace. Assicurati di modificare solo i campi come descritto nella documentazione.

  1. Sostituisci il job con la nuova configurazione utilizzando il seguente comando:

    gcloud run jobs replace job.yaml
  2. Aggiungi o aggiorna l'attributo run.googleapis.com/vpc-access-egress in Attributo annotations sotto l'attributo spec di primo livello:

    apiVersion: serving.knative.dev/v1
      kind: Job
      metadata:
        name: JOB
      spec:
        template:
          metadata:
            annotations:
              run.googleapis.com/vpc-access-connector: CONNECTOR_NAME
              run.googleapis.com/vpc-access-egress: EGRESS_SETTING

    Sostituisci:

    • JOB con il nome del tuo job Cloud Run.
    • CONNECTOR_NAME con il nome del connettore. L'attributo run.googleapis.com/vpc-access-connector è obbligatorio quando si specifica un'impostazione di uscita.
    • EGRESS_SETTING con uno dei seguenti:
      • all-traffic: invia tutto il traffico in uscita attraverso il connettore.
      • private-ranges-only: invia il traffico solo agli indirizzi interni attraverso il connettore VPC.
  3. Sostituisci il job con la nuova configurazione utilizzando il seguente codice: :

    gcloud run jobs replace job.yaml

Visualizza le impostazioni del connettore

Puoi visualizzare le impostazioni attuali del connettore di accesso VPC serverless per il tuo servizio o job utilizzando la console Google Cloud o gcloud riga di comando questo strumento:

Console

  1. Vai a Cloud Run

  2. Fai clic sul servizio o sul job che ti interessa per aprire la pagina dei dettagli.

    • Per un servizio, fai clic sulla scheda Revisioni.

    • Per un job, fai clic sulla scheda Configurazione.

L'impostazione del connettore di accesso VPC serverless è elencata in nella scheda Networking.

gcloud

  1. Utilizza il comando seguente per visualizzare le impostazioni per il tuo servizio:

    gcloud run services describe SERVICE
  2. Utilizza il seguente comando per visualizzare le impostazioni del tuo job:

    gcloud run jobs describe JOB
  3. Individua l'impostazione del connettore di accesso VPC serverless la configurazione restituita.

Disconnettersi da una rete VPC

Scollegare un servizio

Puoi disconnettere un servizio dalla tua rete VPC utilizzando la console Google Cloud o Google Cloud CLI:

Console

  1. Nella console Google Cloud, vai a Cloud Run:

    Vai a Cloud Run

  2. Fai clic su Esegui il deployment del contenitore e seleziona Servizio per configurare un nuovo servizio. Se stai configurando un servizio esistente, fai clic sul servizio, quindi fai clic su Modifica ed esegui il deployment di una nuova revisione.

  3. Se stai configurando un nuovo servizio, compila il servizio iniziale delle impostazioni, poi fai clic su Container, volumi, networking, sicurezza per espandere di configurazione del servizio.

  4. Fai clic sulla scheda Networking.

    immagine

    • Nel campo Rete, seleziona Nessuna per scollegare il servizio da una rete VPC.
  5. Fai clic su Crea o Esegui il deployment.

gcloud

Per disconnettere un servizio, utilizza il gcloud run services update con il seguente flag:

gcloud run services update SERVICE --clear-vpc-connector
  • Sostituisci SERVICE con il nome del servizio.

Gli addebiti continuano a essere applicati ai connettori anche se non generano traffico e sono disconnessi. Per maggiori dettagli, consulta la pagina dei prezzi. Se non hai più bisogno del connettore, assicurati di eliminarlo per evitare la fatturazione continua.

Scollegare un job

Puoi disconnettere un job dalla tua rete VPC utilizzando la console Google Cloud o Google Cloud CLI:

Console

  1. Nella console Google Cloud, vai alla pagina dei job Cloud Run:

    Vai a Cloud Run

  2. Fai clic su Esegui il deployment del container e seleziona Job per compilare il job iniziale. nella pagina delle impostazioni. Se stai configurando un job esistente, seleziona il job, quindi fai clic su Modifica.

  3. Fai clic su Contenitore, variabili e secret, connessioni, sicurezza per espandere la pagina delle proprietà del job.

  4. Fai clic sulla scheda Connessioni.

    immagine

    • Nel campo Rete, seleziona Nessuna per scollegare il job da una rete VPC.
  5. Fai clic su Crea o Aggiorna.

gcloud

Per disconnettere un job, utilizza gcloud run jobs update con il seguente flag:

--clear-vpc-connector

gcloud run jobs update JOB --clear-vpc-connector

Sostituisci JOB con il nome del tuo job.

Gli addebiti continuano a essere applicati ai connettori anche se non generano traffico e sono disconnessi. Per i dettagli, consulta i prezzi. Se non hai più bisogno del connettore, assicurati di eliminarlo per evitare e continuare la fatturazione.

Aggiornare un connettore

Puoi aggiornare e monitorare i seguenti attributi del connettore utilizzando la console Google Cloud, Google Cloud CLI o l'API:

  • Tipo di macchina (istanza)
  • Numero minimo e massimo di istanze
  • Velocità effettiva recente, numero di istanze e utilizzo della CPU

Aggiorna tipo di macchina

Console

  1. Vai alla pagina di panoramica di Accesso VPC serverless.

    Vai all'accesso VPC serverless

  2. Seleziona il connettore da modificare e fai clic su Modifica.

  3. Nell'elenco Tipo di istanza, seleziona la macchina che preferisci (istanza) di testo. Per saperne di più sui tipi di macchina disponibili, consulta la documentazione Velocità effettiva e scalabilità.

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. Per aggiornare il tipo di macchina del connettore, esegui il seguente comando nel terminal:

    gcloud beta compute networks vpc-access connectors update CONNECTOR_NAME --region=REGION --machine-type=MACHINE_TYPE
    Sostituisci quanto segue:

    • CONNECTOR_NAME: il nome del tuo connettore
    • REGION: il nome della regione del connettore
    • MACHINE_TYPE: il tipo di macchina che preferisci. Per informazioni sui tipi di macchine disponibili, consulta la documentazione su Throughput e scalabilità.

Riduci il numero minimo e massimo di istanze

Per diminuire il numero minimo e massimo di istanze, devi farlo le seguenti:

  1. Crea un nuovo connettore con i valori che preferisci.
  2. Aggiorna il servizio o la funzione per utilizzare il nuovo connettore.
  3. Elimina il vecchio connettore dopo aver spostato il relativo traffico.

Consulta Creare un connettore di accesso VPC serverless per ulteriori informazioni.

Aumenta il numero minimo e massimo di istanze

Console

  1. Vai alla pagina di panoramica di Accesso VPC serverless.

    Vai all'accesso VPC serverless

  2. Seleziona il connettore da modificare e fai clic su Modifica.

  3. Nel campo Istanze minime, seleziona il numero minimo di istanze che preferisci.

    Il valore più piccolo possibile per questo campo è il valore corrente. Il valore possibile più elevato per questo campo è il valore corrente nel campo Istanze massime meno 1. Ad esempio, se il valore nel Numero massimo di istanze è 8, il valore più grande possibile per il Numero minimo di istanze è 7.

  4. Nel campo Numero massimo di istanze, seleziona il numero massimo che preferisci. di Compute Engine.

    Il valore più piccolo possibile per questo campo è il valore corrente. La il valore massimo possibile per questo campo è 10.

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. Per aumentare il numero minimo o massimo di istanze per il connettore, esegui questo comando nel tuo terminale:

    gcloud beta compute networks vpc-access connectors update CONNECTOR_NAME --region=REGION --min-instances=MIN_INSTANCES --max-instances=MAX_INSTANCES
    Sostituisci quanto segue:

  • CONNECTOR_NAME: il nome del tuo connettore
  • REGION: il nome della regione del connettore
  • MIN_INSTANCES: il numero minimo di istanze preferito.
    • Il valore più piccolo possibile per questo campo è il valore corrente di min_instances. Per trovare il valore corrente, consulta Trova i valori degli attributi correnti.
    • Il valore più grande possibile per questo campo è l'attuale max_instances meno 1, perché min_instances deve essere inferiore a max_instances. Ad esempio, se max_instances è 8, il valore più grande possibile è 7. Se il connettore utilizza il valore predefinito max-instances di 10, il valore massimo possibile di questo campo è 9. Per trovare il valore di max-instances, vedi Trova i valori degli attributi correnti.
  • MAX_INSTANCES:

    • Il valore più piccolo possibile per questo campo è il valore corrente di max_instances. Per trovare il valore corrente, consulta Trovare i valori degli attributi attuali.
    • Il valore massimo possibile per questo campo è 10.

    Se vuoi aumentare solo il numero minimo di istanze, ma non il numero devi specificare il numero massimo di istanze. Al contrario, se vuoi aggiornare solo il numero massimo di istanze non è il numero minimo, devi comunque specificare il numero minimo di istanze. Per mantenere il numero minimo o massimo di istanze al loro valore attuale. specificare il valore attuale. Per trovare il valore corrente, consulta Trovare i valori degli attributi attuali.

Trovare i valori degli attributi correnti

Per trovare i valori degli attributi attuali per il connettore, esegui quanto segue nel terminale:

gcloud compute networks vpc-access connectors describe CONNECTOR_NAME --region=REGION --project=PROJECT
Sostituisci quanto segue:

  • CONNECTOR_NAME: il nome del connettore
  • REGION: il nome della regione del connettore
  • PROJECT: il nome del tuo progetto Google Cloud

Monitorare l'utilizzo del connettore

Monitorare l'utilizzo nel tempo può aiutarti a determinare quando modificare le impostazioni di un connettore. Ad esempio, se si verificano picchi di utilizzo della CPU, puoi provare ad aumentare il numero massimo di istanze per ottenere risultati migliori. O se stai raggiungendo il limite effettiva, potresti decidere di passare a un tipo di macchina più grande.

Per visualizzare i grafici relativi al throughput, al numero di istanze e alle metriche sull'utilizzo della CPU del connettore nel tempo utilizzando la console Google Cloud:

  1. Vai alla pagina di riepilogo Accesso VPC serverless.

    Vai all'accesso VPC serverless

  2. Fai clic sul nome del connettore che vuoi monitorare.

  3. Seleziona il numero di giorni che vuoi visualizzare tra 1 e 90.

  4. Nel grafico Velocità effettiva, passa il mouse sopra il grafico per visualizzare la velocità effettiva recente del connettore.

  5. Nel grafico Numero di istanze, passa il mouse sopra il grafico per visualizzare di istanze utilizzate di recente dal connettore.

  6. Nel grafico Utilizzo CPU, passa il mouse sopra il grafico per visualizzare la l'utilizzo recente della CPU da parte del connettore. Il grafico mostra l'utilizzo della CPU distribuito tra le istanze per i percentile 50, 95 e 99.

Elimina un connettore

Prima di eliminare un connettore, assicurati che non siano ancora collegati servizi o job.

Gli utenti VPC condiviso che configurano i connettori nel progetto host VPC condiviso possono utilizzare il comando gcloud compute networks vpc-access connectors describe per elencare i progetti in cui sono presenti servizi o job che utilizzano un determinato connettore.

Per eliminare un connettore, utilizza la console Google Cloud o Google Cloud CLI:

Console

  1. Vai alla pagina di panoramica di Accesso VPC serverless nella console Google Cloud:

    Vai all'accesso VPC serverless

  2. Seleziona il connettore da eliminare.

  3. Fai clic su Elimina.

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. Utilizza 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 la regione in cui si trova il connettore

Risoluzione dei problemi

Autorizzazioni account di servizio

Per eseguire operazioni nel tuo progetto Google Cloud, L'accesso VPC serverless utilizza Account di servizio dell'agente di servizio di accesso VPC serverless. Questo servizio l'indirizzo email dell'account ha il seguente formato:

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

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

Prestazioni di rete scadenti o utilizzo elevato della CPU inattiva

L'utilizzo di un singolo connettore per migliaia di istanze può causare prestazioni il peggioramento e l'aumento dell'utilizzo della CPU inattiva. Per risolvere il problema, suddividi i servizi tra più connettori.

Errori

Errore: all'account di servizio serve il ruolo Agente di servizio

Se utilizzi il vincolo dei criteri dell'organizzazione 'Limita l'utilizzo dei servizi delle risorse' per bloccare Cloud Deployment Manager (deploymentmanager.googleapis.com), potresti visualizzare il seguente messaggio di errore:

Serverless VPC Access service account (service-<PROJECT_NUMBER>@gcp-sa-vpcaccess.iam.gserviceaccount.com) needs Serverless VPC Access Service Agent role in the project.

Imposta il criterio dell'organizzazione per rimuovere Deployment Manager dalla lista di blocco o aggiungerlo alla lista consentita.

Errore durante la creazione del connettore

Se la creazione di un connettore genera un errore, prova a procedere nel seguente modo:

  • Specifica una specifica RFC 1918 intervallo IP interno che non si sovrappone ad alcun indirizzo IP esistente delle tue risorse nella rete VPC.
  • Concedi al tuo progetto l'autorizzazione a utilizzare le immagini VM di Compute Engine dall' progetto con ID serverless-vpc-access-images. Per ulteriori informazioni come aggiornare i criteri dell'organizzazione di conseguenza, vedi Imposta i vincoli di accesso alle immagini.

Impossibile accedere alle risorse

Se hai specificato un connettore, ma non riesci comunque ad accedere alle risorse nel tuo rete VPC, assicurati che non siano presenti regole firewall Rete VPC con priorità inferiore a 1000 che nega il traffico in entrata dall'intervallo di indirizzi IP del tuo connettore.

Se configuri un connettore in un progetto di servizio VPC condiviso, assicurati che le regole del firewall consentano l'ingresso dall'infrastruttura serverless al connettore.

Errore di connessione rifiutata

Se ricevi connection refused o connection timeout errori che si riducono le prestazioni della rete, le tue connessioni potrebbero crescere senza limiti delle tue applicazioni serverless. Per limitare il numero massimo di connessioni utilizzate per istanza, utilizza una libreria client che supporti i pool di connessioni. Per esempi dettagliati di utilizzo dei pool di connessioni, vedi Gestire le connessioni ai database.

Errore di risorsa non trovata

Quando elimini una rete VPC o una regola firewall, potresti visualizzare un messaggio simile al seguente: The resource "aet-uscentral1-subnet--1-egrfw" was not found.

Per informazioni su questo errore e sulla relativa soluzione, consulta Errore: risorsa non trovata nella documentazione delle regole firewall VPC.

Passaggi successivi