VPC diretto in uscita con una rete VPC

Puoi abilitare il servizio o il job Cloud Run per inviare traffico a un rete VPC utilizzando il traffico VPC diretto in uscita senza È richiesto il connettore di accesso VPC serverless.

Prima di iniziare

  • Se non hai già una rete VPC nel progetto, creane uno.

  • Se utilizzi un VPC condiviso, consulta Connessione a una VPC condiviso condivisa

  • Se utilizzi una subnet VPC, la subnet deve essere /24 o più grande.

  • Per assicurarti di disporre di un numero sufficiente di indirizzi IP da utilizzare Cloud Run, tieni presente le seguenti condizioni:

    • La subnet in cui prevedi di eseguire il deployment di Cloud Run e revisioni devono avere almeno alcune centinaia di indirizzi IP disponibili.
    • In stato stabile, se il numero totale di istanze Cloud Run che utilizza la subnet sia di almeno 100, riserva un numero sufficiente di indirizzi IP per almeno 4 volte (4 volte) il numero di istanze. Quando una revisione fa lo scale down, tieni presente che Cloud Run conserva gli indirizzi IP per un massimo di 20 minuti. Per Ad esempio, se esegui l'upgrade delle revisioni in modo che revision 1 venga scalato da 100 le istanze fino a zero, mentre revision 2 scala da zero fino a 100 Cloud Run conserva gli indirizzi IP di revision 1 per un massimo di 20 minuti dopo lo scale down. In questo caso, durante il periodo di 20 minuti, devi prenota almeno 800 indirizzi IP ((100 + 100) * 4).

Limitazioni

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

  • Cloud Run supporta una velocità effettiva massima di 1 Gbps per singolo utente in esecuzione in un'istanza Compute Engine. Il superamento di questo importo determina una limitazione del rendimento.
  • Una quota di utilizzo di Cloud Run limita il numero massimo di istanze che puoi configurare per l'utilizzo VPC in uscita. Il numero massimo è configurato per Cloud Run una revisione o l'esecuzione di un job. Per aumentare i limiti predefiniti, consulta come aumentare quote. Puoi controllare la tua quota utilizzando la console Google Cloud.

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

Gli elementi seguenti non sono supportati dal VPC diretto in uscita:

  • I log di flusso VPC non forniscono il nome del o la revisione Cloud Run.
  • I log di flusso VPC non vengono creati da risorse non VM come di Cloud Run o di macchine on-premise.
  • Logging delle regole firewall
  • Mirroring pacchetto
  • Network Intelligence Center
  • Traffico IPv6
  • Secure Web Proxy
  • Utilizzare i tag di rete nelle regole firewall in entrata applicate alla risorsa di destinazione.
  • Utilizzo dell'identità del servizio come account di servizio di origine nelle regole firewall in entrata applicate al risorsa di destinazione.
  • Le regole firewall non possono utilizzare i tag Resource Manager collegati a Cloud Run carichi di lavoro con scale out impegnativi.
  • Potrebbero verificarsi job Cloud Run eseguiti per più di un'ora interruzioni di connessione. Questi possono verificarsi durante eventi di manutenzione che eseguono la migrazione del job da una macchina all'altra. Il container riceve Indicatore SIGTSTP 10 secondi prima dell'evento e un Indicatore SIGCONT dopo l'evento. Quando il container riceve Segnale SIGCONT, riprova a stabilire la connessione.

Allocazione degli indirizzi IP

Per inserire il tuo servizio o job Cloud Run su un 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 basati sui singoli IP. Se devi creare un criterio basato sugli IP, ad esempio nelle regole firewall, devi e utilizzare l'intervallo di indirizzi IP dell'intera subnet.

Per cambiare la rete o la subnet utilizzata dal tuo servizio o job, esegui il deployment di una nuova o eseguire una nuova attività di job che utilizza la nuova rete e la nuova subnet e i relativi valori.

Scale up

Per abilitare lo scale up rapido in caso di picco di traffico, Cloud Run alloca gli indirizzi IP prima che siano necessari.

È probabile che in un determinato momento ci siano più indirizzi IP allocati rispetto al numero di istanze esistenti. Per assicurarti che Cloud Run ottenere un numero sufficiente di indirizzi IP, assicurati che la subnet abbia almeno centinaia Indirizzi IP disponibili. Se il numero totale di istanze della subnet in tutto Cloud Run in aumento oltre il 100%, consigliamo di effettuare almeno 4 volte (4 volte) il numero totale disponibile. Se Cloud Run non può allocare altri indirizzi IP indirizzi IP, non può avviare altre istanze di servizio o attività job gli indirizzi IP esterni. Se lo spazio degli indirizzi IP è limitato, consulta Intervalli IP supportati per ulteriori opzioni. Per l'allocazione IP efficienza e facilità di gestione, impongono più servizi o job una subnet.

