Uscita VPC diretta con una rete VPC condiviso

Puoi consentire al servizio o al job Cloud Run di inviare traffico a una rete VPC condivisa utilizzando il traffico VPC diretto in uscita senza bisogno di un connettore di accesso VPC serverless.

Questa pagina descrive come configurare le autorizzazioni IAM di Cloud Run per utilizzare la subnet della rete VPC condiviso e poi posizionare il servizio o il job nella subnet condivisa.

Prima di iniziare

Quando utilizzi l'uscita VPC diretta, assicurati che la subnet abbia almeno qualche centinaio di indirizzi IP disponibili. Se il numero totale di istanze di tutti i tuoi servizi Cloud Run supera 100, ti consigliamo di avere almeno quattro volte (4 volte) il numero totale disponibile.

Limitazioni

Le seguenti limitazioni si applicano sia ai servizi che ai job Cloud Run:

  • Cloud Run supporta un throughput fino a 1 Gbps per singola istanza. Se si supera questa quantità, le prestazioni vengono limitate.
  • Una quota di utilizzo di Cloud Run limita il numero massimo di istanze che puoi configurare per utilizzare il traffico in uscita VPC diretto. Il numero massimo è configurato per revisione o esecuzione del job Cloud Run. Per aumentare i limiti predefiniti, consulta come aumentare le quote. Puoi controllare la tua quota utilizzando la console Google Cloud.

  • I servizi e i job Cloud Run potrebbero subire interruzioni di connessione durante gli eventi di manutenzione dell'infrastruttura di rete. Ti consigliamo di utilizzare librerie client in grado di gestire occasionali reimpostazioni della connessione.
Le seguenti limitazioni si applicano solo ai job Cloud Run e non ai servizi:
  • Il traffico VPC in uscita diretto per i job Cloud Run è disponibile solo in anteprima.
  • Per garantire l'esecuzione corretta dei job, utilizza l'uscita VPC diretta solo per i job che non richiedono più di 8 istanze simultanee e assicurati di prenotare almeno 1024 indirizzi IP.

I seguenti elementi non sono supportati dall'egress VPC diretto:

  • I log di flusso VPC non forniscono il nome del servizio o della revisione Cloud Run.
  • I log di flusso VPC non vengono registrati da risorse non VM come Cloud Run o macchine on-premise.
  • Logging delle regole firewall
  • Mirroring pacchetto
  • Network Intelligence Center
  • Traffico IPv6
  • NAT privato
  • Utilizzo dei tag di rete nelle regole firewall in entrata applicate alla risorsa di destinazione.
  • Utilizzo dell'identità di servizio come account di servizio di origine nelle regole del firewall in entrata applicate alla risorsa di destinazione.
  • Le regole del firewall non possono utilizzare i tag Resource Manager associati ai carichi di lavoro Cloud Run.
  • I job Cloud Run che vengono eseguiti per più di un'ora potrebbero subire interruzioni della connessione. Questi possono verificarsi durante gli eventi di manutenzione che eseguono la migrazione del job da una macchina all'altra. Il contenitore riceve un SIGTSTP segnale 10 secondi prima dell'evento e un SIGCONT segnale dopo l'evento. Dopo che il contenitore ha ricevuto il segnale SIGCONT, riprova a connetterti.

Configura le autorizzazioni IAM

Prima che Cloud Run in un progetto di servizio VPC condiviso possa accedere a una rete VPC condivisa, devi assicurarti che l'agente di servizio Cloud Run abbia autorizzazioni sufficienti per utilizzare la subnet.

  1. Per accedere alla rete VPC condiviso, concedi autorizzazioni sufficienti all'agente di servizio Cloud Run aggiungendo uno dei seguenti ruoli:

    • Utente di rete Compute (compute.networkUser) nel progetto host del VPC condiviso.

      Ad esempio, esegui il seguente comando:

      gcloud projects add-iam-policy-binding HOST_PROJECT_ID \
      --member "serviceAccount:service-SERVICE_PROJECT_NUMBER@serverless-robot-prod.iam.gserviceaccount.com" \
      --role "roles/compute.networkUser"

      Sostituisci quanto segue:

      • HOST_PROJECT_ID: l'ID del progetto host VPC condiviso.
      • SERVICE_PROJECT_NUMBER: il numero del progetto del servizio VPC condiviso in cui esegui il deployment del servizio o del job Cloud Run.
    • Visualizzatore della rete Compute (compute.networkViewer) nel progetto host del VPC condiviso e il ruolo Utente di rete Compute (compute.networkUser) nella subnet del VPC condiviso.

      Ad esempio, per concedere il ruolo Visualizzatore rete Compute alla subnet, esegui il seguente comando:

      gcloud compute networks subnets add-iam-policy-binding SUBNET_NAME \
        --region REGION \
        --member "serviceAccount:service-SERVICE_PROJECT_NUMBER@serverless-robot-prod.iam.gserviceaccount.com" \
        --role "roles/compute.networkUser" \
        --project HOST_PROJECT_ID

      Sostituisci quanto segue:

      • SUBNET_NAME: il nome della risorsa completo della sottorete in cui vuoi eseguire i servizi Cloud Run.
      • REGION: la regione del servizio Cloud Run, che deve corrispondere alla regione della sottorete.
      • SERVICE_PROJECT_NUMBER: il numero del progetto del servizio VPC condiviso in cui esegui il deployment del servizio o del job Cloud Run.
      • HOST_PROJECT_ID: l'ID del progetto host VPC condiviso.
  2. L'agente di servizio Cloud Run richiede il ruolo Agente di servizio Cloud Run nel progetto Cloud Run. Puoi verificare che il ruolo non sia stato rimosso manualmente eseguendo il seguente comando:

    gcloud projects get-iam-policy SERVICE_PROJECT_ID \
      --flatten bindings \
      --filter "bindings.role:roles/run.serviceAgent"

    Sostituisci SERVICE_PROJECT_ID con l'ID progetto del servizio o del job Cloud Run.

Per un controllo più granulare, puoi assicurarti che l'agente di servizio Cloud Run abbia le seguenti autorizzazioni:

  • compute.networks.get nel progetto host VPC condiviso
  • compute.subnetworks.get nel progetto host o nella subnet specifica
  • compute.subnetworks.use nel progetto host o nella subnet specifica
  • compute.addresses.get nel progetto di servizio VPC condiviso
  • compute.addresses.list nel progetto di servizio VPC condiviso
  • compute.addresses.createInternal nel progetto di servizio VPC condiviso
  • compute.addresses.deleteInternal nel progetto di servizio VPC condiviso

Allocazione degli indirizzi IP

Per posizionare il servizio o il job Cloud Run su una rete VPC, devi specificare una rete e una subnet. Cloud Run alloca gli indirizzi IP della tua subnet.

Gli indirizzi IP sono temporanei, quindi non creare criteri in base a singoli IP. Se devi creare un criterio in base agli IP, ad esempio nelle regole firewall, devi utilizzare l'intervallo di indirizzi IP dell'intera subnet.

Per modificare la rete o la subnet utilizzata dal servizio o dal job, esegui il deployment di una nuova revisione del servizio o esegui una nuova attività del job che utilizzi i nuovi valori di rete e subnet.

Scale up

Per consentire un rapido ridimensionamento in caso di picco di traffico, Cloud Run alloca gli indirizzi IP prima che siano necessari.

In un determinato momento, è probabile che esistano più indirizzi IP allocati rispetto al numero di istanze esistenti. Per assicurarti che Cloud Run possa ottenere indirizzi IP sufficienti, assicurati che la tua subnet abbia almeno qualche centinaio di indirizzi IP disponibili. Se il numero totale di istanze della sottorete in tutti i servizi e i job Cloud Run supera 100, ti consigliamo di avere almeno quattro volte (4 volte) il numero totale disponibile. Se Cloud Run non riesce ad allocare altri indirizzi IP, non può avviare altre istanze di servizio o attività di job finché non saranno disponibili altri indirizzi IP. Se lo spazio degli indirizzi IP è limitato, consulta Intervalli IP supportati per altre opzioni. Per l'efficienza e la facilità di gestione dell'allocazione IP, posiziona più servizi o job nella stessa sottorete.

Scalabilità verso il basso

