Informazioni sui servizi pubblicati

Questo documento fornisce una panoramica sull'utilizzo di Private Service Connect per rendere disponibile un servizio ai consumer di servizi.

In qualità di producer di servizi, puoi utilizzare Private Service Connect per pubblicare servizi utilizzando gli indirizzi IP interni nella tua rete VPC. I servizi pubblicati sono accessibili ai consumer di servizi utilizzando indirizzi IP interni nelle loro reti VPC.

Per rendere un servizio disponibile ai consumer, crea una o più subnet dedicate. Quindi, creerai un allegato al servizio che fa riferimento a queste subnet. Il collegamento al servizio può avere preferenze di connessione diverse.

Tipi di consumer di servizi

Esistono due tipi di consumer che possono connettersi a un servizio Private Service Connect:

Gli endpoint si basano su una regola di forwarding.

Figura 1. Un endpoint consente ai consumer di servizi di inviare traffico dalla rete VPC del consumer ai servizi nella rete VPC del producer di servizi (fai clic per ingrandire).

I backend si basano su un bilanciatore del carico.

Figura 2. Un backend che utilizza un bilanciatore del carico delle applicazioni esterno globale consente ai consumer di servizi con accesso a internet di inviare traffico ai servizi nella rete VPC del producer di servizi (fai clic per ingrandire).

Configurazione del servizio Private Service Connect

Quando crei un servizio Private Service Connect, configuri una subnet, un collegamento al servizio e una preferenza di connessione. Facoltativamente, puoi anche configurare un dominio DNS per il servizio. Queste configurazioni sono descritte nelle sezioni seguenti.

Subnet NAT

I collegamenti al servizio Private Service Connect sono configurati con una o più subnet NAT (note anche come subnet Private Service Connect). I pacchetti della rete VPC consumer vengono tradotti utilizzando NAT (SNAT) di origine in modo che gli indirizzi IP di origine originali vengano convertiti in indirizzi IP di origine dalla subnet NAT nella rete VPC del producer.

I collegamenti ai servizi possono avere più subnet NAT. Ulteriori subnet NAT possono essere aggiunte al collegamento al servizio in qualsiasi momento senza interrompere il traffico.

Mentre il collegamento di un servizio può avere più subnet NAT configurate, una subnet NAT non può essere utilizzata in più di un collegamento a un servizio.

Le subnet NAT di Private Service Connect non possono essere utilizzate per risorse come istanze VM o regole di forwarding. Le subnet vengono usate solo per fornire gli indirizzi IP per SNAT delle connessioni consumer in entrata.

Dimensionamento delle subnet NAT

Quando pubblichi un servizio, crei una subnet NAT e scegli un intervallo di indirizzi IP. Le dimensioni della subnet determinano quanti endpoint o backend Private Service Connect possono connettersi contemporaneamente al collegamento al servizio. Gli indirizzi IP vengono utilizzati dalla subnet NAT in base al numero di connessioni di Private Service Connect. Se vengono utilizzati tutti gli indirizzi IP nella subnet NAT, le eventuali connessioni Private Service Connect aggiuntive non andranno a buon fine. Ecco perché è importante definire le dimensioni della subnet NAT in modo appropriato.

Quando scegli la dimensione della subnet, considera quanto segue:

  • In una subnet NAT esistono quattro indirizzi IP inutilizzabili, pertanto il numero di indirizzi IP disponibili è 2(32 - PREFIX_LENGTH) - 4. Ad esempio, se crei una subnet NAT con una lunghezza del prefisso pari a /24, Private Service Connect può utilizzare 252 indirizzi IP per SNAT. Una subnet /29 con quattro indirizzi IP disponibili è la dimensione più piccola della subnet supportata nelle reti VPC.

  • Per ogni endpoint o backend connesso al collegamento del servizio, viene utilizzato un indirizzo IP dalla subnet NAT.

  • Quando stimi il numero di indirizzi IP di cui hai bisogno per endpoint e backend, prendi in considerazione eventuali servizi multi-tenant o consumer che utilizzano l'accesso multipunto per Private Service Connect.

  • Il numero di connessioni TCP o UDP, client o reti VPC consumer non influisce sul consumo degli indirizzi IP dalla subnet NAT.

Ad esempio, se due endpoint sono connessi a un singolo collegamento a un servizio, dalla subnet NAT vengono utilizzati due indirizzi IP. Se il numero di endpoint non cambia, puoi utilizzare una subnet /29 con quattro indirizzi IP utilizzabili per questo collegamento al servizio.

