Per sfruttare al meglio questo contenuto, dovresti avere familiarità con i seguenti concetti:
- Networking di base
- Google Cloud Reti Virtual Private Cloud (VPC)
Per proteggere il traffico di rete per i propri servizi e applicazioni, molte organizzazioni utilizzano una rete privata su Google Cloud con controlli perimetrali per impedire l'esfiltrazione di dati. La tua rete privata potrebbe avere le seguenti proprietà:
- Potresti avere diverse risorse, ad esempio VM, in una o più reti VPC.
- Queste VM potrebbero appartenere a molti progetti diversi ed essere collegate tra loro con un VPC condiviso.
- Potresti avere carichi di lavoro on-premise o su altri cloud connessi a questo ambiente utilizzando Cloud VPN o Cloud Interconnect.
- Potresti aver attivato un perimetro di Controlli di servizio VPC per ridurre il rischio di esfiltrazione di dati.
- Potresti avere più reti private, una per ciascuno dei diversi ambienti, ad esempio una per la produzione, una per la gestione temporanea e una per lo sviluppo.
A differenza delle VM, le risorse Cloud Run non sono associate a nessuna rete VPC specifica per impostazione predefinita. Questa pagina spiega come incorporare le risorse Cloud Run nella tua rete privata.
Descrizione del networking serverless
Per esplorare una gamma di configurazioni aziendali comuni per il networking pubblico e privato, leggi la nostra descrizione del networking serverless.
Questo punto di partenza introduce i seguenti scenari di Cloud Run di base e avanzati:
- Esegui il deployment in sicurezza di un'app "Hello, World!" che utilizza un dominio personalizzato
- Sviluppare applicazioni aziendali e microservizi
- Accedere a database e file system pubblicamente o privatamente
- Contattare i fornitori SaaS
- Applicare i controlli di sicurezza
Consulta l'elenco dei moduli Terraform corrispondenti.
Ricevere richieste dalla tua rete privata
La ricezione di richieste dalla tua rete privata richiede una configurazione basata sulle seguenti condizioni:
- Da dove proviene la richiesta.
- Indica se la risorsa Cloud Run consente solo richieste dalla tua rete privata.
Ad esempio, la ricezione di richieste dalle reti VPC potrebbe richiedere una configurazione diversa rispetto alla ricezione di richieste da risorse on-premise e altri cloud.
Ricevere richieste da altre risorse Cloud Run o App Engine
Quando la risorsa Cloud Run di destinazione riceve traffico da altre risorse Cloud Run o App Engine e utilizza l'impostazione di ingresso "interno" o "interno e bilanciamento del carico", il traffico deve utilizzare la rete VPC per essere considerato interno.
Per ricevere richieste da altre risorse Cloud Run o App Engine, segui questi passaggi:
Configura la risorsa origine in modo che utilizzi il traffico VPC diretto in uscita o un connettore.
Assicurati che il traffico verso Cloud Run venga instradato tramite la rete VPC utilizzando una delle seguenti opzioni:
- Configura la risorsa origine per inviare tutto il traffico tramite la rete VPC e abilita l'accesso privato Google nella subnet associata all'uscita VPC diretta o al connettore.
- Configura Private Service Connect o un bilanciatore del carico delle applicazioni interno per proteggere la risorsa Cloud Run di destinazione. Con questa configurazione, accedi a Cloud Run utilizzando indirizzi IP interni, quindi le richieste vengono instradate tramite la rete VPC.
- Attiva l'accesso privato Google nella subnet associata alla risorsa origine e configura il DNS per risolvere gli URL
run.appnegli intervalliprivate.googleapis.com(199.36.153.8/30) orestricted.googleapis.com(199.36.153.4/30). Le richieste a questi intervalli vengono instradate tramite la rete VPC.
Ricevere richieste dalle reti VPC
Per impostazione predefinita, solo le risorse che hanno indirizzi IP esterni o utilizzano Cloud NAT possono accedere direttamente a internet e ai serviziGoogle Cloud come Pub/Sub e Cloud Run. Per altre risorse, esistono alcune opzioni per attivare il percorso del traffico verso Cloud Run:
- Il percorso più diretto consiste nell'abilitare l'accesso privato Google
nelle subnet che ospitano le risorse. Quando l'accesso privato Google è
abilitato, le risorse nelle subnet possono accedere alle risorse Cloud Run
all'URL
run.apppredefinito. Il traffico dalla tua rete VPC a Cloud Run rimane nella rete di Google. In questo caso, l'intervallo IP per le richieste inviate alla risorsa Cloud Run è0.0.0.0/32. Ciò significa che nelle voci di log delle richieste, l'attributoremoteIpdi HttpRequest sarà0.0.0.0. - Se vuoi che la tua risorsa Cloud Run (insieme ad altre API Google) sia accessibile tramite un indirizzo IP interno nella tua rete VPC, valuta la possibilità di creare un endpoint Private Service Connect e configurare una zona DNS privata per
run.app. Con questa configurazione, le risorse nella rete VPC possono accedere alle risorse Cloud Run all'URLrun.apppredefinito tramite l'indirizzo IP dell'endpoint Private Service Connect. - Se hai bisogno di funzionalità e controlli di bilanciamento del carico, valuta l'utilizzo di un bilanciatore del carico delle applicazioni interno. Con questo approccio, le risorse nella rete VPC accedono alle tue risorse Cloud Run utilizzando l'URL associato al bilanciatore del carico delle applicazioni interno.
- Se vuoi esporre il tuo servizio ai client interni come servizio gestito e poter controllare quali progetti possono accedervi, puoi ospitarlo con un bilanciatore del carico delle applicazioni interno e pubblicare il servizio utilizzando Private Service Connect. I progetti che devono utilizzare il servizio possono accedervi utilizzando un endpoint Private Service Connect o un backend Private Service Connect.
Le risposte vengono restituite utilizzando lo stesso percorso seguito dalla richiesta.
Considerazioni speciali per il VPC condiviso
Quando utilizzi l'impostazione internal con i controlli in entrata di Cloud Run
per imporre che tutto il traffico provenga dalla tua rete privata, il traffico VPC condiviso viene riconosciuto come "interno" solo nelle seguenti situazioni:
La risorsa Cloud Run è in esecuzione nel progetto host VPC condiviso.
Ingresso VPC condiviso: la risorsa Cloud Run è collegata a una rete VPC condivisa. In questo scenario, tieni presente le seguenti considerazioni:
Solo le revisioni del servizio che hanno configurato l'uscita VPC diretta o che hanno configurato un connettore di accesso VPC serverless per inviare il traffico alla rete VPC condiviso accetteranno anche il traffico proveniente dalla stessa rete VPC condiviso.
Le richieste utilizzano percorsi diversi in base alla direzione del traffico. Le richieste inviate da Cloud Run alla rete VPC condiviso vengono instradate dal traffico VPC diretto in uscita o dal connettore. Tuttavia, le richieste inviate dalla rete VPC condiviso a Cloud Run utilizzano il percorso di ingresso standard.
Per scollegare una risorsa Cloud Run dalla rete VPC condiviso, esegui nuovamente il deployment senza accesso alla rete VPC o con la risorsa configurata per inviare il traffico a una rete VPC diversa.
Utilizzi un bilanciatore del carico delle applicazioni interno per il proxy del traffico.
Hai inserito l'host VPC condiviso e tutti i progetti di servizio all'interno dello stesso perimetro dei Controlli di servizio VPC. Per configurare i Controlli di servizio VPC, consulta Utilizzo di Controlli di servizio VPC.
Considerazioni speciali per altre reti VPC al di fuori del tuo progetto
Quando utilizzi l'impostazione internal con i controlli in entrata di Cloud Run
per imporre che tutto il traffico provenga dalla tua rete privata,
il traffico proveniente da altre reti VPC al di fuori del tuo progetto non viene
riconosciuto come "interno" tranne nelle seguenti situazioni:
- Controlli di servizio VPC è configurato per consentire il traffico con
run.googleapis.comcome servizio limitato e l'accesso privato Google è abilitato per la subnet di origine. - La risorsa Cloud Run viene pubblicata come servizio gestito utilizzando Private Service Connect (richiede un bilanciatore del carico delle applicazioni interno) e viene accessibile dall'altra rete VPC.
Il peering con una rete VPC esterna al tuo progetto non consente di riconoscere il traffico come "interno".
Ricevere richieste da altri Google Cloud servizi
Le richieste a Cloud Run da servizi come Pub/Sub rimangono all'interno della rete di Google. Google Cloud
Se hai configurato i controlli in entrata di Cloud Run per consentire solo il traffico "interno", devi tenere in considerazione alcuni aspetti speciali:
- Le richieste provenienti da BigQuery, Cloud Scheduler, Cloud Tasks, Dialogflow CX, Eventarc, Pub/Sub, monitor sintetici (inclusi i controlli di uptime) e Workflows nello stesso progetto o perimetro dei Controlli di servizio VPC sono riconosciute come "interne".
- Le richieste provenienti da Cloud Run o App Engine inviate dall'interno dello stesso progetto o perimetro dei controlli di servizio VPC richiedono tutte una configurazione aggiuntiva prima di essere riconosciute come "interne". Per maggiori dettagli, vedi la sezione Ricevere richieste da altri servizi Cloud Run o App Engine.
- Se il servizio Google Cloud che hai scelto non è in grado di accedere alle risorse Cloud Run con l'ingresso impostato su
internal, tieni presente che molti servizi supportano l'autenticazione a Cloud Run, ad esempio Pub/Sub (supporta siainternalsia l'autenticazione), API Gateway e Dialogflow CX (supporta siainternalsia l'autenticazione). A seconda delle tue esigenze di sicurezza, potrebbe essere sufficiente che la risorsa Cloud Run di destinazione richieda l'autenticazione anziché l'ingresso "interno". - Le richieste provenienti da servizi Google Cloud non menzionati in precedenza non vengono riconosciute come interne e non possono essere ricevute dalle risorse Cloud Run per cui l'ingresso è impostato su
internalointernal-and-cloud-load-balancing.
Ricevere richieste da risorse on-premise o da altri cloud
Esistono diversi modi per ricevere richieste in privato da risorse on-premise e altri cloud.
- Configurazione di base: per fare in modo che le richieste provenienti da risorse on-premise e da altri cloud attraversino la tua rete privata, configura l'accesso privato Google per gli host on-premise.
- Rendi accessibile la risorsa Cloud Run tramite un indirizzo IP interno: per chiamare le risorse Cloud Run utilizzando un indirizzo IP interno, crea un endpoint Private Service Connect per accedere alle API di Google, configura una zona DNS privata per
run.appe configura la tua rete on-premise per accedere all'endpoint. Con questa configurazione, gli host on-premise possono accedere alle risorse Cloud Run all'URLrun.apppredefinito tramite l'indirizzo IP dell'endpoint Private Service Connect. - Con funzionalità di bilanciamento del carico: se hai bisogno di funzionalità e controlli di bilanciamento del carico, utilizza un bilanciatore del carico delle applicazioni interno. Per informazioni sull'accesso al bilanciatore del carico delle applicazioni interno dalle reti on-premise, consulta Utilizzare Cloud VPN e Cloud Interconnect.
- Tra confini amministrativi: se vuoi esporre il tuo servizio a client interni come servizio gestito ed essere in grado di controllare a quali progetti possono accedervi, puoi pubblicare il servizio utilizzando Private Service Connect (richiede un bilanciatore del carico delle applicazioni interno). Per accedere al servizio dagli host on-premise, crea un endpoint Private Service Connect e configura la rete on-premise per accedere all'endpoint. Per saperne di più, vedi Accedere agli endpoint dalle reti ibride. In alternativa, puoi utilizzare un backend Private Service Connect con un bilanciatore del carico. Per informazioni sull'accesso ai bilanciatori del carico dalle reti on-premise, consulta la documentazione del bilanciatore del carico che stai utilizzando. Ad esempio, per i bilanciatori del carico delle applicazioni interni, consulta Utilizzare Cloud VPN e Cloud Interconnect.
Richiedere che le richieste provengano dalla tua rete privata
Per impedire il traffico in entrata (ingress) da origini esterne, specifica un'impostazione di ingresso restrittiva.
L'impostazione di ingresso più restrittiva è internal. Con l'ingresso impostato su
internal, il servizio consente solo le richieste provenienti dal tuo progetto, dalle reti VPC condiviso a cui è collegato il tuo progetto e dal perimetro Controlli di servizio VPC. Esistono alcune limitazioni per questa impostazione a seconda della provenienza delle
richieste. Per saperne di più su queste limitazioni e su come gestirle,
consulta la sezione Ricevere richieste dalla rete privata.
Puoi specificare l'impostazione di traffico in entrata per ogni risorsa Cloud Run oppure imporre l'utilizzo dell'impostazione di traffico in entrata preferita per tutte le risorse Cloud Run della tua organizzazione.
- Per specificare l'impostazione di traffico in entrata per ogni risorsa Cloud Run: vedi Impostazione del traffico in entrata.
- Per applicare una particolare impostazione di ingresso a tutte le risorse Cloud Run nel tuo progetto, nella tua cartella o nella tua organizzazione: configura il vincolo del criterio dell'organizzazione
run.allowedIngress. Per scoprire come fare, consulta Personalizzazione delle policy per i vincoli di elenco.
Inviare richieste alla rete privata
Se la risorsa Cloud Run deve accedere a una risorsa sulla tua rete privata, configura un percorso per le richieste private alla tua rete. La configurazione dipende dalla destinazione finale della richiesta.
Invia richieste alla tua rete VPC
Per inviare richieste a una rete VPC, devi configurare il traffico VPC in uscita diretto o un connettore di accesso VPC serverless. Confronta l'uscita VPC diretta e i connettori VPC. Consulta i prezzi per comprendere i costi.
Quando vengono configurati il traffico VPC diretto in uscita o i connettori, per impostazione predefinita si applicano le seguenti considerazioni:
Tutte le query DNS vengono inviate al server DNS configurato per la rete VPC associata alla configurazione di uscita della rete VPC.
Le richieste agli indirizzi IP interni vengono indirizzate alla rete VPC utilizzando l'uscita VPC diretta o un connettore. Le richieste alle destinazioni pubbliche continuano a essere indirizzate direttamente a internet, a meno che l'impostazione di uscita non sia configurata diversamente.
Con le richieste instradate utilizzando l'uscita VPC diretto o i connettori, le risposte vengono restituite utilizzando il percorso seguito dalla richiesta. Le richieste dalla tua rete VPC a Cloud Run sono abilitate utilizzando altre tecnologie e non vengono instradate tramite l'uscita VPC diretto o i connettori e le risposte a queste richieste vengono restituite utilizzando lo stesso percorso. Per scoprire di più sull'invio di richieste dalla tua rete VPC a Cloud Run, consulta Ricevere richieste dalle reti VPC.
Invio di richieste a una rete VPC al di fuori del tuo progetto
Per inviare richieste a una rete VPC al di fuori del tuo progetto:
- Per gli utenti del VPC condiviso, consulta Connessione a una rete VPC condivisa.
- Per altre reti VPC, configura l'uscita VPC diretta o un connettore per connetterti a un VPC nel tuo progetto.
- Reti VPC con peering:per inviare a un VPC con peering a un VPC che utilizza l'uscita di rete VPC, non è necessaria alcuna configurazione aggiuntiva. Tuttavia, le VM nella subnet che ospita l'uscita della rete VPC devono essere in grado di raggiungere la rete VPC di destinazione.
- Altre reti VPC:per le reti VPC al di fuori del tuo progetto che non fanno parte dello stesso ambiente VPC condiviso o con peering alla rete VPC del tuo progetto, configura Private Service Connect dopo aver configurato l'uscita della rete VPC.
Invia richieste ad altre risorse e servizi Cloud Run. Google Cloud
Le richieste da una risorsa Cloud Run a un'altra o ad altri serviziGoogle Cloud rimangono all'interno della rete interna di Google e sono soggette ai Controlli di servizio VPC.
Per le richieste alle risorse Cloud Run con impostazioni di ingresso restrittive, è necessaria una configurazione aggiuntiva. Consulta Ricevere richieste da altre risorse Cloud Run o App Engine.
Invia richieste a risorse on-premise e ad altri cloud
Per inviare richieste a risorse on-premise e ad altri cloud tramite la tua rete privata, devi:
- Assicurati che la rete VPC sia configurata per instradare privatamente il traffico alla destinazione, ad esempio tramite un tunnel VPN.
- Configura il tuo servizio per inviare richieste alla tua rete VPC.
- Richiedi che tutte le richieste vengano inviate alla tua rete VPC.
Richiedi che tutte le richieste vengano inviate alla tua rete VPC
Per richiedere che tutte le richieste dalla risorsa Cloud Run vengano inviate alla tua rete VPC, specifica l'impostazione di all-traffic
traffico in uscita della rete VPC .
Puoi specificare l'impostazione di traffico in uscita per ogni risorsa Cloud Run
che utilizza il traffico in uscita della rete VPC oppure puoi applicare l'utilizzo dell'impostazione di traffico in uscita
preferita per tutte le risorse Cloud Run nel tuo
progetto, nella tua cartella o nella tua organizzazione.
Questa opzione è utile nelle seguenti situazioni:
- Vuoi configurare un indirizzo IP statico in uscita per la tua risorsa Cloud Run.
- Vuoi applicare regole firewall per tutto il traffico in uscita da una risorsa Cloud Run.
- Vuoi inviare richieste a risorse on-premise e ad altri cloud tramite la tua rete privata.
Se la tua risorsa Cloud Run invia richieste a destinazioni finali al di fuori della tua rete VPC, richiedere che tutte le richieste vengano inviate alla tua rete VPC aumenta l'utilizzo della larghezza di banda sui connettori con accesso VPC serverless configurati e potrebbe aumentare i costi di conseguenza. I connettori vengono scalati automaticamente in orizzontale quando il traffico aumenta, ma non vengonofare lo scale inn verticale se il traffico diminuisce. Consulta i prezzi per comprendere i costi.
- Per specificare l'impostazione di uscita per le singole risorse Cloud Run, consulta Controllare il traffico del servizio di uscita.
- Per applicare una particolare impostazione di uscita per tutte le risorse Cloud Run nel tuo progetto, nella tua cartella o nella tua organizzazione, configura il vincolo del criterio dell'organizzazione
run.allowedVPCEgress. Per scoprire come fare, consulta la sezione Personalizzazione delle policy per i vincoli di elenco.
Controlli aggiuntivi
- Controlli perimetrali: per ridurre il rischio di esfiltrazione di dati per un gruppo di risorse, posizionale all'interno di un perimetro sensibile al contesto utilizzando i Controlli di servizio VPC.
- Per comprendere i Controlli di servizio VPC, consulta la panoramica dei Controlli di servizio VPC.
- Per iniziare, consulta la guida di Cloud Run Utilizzo di Controlli di servizio VPC.
- Per comprendere i costi, consulta la sezione Prezzi.
- Controlli granulari: per controllare l'accesso per il traffico da una risorsa specifica all'interno della tua rete privata, ad esempio una risorsa Cloud Run o una macchina virtuale Compute Engine specifica, utilizza gli account di servizio per controllare le autorizzazioni e l'autenticazione.
- Per capire cosa sono i service account, consulta Che cosa sono i service account?
- Per iniziare, consulta le guide all'autenticazione di Cloud Run.
Passaggi successivi
Per scoprire di più su come ottenere una latenza ridotta e una velocità effettiva elevata utilizzando un percorso di rete diretto, consulta VPC diretto per il traffico di rete in uscita con una rete VPC.