Anche dopo che tutti i servizi o i job fare lo scale down a zero, Cloud Run preleva alcuni indirizzi IP dalla subnet per un massimo di 20 minuti nel caso in cui i servizi o i job debbano essere scalati di nuovo rapidamente. Ogni istanza richiede un indirizzo IP, ma Cloud Run riserva una subnet mask minima di /28 all'inizio. Una volta esaurite tutte le 16 istanze, Cloud Run crea una nuova sottorete.

Per eliminare la sottorete, devi prima eliminare o eseguire nuovamente il deployment dei servizi o dei job Cloud Run per interrompere l'utilizzo della sottorete, quindi attendere 1-2 ore.

Intervalli IP supportati

Cloud Run supporta i seguenti intervalli IPv4 per la tua subnet:

  • RFC 1918 (consigliato)
    • 10.0.0.0/8
    • 172.16.0.0/12
    • 192.168.0.0/16
  • RFC 6598
    • 100.64.0.0/10
  • Classe E (non consigliata per le configurazioni on-premise)
    • 240.0.0.0/4

Esegui il deployment di un servizio

Il traffico in uscita VPC diretto consente al servizio Cloud Run di inviare traffico a una rete VPC condiviso senza un connettore di accesso VPC serverless. I costi di rete si azzerano, proprio come il servizio stesso. Puoi anche aggiungere tag di rete direttamente nelle revisioni del servizio Cloud Run per una sicurezza di rete più granulare, ad esempio applicando regole del firewall VPC.

Puoi configurare l'uscita diretta VPC con un servizio utilizzando la console Google Cloud, Google Cloud CLI o YAML.

Console

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

    Vai a Cloud Run

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

  3. Se stai configurando un nuovo servizio, compila la pagina iniziale delle impostazioni del servizio in base alle tue esigenze, quindi fai clic su Contenitori, volumi, networking, sicurezza per espandere la pagina di configurazione del servizio.

  4. Fai clic sulla scheda Networking.

  5. Fai clic su Connettiti a un VPC per il traffico in uscita.

  6. Fai clic su Invia il traffico direttamente a un VPC.

  7. Seleziona Reti condivise con me.

  8. Nel campo Rete, seleziona la rete VPC condiviso a cui vuoi inviare il traffico.

  9. Nel campo Subnet, seleziona la subnet da cui il servizio riceve gli indirizzi IP.

  10. (Facoltativo) Inserisci i nomi dei tag di rete che vuoi associare al tuo servizio o ai tuoi servizi. I tag di rete vengono specificati a livello di revisione. Ogni revisione del servizio può avere diversi tag di rete, ad esempio network-tag-2.

  11. Per Routing del traffico, seleziona una delle seguenti opzioni:

    • Instrada al VPC solo richieste a IP privati per inviare solo trafico agli indirizzi interni tramite la rete VPC condiviso.
    • Instrada tutto il traffico al VPC per inviare tutto il traffico in uscita tramite la rete VPC condiviso.
  12. Fai clic su Crea o Esegui il deployment.

  13. Per verificare che il servizio si trovi nella rete VPC condiviso, fai clic sul servizio e poi sulla scheda Networking. La rete e la subnet sono elencate nella scheda VPC.

Ora puoi inviare richieste dal tuo servizio Cloud Run a qualsiasi risorsa sulla rete VPC condiviso, come consentito dalle regole del firewall.

gcloud

Per posizionare il servizio nella subnet condivisa, specifica i nomi delle risorse completi per la rete e la subnet VPC condiviso eseguendo il seguente comando:

gcloud run deploy SERVICE_NAME \
  --image IMAGE_URL \
  --network projects/HOST_PROJECT_ID/global/networks/VPC_NETWORK \
  --subnet projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME \
  --network-tags NETWORK_TAG_NAMES \
  --vpc-egress=EGRESS_SETTING \
  --region REGION \
  --max-instances MAX
  