Monitoraggio subnet NAT

Per assicurarti che le connessioni di Private Service Connect non vadano a buon fine a causa di indirizzi IP non disponibili in una subnet NAT, consigliamo quanto segue:

  • Monitora la metrica del collegamento al servizio private_service_connect/producer/used_nat_ip_addresses. Assicurati che il numero di indirizzi IP NAT utilizzati non superi la capacità delle subnet NAT di un collegamento a un servizio.
  • Monitorare lo stato della connessione delle connessioni ai collegamenti ai servizi. Se una connessione presenta lo stato Richiede attenzione, potrebbero non essere disponibili altri indirizzi IP nelle subnet NAT dell'allegato.
  • Per i servizi multi-tenant, puoi utilizzare i limiti di connessione per garantire che un singolo consumer non esaurisca la capacità delle subnet NAT di un collegamento al servizio.

Se necessario, le subnet NAT possono essere aggiunte al collegamento al servizio in qualsiasi momento senza interrompere il traffico.

Numero massimo di connessioni

Una singola VM producer può accettare un massimo di 65.536 connessioni TCP simultanee e 65.536 connessioni UDP da un singolo endpoint Private Service Connect. Non esiste alcun limite al numero totale di connessioni TCP e UDP che un endpoint Private Service Connect può ricevere in forma aggregata in tutti i backend producer. Le VM consumer possono utilizzare tutte le 65.536 porte quando si avviano connessioni TCP o UDP a un endpoint Private Service Connect. L'intera Network Address Translation viene eseguita localmente sull'host del producer, il che non richiede un pool di porte NAT allocato centralmente.

Altre considerazioni