Scalabilità verso il basso

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

Per eliminare la subnet, devi prima eliminare o rieseguire il deployment di Cloud Run che non usi più la subnet e 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 con le configurazioni on-premise)
    • 240.0.0.0/4

Configura le autorizzazioni IAM

Assicurati che Cloud Run abbia accesso alla rete VPC utilizzando uno dei seguenti metodi:

  • Ruolo di Agente di servizio Cloud Run: per impostazione predefinita, L'agente di servizio Cloud Run ha Ruolo Agente di servizio Cloud Run (roles/run.serviceAgent) che contiene le autorizzazioni necessarie.

  • Autorizzazioni personalizzate: per un controllo più granulare, concedi la licenza a Cloud Run agente di servizio con le seguenti autorizzazioni aggiuntive per il progetto:

    • compute.networks.get
    • compute.subnetworks.get
    • compute.subnetworks.use nel progetto o nella subnet specifica
    • compute.addresses.get
    • compute.addresses.list
    • compute.addresses.createInternal
    • compute.addresses.deleteInternal
  • Ruolo Utente di rete Compute: se non utilizzi il ruolo predefinito al ruolo di Agente di servizio Cloud Run o alle autorizzazioni personalizzate, concedi la Ruolo Utente di rete Compute (roles/compute.networkUser) sull'account di servizio dell'agente di servizio Cloud Run eseguendo seguente comando:

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

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto.
    • PROJECT_NUMBER: il numero del progetto in cui di eseguire il deployment del tuo servizio o job Cloud Run.

Esegui il deployment di un servizio

Il traffico VPC diretto in uscita consente al servizio Cloud Run di inviare traffico a una rete VPC senza accesso VPC serverless di rete. I costi di rete vengono scalati fino a zero, proprio come il servizio stesso. Puoi usano i tag di rete anche direttamente sulle revisioni del servizio Cloud Run per una sicurezza di rete granulare.

Puoi configurare il traffico VPC diretto in uscita con un servizio utilizzando il metodo Console Google Cloud, Google Cloud CLI, YAML o Terraform.

Console

  1. Vai a Cloud Run

  2. Fai clic su Crea servizio se stai configurando un nuovo servizio in cui stai eseguendo il deployment. Se stai configurando e implementando servizio esistente, fai clic sul servizio e poi su Modifica ed esegui il deployment di una nuova revisione.

  3. Se stai configurando un nuovo servizio, compila il servizio iniziale pagina delle impostazioni in base alle tue esigenze, poi fai clic su Container, volumi, networking, sicurezza per espandi 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. Nel campo Rete, seleziona il VPC rete a cui vuoi inviare il traffico.

  8. Nel campo Subnet, seleziona la subnet alla quale il tuo servizio riceve IP . Puoi eseguire il deployment di più servizi sulla stessa subnet.

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

  10. 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.
  11. Fai clic su Crea o Esegui il deployment.

  12. Per verificare che il servizio sia nella tua rete VPC, fai clic su dal servizio, quindi fai clic 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, come consentito dal firewall le regole del caso.

gcloud

Per eseguire il deployment di un servizio Cloud Run senza un connettore da Google Cloud CLI:

  1. Assicurati che l'API Compute Engine sia abilitata per il tuo progetto:

    gcloud services enable compute.googleapis.com
    
  2. Esegui il deployment del tuo servizio Cloud Run con il comando seguente:

    gcloud run deploy SERVICE_NAME \
    --image=IMAGE_URL \
    --network=NETWORK \
    --subnet=SUBNET \
    --network-tags=NETWORK_TAG_NAMES \
    --vpc-egress=EGRESS_SETTING \
    --region=REGION
    

    Sostituisci:

    • SERVICE_NAME con il nome del tuo Cloud Run completamente gestito di Google Cloud.
    • 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
    • NETWORK con il nome del tuo VPC in ogni rete.
    • SUBNET con il nome della tua subnet. Puoi eseguire il deployment a più servizi o job sulla stessa subnet.
    • Facoltativo: NETWORK_TAG_NAMES con i nomi separati da virgole dei tag di rete da associare a un servizio. Per i servizi, i tag di rete è specificato a livello di revisione. Ogni revisione del servizio può avere diversi tag di rete, ad esempio network-tag-2.
    • EGRESS_SETTING con un valore impostazione in uscita:
      • all-traffic: invia tutto il traffico in uscita attraverso il VPC in ogni rete.
      • private-ranges-only: invia il traffico solo agli indirizzi interni attraverso la rete VPC.
    • REGION con una regione per il tuo servizio.
  3. Per verificare che il servizio sia nella tua rete VPC, esegui il seguente comando:

    gcloud run services describe SERVICE_NAME \
    --region=REGION
    

    Sostituisci:

    • SERVICE_NAME con il nome del tuo servizio.
    • REGION con la regione del servizio che specificato nel passaggio precedente.

    L'output deve contenere il nome della rete, della subnet e del traffico personalizzata, ad esempio:

    VPC access:
      Network:       default
      Subnet:        subnet
      Egress:        private-ranges-only
    

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

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 tuo Cloud Run completamente gestito di Google Cloud. I nomi dei servizi devono contenere al massimo 49 caratteri e devono essere univoci per regione e progetto.
    • REGION con la regione per il tuo servizio Cloud Run, che deve corrispondere alla regione della subnet.
    • NETWORK con il nome della tua rete VPC.
    • SUBNET con il nome della tua subnet. Puoi eseguire il deployment a più servizi o job sulla stessa subnet.
    • Facoltativo: NETWORK_TAG_NAMES con i nomi dei tag di rete da associare a un servizio. Per i servizi, i tag di rete è specificato a livello di revisione. Ogni revisione del servizio può avere diversi tag di rete, ad esempio network-tag-2.
    • EGRESS_SETTING con un valore impostazione in uscita:
      • all-traffic: invia tutto il traffico in uscita attraverso il VPC in ogni rete.
      • private-ranges-only: invia il traffico solo agli indirizzi interni attraverso la rete VPC.
    • IMAGE con l'URL dell'immagine del container di servizio.

    Puoi anche specificare altre configurazioni, come variabili di ambiente o limiti di memoria.

  3. Crea o aggiorna il servizio utilizzando il comando seguente:

    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"
    
      template {
        containers {
          image = "us-docker.pkg.dev/cloudrun/container/hello"
        }
        vpc_access {
          network_interfaces {
            network    = "default"
            subnetwork = "default"
            tags       = ["tag1", "tag2", "tag3"]
          }
        }
      }
    }
    

(Facoltativo) Rendi pubblico il servizio se consentire l'accesso non autenticato al servizio.

Crea un job

Il traffico VPC diretto in uscita consente al job Cloud Run di inviare traffico a un Rete VPC senza accesso VPC serverless di rete.

Puoi configurare il traffico VPC diretto in uscita con un job utilizzando il metodo Console Google Cloud, Google Cloud CLI o YAML.

Console

  1. Vai a Cloud Run

  2. Se stai configurando un nuovo job, fai clic sulla scheda Job e compila la pagina iniziale delle impostazioni del job, se necessario. Se stai configurando un'istanza job esistente, fai clic sul job e poi su Modifica.

  3. Fai clic su Contenitore, variabili e Secret, connessioni, sicurezza a espandi 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. Nel campo Rete, seleziona la rete VPC a cui vuoi indirizzare il traffico.

  8. Nel campo Subnet, seleziona la subnet alla quale il tuo job riceve IP . Puoi eseguire più job sulla stessa subnet.

  9. 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.
  10. (Facoltativo) Inserisci i nomi dei tag di rete che vuoi associare al tuo servizio o ai tuoi servizi. I tag di rete vengono è specificato a livello di revisione. Ogni revisione del servizio può avere tag di rete, ad esempio network-tag-2.

  11. (Facoltativo) Inserisci i nomi dei tag di rete che vuoi associare al tuo job o ai tuoi job. Per i job, i tag di rete a livello di esecuzione. Ogni esecuzione del job può avere tag di rete, ad esempio network-tag-2.

  12. Fai clic su Crea o Aggiorna.

  13. Per verificare che il job sia nella tua rete VPC, fai clic su il job, quindi fai clic sulla scheda Configurazione. La rete e la subnet sono elencato nella scheda VPC.

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

gcloud

