Private networking e Cloud Run

Questa pagina descrive le opzioni di configurazione per includere le risorse Cloud Run nella tua rete privata.

Per sfruttare al meglio questo contenuto, dovresti avere familiarità con i seguenti concetti:

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:

  1. Configura la risorsa origine in modo che utilizzi il traffico VPC diretto in uscita o un connettore.

  2. 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.app negli intervalli private.googleapis.com (199.36.153.8/30) o restricted.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.app predefinito. 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'attributo remoteIp di 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'URL run.app predefinito 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.com come 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 sia internal sia l'autenticazione), API Gateway e Dialogflow CX (supporta sia internal sia 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 internal o internal-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.

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.

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:

  1. Per gli utenti del VPC condiviso, consulta Connessione a una rete VPC condivisa.
  2. 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:

  1. Assicurati che la rete VPC sia configurata per instradare privatamente il traffico alla destinazione, ad esempio tramite un tunnel VPN.
  2. Configura il tuo servizio per inviare richieste alla tua rete VPC.
  3. 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:

  1. Vuoi configurare un indirizzo IP statico in uscita per la tua risorsa Cloud Run.
  2. Vuoi applicare regole firewall per tutto il traffico in uscita da una risorsa Cloud Run.
  3. 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.

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.
  • 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.

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.