Sostituisci quanto segue:

  • SERVICE_NAME: il nome del servizio Cloud Run.
  • IMAGE_URL: l'URL immagine del servizio.
  • HOST_PROJECT_ID: l'ID del progetto VPC condiviso.
  • VPC_NETWORK: il nome della risorsa completo della rete VPC condiviso.
  • REGION: la regione del servizio Cloud Run, che deve corrispondere alla regione della sottorete.
  • SUBNET_NAME: il nome risorsa completo della subnet.
  • (Facoltativo) NETWORK_TAG_NAMES con i nomi dei tag di rete separati da virgole che vuoi associare a un servizio. Per i servizi, i tag di rete vengono specificati a livello di revisione. Ogni revisione del servizio può avere tag di rete diversi, ad esempio network-tag-2.
  • EGRESS_SETTING con un valore dell'impostazione di uscita:
    • all-traffic: invia tutto il traffico in uscita tramite la rete VPC condiviso.
    • private-ranges-only: invia solo traffico agli indirizzi interni tramite la rete VPC condiviso.
  • MAX: il numero massimo di istanze da utilizzare per la rete VPC condiviso. Il numero massimo di istanze consentite per i servizi è 100.

Per maggiori dettagli e argomenti facoltativi, consulta le informazioni di riferimento su gcloud.

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. Aggiorna i seguenti attributi:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE_NAME
      labels:
        cloud.googleapis.com/location: REGION
    spec:
      template:
        metadata:
          annotations:
            run.googleapis.com/network-interfaces: '[{"network":"NETWORK","subnetwork":"SUBNET","tags":"NETWORK_TAG_NAMES"}]'
            run.googleapis.com/vpc-access-egress: EGRESS_SETTING
        spec:
          containers:
          - image: IMAGE

    Sostituisci:

    • SERVICE_NAME con il nome del servizio Cloud Run. I nomi dei servizi devono avere una lunghezza massima di 49 caratteri e devono essere univoci per regione e progetto.
    • REGION con la regione del servizio Cloud Run, che deve corrispondere alla regione della sottorete.
    • NETWORK con il nome risorsa completo della rete VPC condiviso.
    • SUBNET_NAME con il nome completo della risorsa della sottorete.
    • (Facoltativo) NETWORK_TAG_NAMES con i nomi dei tag di rete che vuoi associare a un servizio. Per i servizi, i tag di rete vengono specificati a livello di revisione. Ogni revisione del servizio può avere diversi tag di rete, ad esempio network-tag-2.
    • EGRESS_SETTING con un valore dell'impostazione di uscita:
      • all-traffic: invia tutto il traffico in uscita tramite la rete VPC condiviso.
      • private-ranges-only: invia solo traffico agli indirizzi interni tramite la rete VPC condiviso.
    • IMAGE con l'URL dell'immagine del container del servizio.
  3. Crea o aggiorna il servizio utilizzando il seguente comando:

    gcloud run services replace service.yaml

Terraform

Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.

  1. Aggiungi quanto segue al tuo file main.tf:

    /**
     * Copyright 2024 Google LLC
     *
     * Licensed under the Apache License, Version 2.0 (the "License");
     * you may not use this file except in compliance with the License.
     * You may obtain a copy of the License at
     *
     *      http://www.apache.org/licenses/LICENSE-2.0
     *
     * Unless required by applicable law or agreed to in writing, software
     * distributed under the License is distributed on an "AS IS" BASIS,
     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     * See the License for the specific language governing permissions and
     * limitations under the License.
     */
    
    # Example configuration of a Cloud Run service with direct VPC
    
    resource "google_cloud_run_v2_service" "default" {
      name     = "cloudrun-service"
      location = "us-central1"
    
      deletion_protection = false # set to "true" in production
    
      template {
        containers {
          image = "us-docker.pkg.dev/cloudrun/container/hello"
        }
        vpc_access {
          network_interfaces {
            network    = "default"
            subnetwork = "default"
            tags       = ["tag1", "tag2", "tag3"]
          }
        }
      }
    }
    

Se vuoi, rendete pubblico il servizio per consentire l'accesso non autenticato al servizio.

Crea un job

L'uscita VPC diretta consente al tuo job Cloud Run di inviare traffico a una rete VPC condiviso senza un connettore di accesso VPC serverless. Puoi anche aggiungere tag di rete direttamente ai job Cloud Run per una sicurezza di rete più granulare, ad esempio l'applicazione di regole firewall VPC.

Puoi configurare l'uscita diretta VPC con un job utilizzando la console Google Cloud, Google Cloud CLI o YAML.

