Networking privato e Cloud Run

Questa pagina illustra le opzioni di configurazione per includere 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 e i controlli 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 possono appartenere a molti progetti diversi collegate tra loro 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 ognuna delle varie ambienti diversi, ad esempio uno per la produzione, uno per la gestione temporanea una per lo sviluppo.

A differenza delle VM, i servizi Cloud Run non sono associati a nessun una determinata rete VPC per impostazione predefinita. 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 sul 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
  • Accedi a database e file system pubblicamente o privatamente
  • Entrare in contatto con fornitori SaaS
  • Applicare i controlli di sicurezza

Consulta l'elenco dei moduli Terraform corrispondenti.

Ricevi richieste dalla tua rete privata

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

  • Provenienza della richiesta.
  • Indica se il servizio Cloud Run consente solo le richieste dal tuo in una rete privata.

Ad esempio: ricevono richieste da reti VPC potrebbero richiedere una configurazione diversa ricevendo richieste da risorse on-premise e altri cloud.

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

Quando il servizio Cloud Run di destinazione riceve traffico da altri servizi Cloud Run, App Engine o Cloud Functions, e utilizza l'interfaccia "interno" o "bilanciamento interno e del carico" impostazione del traffico in entrata, il traffico deve utilizzare la rete VPC per essere considerato interno.

Per ricevere richieste da altri servizi Cloud Run, App Engine, o Cloud Functions, segui questi 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 instrada attraverso il VPC di rete 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). Richieste a questi vengono instradati 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 del traffico verso Cloud Run:

  1. La via più diretta è quella di abilitare Accesso privato Google sulle subnet che ospitano le tue risorse VPC. Una volta attivata la funzionalità, Le risorse sulle subnet possono accedere ai servizi Cloud Run in corrispondenza dell'URL predefinito di run.app. 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 di 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 una Application Load Balancer 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 servizio ai clienti interni come e controllare quali progetti possono accedervi, puoi ospitare con un bilanciatore del carico delle applicazioni interno la pubblichi utilizzando Private Service Connect. I progetti che devono utilizzare il servizio possono inoltre per accedervi utilizzando Private Service Connect.

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

Considerazioni speciali per il VPC condiviso

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 in 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 del servizio che sono state configurate Traffico VPC diretto in uscita o hai configurato un connettore di accesso VPC serverless per inviare il traffico alla rete VPC condiviso accetterà anche il traffico della stessa rete VPC condiviso.

    • Le richieste utilizzano percorsi diversi in base alla direzione del traffico. Richieste inviate da Cloud Run alla rete VPC condiviso vengono instradate tramite VPC diretto in uscita o dal 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.

  • Stai utilizzando un bilanciatore del carico delle applicazioni interno per inviare un proxy al traffico.

  • Hai posizionato l'host del VPC condiviso e tutti i progetti di servizio all'interno degli stessi Controlli di servizio VPC perimetrale. Per configurare i Controlli di servizio VPC, consulta Utilizzo dei Controlli di servizio VPC (VPC SC).

Considerazioni speciali per altri VPC esterni al progetto

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 da altri VPC esterni al progetto non è riconosciuto come "interno" tranne che nei seguenti casi:

  • Controlli di servizio VPC è configurato per consentire il traffico con run.googleapis.com come servizio con restrizioni e l'accesso privato Google sia abilitato per la subnet di origine.
  • Il tuo servizio Cloud Run è pubblicato come servizio gestito mediante Private Service Connect (richiede un bilanciatore del carico delle applicazioni interno) ed è ultimo accesso 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.

Ci sono alcune considerazioni speciali se hai configurato Controlli in entrata di Cloud Run per consentire solo il traffico "interno" traffico:

  • 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".
  • Richieste da Cloud Run, App Engine e le funzioni Cloud Functions inviate dall'interno dello stesso progetto Tutti i perimetri Controlli di servizio VPC richiedono una configurazione aggiuntiva prima sono riconosciuti come "interni". Per maggiori dettagli, consulta Ricevi richieste da altri servizi Cloud Run, App Engine e Cloud Functions .
  • 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 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 per la destinazione al servizio Cloud Run per richiedere l'autenticazione anziché "interno" in entrata.
  • 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.

Ricevi richieste da on-prem o da altri cloud

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

  1. Configurazione di base: per avere richieste da risorse on-premise. e altri cloud attraversano la tua rete privata, 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 indirizzo 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 incorre costi.
  3. Con funzionalità di bilanciamento del carico: se hai bisogno di bilanciamento del carico e controlli, usano 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 da sorgenti esterne, puoi specificare un restrittiva impostazione Ingress. 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 scoprire di più su questi limiti e su come gestirli, consulta la sezione Ricevi richieste dalla tua rete privata.

Puoi specificare l'impostazione di traffico in entrata per ogni servizio Cloud Run, o forzare l'uso dell'impostazione di traffico in entrata preferita per tutti Cloud Run nella tua organizzazione.

Invia richieste alla tua rete privata

Se il tuo servizio Cloud Run deve accedere a una risorsa sul tuo 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 i connettori VPC diretto in uscita o Accesso VPC serverless vengono configurato, le seguenti considerazioni si applicano per impostazione predefinita:

  • Tutte le query DNS vengono inviate al server DNS configurato per il VPC associata alla configurazione del traffico in uscita dalla 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 utilizzando altre tecnologie e non sono instradate tramite accesso VPC serverless VPC diretto e le risposte a queste richieste vengono restituite utilizzando sullo 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 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 accesso VPC serverless per connetterti a un VPC nel tuo progetto.
    • VPC in peering:per inviare a un VPC in peering a un VPC che utilizza il traffico in uscita dalla rete VPC, è necessaria un'ulteriore configurazione. 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.

Invia richieste ad altri servizi Cloud Run e servizi 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 richieste ai servizi Cloud Run con traffico in entrata restrittivo impostazioni, è necessaria un'ulteriore configurazione. Consulta Ricevi richieste da altri servizi Cloud Run, App Engine e Cloud Functions.

Invia richieste a risorse on-premise e altri cloud

Per inviare richieste a risorse on-premise e ad altri cloud tramite devi:

  1. Assicurati che la tua rete VPC sia configurata per l'instradamento privato per il traffico verso la destinazione, ad esempio attraverso 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 traffico in uscita per ogni servizio Cloud Run che utilizza il traffico in uscita dalla rete VPC, oppure puoi imporre l'uso per tutti i servizi Cloud Run nel tuo un progetto, una cartella o un'organizzazione.

Ciò è 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 una dal 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 scalano automaticamente quando il traffico aumenta, ma non lo fare lo scale in se il traffico diminuisce. Rivedi pricing per comprendere i costi.

Controlli aggiuntivi

  • Controlli del perimetro: per ridurre il rischio di esfiltrazione di dati per un un gruppo di risorse, posizionarle all'interno di un perimetro sensibile al contesto utilizzando Controlli di servizio VPC.
  • Controlli granulari: per controllare l'accesso al traffico da una specifica regione. risorsa all'interno della tua rete privata, come una dal servizio Cloud Run o dalla macchina virtuale Compute Engine, utilizza per controllare autorizzazioni e autenticazione.

Passaggi successivi

Se usi Terraform, consulta il codice di esempio Terraform. è disponibile per configurare i servizi Cloud Run in ogni rete.