Per creare un job Cloud Run senza un connettore da Google Cloud CLI:

  1. Assicurati che l'API Compute Engine sia abilitata per il tuo progetto:

    gcloud services enable compute.googleapis.com
    
  2. Crea un job Cloud Run con il comando seguente:

    gcloud run jobs create JOB_NAME \
    --image=IMAGE_URL \
    --network=NETWORK \
    --subnet=SUBNET \
    --network-tags=NETWORK_TAG_NAMES \
    --vpc-egress=EGRESS_SETTING \
    --region=REGION
    

    Sostituisci:

    • JOB_NAME con il nome del tuo Cloud Run un lavoro.
    • IMAGE_URL con un riferimento all'immagine container, per esempio, us-docker.pkg.dev/cloudrun/container/job:latest
    • NETWORK con il nome del tuo VPC in ogni rete.
    • SUBNET con il nome della tua subnet. Puoi eseguire il deployment a più servizi o job sulla stessa subnet.
    • Facoltativo: NETWORK_TAG_NAMES con i nomi dei tag di rete da associare a un job. Per i job, i tag di rete a livello di esecuzione. Ogni esecuzione del job può avere reti diverse tag, ad esempio network-tag-2.
    • EGRESS_SETTING con un valore impostazione in uscita:
      • all-traffic: invia tutto il traffico in uscita attraverso il VPC in ogni rete.
      • private-ranges-only: invia il traffico solo agli indirizzi interni attraverso la rete VPC.
    • REGION con una regione per il tuo job.
  3. Per verificare che il job si trovi nella tua rete VPC, esegui seguente comando:

    gcloud run jobs describe JOB_NAME \
      --region=REGION
      

    Sostituisci:

    • JOB_NAME con il nome del tuo job.
    • REGION con la regione per il job che specificato nel passaggio precedente.

    L'output deve contenere il nome della rete e della subnet, esempio:

    VPC network:
      Network:       default
      Subnet:        default
    

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

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 Cloud Run un lavoro. I nomi dei job devono contenere al massimo 49 caratteri e devono essere univoci regione e progetto.
    • REGION con la regione per il tuo job Cloud Run, che deve corrispondere alla regione della subnet.
    • NETWORK con il nome della tua rete VPC.
    • SUBNET con il nome della tua subnet. Puoi eseguire il deployment a più servizi o job sulla stessa subnet.
    • Facoltativo: NETWORK_TAG_NAMES con i nomi dei tag di rete da associare a un job. Per i job, i tag di rete a livello di esecuzione. Ogni esecuzione del job può avere reti diverse tag, ad esempio network-tag-2.
    • EGRESS_SETTING con un valore impostazione in uscita:
      • all-traffic: invia tutto il traffico in uscita attraverso il VPC in ogni rete.
      • private-ranges-only: invia il traffico solo agli indirizzi interni attraverso la rete VPC.
    • IMAGE con l'URL dell'immagine container del job.
  3. Crea o aggiorna il job utilizzando il comando seguente:

    gcloud run jobs replace job.yaml

Limita l'accesso con le regole firewall

Limita l'accesso alle risorse in una rete VPC utilizzando Regole firewall VPC. Aggiungi queste limitazioni mediante una delle seguenti strategie:

  • Crea una regola firewall in entrata che faccia riferimento al tuo service o job utilizzando il nome della subnet Intervallo IP.
  • Crea una regola firewall in uscita che faccia riferimento ai tuoi service o job.

    Nella regola firewall in uscita, fai riferimento al servizio o al job utilizzando il token l'identità del servizio dell'account di servizio, all'intervallo IP della subnet o ai tag di rete associati.

Tag di rete per il traffico in uscita

Aggiungi un ulteriore livello di sicurezza di rete utilizzando i tag di rete in uscita le regole del firewall.

Console

Per associare i tag di rete. con un servizio o un job:

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

    Vai a Cloud Run

  2. Fai clic sul servizio o sul job a cui vuoi associare i tag di rete, quindi Fai clic su Modifica ed esegui il deployment di una nuova revisione per i servizi o su Modifica per i job.

  3. Fai clic sulla scheda Networking per i servizi o sulla scheda Connessioni per le offerte di lavoro.

  4. Assicurati di aver selezionato Connetti a un VPC per il traffico in uscita e Invia il traffico direttamente a un VPC.

  5. Nel campo Subnet, seleziona la subnet a cui il servizio riceve da cui provengono gli indirizzi IP. Puoi eseguire il deployment o eseguire più servizi o job la stessa subnet.

  6. Nel campo Tag di rete, inserisci i nomi dei tag di rete che vuoi associare al tuo servizio o job.

  7. Fai clic su Esegui il deployment o Aggiorna.

Per i servizi, ogni revisione del servizio può avere un insieme diverso di tag di rete poiché i tag di rete vengono specificati a livello di revisione. Per i job, un job ha gli stessi tag di rete del job è stato creato un job.

gcloud

Per associare i tag di rete. con un servizio o un job, utilizza il comando gcloud run deploy:

gcloud run deploy SERVICE_JOB_NAME \
    --image=IMAGE_URL \
    --network=NETWORK \
    --subnet=SUBNET \
    --network-tags=NETWORK_TAG_NAMES \
    --region=REGION