Console

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

    Vai a Cloud Run

  2. Se stai configurando un nuovo job, fai clic su Esegui il deployment del contenitore e seleziona Job per compilare il modulo iniziale Crea job, se necessario. Se stai configurando un job esistente, fai clic sulla scheda Job, seleziona un job e poi 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.

  5. Fai clic su Connettiti a un VPC per il traffico in uscita.

  6. Fai clic su Invia il traffico direttamente a un VPC.

  7. Seleziona Reti condivise con me.

  8. Nel campo Rete, seleziona la rete VPC condiviso a cui vuoi inviare il traffico.

  9. Nel campo Subnet, seleziona la subnet da cui il job riceve gli indirizzi IP.

  10. (Facoltativo) Inserisci i nomi dei tag di rete che vuoi associare a un job. Per i job, i tag di rete vengono specificati a livello di esecuzione. Ogni esecuzione del job può avere tag di rete diversi, ad esempio network-tag-2.

  11. Per Routing del traffico, seleziona una delle seguenti opzioni:

    • Instrada al VPC solo richieste a IP privati per inviare solo trafico agli indirizzi interni tramite la rete VPC condiviso.
    • Instrada tutto il traffico al VPC per inviare tutto il traffico in uscita tramite la rete VPC condiviso.
  12. Fai clic su Crea o Aggiorna.

  13. Per verificare che il job si trovi nella rete VPC condiviso, fai clic sul job e poi sulla scheda Configurazione. La rete e la subnet sono elencate nella scheda VPC.

Ora puoi eseguire il tuo job Cloud Run e inviare richieste dal job a qualsiasi risorsa sulla rete VPC condiviso, come consentito dalle regole del firewall.

gcloud

Per posizionare il job nella subnet condivisa, specifica i nomi delle risorse completi per la rete e la subnet VPC condiviso eseguendo il seguente comando:

gcloud run jobs create JOB_NAME \
  --image IMAGE_URL \
  --network projects/HOST_PROJECT_ID/global/networks/VPC_NETWORK \
  --subnet projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME \
  --network-tags NETWORK_TAG_NAMES \
  --vpc-egress=EGRESS_SETTING \
  --region REGION \
  

Sostituisci quanto segue:

  • JOB_NAME: il nome del job Cloud Run.
  • IMAGE_URL: l'URL immagine del job.
  • HOST_PROJECT_ID: l'ID del progetto host VPC condiviso.
  • VPC_NETWORK: il nome della risorsa completo della rete VPC condiviso.
  • REGION: la regione per il tuo job Cloud Run, che deve corrispondere alla regione della subnet.
  • SUBNET_NAME: il nome completo della risorsa della subnet.
  • (Facoltativo) NETWORK_TAG_NAMES con i nomi separati da virgole dei tag di rete che vuoi associare a un job. Ogni esecuzione del job può avere diversi tag di rete, ad esempio network-tag-2.
  • EGRESS_SETTING con un valore dell'impostazione di uscita:
    • all-traffic: invia tutto il traffico in uscita tramite la rete VPC condiviso.
    • private-ranges-only: invia solo traffico agli indirizzi interni tramite la rete VPC condiviso.

Per maggiori dettagli e argomenti facoltativi, consulta le informazioni di riferimento su gcloud.

YAML

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

    gcloud run jobs describe JOB_NAME --format export > job.yaml
  2. Aggiorna i seguenti attributi:

    apiVersion: run.googleapis.com/v1
    kind: Job
    metadata:
      name: JOB_NAME
      annotations:
        run.googleapis.com/launch-stage: BETA
      labels:
        cloud.googleapis.com/location: REGION
    spec:
      template:
        metadata:
          annotations:
            run.googleapis.com/network-interfaces: '[{"network":"NETWORK","subnetwork":"SUBNET","tags":"NETWORK_TAG_NAMES"}]'
            run.googleapis.com/vpc-access-egress: EGRESS_SETTING
        spec:
          containers:
          - image: IMAGE

    Sostituisci:

    • JOB_NAME con il nome del tuo job Cloud Run. I nomi dei job devono avere una lunghezza massima di 49 caratteri e devono essere univoci per regione e progetto.
    • REGION con la regione del job Cloud Run, che deve corrispondere alla regione della sottorete.
    • NETWORK con il nome risorsa completo della rete VPC condiviso.
    • SUBNET con il nome completo della risorsa della sottorete.
    • (Facoltativo) NETWORK_TAG_NAMES con i nomi dei tag di rete che vuoi associare a un job. Per i job, i tag di rete vengono specificati a livello di esecuzione. Ogni esecuzione del job può avere tag di rete diversi, ad esempio network-tag-2.
    • EGRESS_SETTING con un valore dell'impostazione di uscita:
      • all-traffic: invia tutto il traffico in uscita tramite la rete VPC condiviso.
      • private-ranges-only: invia solo traffico agli indirizzi interni tramite la rete VPC condiviso.
    • IMAGE con l'URL dell'immagine del container del job.
  3. Crea o aggiorna il job utilizzando il seguente comando:

    gcloud run jobs replace job.yaml

