Networking privato e Cloud Run

Questa pagina illustra le opzioni di configurazione per includere i servizi Cloud Run nella tua rete privata.

Per ottenere il massimo da questi contenuti, dovresti avere una certa familiarità con le i seguenti concetti:

Per proteggere il traffico di rete per i servizi e le applicazioni, molte le organizzazioni utilizzano una rete privata su Google Cloud con per prevenire l'esfiltrazione di dati. La tua rete privata potrebbe avere seguenti proprietà:

  • Potresti avere varie risorse, ad esempio le VM, che risiedono su una o più reti VPC.
  • Queste VM potrebbero appartenere a molti progetti diversi e essere collegate tra loro con un VPC condiviso.
  • Potresti avere carichi di lavoro on-premise o su altri cloud connessa a questo ambiente Cloud VPN o Cloud Interconnect.
  • Potresti aver attivato una Perimetro Controlli di servizio VPC per ridurre il rischio di esfiltrazione di dati.
  • Potresti avere più reti private, una per ciascuno di diversi ambienti, ad esempio una per la produzione, una per la gestione temporanea e una per lo sviluppo.

A differenza delle VM, per impostazione predefinita i servizi Cloud Run non sono associati a una determinata rete VPC. In questa pagina viene spiegato come per incorporare i servizi Cloud Run nella tua rete privata.

Narrazione di networking serverless

per esplorare una gamma di configurazioni aziendali comuni per pubblico e privato di networking, leggi la nostra narrazione sul networking serverless.

Questo punto di partenza introduce i seguenti concetti di base Scenari di Cloud Run:

  • Esegui il deployment di un file "Hello World!" in tutta sicurezza. app che utilizza un dominio personalizzato
  • Sviluppa applicazioni e microservizi aziendali
  • Accedere a database e file system pubblicamente o privatamente
  • Connettiti con i fornitori SaaS
  • Applicare i controlli di sicurezza

Consulta l'elenco dei moduli Terraform corrispondenti.

Ricevere richieste dalla tua rete privata

La ricezione delle richieste dalla tua rete privata richiede la configurazione in base al le seguenti condizioni:

  • La località da cui proviene la richiesta.
  • Indica se il servizio Cloud Run consente solo richieste dalla tua rete privata.

Ad esempio, la ricezione di richieste da reti VPC potrebbe richiedere una configurazione diversa rispetto alla ricezione di richieste da risorse on-premise e altri cloud.

Ricevi richieste da altri servizi Cloud Run, da App Engine e da funzioni Cloud Run

Quando il servizio Cloud Run di destinazione riceve traffico da altri servizi Cloud Run, App Engine o funzioni Cloud Run 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 altri servizi Cloud Run, App Engine o funzioni Cloud Run, svolgi i seguenti passaggi:

  1. Configura il servizio di origine per utilizzare il traffico VPC diretto in uscita o una di rete.

  2. Assicurati che il traffico verso Cloud Run venga instradato tramite la rete VPC utilizzando una delle seguenti opzioni:

    • Configurare il servizio di origine per inviare tutto il traffico tramite la rete VPC e abilitare l'accesso privato Google nella subnet associata al VPC diretto in uscita o al connettore.
    • Configura Private Service Connect o un bilanciatore del carico delle applicazioni interno per gestire Cloud Run di destinazione completamente gestito di Google Cloud. Con questa configurazione, puoi accedere a Cloud Run utilizzando indirizzi IP interni, quindi le richieste vengono instradate tramite in ogni rete.
    • Abilita l'accesso privato Google sulla subnet associata all'origine e configurare il DNS. per risolvere run.app URL in 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.

Richieste di ricezione da reti VPC

Per impostazione predefinita, solo le risorse VPC hanno indirizzi IP pubblici Cloud NAT può accedere direttamente a internet servizi Google Cloud come Pub/Sub e Cloud Run. Per altre risorse VPC, sono disponibili alcune opzioni per abilitare il percorso di traffico verso Cloud Run:

  1. Il percorso più diretto è abilitare l'accesso privato Google sulle subnet che ospitano le risorse VPC. Una volta attivate, le risorse nelle sottoreti possono accedere ai tuoi servizi Cloud Run all'URL run.app predefinito. Traffico dal VPC a Cloud Run rimane nella rete Google. In questo caso, l'intervallo IP per le richieste inviate a Cloud Run il servizio è 0.0.0.0/32. Ciò significa che nelle voci del log delle richieste, l'attributo remoteIp di HttpRequest sarà 0.0.0.0.
  2. Se hai bisogno del tuo servizio Cloud Run (insieme ad altri API di Google) da esporre come indirizzo IP interno rete VPC, considera Private Service Connect. Una volta abilitata, le risorse VPC possono accedere per i servizi Cloud Run all'URL predefinito di run.app utilizzando all'indirizzo IP interno.
  3. Se hai bisogno di funzionalità e controlli di bilanciamento del carico, valuta la possibilità di utilizzare un bilanciatore del carico delle applicazioni interno. Con questo approccio, le risorse VPC accedono per i servizi Cloud Run utilizzando l'URL associato il bilanciatore del carico delle applicazioni interno.
  4. Se vuoi esporre il tuo servizio ai clienti interni come servizio gestito ed essere in grado di controllare i progetti che possono accedervi, puoi ospitarlo con un bilanciatore del carico delle applicazioni interno e pubblicarlo utilizzando Private Service Connect. Anche i progetti che devono utilizzare il servizio possono accedere utilizzando Private Service Connect.

Le risposte vengono restituite utilizzando lo stesso percorso seguito dalla richiesta.

Considerazioni speciali per la VPC condivisa

Se utilizzi Cloud Run controlli in entrata per imporre che tutto il traffico debba provengono dalla tua rete privata (con l'impostazione internal), quindi tieni presente che Il traffico VPC condiviso è riconosciuto solo come "interno" nel le seguenti situazioni:

  • Il servizio Cloud Run è in esecuzione nel progetto host VPC condiviso.

  • Ingress nella VPC condiviso: Il servizio Cloud Run è collegato a un VPC condiviso in ogni rete. In questo scenario, tieni presente le seguenti considerazioni:

    • Solo le revisioni dei servizi che hanno configurato il traffico VPC diretto in uscita o che hanno configurato un connettore di accesso VPC serverless per inviare traffico alla rete VPC condivisa accetteranno anche il traffico proveniente dalla stessa rete VPC condivisa.

    • Le richieste utilizzano percorsi diversi in base alla direzione del traffico. Le richieste inviate da Cloud Run alla rete VPC condivisa vengono instradate tramite il traffico VPC diretto in uscita o il connettore. Tuttavia, le richieste inviate La rete VPC condiviso con Cloud Run utilizza il modello in entrata.

    • Per scollegare un servizio Cloud Run dal VPC condiviso: eseguire nuovamente il deployment senza accesso alla rete VPC o con servizio configurato per inviare il traffico a un VPC diverso in ogni rete.

  • Utilizzi un bilanciatore del carico delle applicazioni interno per eseguire il proxy del traffico.

  • Hai posizionato 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 altri VPC esterni al progetto

Se utilizzi i controlli di ingresso di Cloud Run per imporre che tutto il traffico debba provenire dalla tua rete privata (utilizzando l'impostazione internal), tieni presente che il traffico proveniente da altri VPC esterni al tuo progetto non è riconosciuto come "interno", tranne nelle seguenti situazioni:

  • Controlli di servizio VPC è configurato per consentire il traffico con run.googleapis.com come servizio con limitazioni e l'accesso privato Google è abilitato per la subnet di origine.
  • Il servizio Cloud Run viene pubblicato come servizio gestito utilizzando Private Service Connect (richiede un bilanciatore del carico delle applicazioni interno) e viene acceso dall'altra rete VPC.

Il peering di un VPC all'esterno del progetto non consente riconosciuto come "interno".

Ricevi richieste da altri servizi Google Cloud

Richieste a Cloud Run da servizi Google Cloud come Pub/Sub rimane all'interno della rete di Google.

Esistono alcune considerazioni speciali se hai configurato i controlli di ingresso di Cloud Run per consentire solo il traffico "interno":

  • Richieste da Cloud Scheduler, Cloud Tasks, Eventarc, Pub/Sub monitor sintetici (inclusi i controlli di uptime), e Workflows nello stesso progetto o del perimetro Controlli di servizio VPC sono riconosciuti come "interni".
  • Le richieste provenienti da Cloud Run, App Engine e dalle funzioni Cloud Run inviate dall'interno dello stesso progetto o dello stesso perimetro dei Controlli di servizio VPC richiedono tutte una configurazione aggiuntiva prima di essere riconosciute come "interne". Per maggiori dettagli, consulta la sezione Ricevere richieste da altri servizi Cloud Run, App Engine e funzioni Cloud Run.
  • Se il servizio Google Cloud che hai scelto non è in grado di accedere Per i servizi Cloud Run con traffico in entrata impostato su internal, tieni presente che molti supportano l'autenticazione in Cloud Run, come Pub/Sub (supporta sia internal sia l'autenticazione), Gateway API, e Dialogflow CX. A seconda delle tue esigenze di sicurezza, potrebbe essere sufficiente che il servizio Cloud Run di destinazione richieda l'autenticazione anziché l'ingresso "interno".
  • Le richieste dei servizi Google Cloud non menzionati sopra non sono riconosciuti come interni e non possono essere ricevuti da Cloud Run in entrata impostata su internal o internal-and-cloud-load-balancing.

Ricevere richieste da on-prem o altri cloud

Esistono diversi modi per ricevere privatamente richieste da on-premise risorse e altri cloud.

  1. Configurazione di base: per consentire alle richieste provenienti dalle risorse on-premise e da altri cloud di attraversare la tua rete privata, configura Accesso privato Google per gli host on-premise.
  2. Esponi il servizio Cloud Run con un IP interno : per chiamare i servizi Cloud Run utilizzando un IP interno. indirizzo, configurare Private Service Connect per host on-premise. L'aggiunta di Private Service Connect per host on-premise consente di esporre il tuo servizio Cloud Run al VPC come indirizzo IP interno. Private Service Connect comporta costi.
  3. 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.
  4. Oltre i confini amministrativi: se vuoi esporre il servizio ai clienti interni come servizio gestito ed essere in grado di controllare possono accedervi, puoi pubblicarla usando Private Service Connect. Per utilizzarlo, vedi Utilizzo di Private Service Connect da host on-premise (è richiesto un bilanciatore del carico delle applicazioni interno).

Richiedi che le richieste provengano dalla tua rete privata

Per impedire il traffico in entrata (ingress) da origini esterne, puoi specificare un'impostazione di ingresso restrittiva. L'impostazione di traffico in entrata più restrittiva è internal. Con Ingress impostato su internal, il servizio consente solo le richieste provenienti dal tuo progetto, Le reti VPC condiviso a cui è collegato il progetto e i Controlli di servizio VPC perimetrale. Esistono alcune limitazioni a questa impostazione a seconda di dove si trovano delle tue richieste. Per informazioni su queste limitazioni e su come gestirle, consulta la sezione Ricevere richieste dalla tua rete privata.

Puoi specificare l'impostazione di ingresso per ogni servizio Cloud Run o imporre l'uso dell'impostazione di ingresso che preferisci per tutti i servizi Cloud Run della tua organizzazione.

Inviare richieste alla tua rete privata

Se il servizio Cloud Run deve accedere a una risorsa sulla tua rete privata, puoi configurare 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 VPC diretto in uscita o un connettore di accesso VPC serverless. Confronta i connettori VPC diretto in uscita e VPC. Esamina i prezzi per comprendere i costi.

Quando sono configurati i connettori di accesso VPC serverless o il traffico VPC diretto in uscita, 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 instradate alla rete VPC utilizzando il traffico VPC diretto in uscita o un connettore. Richieste al pubblico le destinazioni continuano a essere indirizzate direttamente a internet, a meno che le tue l'impostazione di traffico in uscita sia configurata. negli altri casi.

Con le richieste instradate tramite VPC diretto in uscita o accesso VPC serverless connettori, le risposte vengono restituite utilizzando il percorso seguito dalla richiesta. Le richieste dal tuo VPC a Cloud Run sono abilitate tramite l'utilizzo di altre tecnologie e non vengono instradate tramite l'accesso VPC serverless o il traffico VPC diretto in uscita. Le risposte a queste richieste vengono restituite utilizzando lo stesso percorso. Per saperne di più sull'invio di richieste dal VPC a Cloud Run, consulta la sezione Ricevi richieste dalle reti VPC.

Invio di richieste a una rete VPC esterna al progetto

Per inviare richieste a una rete VPC esterna al tuo progetto:

  1. Per gli utenti delle reti VPC condivise, consulta Connessione a una VPC condiviso condivisa
  2. Per altri VPC, configura il traffico VPC diretto in uscita o un connettore di accesso VPC serverless per connetterti a un VPC nel tuo progetto.
    • VPC con peering: per inviare a un VPC con peering con un VPC che utilizza l'uscita della rete VPC, non è necessaria alcuna configurazione aggiuntiva. Tuttavia, le VM nella subnet il traffico in uscita dalla rete VPC che ospita deve essere in grado di raggiungere rete VPC di destinazione.
    • Altri VPC: per le reti VPC esterne al progetto che non fanno parte dello stesso ambiente VPC condiviso o che sono in peering progetto VPC, configura Private Service Connect dopo aver configurato il traffico in uscita dalla rete VPC.

Inviare richieste ad altri servizi Cloud Run e Google Cloud

Richieste da un servizio Cloud Run a un altro o a un altro I servizi Google Cloud rimangono all'interno della rete interna di Google soggetti ai Controlli di servizio VPC.

Per le richieste ai servizi Cloud Run con impostazioni di ingresso restrittive, è necessaria una configurazione aggiuntiva. Consulta: Ricevi richieste da altri servizi Cloud Run, da App Engine e da funzioni Cloud Run.

Invia richieste a risorse on-premise e ad altri cloud

Per inviare richieste alle 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 per inviare richieste alla tua rete VPC.
  3. Poi richiedono tutte le richieste per andare al tuo VPC in ogni rete.

Richiedi tutte le richieste per andare alla tua rete VPC

Per fare in modo che tutte le richieste del servizio Cloud Run vadano a alla tua rete VPC, specifica "tutto il traffico" Impostazione del traffico in uscita dalla rete VPC. Puoi specificare l'impostazione di uscita per ogni servizio Cloud Run che utilizza l'uscita della rete VPC oppure puoi applicare l'utilizzo della impostazione di uscita preferita per tutti i servizi Cloud Run nel tuo progetto, nella tua cartella o nella tua organizzazione.

Questa opzione è utile nelle seguenti situazioni:

  1. Vuoi configurare un indirizzo IP in uscita statico per il tuo servizio Cloud Run.
  2. Vuoi applicare regole firewall per tutto il traffico in uscita da un servizio Cloud Run.
  3. Vuoi inviare richieste a risorse on-premise e altri cloud attraverso la tua rete privata.

Se il tuo servizio Cloud Run effettua richieste a destinazioni finali all'esterno della rete VPC, richiedendo che tutte le richieste vengano inviate La rete VPC aumenta l'utilizzo della larghezza di banda Connettore di accesso VPC serverless (se configurato) e potrebbe aumentare i costi di conseguenza. I connettori di accesso VPC serverless eseguono automaticamente lo scale out quando il traffico aumenta, ma non lo eseguono se il traffico diminuisce. Rivedi prezzo per comprendere i costi.

Controlli aggiuntivi

  • Controlli perimetrali: per ridurre il rischio di esfiltrazione di dati per un gruppo di risorse, inseriscile in un perimetro basato sul contesto utilizzando i Controlli di servizio VPC.
  • Controlli granulari: per controllare l'accesso al traffico da una risorsa specifica all'interno della tua rete privata, ad esempio un servizio Cloud Run o una macchina virtuale Compute Engine specifici, utilizza gli account di servizio per controllare le autorizzazioni e l'autenticazione.

Passaggi successivi

Se utilizzi Terraform, è disponibile il codice di esempio di Terraform per configurare i servizi Cloud Run in una rete privata.