Accesso VPC serverless

L'accesso VPC serverless ti consente di connetterti direttamente alla tua rete Virtual Private Cloud da ambienti serverless come Cloud Run, App Engine o Cloud Functions. La configurazione dell'accesso VPC serverless consente al tuo ambiente serverless di inviare richieste alla rete VPC utilizzando DNS interno e indirizzi IP interni (come definiti da RFC 1918 e RFC 6598). Le risposte a queste richieste utilizzano anche la tua rete interna.

L'utilizzo dell'accesso VPC serverless presenta 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 minore rispetto a Internet.

L'accesso VPC serverless invia il traffico interno dalla tua rete VPC all'ambiente serverless solo quando tale traffico è una risposta a una richiesta inviata dall'ambiente serverless tramite il connettore di accesso VPC serverless. Per saperne di più sull'invio di altro traffico interno al tuo ambiente serverless, consulta Accesso privato Google.

Per accedere alle risorse su più reti VPC e progetti Google Cloud, devi anche configurare VPC condiviso o peering di rete VPC.

Come funziona

L'accesso VPC serverless si basa su una risorsa denominata connettore. Un connettore gestisce il traffico tra l'ambiente serverless e la rete VPC. Quando crei un connettore nel progetto Google Cloud, 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

Sono disponibili due opzioni per impostare l'intervallo di indirizzi IP di un connettore:

  • Subnet: puoi specificare una subnet /28 esistente se non sono presenti risorse che la utilizzano già.
  • Intervallo CIDR: puoi specificare un intervallo CIDR /28 inutilizzato. Un intervallo CIDR /28 (o "blocco") è un gruppo di indirizzi IP. Ad esempio, l'intervallo CIDR 10.8.0.0/28 ha un indirizzo IP a 32 bit (10.8.0.0 in decimale o 00001010.00001000.00000000.00000000 in binario).

    L'intervallo CIDR contiene anche una maschera, /28, che indica quanti bit appartengono all'identificatore di rete (la prima parte dell'indirizzo IP) e quanti appartengono all'identificatore host (la seconda parte). Una maschera /28 indica che i primi 28 bit appartengono alla rete e gli ultimi 4 bit appartengono all'identificatore host. Con 4 bit binari, puoi contare fino a 16 (0000, 0001, 0010, ... 1000).

    Pertanto, un intervallo CIDR /28 è un intervallo di 16 indirizzi IP host, in cui sono prenotati il primo indirizzo (10.8.0.0) e l'ultimo indirizzo (10.8.0.15), lasciando 14 indirizzi IP utilizzabili: da 10.8.0.1 a 10.8.0.14. Quando specifichi questo intervallo, assicurati che non si sovrapponga a nessun intervallo CIDR in uso.

Il traffico inviato attraverso il connettore alla tua rete VPC proviene dall'intervallo di subnet o CIDR specificato.

Regole del firewall

Se la subnet non è una subnet condivisa, nella rete VPC viene creata una regola firewall con priorità 1000 implicita per consentire il traffico in entrata dalla subnet o dall'intervallo IP personalizzato del connettore a tutte le destinazioni nella rete. La regola implicita del firewall non è visibile nella console Google Cloud ed esiste solo finché il connettore associato esiste.

Velocità effettiva e scalabilità

Un connettore di accesso VPC serverless è costituito da istanze di connettore. Le istanze del connettore possono utilizzare uno dei diversi tipi di macchina. I tipi di macchina più grandi offrono una maggiore velocità effettiva. Puoi visualizzare la velocità effettiva e il costo stimati per ogni tipo di macchina nella console Google Cloud e nella tabella seguente.

Tipo di macchina Intervallo di velocità effettiva stimata in Mbps Prezzo
(istanza connettore più costi 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 Prezzo standard e2

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 superiore al minimo. Se non specifichi il numero minimo e massimo di istanze per il connettore, vengono applicati il minimo predefinito di 2 e il massimo di 10 predefiniti. Un connettore potrebbe superare temporaneamente il valore impostato per il numero massimo di istanze quando Google esegue operazioni di manutenzione, come gli aggiornamenti della sicurezza. Durante la manutenzione, potrebbero essere aggiunte istanze aggiuntive per garantire la continuità del servizio. Dopo la manutenzione, i connettori vengono restituiti allo stesso numero di istanze che avevano prima del periodo di manutenzione. La manutenzione di solito dura pochi minuti.

L'accesso VPC serverless scala automaticamente il numero di istanze nel connettore all'aumento del traffico. Le istanze aggiunte sono del tipo specificato per il connettore. I connettori non possono combinare tipi di macchine. Lo scale up dei connettori non funziona. Per impedire che i connettori abbiano uno scale out più elevato del previsto, imposta il numero massimo di istanze su un numero basso. Se lo scale out del connettore e preferisci meno istanze, ricrealo con il numero desiderato di istanze.

Esempio

Se scegli f1-micro come tipo di macchina e utilizzi i valori predefiniti per il numero minimo e massimo di istanze (rispettivamente 2 e 10), la velocità effettiva stimata per il connettore sarà di 100 Mbps con il numero minimo predefinito di istanze e di 500 Mbps con il numero massimo predefinito di istanze.

Tag di rete

I tag di rete VPC di accesso serverless consentono di fare riferimento ai connettori VPC in regole firewall e route.

Ogni connettore di accesso VPC serverless riceve automaticamente due tag di rete (a volte denominati tag di istanza):

  • Tag di rete universale: vpc-connector si applica a tutti i connettori esistenti e a quelli creati in futuro
  • Tag di rete univoco: vpc-connector-REGION-CONNECTOR_NAME Si applica al connettore CONNECTOR_NAME in REGION

Impossibile eliminare questi tag di rete. Impossibile aggiungere nuovi tag di rete.

Casi d'uso

Puoi utilizzare l'accesso VPC serverless per accedere a istanze VM di Compute Engine, istanze Memorystore e qualsiasi altra risorsa con DNS interno o indirizzo IP interno. Ecco alcuni esempi:

  • Usi Memorystore per archiviare i dati per un servizio serverless.
  • I 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 esposizione a Internet.
  • L'ambiente serverless deve accedere ai dati dal database on-premise tramite Cloud VPN.

Esempio

In questo esempio, un progetto Google Cloud esegue più servizi nei seguenti ambienti serverless: App Engine, Cloud Functions e Cloud Run.

È stato creato un connettore di accesso VPC serverless e gli è stato assegnato l'intervallo IP 10.8.0.0/28. Di conseguenza, l'indirizzo IP di origine di qualsiasi richiesta inviata dal connettore rientra in questo intervallo.

Sono disponibili due risorse nella rete VPC. 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 da quella del connettore di accesso VPC serverless.

Il connettore gestisce l'invio e la ricezione di richieste e risposte direttamente da questi indirizzi IP interni. Quando il connettore invia richieste alla risorsa con indirizzo IP interno 10.1.0.2, vengono applicati i costi di 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 viaggiano internamente.

Le richieste inviate a indirizzi IP esterni viaggiano comunque attraverso Internet e non utilizzano il connettore di accesso VPC serverless.

Il seguente diagramma mostra questa configurazione.

Esempio di accesso VPC serverless (fai clic per ingrandire)
Esempio di accesso VPC serverless (fai clic per ingrandire)

Prezzi

Per i prezzi dell'accesso VPC serverless, consulta Accesso VPC serverless nella pagina Prezzi VPC.

Servizi supportati

La tabella seguente mostra quali tipi di reti puoi raggiungere utilizzando l'accesso VPC serverless:

Servizio di connettività Supporto dell'accesso VPC serverless
VPC
VPC condiviso
Reti precedenti
Reti collegate a Cloud Interconnect
Reti collegate a Cloud VPN
Reti collegate al peering di rete VPC

La tabella seguente mostra quali ambienti serverless supportano l'accesso VPC serverless:

Ambiente serverless Supporto dell'accesso VPC serverless
Cloud Run
Cloud Run for Anthos*
Cloud Functions
Ambiente standard di App Engine Tutti i runtime a eccezione di PHP 5
Ambiente flessibile di App Engine*

*Se vuoi utilizzare indirizzi IP interni per la connessione da Cloud Run for Anthos o dall'ambiente flessibile di App Engine, non è necessario configurare l'accesso VPC serverless. Assicurati che il deployment del servizio sia eseguito in una rete VPC con 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 VPC Instrada tutto il traffico attraverso il connettore VPC
TCP
UDP
ICMP Supportato solo per gli indirizzi IP esterni

Aree geografiche supportate

I connettori di accesso VPC serverless sono supportati in ogni regione che supporta l'ambiente standard di Cloud Run, Cloud Functions o App Engine.

Per visualizzare le aree geografiche disponibili:

gcloud compute networks vpc-access locations list

Passaggi successivi