Altre considerazioni relative alle subnet NAT includono:

  • Il timeout di inattività della mappatura UDP è di 30 secondi e non può essere configurato.

  • Il timeout di inattività della connessione TCP stabilita è di 20 minuti e non può essere configurato.

  • Il timeout di inattività della connessione TCP di transito è di 30 secondi e non può essere configurato.

  • Esiste un ritardo di due minuti prima che sia possibile riutilizzare qualsiasi 5 tuple (indirizzo IP di origine della subnet NAT e porta di origine più il protocollo di destinazione, l'indirizzo IP e la porta di destinazione).

  • SNAT per Private Service Connect non supporta i frammenti IP.

Collegamento al servizio

I producer di servizi espongono il proprio servizio tramite il collegamento a un servizio.

  • Per esporre un servizio, un producer di servizi crea un collegamento al servizio che fa riferimento alla regola di forwarding del bilanciatore del carico del servizio.

  • Per accedere a un servizio, un consumer di servizi crea un endpoint che fa riferimento al collegamento al servizio.

L'URI del collegamento al servizio ha il seguente formato: projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME

A ogni bilanciatore del carico può fare riferimento solo un singolo collegamento al servizio. Non puoi configurare più collegamenti a servizi che utilizzano lo stesso bilanciatore del carico.

Preferenze di connessione

Ogni collegamento al servizio ha una preferenza di connessione che specifica se le richieste di connessione vengono accettate automaticamente. Le opzioni sono tre:

  • Accetta automaticamente tutte le connessioni. Il collegamento al servizio accetta automaticamente tutte le richieste di connessione in entrata da qualsiasi consumer. L'accettazione automatica può essere sostituita da un criterio dell'organizzazione che blocca le connessioni in entrata.
  • Accetta le connessioni per le reti selezionate. Il collegamento al servizio accetta le richieste di connessione in entrata solo se la rete VPC del consumer si trova nell'elenco di accettazione dei consumer del collegamento al servizio.
  • Accetta le connessioni per i progetti selezionati. Il collegamento al servizio accetta le richieste di connessione in entrata solo se il progetto consumer si trova nell'elenco di accettate del consumer del collegamento al servizio.

Ti consigliamo di accettare le connessioni per le reti o i progetti selezionati. L'accettazione automatica di tutte le connessioni potrebbe essere appropriata se controlli l'accesso dei consumatori con altri mezzi e vuoi abilitare l'accesso permissivo al tuo servizio.

Stati della connessione

I collegamenti ai servizi hanno stati delle connessioni che descrivono lo stato delle relative connessioni. Per saperne di più, consulta Stati della connessione.

Elenchi di accettazione e rifiuto dei consumatori

Gli elenchi accettati per i consumatori e gli elenchi di rifiuto dei consumatori sono una funzionalità di sicurezza degli allegati dei servizi. Gli elenchi di accettazione e rifiuto consentono ai producer di servizi di specificare quali consumer possono stabilire connessioni Private Service Connect ai propri servizi. Gli elenchi di accettazione dei consumatori specificano se la connessione è accettata, mentre gli elenchi dei consumatori rifiutati specificano se la connessione viene rifiutata. Entrambi gli elenchi consentono di specificare i consumer in base alla rete VPC o al progetto della risorsa che si connette. Se aggiungi un progetto o una rete sia all'elenco di utenti consentiti sia a quello negato, le richieste di connessione provenienti dal progetto o dalla rete vengono rifiutate. La specifica dei consumer per cartella non è supportata.

Gli elenchi di accettazione dei consumatori e quelli di rifiuto dei consumatori consentono di specificare progetti o reti VPC, ma non entrambi contemporaneamente. Puoi modificare un elenco da un tipo all'altro senza interrompere le connessioni, ma devi apportare la modifica in un singolo aggiornamento. Altrimenti, alcune connessioni potrebbero passare temporaneamente allo stato In attesa.

Per informazioni su come gli elenchi di accettazione dei consumatori interagiscono con i criteri dell'organizzazione, vedi Interazione tra gli elenchi di accettazione dei consumatori e i criteri dell'organizzazione.

Riconciliazione delle connessioni

La riconciliazione delle connessioni determina se gli aggiornamenti agli elenchi di accettazione o rifiuto del collegamento di un servizio possono influire sulle connessioni di Private Service Connect esistenti. Se la riconciliazione delle connessioni è abilitata, l'aggiornamento degli elenchi di accettazione o rifiuto può terminare le connessioni esistenti. Le connessioni precedentemente rifiutate possono essere accettate. Se la riconciliazione delle connessioni è disabilitata, l'aggiornamento degli elenchi di accettazione o rifiuto incide soltanto sulle connessioni nuove e in attesa.

Ad esempio, considera un collegamento a un servizio con diverse connessioni accettate da Project-A. Project-A è nella lista di accettazione del collegamento al servizio. Il collegamento al servizio viene aggiornato rimuovendo Project-A dall'elenco di accettazione.

Se la riconciliazione delle connessioni è abilitata, tutte le connessioni esistenti da Project-A passano a PENDING, il che termina la connettività di rete tra le due reti VPC e interrompe immediatamente il traffico di rete.

Se la riconciliazione delle connessioni è disabilitata, le connessioni esistenti da Project-A non sono interessate. Il traffico di rete può ancora passare tra le connessioni Private Service Connect esistenti. Tuttavia, le nuove connessioni Private Service Connect non sono consentite.

Per informazioni sulla configurazione della riconciliazione delle connessioni per i nuovi collegamenti ai servizi, consulta Pubblicare un servizio con approvazione esplicita.

Per informazioni sulla configurazione della riconciliazione delle connessioni per i collegamenti ai servizi esistenti, consulta Configurare la riconciliazione delle connessioni.

Limiti di connessione

Gli elenchi di accettazione consumatori hanno limiti di connessioni. Questi limiti impostano il numero totale di connessioni che un collegamento a un servizio può accettare dal progetto consumer o dalla rete VPC specificati. I producer possono utilizzare questi limiti per impedire ai singoli consumer di esaurire gli indirizzi IP o le quote delle risorse nella rete VPC del producer. Ogni connessione Private Service Connect accettata viene sottratta dal limite configurato per un progetto consumer o una rete VPC. I limiti vengono impostati quando crei o aggiorna gli elenchi accettati per i consumatori. Puoi visualizzare le connessioni del collegamento a un servizio quando describe il collegamento a un servizio.

Ad esempio, considera un caso in cui il collegamento a un servizio ha un elenco di accettazione dei consumer che include project-1 e project-2, entrambi con un limite di una connessione. Il progetto project-1 richiede due connessioni, project-2 richiede una connessione e project-3 richiede una connessione. Poiché project-1 ha un limite di una connessione, la prima viene accettata, mentre la seconda rimane in attesa. La connessione da project-2 è accettata, mentre la connessione da project-3 rimane in attesa. La seconda connessione da project-1 può essere accettata aumentando il limite di project-1. Se project-3 viene aggiunto all'elenco di accettazione dei consumer, la connessione passa da in attesa ad accettata.

Configurazione DNS

Per informazioni sulla configurazione DNS per i servizi e gli endpoint pubblicati che si connettono ai servizi pubblicati, consulta Configurazione DNS per i servizi.

Configurazione per più regioni

Puoi rendere un servizio disponibile in più regioni creando le seguenti configurazioni.

Configurazione producer:

Configurazione consumer:

In questa configurazione, l'endpoint instrada il traffico utilizzando il criterio di bilanciamento del carico globale predefinito, prima in base all'integrità, poi alla località più vicina al client.

Figura 3. L'utilizzo di un bilanciatore del carico delle applicazioni esterno globale consente ai consumer di servizi con accesso a internet di inviare traffico ai servizi nella rete VPC del producer di servizi. Poiché il servizio viene eseguito in più regioni, il bilanciatore del carico può instradare il traffico a un NEG nella regione integro più vicino (fai clic per ingrandire).

Funzionalità e compatibilità

Nelle tabelle seguenti, un segno di spunta indica che una funzionalità è supportata, mentre un simbolo nessun simbolo indica che una funzionalità non è supportata.

A seconda del bilanciatore del carico del producer scelto, il servizio producer può supportare l'accesso da endpoint, backend o entrambi.

Supporto per gli endpoint

Questa tabella riassume le opzioni e le funzionalità di configurazione supportate degli endpoint che accedono ai servizi pubblicati.

Configurazione consumer (endpoint) Bilanciatore del carico del producer
Bilanciatore del carico di rete passthrough interno Bilanciatore del carico delle applicazioni interno regionale Bilanciatore del carico di rete proxy interno regionale Inoltro del protocollo interno (istanza di destinazione)
Accesso globale dei consumatori

Indipendente dall' impostazione di accesso globale sul bilanciatore del carico

Solo se l'accesso globale è abilitato sul bilanciatore del carico

Solo se l'accesso globale è abilitato sul bilanciatore del carico

Indipendente dall' impostazione di accesso globale sul bilanciatore del carico

Interconnessione del traffico

Traffico Cloud VPN
Configurazione DNS automatica
Stack IP IPv4 IPv4 IPv4 IPv4

Questa tabella riassume le opzioni e le funzionalità di configurazione supportate dei servizi pubblicati a cui accedono gli endpoint.

Configurazione del producer (servizio pubblicato) Bilanciatore del carico del producer
Bilanciatore del carico di rete passthrough interno Bilanciatore del carico delle applicazioni interno regionale Bilanciatore del carico di rete proxy interno regionale Inoltro del protocollo interno (istanza di destinazione)
Backend di producer supportati
  • NEG GCE_VM_IP
  • Gruppi di istanze
  • NEG GCE_VM_IP_PORT
  • NEG ibridi
  • NEG serverless
  • NEG Private Service Connect
  • Gruppi di istanze
  • NEG GCE_VM_IP_PORT
  • NEG ibridi
  • NEG serverless
  • NEG Private Service Connect
  • Gruppi di istanze
Non applicabile
Protocollo PROXY Solo traffico TCP Solo traffico TCP
Modalità di affinità sessione NESSUNO (5 tuple)
CLIENT_IP_PORT_PROTO
Non applicabile Non applicabile Non applicabile

I bilanciatori del carico supportano diverse configurazioni delle porte. Alcuni bilanciatori del carico supportano una singola porta, altri supportano un intervallo di porte e altri supportano tutte le porte. Per ulteriori informazioni, consulta le specifiche della porta.

Supporto per i backend

Un backend Private Service Connect per i servizi pubblicati richiede due bilanciatori del carico: un bilanciatore del carico consumer e un bilanciatore del carico producer. Questa tabella descrive la compatibilità tra i diversi tipi di bilanciatori del carico consumer e producer, inclusi i protocolli del servizio di backend che possono essere utilizzati con ciascun bilanciatore del carico consumer. Ogni riga rappresenta un tipo di bilanciatore del carico del consumer e ogni colonna rappresenta un tipo di bilanciatore del carico del producer.

Bilanciatore del carico consumer e protocolli di servizio di backend consumer supportati Bilanciatore del carico del producer
Bilanciatore del carico di rete passthrough interno Bilanciatore del carico delle applicazioni interno regionale Bilanciatore del carico di rete proxy interno regionale

Application Load Balancer esterno globale (supporta più regioni)

Protocolli: HTTPS, HTTP2

Nota: il bilanciatore del carico delle applicazioni classico non è supportato.

Bilanciatore del carico delle applicazioni esterno regionale

Protocolli: HTTP, HTTPS, HTTP2

Bilanciatore del carico delle applicazioni interno regionale

Protocolli: HTTP, HTTPS, HTTP2

Bilanciatore del carico delle applicazioni interno tra regioni (anteprima)

Protocolli: HTTPS, HTTP2

Bilanciatore del carico di rete proxy interno regionale

Protocollo: TCP

Bilanciatore del carico di rete proxy interno tra regioni

Protocollo: TCP

Bilanciatore del carico di rete proxy esterno regionale

Protocollo: TCP

Bilanciatore del carico di rete proxy esterno globale (anteprima)

Protocollo: TCP/SSL

Nota: il bilanciatore del carico di rete proxy classico non è supportato.

Questa tabella descrive la configurazione dei bilanciatori del carico del producer supportati dai backend Private Service Connect.

Configurazione Bilanciatore del carico del producer
Bilanciatore del carico di rete passthrough interno Bilanciatore del carico delle applicazioni interno regionale Bilanciatore del carico di rete proxy interno regionale
Backend di producer supportati
  • NEG GCE_VM_IP
  • Gruppi di istanze
  • NEG GCE_VM_IP_PORT
  • NEG ibridi
  • NEG serverless
  • NEG Private Service Connect
  • Gruppi di istanze
  • NEG GCE_VM_IP_PORT
  • NEG ibridi
  • NEG serverless
  • NEG Private Service Connect
  • Gruppi di istanze
Protocolli delle regole di forwarding
  • TCP
  • HTTP
  • HTTPS
  • HTTP/2
  • TCP
Porte delle regole di forwarding La regola di forwarding deve fare riferimento a una sola porta. La regola di forwarding deve fare riferimento a una sola porta. La regola di forwarding deve fare riferimento a una sola porta.
Protocollo PROXY

VPC condiviso

Gli amministratori dei progetti di servizio possono creare collegamenti ai servizi nei progetti di servizio VPC condiviso che si connettono alle risorse nelle reti VPC condivise.

La configurazione è la stessa di un normale collegamento a un servizio, ad eccezione di quanto segue:

  • La regola di forwarding del bilanciatore del carico del producer è associata a un indirizzo IP della rete VPC condiviso. La subnet della regola di forwarding deve essere condivisa con il progetto di servizio.
  • Il collegamento al servizio utilizza una subnet Private Service Connect dalla rete VPC condiviso. Questa subnet deve essere condivisa con il progetto di servizio.

Logging

Puoi abilitare i log di flusso VPC nelle subnet che contengono le VM di backend. I log mostrano i flussi tra le VM di backend e gli indirizzi IP nella subnet Private Service Connect.

Controlli di servizio VPC

I Controlli di servizio VPC e Private Service Connect sono compatibili tra loro. Se la rete VPC in cui viene eseguito il deployment dell'endpoint Private Service Connect si trova in un perimetro dei Controlli di servizio VPC, l'endpoint farà parte dello stesso perimetro. Tutti i servizi supportati dai Controlli di servizio VPC a cui si accede tramite l'endpoint sono soggetti ai criteri del perimetro dei Controlli di servizio VPC.

Quando crei un endpoint, vengono effettuate chiamate API del piano di controllo tra i progetti consumer e producer per stabilire una connessione Private Service Connect. La creazione di una connessione Private Service Connect tra progetti consumer e producer che non si trovano nello stesso perimetro dei Controlli di servizio VPC non richiede un'autorizzazione esplicita con i criteri in uscita. La comunicazione con i servizi supportati da Controlli di servizio VPC tramite l'endpoint è protetta dal perimetro dei Controlli di servizio VPC.

Prezzi

I prezzi di Private Service Connect sono descritti nella pagina dei prezzi di VPC.

Quote

Il numero di endpoint che puoi creare per accedere ai servizi pubblicati è controllato dalla quota PSC Internal LB Forwarding Rules. Per ulteriori informazioni, vedi quotas.

Accesso on-premise

I servizi Private Service Connect vengono resi disponibili tramite endpoint. È possibile accedere a questi endpoint da host on-premise connessi supportati. Per maggiori informazioni, consulta Accedere all'endpoint da host on-premise.

Limitazioni

I servizi pubblicati presentano le seguenti limitazioni: