Puoi abilitare il servizio o il job Cloud Run per inviare traffico a una rete VPC utilizzando il traffico in uscita da VPC diretto senza che sia richiesto un connettore di accesso VPC serverless.
Prima di iniziare
Se non disponi già di una rete VPC nel progetto, creane una.
Se utilizzi un VPC condiviso, consulta Connessione a una rete VPC condivisa.
Se utilizzi una subnet VPC, la subnet deve essere almeno
/24
o più grande.Per assicurarti di disporre di un numero sufficiente di indirizzi IP per l'utilizzo in Cloud Run, tieni presente le seguenti condizioni:
- La subnet in cui prevedi di eseguire il deployment di servizi o revisioni Cloud Run deve avere almeno qualche centinaio di indirizzi IP disponibili.
- In stato stabile, se il numero totale di istanze Cloud Run che utilizzano la subnet è 100 o più, prenota un numero sufficiente di indirizzi IP per almeno quattro volte (4 volte) il numero di istanze. Quando una revisione fa lo scale down, Cloud Run conserva gli indirizzi IP per un massimo di 20 minuti. Ad esempio, se esegui l'upgrade delle revisioni in modo che
revision 1
faccia lo scale down a zero da 100 istanze mentrerevision 2
scala da zero fino a 100, Cloud Run conserva gli indirizzi IP direvision 1
per un massimo di 20 minuti dopo lo scale down. In questo caso, durante la finestra di 20 minuti, devi prenotare almeno 800 indirizzi IP ((100 + 100) * 4
).
Limitazioni
Le seguenti limitazioni si applicano sia ai servizi che ai job Cloud Run:
- Cloud Run supporta una velocità effettiva fino a 1 Gbps per singola istanza. Il superamento di questo valore determina una limitazione del rendimento.
Una quota di utilizzo di Cloud Run limita il numero massimo di istanze che puoi configurare per utilizzare il traffico in uscita da VPC diretto. Il numero massimo viene configurato per ogni revisione o esecuzione di job di Cloud Run. Per aumentare i limiti predefiniti, vedi Come aumentare le quote. Puoi controllare la tua quota utilizzando la console Google Cloud.
- I servizi e i job Cloud Run potrebbero riscontrare interruzioni di connessione durante gli eventi di manutenzione dell'infrastruttura di rete. Ti consigliamo di utilizzare librerie client in grado di gestire reimpostazioni occasionali della connessione.
- Il traffico VPC diretto in uscita per i job Cloud Run è disponibile solo in anteprima.
- Per garantire esecuzioni corrette dei job, utilizza il traffico VPC diretto in uscita solo per i job che non richiedono più di 8 istanze in parallelo e assicurati di prenotare un minimo di 1024 indirizzi IP.
Gli elementi seguenti non sono supportati dal traffico in uscita da 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 generati da risorse non VM come Cloud Run o macchine on-premise.
- Logging delle regole firewall
- Mirroring pacchetto
- Network Intelligence Center
- Traffico IPv6
- Secure Web Proxy
- 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 firewall in entrata applicate alla risorsa di destinazione.
- Le regole firewall non possono utilizzare i tag di Resource Manager associati ai carichi di lavoro Cloud Run.
- I job Cloud Run eseguiti per più di un'ora potrebbero riscontrare interruzioni di connessione. che possono verificarsi durante eventi di manutenzione che eseguono la migrazione del job da una macchina a un'altra. Il container riceve un indicatore
SIGTSTP
10 secondi prima dell'evento e un indicatoreSIGCONT
dopo l'evento. Dopo che il container riceve l'indicatoreSIGCONT
, riprova a stabilire la connessione.
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 assegna gli indirizzi IP dalla subnet.
Gli indirizzi IP sono temporanei, quindi non creare criteri basati su singoli IP. Se devi creare un criterio basato sugli IP, ad esempio nelle regole firewall, devi utilizzare l'intervallo di indirizzi IP dell'intera subnet.
Per cambiare 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 abilitare lo scale up rapido in caso di picco di traffico, Cloud Run assegna gli indirizzi IP prima che siano necessari.
In un determinato momento, è probabile che il numero di indirizzi IP allocati sia maggiore rispetto al numero di istanze esistenti. Per assicurarti che Cloud Run possa ottenere un numero sufficiente di indirizzi IP, assicurati che la subnet abbia almeno qualche centinaio di indirizzi IP disponibili. Se il numero totale di istanze della subnet in tutti i servizi e i job Cloud Run supera il limite di 100, consigliamo di avere almeno 4 volte (4 volte) il numero totale disponibile. Se Cloud Run non può allocare altri indirizzi IP, non può avviare altre istanze di servizio o attività dei job finché non saranno disponibili altri indirizzi IP. Se lo spazio di indirizzi IP è limitato, consulta Intervalli IP supportati per ulteriori opzioni. Per l'efficienza e la facilità di gestione dell'allocazione degli IP, posiziona più servizi o job nella stessa subnet.
Scalabilità verso il basso
Anche dopo fare lo scale down a zero di tutti i servizi o job, Cloud Run riserva alcuni indirizzi IP dalla subnet nel caso in cui i servizi o i job debbano fare nuovamente lo scale up.
Per eliminare la subnet, devi prima eliminare i servizi o i job Cloud Run o eseguire nuovamente il deployment per smettere di utilizzare la subnet e poi attendere 1-2 ore.
Intervalli IP supportati
Cloud Run supporta i seguenti intervalli IPv4 per la 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 (sconsigliata 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 Agente di servizio Cloud Run: per impostazione predefinita, l'agente di servizio Cloud Run dispone del ruolo Agente di servizio Cloud Run (
roles/run.serviceAgent
) che contiene le autorizzazioni necessarie.Autorizzazioni personalizzate: per un controllo più granulare, concedi all'agente di servizio Cloud Run le seguenti autorizzazioni aggiuntive sul progetto:
compute.networks.get
compute.subnetworks.get
compute.subnetworks.use
sul progetto o sulla subnet specificacompute.addresses.get
compute.addresses.list
compute.addresses.createInternal
compute.addresses.deleteInternal
Ruolo Utente di rete Compute: se non utilizzi il ruolo predefinito Agente di servizio Cloud Run o le autorizzazioni personalizzate, concedi il ruolo Utente di rete Compute (
roles/compute.networkUser
) nell'account di servizio Agente di servizio Cloud Run eseguendo questo 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 esegui il deployment del servizio o del 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 un connettore di accesso VPC serverless. I costi di rete sono scalati fino a zero, proprio come il servizio stesso. Puoi anche utilizzare i tag di rete direttamente nelle revisioni del servizio Cloud Run per una sicurezza di rete più granulare.
Puoi configurare il traffico in uscita da VPC diretto con un servizio utilizzando la console Google Cloud, Google Cloud CLI o YAML.
Console
Fai clic su Crea servizio se stai configurando un nuovo servizio in cui stai eseguendo il deployment. Se stai configurando ed eseguendo il deployment di un servizio esistente, fai clic sul servizio e poi su Modifica ed esegui il deployment di nuova revisione.
Se stai configurando un nuovo servizio, compila la pagina iniziale delle impostazioni del servizio in base alle esigenze, quindi fai clic su Container, volumi, networking, sicurezza per espandere la pagina di configurazione del servizio.
Fai clic sulla scheda Networking.
Fai clic su Connetti a un VPC per il traffico in uscita.
Fai clic su Invia il traffico direttamente a un VPC.
Nel campo Rete, seleziona la rete VPC a cui vuoi inviare il traffico.
Nel campo Subnet, seleziona la subnet da cui il servizio riceve gli indirizzi IP. Puoi eseguire il deployment di più servizi nella stessa subnet.
(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 tag di rete diversi, ad esempio
network-tag-2
.Per Routing del traffico, seleziona una delle seguenti opzioni:
- Instrada al VPC solo richieste a IP privati per inviare solo il traffico agli indirizzi interni attraverso la rete VPC.
- Instrada tutto il traffico al VPC per inviare tutto il traffico in uscita attraverso la rete VPC.
Fai clic su Crea o Esegui il deployment.
Per verificare che il servizio sia nella tua rete VPC, fai clic sul servizio, quindi 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 della rete VPC, in base a quanto consentito dalle regole firewall.
gcloud
Per eseguire il deployment di un servizio Cloud Run senza un connettore da Google Cloud CLI:
Assicurati che l'API Compute Engine sia abilitata per il tuo progetto:
gcloud services enable compute.googleapis.com
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 servizio Cloud Run.
- IMAGE_URL con un riferimento all'immagine container,
ad esempio
us-docker.pkg.dev/cloudrun/container/hello:latest
. Se utilizzi Artifact Registry, è necessario già creare il repository REPO_NAME. L'URL ha la formaLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
- NETWORK con il nome della tua rete VPC.
- SUBNET con il nome della subnet. Puoi eseguire il deployment o eseguire più servizi o job sulla stessa subnet.
- Facoltativo: NETWORK_TAG_NAMES con i nomi separati da virgole 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 tag di rete diversi, ad esempio
network-tag-2
. - EGRESS_SETTING con un
valore di impostazione per il traffico in uscita:
all-traffic
: invia tutto il traffico in uscita attraverso la rete VPC.private-ranges-only
: invia il traffico solo agli indirizzi interni attraverso la rete VPC.
- REGION con una regione per il tuo servizio.
Per verificare che il servizio sia nella tua rete VPC, esegui questo comando:
gcloud run services describe SERVICE_NAME \ --region=REGION
Sostituisci:
SERVICE_NAME
con il nome del servizio.REGION
con la regione del servizio specificata nel passaggio precedente.
L'output deve contenere il nome della rete, della subnet e dell'impostazione del traffico in uscita, ad esempio:
VPC access: Network: default Subnet: subnet Egress: private-ranges-only
Ora puoi inviare richieste dal tuo servizio Cloud Run a qualsiasi risorsa della rete VPC, in base a quanto consentito dalle regole firewall.
YAML
Puoi archiviare la specifica del servizio in un file YAML
e quindi eseguirne il deployment utilizzando gcloud CLI.
Crea un nuovo file
service.yaml
con i seguenti contenuti: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 servizio Cloud Run. I nomi dei servizi devono contenere al massimo 49 caratteri e devono essere univoci per regione e progetto.
- REGION con la regione del tuo servizio Cloud Run, che deve corrispondere alla regione della subnet.
- NETWORK con il nome della tua rete VPC.
- SUBNET con il nome della subnet. Puoi eseguire il deployment o eseguire più servizi o job sulla stessa subnet.
- 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 tag di rete diversi, ad esempio
network-tag-2
. - EGRESS_SETTING con un
valore di impostazione per il traffico in uscita:
all-traffic
: invia tutto il traffico in uscita attraverso la rete VPC.private-ranges-only
: invia il traffico solo agli indirizzi interni attraverso la rete VPC.
- IMAGE con l'URL dell'immagine container del tuo servizio.
Puoi anche specificare ulteriori configurazioni, ad esempio variabili di ambiente o limiti di memoria.
Esegui il deployment del nuovo servizio eseguendo questo comando:
gcloud run services replace service.yaml
Se vuoi, imposta il servizio come pubblico se vuoi consentire l'accesso non autenticato al servizio.
Se devi scaricare o visualizzare la configurazione di un servizio esistente, usa il comando seguente per salvare i risultati in un file YAML:
gcloud run services describe SERVICE --format export > service.yaml
Da un file YAML di configurazione del servizio, modifica tutti gli attributi secondari spec.template
in base alle esigenze per aggiornare le impostazioni di revisione, quindi esegui il deployment della nuova revisione:
gcloud run services replace service.yaml
Crea un job
Il traffico in uscita da VPC diretto consente al job Cloud Run di inviare traffico a una rete VPC senza un connettore di accesso VPC serverless.
Puoi configurare il traffico in uscita da un VPC diretto con un job utilizzando la console Google Cloud, Google Cloud CLI o YAML.
Console
Se stai configurando un nuovo job, fai clic sulla scheda Job e compila la pagina iniziale delle impostazioni del job come preferisci. Se stai configurando un job esistente, fai clic sul job e poi su Modifica.
Fai clic su Container, variabili e secret, connessioni, sicurezza per espandere la pagina delle proprietà del job.
Fai clic sulla scheda Connessioni.
Fai clic su Connetti a un VPC per il traffico in uscita.
Fai clic su Invia il traffico direttamente a un VPC.
Nel campo Rete, seleziona la rete VPC a cui vuoi inviare il traffico.
Nel campo Subnet, seleziona la subnet da cui il job riceve gli indirizzi IP. Puoi eseguire più job sulla stessa subnet.
Per Routing del traffico, seleziona una delle seguenti opzioni:
- Instrada al VPC solo richieste a IP privati per inviare solo il traffico agli indirizzi interni attraverso la rete VPC.
- Instrada tutto il traffico al VPC per inviare tutto il traffico in uscita attraverso la rete VPC.
(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 tag di rete diversi, ad esempio
network-tag-2
.(Facoltativo) Inserisci i nomi dei tag di rete che vuoi associare al job o ai 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
.Fai clic su Crea o Aggiorna.
Per verificare che il job si trovi nella tua rete VPC, fai clic sul job, quindi sulla scheda Configurazione. La rete e la subnet sono elencate nella scheda VPC.
Ora puoi eseguire il job Cloud Run e inviare richieste dal job a qualsiasi risorsa della rete VPC, come consentito dalle regole firewall.
gcloud
Per creare un job Cloud Run senza un connettore da Google Cloud CLI:
Assicurati che l'API Compute Engine sia abilitata per il tuo progetto:
gcloud services enable compute.googleapis.com
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 job Cloud Run.
- IMAGE_URL con un riferimento all'immagine container,
ad esempio
us-docker.pkg.dev/cloudrun/container/job:latest
- NETWORK con il nome della tua rete VPC.
- SUBNET con il nome della subnet. Puoi eseguire il deployment o eseguire più servizi o job sulla stessa subnet.
- 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 di impostazione per il traffico in uscita:
all-traffic
: invia tutto il traffico in uscita attraverso la rete VPC.private-ranges-only
: invia il traffico solo agli indirizzi interni attraverso la rete VPC.
- REGION con una regione per il tuo job.
Per verificare che il job si trovi nella tua rete VPC, esegui questo comando:
gcloud run jobs describe JOB_NAME \ --region=REGION
Sostituisci:
JOB_NAME
con il nome del job.REGION
con la regione del job specificata nel passaggio precedente.
L'output deve contenere il nome della rete e della subnet, ad esempio:
VPC network: Network: default Subnet: default
Ora puoi eseguire il job Cloud Run e inviare richieste dal job a qualsiasi risorsa della rete VPC, come consentito dalle regole firewall.
YAML
Puoi archiviare le specifiche del job in un file YAML
e quindi eseguirne il deployment
utilizzando gcloud CLI.
Crea un nuovo file
job.yaml
con i seguenti contenuti: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 contenere al massimo 49 caratteri e devono essere univoci per ogni regione e progetto.
- REGION con la regione del job Cloud Run, che deve corrispondere alla regione della subnet.
- NETWORK con il nome della tua rete VPC.
- SUBNET con il nome della subnet. Puoi eseguire il deployment o eseguire più servizi o job sulla stessa subnet.
- 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 di impostazione per il traffico in uscita:
all-traffic
: invia tutto il traffico in uscita attraverso la rete VPC.private-ranges-only
: invia il traffico solo agli indirizzi interni attraverso la rete VPC.
- IMAGE con l'URL dell'immagine container del job.
Esegui il deployment del nuovo job eseguendo questo comando:
gcloud run jobs replace job.yaml
Se hai bisogno di scaricare o visualizzare la configurazione di un job esistente, utilizza il seguente comando per salvare i risultati in un file YAML:
gcloud run jobs describe JOB --format export > job.yaml
Da un file YAML di configurazione del job, modifica tutti gli attributi secondari spec.template
in base alle esigenze per aggiornare le impostazioni di revisione, quindi esegui nuovamente il deployment:
gcloud run jobs replace job.yaml
Limitare l'accesso con le regole firewall
Limita l'accesso alle risorse in una rete VPC utilizzando le regole firewall VPC. Aggiungi queste restrizioni utilizzando una delle seguenti strategie:
- Crea una regola firewall in entrata che faccia riferimento al tuo servizio o job utilizzando l'intervallo IP della subnet.
Crea una regola firewall in uscita che faccia riferimento al tuo servizio o job.
Nella regola firewall in uscita, fai riferimento al servizio o al job utilizzando l'identità del servizio dell'account di servizio collegato, l'intervallo IP della subnet o i 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 nelle regole firewall in uscita.
Console
Per associare tag di rete a un servizio o job:
Nella console Google Cloud, vai alla pagina Cloud Run.
Fai clic sul servizio o sul job a cui vuoi associare i tag di rete, poi fai clic su Modifica ed esegui il deployment di una nuova revisione per i servizi o Modifica per i job.
Fai clic sulla scheda Networking per i servizi o sulla scheda Connessioni per i job.
Assicurati di aver selezionato Connetti a un VPC per il traffico in uscita e Invia il traffico direttamente a un VPC.
Nel campo Subnet, seleziona la subnet da cui il servizio riceve gli indirizzi IP. Puoi eseguire il deployment o eseguire più servizi o job sulla stessa subnet.
Nel campo Tag di rete, inserisci i nomi dei tag di rete che vuoi associare al servizio o al job.
Fai clic su Esegui il deployment o Aggiorna.
Per i servizi, ogni revisione del servizio può avere un set diverso di tag di rete perché i tag di rete sono specificati a livello di revisione. Per quanto riguarda i job, l'esecuzione di un job ha gli stessi tag di rete del job quando è stato creato.
gcloud
Per associare i tag di rete a un servizio o a 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 servizio o del 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 subnet. Puoi eseguire il deployment o eseguire più servizi o job sulla stessa subnet.
- NETWORK_TAG_NAMES con il nome del tuo tag di rete o 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 set diverso di tag di rete perché i tag di rete sono specificati a livello di revisione. Per quanto riguarda i job, l'esecuzione di un job ha gli stessi tag di rete del job quando è stato creato.
Scollegare un servizio
Console
Per rimuovere il servizio dalla rete VPC:
Fai clic sul servizio da rimuovere e poi su Modifica ed esegui il deployment di nuova revisione.
Fai clic sulla scheda Networking.
Deseleziona Connetti a un VPC per il traffico in uscita.
Fai clic su Esegui il deployment.
Per verificare che il tuo servizio non sia più nella tua rete VPC, 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:
Fai clic sul servizio che contiene i tag di rete da rimuovere, poi fai clic su Modifica ed esegui il deployment di nuova revisione.
Fai clic sulla scheda Networking.
Cancella i nomi dei tag di rete che non vuoi più associare al servizio.
Fai clic su Esegui il deployment.
gcloud
Per rimuovere il servizio dalla rete VPC, esegui questo 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, esegui questo 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 del tuo servizio Cloud Run.
YAML
Per rimuovere il servizio dalla rete VPC:
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 dei tag di rete, se li hai associati a un servizio.
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 alla rete VPC:
Rimuovi la variabile
tags
dai contenuti nel tuo fileservice.yaml
, mantenendo attive le variabilinetwork
esubnetwork
, come mostrato nell'esempio seguente:run.googleapis.com/network-interfaces: '[{"network":"NETWORK","subnetwork":"SUBNET"}]'
Dove
- NETWORK: il nome della tua rete VPC.
- SUBNET: il nome della subnet.
Esegui il deployment della revisione del servizio eseguendo questo comando:
gcloud run services replace service.yaml
Disconnetti un job
Console
Per rimuovere il job dalla rete VPC:
Fai clic sul job da rimuovere e poi su Modifica ed esegui il deployment di nuova revisione.
Fai clic sulla scheda Connessioni.
Deseleziona Connetti a un VPC per il traffico in uscita.
Fai clic su Update (Aggiorna).
Per verificare che il job non sia più nella tua rete VPC, 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:
Fai clic sul job che contiene i tag di rete da rimuovere, poi fai clic su Modifica ed esegui il deployment di nuova revisione.
Fai clic sulla scheda Connessioni.
Cancella i nomi dei tag di rete che non vuoi più associare al job.
Fai clic su Update (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 connesso alla rete VPC, esegui questo 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:
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 dei tag di rete se li hai associati a un job.
Esegui di nuovo il deployment del job eseguendo questo comando:
gcloud run jobs replace job.yaml
Per rimuovere solo i tag di rete mantenendo il job connesso alla rete VPC:
Rimuovi la variabile
tags
dai contenuti nel tuo filejob.yaml
, mantenendo attive le variabilinetwork
esubnetwork
, come mostrato nell'esempio seguente:run.googleapis.com/network-interfaces: '[{"network":"NETWORK","subnetwork":"SUBNET"}]'
Sostituisci quanto segue:
- NETWORK: il nome della tua rete VPC.
- SUBNET: il nome della subnet.
Esegui di nuovo il deployment del 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 eseguire nuovamente il deployment di tutte le risorse che la utilizzano. Se Cloud Run utilizza una subnet, disconnetti il servizio o il job di Cloud Run dalla rete VPC o spostalo in un'altra subnet prima di eliminare la subnet.
La subnet VPC diretta esaurisce gli indirizzi IP
Se la subnet della rete VPC esaurisce gli indirizzi IP, viene registrata da Cloud Logging. In questo caso, Cloud Run non può avviare altre istanze di servizio o attività dei job finché non diventano disponibili altri indirizzi IP.
Visualizza gli indirizzi IP allocati
Per visualizzare gli indirizzi IP assegnati da Cloud Run, vai alla pagina degli indirizzi IP nella console Google Cloud o esegui questo comando da Google Cloud CLI:
gcloud compute addresses list