Scollegare un servizio

Console

  • Per rimuovere il servizio dalla rete VPC condiviso:

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

      Vai a Cloud Run

    2. Fai clic sul servizio da rimuovere e poi su Modifica ed esegui il deployment di una nuova revisione.

    3. Fai clic sulla scheda Networking.

    4. Deseleziona Connettiti a un VPC per il traffico in uscita.

    5. Fai clic su Esegui il deployment.

    6. Per verificare che il servizio non sia più presente nella rete VPC condiviso, fai clic sulla scheda Networking. La rete e la subnet non sono più elencate nella scheda VPC.

  • Per rimuovere solo i tag di rete mantenendo il servizio connesso alla rete VPC condiviso:

    1. Fai clic sul servizio contenente i tag di rete da rimuovere e poi su Modifica ed esegui il deployment della nuova revisione.

    2. Fai clic sulla scheda Networking.

    3. Cancella i nomi dei tag di rete che non vuoi più associare al tuo servizio.

    4. Fai clic su Esegui il deployment.

gcloud

  • Per rimuovere il servizio dalla rete VPC condiviso, esegui il seguente comando:

    gcloud run services update SERVICE_NAME --region=REGION \
    --clear-network
  • Per rimuovere solo i tag di rete mantenendo il servizio connesso alla rete VPC condiviso, esegui il seguente comando:

    gcloud run services update SERVICE_NAME --region=REGION \
    --clear-network-tags

    Sostituisci quanto segue:

    • SERVICE_NAME: il nome del servizio Cloud Run.
    • REGION: la regione per il servizio Cloud Run.

YAML

  • Per rimuovere il servizio dalla rete VPC condiviso:

    1. Scarica la configurazione YAML del servizio:

      gcloud run services describe SERVICE_NAME --format export > service.yaml
    2. Rimuovi i seguenti contenuti dal file service.yaml:

      run.googleapis.com/network-interfaces: '[{"network":"NETWORK","subnetwork":"SUBNET","tags":"NETWORK_TAG_NAMES"}]'

      Dove

      • NETWORK: il nome della risorsa completo della rete VPC condiviso.
      • SUBNET: il nome risorsa completo della subnet.
      • (Facoltativo) NETWORK_TAG_NAMES: i nomi dei tag di rete se li hai associati a un servizio.
    3. Aggiorna il servizio utilizzando il seguente comando:

      gcloud run services replace service.yaml
  • Per rimuovere solo i tag di rete mantenendo il servizio connesso alla rete VPC condiviso:

    1. Scarica la configurazione YAML del servizio:

      gcloud run services describe SERVICE_NAME --format export > service.yaml
    2. Rimuovi la variabile tags dai contenuti del file service.yaml, lasciando invariate le variabili network e subnetwork, come mostrato nell'esempio seguente:

      run.googleapis.com/network-interfaces: '[{"network":"NETWORK","subnetwork":"SUBNET"}]'

      Sostituisci quanto segue:

      • NETWORK: il nome della risorsa completo della rete VPC condiviso.
      • SUBNET: il nome risorsa completo della subnet.
    3. Aggiorna il servizio utilizzando il seguente comando:

      gcloud run services replace service.yaml

Scollegare un job