Sostituisci quanto segue:

  • SERVICE_JOB_NAME con il nome del tuo servizio o job.
  • IMAGE_URL con l'URL immagine del servizio o del job.
  • NETWORK con il nome della tua rete VPC.
  • SUBNET con il nome della tua subnet. Puoi eseguire il deployment a più servizi o job sulla stessa subnet.
  • NETWORK_TAG_NAMES con il nome del tuo tag di rete oppure un un elenco separato da virgole di tag di rete.
  • REGION con il nome della tua regione.

Per i servizi, ogni revisione del servizio può avere un insieme diverso di tag di rete poiché i tag di rete vengono specificati a livello di revisione. Per i job, un job ha gli stessi tag di rete del job è stato creato un job.

Scollegare un servizio

Console

  • Per rimuovere il servizio dalla rete VPC:

    1. Vai a Cloud Run

    2. Fai clic sul servizio che vuoi rimuovere, quindi su Modifica ed esegui il deployment di una nuova revisione.

    3. Fai clic sulla scheda Networking.

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

    5. Fai clic su Esegui il deployment.

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

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

    1. Fai clic sul servizio che contiene i tag di rete che vuoi rimuovere, quindi fai clic su Modifica ed esegui il deployment di una 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 tuo servizio dalla rete VPC, 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 rete VPC, esegui questo comando:

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

    Sostituisci quanto segue:

    • SERVICE_NAME: il nome di Cloud Run completamente gestito di Google Cloud.
    • REGION: la regione per il tuo servizio Cloud Run.

YAML

  • Per rimuovere il servizio dalla rete VPC:

    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 tua rete VPC.
      • SUBNET: il nome della subnet.
      • (Facoltativo) NETWORK_TAG_NAMES: i nomi della rete i tag se li avevi associati a un servizio.
    3. Esegui il deployment della revisione del servizio eseguendo questo comando:

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

    1. Scarica la configurazione YAML del servizio:

      gcloud run services describe SERVICE_NAME --format export > service.yaml
    2. Rimuovi la variabile tags dai contenuti in service.yaml mantenendo invariate le variabili network e subnetwork, come mostrato nel seguente esempio:

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

      Dove

      • NETWORK: il nome della tua rete VPC.
      • SUBNET: il nome della subnet.
    3. Esegui il deployment della revisione del servizio eseguendo questo comando:

      gcloud run services replace service.yaml

Scollega un job

Console

  • Per rimuovere il job dalla rete VPC:

    1. 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 Connessioni.

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

    5. Fai clic su Aggiorna.

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

  • Per rimuovere solo i tag di rete mantenendo il job collegato Rete VPC:

    1. Fai clic sul job contenente i tag di rete da rimuovere, Fai clic su Modifica ed esegui il deployment di una 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, esegui questo comando :

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

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

    Sostituisci quanto segue:

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

YAML

  • Per rimuovere il job dalla rete VPC:

    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"}]'

      Sostituisci quanto segue:

      • NETWORK: il nome della tua rete VPC.
      • SUBNET: il nome della subnet.
      • (Facoltativo) NETWORK_TAG_NAMES con i nomi della rete se li hai associati a un job.
    3. Aggiorna il job eseguendo questo comando:

      gcloud run jobs replace job.yaml
  • Per rimuovere solo i tag di rete mantenendo il job collegato Rete VPC:

    1. Scarica la configurazione YAML del job:

      gcloud run jobs describe JOB_NAME --format export > job.yaml
    2. Rimuovi la variabile tags dai contenuti in job.yaml mantenendo invariate le variabili network e subnetwork, come mostrato nel seguente esempio:

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

      Sostituisci quanto segue:

      • NETWORK: il nome della tua rete VPC.
      • SUBNET: il nome della subnet.
    3. Aggiorna il job eseguendo questo comando:

      gcloud run jobs replace job.yaml

Risoluzione dei problemi

Impossibile eliminare la subnet

Per eliminare una subnet, devi prima eliminare o rieseguire il deployment di tutte le risorse che utilizzano li annotino. Se Cloud Run utilizza una subnet, disconnetti Cloud Run service o lavoro dalla rete VPC o spostarla in un'altra subnet prima l'eliminazione della subnet.

La subnet VPC diretta esaurisce gli indirizzi IP

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

Visualizza gli indirizzi IP allocati

Per vedere quali indirizzi IP sono stati allocati da Cloud Run, vai alla Pagina degli indirizzi IP nella console Google Cloud oppure esegui questo comando da Google Cloud CLI:

gcloud compute addresses list