Inviare traffico serverless a una rete VPC
Ti consigliamo di abilitare il servizio o il job Cloud Run per inviare traffico a una rete VPC utilizzando il traffico in uscita VPC diretto, senza la necessità di un connettore di accesso VPC serverless.
Tuttavia, se il traffico in uscita VPC diretto non è un'opzione per te, puoi utilizzare l'accesso VPC serverless per connetterti direttamente alla tua rete VPC da ambienti serverless come Cloud Run e App Engine. La configurazione dell'accesso VPC serverless consente al tuo ambiente serverless di inviare richieste alla tua rete VPC utilizzando il DNS interno e gli indirizzi IP interni (come definiti da RFC 1918 e RFC 6598). Anche le risposte a queste richieste utilizzano la tua rete interna.
L'utilizzo dell'accesso VPC serverless offre due vantaggi principali:
- Le richieste inviate alla tua rete VPC non vengono mai esposte a internet.
- La comunicazione tramite l'accesso VPC serverless può avere una latenza inferiore rispetto a internet.
L'accesso VPC serverless invia il traffico interno dalla rete VPC all'ambiente serverless solo quando il traffico è una risposta a una richiesta inviata dall'ambiente serverless tramite il connettore di accesso VPC serverless. Per scoprire come inviare altro traffico interno, consulta Accesso privato Google.
Per accedere alle risorse in più reti e Google Cloud progetti VPC, devi anche configurare il VPC condiviso o il peering di rete VPC.
Come funziona
L'accesso VPC serverless si basa su una risorsa chiamata connettore. Un connettore gestisce il traffico tra l'ambiente serverless e la rete VPC. Quando crei un connettore nel tuo Google Cloud progetto, lo colleghi a una rete e a una regione VPC specifiche. Puoi quindi configurare i servizi serverless in modo che utilizzino il connettore per il traffico di rete in uscita.
Intervalli di indirizzi IP
Esistono due opzioni per impostare l'intervallo di indirizzi IP per un connettore:
- Subnet: puoi specificare una
/28subnet esistente se non sono presenti risorse che la utilizzano già. - Intervallo CIDR: puoi specificare un intervallo CIDR
/28inutilizzato. Quando specifichi questo intervallo, assicurati che non si sovrapponga a nessun intervallo CIDR in uso.
Il traffico inviato tramite il connettore alla rete VPC proviene dalla subnet o dall'intervallo CIDR che specifichi.
Regole firewall
Le regole firewall sono necessarie per il funzionamento del connettore e per la sua comunicazione con altre risorse, incluse quelle della rete.
Regole firewall per i connettori in reti VPC autonome o progetti host VPC condiviso
Se crei un connettore in una rete VPC autonoma o nel progetto host di una rete VPC condiviso, Google Cloud crea tutte le regole firewall necessarie. Queste regole firewall esistono solo finché esiste il connettore associato. Sono visibili nella Google Cloud console, ma non puoi modificarle o eliminarle.
| Scopo della regola firewall | Formato del nome | Tipo | Azione | Priorità | Protocolli e porte |
|---|---|---|---|---|---|
Consente il traffico alle istanze VM del connettore dagli intervalli dei probe di controllo di integrità (35.191.0.0/16, 130.211.0.0/22) su determinate porte |
aet-CONNECTOR_REGION-CONNECTOR_NAME-hcfw |
In entrata | Consenti | 100 | TCP:667 |
Consente il traffico alle istanze VM del connettore dall'infrastruttura serverless sottostante di Google (35.199.224.0/19) su determinate porte |
aet-CONNECTOR_REGION-CONNECTOR_NAME-rsgfw |
In entrata | Consenti | 100 | TCP:667, UDP:665-666, ICMP |
Consente il traffico dalle istanze VM del connettore a infrastruttura serverless sottostante di Google (35.199.224.0/19) su determinate porte |
aet-CONNECTOR_REGION-CONNECTOR_NAME-earfw |
In uscita | Consenti | 100 | TCP:667, UDP:665-666, ICMP |
Blocca il traffico dalle istanze VM del connettore a infrastruttura serverless sottostante di Google (35.199.224.0/19) per tutte le altre porte |
aet-CONNECTOR_REGION-CONNECTOR_NAME-egrfw |
In uscita | Nega | 100 | TCP:1-666, 668-65535, UDP:1-664, 667-65535 |
| Consente tutto il traffico dalle istanze VM del connettore (in base al relativo indirizzo IP) a tutte le risorse nella rete VPC del connettore | aet-CONNECTOR_REGION-CONNECTOR_NAME-sbntfw |
In entrata | Consenti | 1000 | TCP, UDP, ICMP |
| Consente tutto il traffico dalle istanze VM del connettore (in base al relativo tag di rete) a tutte le risorse nella rete VPC del connettore | aet-CONNECTOR_REGION-CONNECTOR_NAME-tagfw |
In entrata | Consenti | 1000 | TCP, UDP, ICMP |
Puoi limitare ulteriormente l'accesso del connettore alle risorse nella rete VPC target utilizzando le regole firewall VPC o le regole nelle policy firewall. Quando aggiungi regole firewall, assicurati che utilizzino una priorità superiore a 100 in modo che non entrino in conflitto con le regole firewall nascoste impostate da Google Cloud. Per saperne di più, consulta Limita l'accesso a VM del connettore alle risorse di rete VPC.
Regole firewall per i connettori nei progetti di servizio con VPC condiviso
Se crei un connettore in un progetto di servizio e il connettore ha come target una rete VPC condiviso nel progetto host, devi aggiungere regole firewall per consentire il traffico necessario per il funzionamento del connettore.
Puoi anche limitare l'accesso del connettore alle risorse nella rete VPC target utilizzando le regole firewall VPC o le regole nelle policy firewall. Per saperne di più, consulta Accesso alle risorse VPC.
Throughput e scalabilità
Un connettore di accesso VPC serverless è costituito da istanze del connettore. Le istanze del connettore possono utilizzare uno dei diversi tipi di macchine. I tipi di macchine più grandi forniscono un throughput maggiore. Puoi visualizzare il throughput e il costo stimati per ogni tipo di macchina nella Google Cloud console e nella tabella seguente.
| Tipo di macchina | Intervallo di throughput stimato in Mbps* | Prezzo (istanza del connettore più costi di trasferimento di dati in uscita dalla rete) |
|---|---|---|
f1-micro |
100-500 | Prezzi di f1-micro |
e2-micro |
200-1000 | Prezzi di e2-micro |
e2-standard-4 |
3200-16000 | Prezzi di e2-standard |
* Gli intervalli di throughput massimo sono stime basate sul normale funzionamento. Il throughput effettivo dipende da molti fattori. Consulta Larghezza di banda della rete VM.
Puoi impostare il numero minimo e massimo di istanze del connettore consentite per il connettore. Il valore minimo deve essere almeno 2. Il valore massimo può essere al massimo 10 e deve essere maggiore del valore minimo. Se non specifichi il numero minimo e massimo di istanze per il connettore, vengono applicati i valori predefiniti di 2 e 10, rispettivamente. Un connettore potrebbe superare temporaneamente il valore impostato per il numero massimo di istanze quando Google esegue la manutenzione bisettimanale, ad esempio gli aggiornamenti di sicurezza. Durante la manutenzione, potrebbero essere aggiunte istanze aggiuntive per garantire un servizio ininterrotto. Al termine della manutenzione, i connettori tornano allo stesso numero di istanze che avevano prima del periodo di manutenzione. La manutenzione di solito dura pochi minuti. Per ridurre l'impatto durante la manutenzione, utilizza i pool di connessioni e non fare affidamento su connessioni che durano più di un minuto. Le istanze smettono di accettare richieste un minuto prima dell'arresto.
L'accesso VPC serverless esegue automaticamente lo scale out del numero di istanze nel connettore all'aumentare del traffico. Le istanze aggiunte sono del tipo specificato per il connettore. I connettori non possono combinare i tipi di macchine. I connettori non eseguono fare lo scale in. Per impedire che i connettori eseguano lo scale out più di quanto desideri, imposta il numero massimo di istanze su un numero basso. Se il connettore ha eseguito lo scale out e preferisci avere meno istanze, ricrea il connettore con il numero di istanze necessario.
Esempio
Se scegli f1-micro per il tipo di macchina e utilizzi i valori predefiniti per il numero minimo e massimo di istanze (2 e 10 rispettivamente), il throughput stimato per il connettore è di 100 Mbps con il numero minimo predefinito di istanze e di 500 Mbps con il numero massimo predefinito di istanze.
Grafico del throughput
Puoi monitorare il throughput corrente dalla pagina Dettagli connettore nella Google Cloud console. Il grafico del throughput in questa pagina mostra una visualizzazione dettagliata delle metriche del throughput del connettore.
Tag di rete
I tag di rete di accesso VPC serverless consentono di fare riferimento a connettori VPC nelle regole firewall e route.
Ogni connettore di accesso VPC serverless riceve automaticamente i seguenti due tag di rete (a volte chiamati tag di istanza):
Tag di rete universale (
vpc-connector): si applica a tutti i connettori esistenti e a tutti i connettori creati in futuro.Tag di rete univoco (
vpc-connector-REGION-CONNECTOR_NAME): si applica al connettore CONNECTOR_NAME nella regione REGION.
Questi tag di rete non possono essere eliminati. Non è possibile aggiungere nuovi tag di rete. Utilizza i tag di rete per limitare l'accesso a VM del connettore alle risorse VPC.
Casi d'uso
Puoi utilizzare l'accesso VPC serverless per accedere alle istanze VM di Compute Engine, alle istanze Memorystore e a qualsiasi altra risorsa con DNS interno o indirizzo IP interno. Ecco alcuni esempi:
- Utilizzi Memorystore per archiviare i dati di un servizio serverless.
- I tuoi carichi di lavoro serverless utilizzano software di terze parti che esegui su una VM di Compute Engine.
- Esegui un servizio di backend su un gruppo di istanze gestite in Compute Engine e hai bisogno che il tuo ambiente serverless comunichi con questo backend senza essere esposto a internet.
- Il tuo ambiente serverless deve accedere ai dati del database on-premise tramite Cloud VPN.
Esempio
In questo esempio, un Google Cloud progetto esegue più servizi nei seguenti ambienti serverless: App Engine, Cloud Run Functions e Cloud Run.
È stato creato un connettore di accesso VPC serverless a cui è stato assegnato l'intervallo IP 10.8.0.0/28. Pertanto, l'indirizzo IP di origine per qualsiasi richiesta inviata dal connettore rientra in questo intervallo.
Nella rete VPC sono presenti due risorse. Una delle risorse ha l'indirizzo IP interno 10.0.0.4. L'altra risorsa ha l'indirizzo IP interno 10.1.0.2 e si trova in una regione diversa rispetto al connettore di accesso VPC serverless.
Il connettore gestisce l'invio e la ricezione sia delle richieste sia delle risposte direttamente da questi indirizzi IP interni. Quando il connettore invia richieste a
la risorsa con indirizzo IP interno 10.1.0.2, vengono applicati i costi di trasferimento di dati in uscita perché la risorsa si trova in una
regione diversa.
Tutte le richieste e le risposte tra gli ambienti serverless e le risorse nella rete VPC vengono inviate internamente.
Le richieste inviate a indirizzi IP esterni continuano a transitare su internet e non utilizzano il connettore di accesso VPC serverless.
Il seguente diagramma mostra questa configurazione.
Prezzi
Per i prezzi dell'accesso VPC serverless, consulta Accesso VPC serverless su la pagina dei prezzi di VPC.
Servizi supportati
La tabella seguente mostra i tipi di reti che puoi raggiungere utilizzando l'accesso VPC serverless:
| Servizio di connettività | Supporto per l'accesso VPC serverless |
|---|---|
| VPC | |
| VPC condiviso | |
| Reti precedenti | |
| Reti connesse a Cloud Interconnect | |
| Reti connesse a Cloud VPN | |
| Reti connesse al peering di rete VPC |
La tabella seguente mostra gli ambienti serverless che supportano l'accesso VPC serverless:
| Ambiente serverless | Supporto per l'accesso VPC serverless |
|---|---|
| Cloud Run | |
| Knative Serving* | |
| Cloud Run Functions | |
| Ambiente standard di App Engine | Tutti i runtime tranne PHP 5 |
| Ambiente flessibile di App Engine* |
*Se vuoi utilizzare indirizzi IP interni quando ti connetti da Knative Serving o dall'ambiente flessibile di App Engine, non devi configurare l'accesso VPC serverless. Assicurati solo che il servizio sia di cui è stato eseguito il deployment in una rete VPC che abbia la connettività alle risorse che vuoi raggiungere.
Protocolli di rete supportati
La tabella seguente descrive i protocolli di rete supportati dai connettori di accesso VPC serverless.
| Protocollo | Instrada solo le richieste a IP privati attraverso il connettore | Instrada tutto il traffico attraverso il connettore |
|---|---|---|
| TCP | ||
| UDP | ||
| ICMP | Supportato solo per gli indirizzi IP esterni |
Aree geografiche supportate
I connettori di accesso VPC serverless sono supportati in tutte le regioni che supportano Cloud Run, Cloud Run Functions o l'ambiente standard di App Engine.
Per visualizzare le regioni disponibili:
gcloud compute networks vpc-access locations list
Passaggi successivi
- Per configurare l'accesso VPC serverless, consulta Configurare l'accesso VPC serverless.