Console

  • Per rimuovere il job dalla rete VPC condiviso:

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

      Vai a Cloud Run

    2. Fai clic sul job da rimuovere e poi su Modifica ed esegui il deployment di una nuova revisione.

    3. Fai clic sulla scheda Configuration (Configurazione).

    4. Deseleziona Connettiti a un VPC per il traffico in uscita.

    5. Fai clic su Aggiorna.

    6. Per verificare che il job non sia più nella rete VPC condiviso, fai clic sulla scheda Configurazione. La rete e la subnet non sono più elencate nella scheda VPC.

  • Per rimuovere solo i tag di rete mantenendo il job connesso alla rete VPC condiviso:

    1. Fai clic sul job contenente i tag di rete da rimuovere, quindi su Modifica e implementa nuova revisione.

    2. Fai clic sulla scheda Connessioni.

    3. Cancella i nomi dei tag di rete che non vuoi più associare al tuo job.

    4. Fai clic su Aggiorna.

gcloud

  • Per rimuovere il job dalla rete VPC condiviso, esegui il seguente comando:

    gcloud run jobs update JOB_NAME --region=REGION \
      --clear-network
      
  • Per rimuovere solo i tag di rete mantenendo il job collegato alla rete VPC condiviso, esegui il seguente comando:

    gcloud run jobs update JOB_NAME --region=REGION \
      --clear-network-tags
      

    Sostituisci quanto segue:

    • JOB_NAME: il nome del job Cloud Run.
    • REGION: la regione per il tuo job Cloud Run.

YAML

  • Per rimuovere il job dalla rete VPC condiviso:

    1. Scarica la configurazione YAML del job:

      gcloud run jobs describe JOB_NAME --format export > job.yaml
    2. Rimuovi i seguenti contenuti dal file job.yaml:

      run.googleapis.com/network-interfaces: '[{"network":"NETWORK","subnetwork":"SUBNET","tags":"NETWORK_TAG_NAMES"}]'

      Dove

      • NETWORK: il nome della risorsa completo della rete VPC condiviso.
      • SUBNET: il nome risorsa completo della subnet.
      • (Facoltativo) NETWORK_TAG_NAMES: i nomi dei tag di rete se li hai associati a un job.
    3. Aggiorna il job utilizzando il seguente comando:

      gcloud run jobs replace job.yaml
  • Per rimuovere solo i tag di rete mantenendo il job connesso alla rete VPC condiviso:

    1. Scarica la configurazione YAML del job:

      gcloud run jobs describe JOB_NAME --format export > job.yaml
    2. Rimuovi i seguenti contenuti dal file job.yaml:

      run.googleapis.com/network-interfaces: '[{"network":"NETWORK","subnetwork":"SUBNET","tags":"NETWORK_TAG_NAMES"}]'

      Dove

      • NETWORK: il nome della risorsa completo della rete VPC condiviso.
      • SUBNET: il nome risorsa completo della subnet.
      • (Facoltativo) NETWORK_TAG_NAMES: i nomi dei tag di rete se li hai associati a un job.
    3. Aggiorna il job utilizzando il seguente comando:

      gcloud run jobs replace job.yaml

Risoluzione dei problemi

Impossibile eliminare la subnet

Per eliminare una subnet, devi prima eliminare tutte le risorse che la utilizzano. Se Cloud Run utilizza una subnet, devi disconnettere Cloud Run dalla rete VPC condiviso o spostarlo in un'altra subnet prima di eliminare la subnet.

Impossibile scollegare la rete VPC condiviso

Per scollegare la rete VPC condivisa nel progetto host, segui i passaggi per eseguire il deprovisioning del VPC condiviso e assicurati di scollegare eventuali servizi o job Cloud Run dalla rete VPC condivisa.

Per vedere quali risorse Cloud Run utilizzano la rete VPC condiviso, esegui il seguente comando:

gcloud compute shared-vpc list-associated-resources HOST_PROJECT_ID

Sostituisci HOST_PROJECT_ID con l'ID del progetto host VPC condiviso.

La subnet VPC diretta esaurisce gli indirizzi IP

Se la subnet della rete VPC condiviso esaurisce gli indirizzi IP, viene registrata da Cloud Logging. In questo caso, Cloud Run non può avviare altre istanze di servizio o attività di job finché non diventano disponibili altri indirizzi IP.

Visualizzare gli indirizzi IP allocati

Per vedere quali indirizzi IP sono stati allocati da Cloud Run, vai alla pagina Indirizzi IP nella console Google Cloud o esegui il seguente comando da Google Cloud CLI:

gcloud compute addresses list