Informazioni sui servizi pubblicati
Questo documento fornisce una panoramica dell'utilizzo di Private Service Connect per rendere un servizio disponibile per i consumatori di servizi.
In qualità di producer di servizi, puoi utilizzare Private Service Connect per pubblicare i servizi utilizzando gli indirizzi IP interni della tua rete VPC. I servizi pubblicati sono accessibili ai consumer di servizi tramite indirizzi IP interni nelle loro reti VPC.
Per rendere disponibile un servizio ai consumatori, crea una o più subnet dedicate. Poi crea un collegamento al servizio che fa riferimento a queste subnet. L'allegato del 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.
I backend si basano su un bilanciatore del carico.
Subnet NAT
I collegamenti ai servizi Private Service Connect sono configurati con una o più subnet NAT (chiamate anche subnet Private Service Connect). I pacchetti della rete VPC del consumer vengono tradotti utilizzando il NAT di origine (SNAT) in modo che i relativi indirizzi IP di origine originali vengano convertiti in indirizzi IP di origine della subnet NAT nella rete VPC del producer.
Gli allegati dei servizi possono avere più subnet NAT. È possibile aggiungere subnet NAT aggiuntive all'attacco del servizio in qualsiasi momento senza interrompere il traffico.
Sebbene un collegamento di servizio possa avere più subnet NAT configurate, una subnet NAT non può essere utilizzata in più di un collegamento di servizio.
Le subnet NAT di Private Service Connect non possono essere utilizzate per risorse come istanze di macchine virtuali (VM) o regole di inoltro. Le subnet vengono utilizzate solo per fornire indirizzi IP per SNAT delle connessioni in entrata dei consumatori.
Dimensionamento della subnet NAT
Quando pubblichi un servizio, crei una subnet NAT e scegli un intervallo di indirizzi IP. Le dimensioni della subnet determinano il numero di endpoint o backend Private Service Connect simultanei che possono collegarsi al collegamento al servizio.
Gli indirizzi IP vengono consumati dalla subnet NAT in base al numero di connessioni Private Service Connect. Se tutti gli indirizzi IP nella subnet NAT sono stati utilizzati, eventuali altre connessioni Private Service Connect non andranno a buon fine. Per questo motivo è importante scegliere le dimensioni della sottorete NAT in modo appropriato.
Quando scegli la dimensione di una sottorete, tieni presente quanto segue:
-
In una subnet NAT sono presenti quattro indirizzi IP non utilizzabili, pertanto il numero di indirizzi IP disponibili è 2(32 - PREFIX_LENGTH) - 4. Per
esempio, se crei una subnet NAT con una
lunghezza del prefisso di
/24
, Private Service Connect può utilizzare 252 degli indirizzi IP per SNAT. Una subnet/29
con quattro indirizzi IP disponibili è la dimensione minima della subnet supportata nelle reti VPC. - Viene utilizzato un indirizzo IP dalla subnet NAT per ogni endpoint o backend connesso al collegamento al servizio.
- Quando stimi quanti indirizzi IP sono necessari per gli endpoint e i backend, tieni conto di 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 di indirizzi IP dalla subnet NAT.
Ad esempio, se ci sono due endpoint collegati a un singolo attacco di servizio, vengono utilizzati due indirizzi IP dalla sottorete NAT. Se il numero di endpoint non cambia, puoi utilizzare una subnet /29
con quattro indirizzi IP utilizzabili per questo allegato del servizio.
Monitoraggio delle subnet NAT
Per assicurarti che le connessioni Private Service Connect non vadano a buon fine a causa di indirizzi IP non disponibili in una subnet NAT, consigliamo quanto segue:
- Monitora la
private_service_connect/producer/used_nat_ip_addresses
metrica relativa all'attacco al servizio. Assicurati che il numero di indirizzi IP NAT utilizzati non superi la capacità delle subnet NAT di un allegato del servizio. - Monitora lo stato della connessione delle connessioni di allegato del servizio. Se lo stato di una connessione è Richiede attenzione, è possibile che non siano disponibili altri indirizzi IP nelle subnet NAT dell'attacco.
- Per i servizi multi-tenant, puoi utilizzare Limiti di connessione per assicurarti che un singolo consumatore non esaurisca la capacità delle subnet NAT di un allegato del servizio.
Se necessario, le subnet NAT possono essere aggiunte all'attacco del servizio in qualsiasi momento senza interrompere il traffico.
Specifiche NAT
Tieni presente le seguenti caratteristiche del NAT di Private Service Connect quando progetti il servizio che stai pubblicando:
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.
Per evitare problemi di timeout delle connessioni dei client, esegui una delle seguenti operazioni:
Assicurati che tutte le connessioni siano attive per meno di 20 minuti.
Assicurati che parte del traffico venga inviata più di una volta ogni 20 minuti. Puoi utilizzare un heartbeat o un keepalive nella tua applicazione oppure keepalive TCP. Ad esempio, puoi configurare un keepalive nel proxy di destinazione di un bilanciatore del carico delle applicazioni interno regionale o di un bilanciatore del carico di rete proxy interno regionale.
Il timeout di inattività della connessione transitoria TCP è di 30 secondi e non può essere configurato.
Intercorre un ritardo di due minuti prima che qualsiasi 5 tuple (indirizzo IP di origine della subnet NAT e porta di origine più protocollo, indirizzo IP e porta di destinazione) possa essere riutilizzata.
SNAT per Private Service Connect non supporta i frammenti IP.
Numero massimo di connessioni
Una singola VM producer può accettare un massimo di 65.536 connessioni TCP e 65.536 connessioni UDP contemporaneamente da un singolo endpoint Private Service Connect. Non è previsto alcun limite per il numero totale di connessioni TCP e UDP che un endpoint Private Service Connect può ricevere in modo aggregato in tutti i backend del produttore. Le VM consumer possono utilizzare tutte le 65.536 porte quando avviano connessioni TCP o UDP a un endpoint Private Service Connect. Tutta la Network Address Translation viene eseguita localmente sull'host del produttore, che non richiede un pool di porte NAT allocato centralmente.
Collegamenti di servizi
I producer di servizi espongono il proprio servizio tramite un collegamento di servizio.
Per esporre un servizio, un producer di servizi crea un collegamento al servizio che fa riferimento alla regola di inoltro del bilanciatore del carico del servizio.
Per accedere a un servizio, un consumer di servizi crea un endpoint che fa riferimento al collegamento del 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ò essere fatto riferimento solo da un singolo allegato del servizio. Non puoi configurare più allegati di servizio 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 del 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 arrivo.
- Accetta le connessioni per le emittenti selezionate. Il collegamento al servizio accetta solo richieste di connessione in entrata se la rete VPC del consumer è presente nell'elenco di accettazione del consumer del collegamento al servizio.
- Accetta le connessioni per i progetti selezionati. Il collegamento al servizio accetta soltanto le richieste di connessione in entrata se il progetto consumer è presente nell'elenco di accettazione del consumer del collegamento al servizio.
Ti consigliamo di accettare le connessioni per i progetti o le emittenti selezionati. L'accettazione automatica di tutte le connessioni potrebbe essere appropriata se controlli l'accesso dei consumatori tramite altri mezzi e vuoi abilitare l'accesso permissivo al tuo servizio.
Stati di connessione
Gli allegati dei servizi hanno stati di connessione che descrivono lo stato delle loro connessioni. Per ulteriori informazioni, vedi Stati di connessione.
Elenchi di accettazione e rifiuto dei consumatori
Gli elenchi di accettazione dei 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 produttori di servizi di specificare quali consumatori possono stabilire connessioni Private Service Connect ai loro servizi. Gli elenchi di accettazione dei consumatori specificano se una connessione viene accettata, mentre gli elenchi di rifiuto dei consumatori specificano se una connessione viene rifiutata. Entrambi gli elenchi ti consentono di specificare i consumatori in base alla rete VPC o al progetto della risorsa di collegamento. Se aggiungi un progetto o una rete sia all'elenco di accettazione sia all'elenco di rifiuto, le richieste di connessione da quel progetto o da quella rete vengono rifiutate. La specifica dei consumatori per cartella non è supportata.
Gli elenchi di accettazione e rifiuto dei consumatori ti consentono di specificare progetti o reti VPC, ma non entrambi contemporaneamente. Puoi cambiare un elenco da un tipo all'altro senza interrompere le connessioni, ma devi apportare la modifica in un unico aggiornamento. In caso contrario, alcune connessioni potrebbero passare temporaneamente allo stato in attesa.
Gli elenchi di consumer controllano se un endpoint può connettersi a un servizio pubblicato, ma non controllano chi può inviare richieste a quell'endpoint. Ad esempio, supponiamo che un consumer abbia una
rete VPC condivisa
con due progetti di servizio collegati. Se un servizio pubblicato ha service-project1
nell'elenco di accettazione dei consumatori e service-project2
nell'elenco di rifiuto dei consumatori, si applica quanto segue:
-
Un consumer in
service-project1
può creare un endpoint che si connette al servizio pubblicato. -
Un consumatore in
service-project2
non può creare un endpoint che si connetta al servizio pubblicato. -
Un client in
service-project2
può inviare richieste all'endpoint inservice-project1
, se non sono presenti regole o criteri del firewall che impediscono questo traffico.
Per informazioni su come gli elenchi di accettazione dei consumatori interagiscono con i criteri dell'organizzazione, consulta Interazione tra gli elenchi di accettazione dei consumatori e i criteri dell'organizzazione.
Limiti per gli elenchi di consumatori che accettano
Gli elenchi di accettazione dei consumatori hanno limiti di connessione. Questi limiti impostano il numero totale di connessioni di endpoint e backend di Private Service Connect che un collegamento di servizio può accettare dal progetto consumer o dalla rete VPC specificata.
I producer possono utilizzare i limiti di connessione per impedire ai singoli consumer di esaurire gli indirizzi IP o le quote di risorse nella rete VPC del producer. Ogni connessione Private Service Connect accettata viene sottratta al limite configurato per un progetto consumer o una rete VPC. I limiti vengono impostati quando create o aggiorni gli elenchi di accettazione dei consumatori. Puoi visualizzare le connessioni di un allegato del servizio quando lo descrivi.
Le connessioni propagate non vengono conteggiate ai fini di questi limiti.
Ad esempio, prendi in considerazione un caso in cui un allegato del servizio abbia un elenco di accettazione dei consumatori che include project-1
e project-2
, entrambi con un limite di un collegamento. 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 e la seconda rimane in attesa.
La connessione da project-2
è stata accettata, mentre quella da
project-3
rimane in attesa. La seconda connessione da project-1
può essere accettata aumentando il limite per project-1
. Se project-3
viene aggiunto all'elenco di accettazione dei consumatori, la connessione passa da pending ad accepted.
Riconciliazione delle connessioni
La riconciliazione delle connessioni determina se gli aggiornamenti agli elenchi di accettazione o rifiuto di un collegamento di servizio possono influire sulle connessioni 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 è disattivata, l'aggiornamento degli elenchi di accettazione o rifiuto influisce solo sulle connessioni nuove e in attesa.
Ad esempio, considera un allegato di servizio con diverse connessioni accettate da Project-A
. Project-A
è presente nell'elenco di accettazione dell'allegato del servizio. L'allegato del servizio viene aggiornato rimuovendo Project-A
dall'elenco di accettazione.
Se la riconciliazione delle connessioni è attivata, 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 è disattivata, le connessioni esistenti daProject-A
non sono interessate. Il traffico di rete può comunque fluire attraverso 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 allegati dei servizi, consulta Pubblicare un servizio con approvazione esplicita.
Per informazioni sulla configurazione della riconciliazione delle connessioni per gli attacchi dei servizi esistenti, consulta Configurare la riconciliazione delle connessioni.
Connessioni propagate
I consumer che si connettono al collegamento del servizio utilizzando gli endpoint possono attivare la propagazione delle connessioni. Le connessioni propagate consentono ai carichi di lavoro negli spoke VPC consumer di accedere ai servizi gestiti nelle reti VPC del producer come se le due reti VPC fossero collegate direttamente tramite endpoint. Ogni connessione propagata utilizza un indirizzo IP della subnet NAT del collegamento al servizio.
Puoi visualizzare il numero di connessioni propagate associate a un endpoint collegato quando visualizzi i dettagli di un servizio pubblicato. Questo conteggio non include le connessioni propagate bloccate dal limite di connessioni propagate del produttore.
Limite di connessioni propagate
I collegamenti di servizio hanno un limite per le connessioni propagate, che consente ai producer di servizi di limitare il numero delle connessioni propagate che un singolo consumer può stabilire con il collegamento di servizio. Se non specificato, il limite predefinito per le connessioni propagate è 250.
- Se la preferenza di connessione del collegamento al servizio è
ACCEPT_MANUAL
, il limite si applica a tutti i progetti o reti VPC elencati nella lista di accettazione del consumer. - Se la preferenza di connessione è
ACCEPT_AUTOMATIC
, il limite si applica a tutti i progetti che includono un endpoint connesso.
Se un consumatore supera il limite di connessioni propagate, non vengono create altre connessioni propagate. Per consentire la creazione di più endpoint propagati, puoi aumentare il limite di connessioni propagate. Quando aumenti questo limite, Network Connectivity Center crea le connessioni propagate che sono state bloccate dal limite, a condizione che le nuove connessioni non superino il limite aggiornato. L'aggiornamento di questo limite non influisce sulle connessioni propagate esistenti.
Evitare l'esaurimento della quota
Il numero totale di endpoint Private Service Connect e connessioni propagate, da qualsiasi consumer, che possono accedere alla tua rete VPC producer è controllato dalla quota PSC ILB consumer forwarding rules per producer VPC network
.
In particolare per i
servizi multi-tenant,
è importante proteggersi dall'esaurimento di questa quota.
Puoi utilizzare i seguenti limiti per proteggerti dall'esaurimento della quota:
- I limiti di connessione dell'elenco di accettazione dei consumer controllano il numero totale di endpoint Private Service Connect che possono creare connessioni a un collegamento di servizio da un singolo progetto o rete VPC consumer. L'abbassamento di questi limiti non influisce sulle connessioni esistenti. Questi limiti non si applicano alle connessioni propagate.
- I limiti di connessioni propagate controllano il numero totale di connessioni propagate che un singolo consumer può stabilire con un collegamento al servizio. L'abbassamento di questo limite non influisce sulle connessioni propagate esistenti.
Esempio
L'esempio seguente mostra come funzionano i limiti di connessione propagati e i limiti degli elenchi di accettazione dei consumatori rispetto alla quota PSC ILB consumer forwarding rules per producer VPC network
.
Considera un caso in cui un consumatore ha creato due endpoint in una rete VPC spoke, spoke-vpc-1
. Entrambi gli endpoint si connettono a service-attachment-1
in producer-vpc-1
. Lo spoke è connesso a un hub di Network Connectivity Center in cui è attiva la propagazione della connessione e non sono presenti altri spoke connessi a quell'hub.
Il producer di servizi ha configurato service-attachment-1
in modo che abbia un limite di quattro elementi per la lista di accettazione del consumer per ogni progetto nell'elenco di accettazione. Il producer ha configurato un limite di due connessioni propagate, specificando che un singolo progetto può avere fino a due connessioni propagate.
L'utilizzo delle quote e dei limiti per questa configurazione è il seguente:
Quota / limite | Utilizzo | Spiegazione |
---|---|---|
Regole di inoltro dei consumer PSC ILB per rete VPC producer | 2 | uno per endpoint |
Limite di connessione dell'elenco di accettazione dei consumatori per i collegamenti di servizio per consumer-project-1 |
2 | uno per endpoint |
Limite di connessioni propagate per il collegamento al servizio per consumer-project-1 |
0 | Nessuna connessione propagata |
Supponiamo che consumer-project-1
colleghi un altro spoke denominato spoke-vpc-2
allo stesso hub di Network Connectivity Center di spoke-vpc-1
. In questo modo vengono create due connessioni propagate in consumer-project-1
, una per ogni endpoint esistente.
L'utilizzo delle quote e dei limiti per questa configurazione è il seguente:
Quota / limite | Utilizzo | Spiegazione |
---|---|---|
Regole di inoltro dei consumer PSC ILB per rete VPC producer | 4 | uno per endpoint e uno per connessione propagata |
Limite di connessione dell'elenco di accettazione dei consumatori per i collegamenti di servizio per consumer-project-1 |
2 | uno per endpoint |
Limite di connessioni propagate per il collegamento al servizio per consumer-project-1 |
2 | uno per connessione propagata |
Consumer-project-1
ha esaurito il limite di connessioni propagate. Se il consumer aggiunge un altro spoke VPC, Private Service Connect non crea nuove connessioni propagate.
Supponiamo che un altro consumer abbia due spoke VPC
in consumer-project-2
. Gli spoke si connettono a un hub di Network Connectivity Center con le connessioni propagate attivate. Uno degli spoke VPC contiene un singolo endpoint che si connette a service-attachment-1
.
L'utilizzo delle quote e dei limiti per questa configurazione è il seguente:
Quota / limite | Utilizzo | Spiegazione |
---|---|---|
Regole di inoltro dei consumer PSC ILB per rete VPC producer | 6 | quattro da consumer-project-1 e due da consumer-project-2 |
Limite di connessione dell'elenco di accettazione dei consumatori per i collegamenti di servizio per consumer-project-1 |
2 | uno per endpoint in consumer-project-1 |
Limite di connessione dell'elenco di accettazione dei consumatori per i collegamenti di servizio per consumer-project-2 |
1 | uno per endpoint in consumer-project-2 |
Limite di connessioni propagate per il collegamento al servizio per consumer-project-1 |
2 | uno per ogni connessione propagata in consumer-project-1 |
Limite di connessioni propagate per il collegamento al servizio per consumer-project-2 |
1 | uno per ogni connessione propagata in consumer-project-2 |
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 del produttore:
Esegui il deployment del servizio in ogni regione. Ogni istanza regionale del servizio deve essere configurata su un bilanciatore del carico che supporti l'accesso da parte di un backend.
Crea un collegamento al servizio per pubblicare ogni istanza regionale del servizio.
Configurazione del consumatore:
Crea un backend per accedere ai servizi pubblicati. Il backend si basa su un bilanciatore del carico delle applicazioni esterno globale e include le seguenti configurazioni:
Un NEG Private Service Connect in ogni regione che rimanda al collegamento di servizio della regione.
Un servizio di backend che contiene i backend NEG.
In questa configurazione, l'endpoint instrada il traffico utilizzando il criterio di bilanciamento del carico globale predefinito: prima in base allo stato di salute, poi in base alla posizione più vicina al client.
Traduzione della versione IP
Per le connessioni tra gli endpoint Private Service Connect per i servizi pubblicati e i relativi collegamenti, la versione IP dell'indirizzo IP della regola di forwarding del consumer determina la versione IP dell'endpoint e il traffico in uscita dall'endpoint. La versione IP dell'endpoint può essere IPv4 o IPv6, ma non entrambe. I consumatori possono utilizzare un indirizzo IPv4 se la subnet dell'indirizzo è a singolo stack. I consumatori possono utilizzare un indirizzo IPv4 o IPv6 se la subnet dell'indirizzo è a doppio stack. I consumatori possono collegare endpoint IPv4 e IPv6 allo stesso allegato del servizio, il che può essere utile per la migrazione dei servizi a IPv6.
Per le connessioni tra gli endpoint Private Service Connect per i servizi pubblicati e i collegamenti di servizio, la versione IP della regola di forwarding del producer determina la versione IP del collegamento di servizio e il traffico in uscita dal collegamento di servizio. La versione IP del collegamento del servizio può essere IPv4 o IPv6, ma non entrambe. I produttori possono utilizzare un indirizzo IPv4 se la subnet dell'indirizzo è a stack singolo. I produttori possono utilizzare un indirizzo IPv4 o IPv6 se la subnet dell'indirizzo è a doppio stack.
La versione IP dell'indirizzo IP della regola di forwarding del produttore deve essere compatibile con il tipo di serie della subnet NAT dell'attacco del servizio. Se la regola di forwarding del produttore è IPv4, la subnet NAT può essere a stack singolo o a doppio stack. Se la regola di forwarding del produttore è IPv6, la subnet NAT deve essere a doppio stack.
Private Service Connect non supporta la connessione di un endpoint IPv4 con un collegamento di servizio IPv6. In questo caso, la creazione dell'endpoint non va a buon fine con il seguente messaggio di errore:
Private Service Connect forwarding rule with an IPv4 address
cannot target an IPv6 service attachment.
Per le configurazioni supportate sono possibili le seguenti combinazioni:
- Endpoint IPv4 all'attacco del servizio IPv4
- Endpoint IPv6 all'attacco del servizio IPv6
-
Collegamento dell'endpoint IPv6 al servizio IPv4
In questa configurazione, Private Service Connect esegue automaticamente la traduzione tra le due versioni IP.
Per le connessioni tra i backend di Private Service Connect e i collegamenti di servizio, le regole di inoltro del consumer e del producer devono utilizzare entrambe IPv4.
Funzionalità e compatibilità
Nelle tabelle seguenti, un segno di spunta indica che una funzionalità è supportata, mentre un simbolo di divieto indica che una funzionalità non è supportata.
A seconda del bilanciatore del carico del produttore scelto, il servizio del produttore può supportare l'accesso tramite endpoint, backend o entrambi.
Supporto per gli endpoint
Questa sezione riassume le opzioni di configurazione disponibili per consumatori e produttori quando utilizzano gli endpoint per accedere ai servizi di pubblicazione.
Configurazione del consumatore
Questa tabella riassume le opzioni di configurazione e le funzionalità supportate degli endpoint che accedono ai servizi pubblicati.
Configurazione del consumatore (endpoint) | Bilanciatore del carico dei produttori | |||
---|---|---|---|---|
Bilanciatore del carico di rete passthrough interno | Bilanciatore del carico delle applicazioni interno regionale | Bilanciatore del carico di rete proxy interno regionale | Forwarding 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 prima della creazione del collegamento del servizio |
Solo se l'accesso globale è abilitato sul bilanciatore del carico prima della creazione del collegamento del servizio |
Indipendente dall' impostazione di accesso globale sul bilanciatore del carico |
Traffico Cloud VPN | ||||
Configurazione DNS automatica | Solo IPv4 | Solo IPv4 | Solo IPv4 | Solo IPv4 |
Propagazione della connessione | Solo IPv4 | Solo IPv4 | Solo IPv4 | Solo IPv4 |
Endpoint IPv4 |
|
|
|
|
Endpoint IPv6 |
|
|
|
|
Configurazione del produttore
Questa tabella riassume le opzioni di configurazione e le funzionalità supportate dei servizi pubblicati a cui accedono gli endpoint.
Configurazione del produttore (servizio pubblicato) | Bilanciatore del carico del produttore | |||
---|---|---|---|---|
Bilanciatore del carico di rete passthrough interno | Bilanciatore del carico delle applicazioni interno regionale | Bilanciatore del carico di rete proxy interno regionale | Forwarding del protocollo interno (istanza di destinazione) | |
Backend del produttore supportati: |
|
|
|
Non applicabile |
Protocollo PROXY | Solo traffico TCP | Solo traffico TCP | ||
Modalità di affinità sessione | NESSUNO (tuple di 5 elementi) CLIENT_IP_PORT_PROTO |
Non applicabile | Non applicabile | Non applicabile |
Versione IP |
|
|
|
|
I bilanciatori del carico diversi supportano configurazioni di porte diverse; alcuni bilanciatori supportano una singola porta, altri supportano una serie di porte e altri supportano tutte le porte. Per ulteriori informazioni, consulta le specifiche delle porte.
Supporto per i backend
Un backend Private Service Connect per i servizi pubblicati richiede due bilanciatori del carico: uno per i consumer e uno per i producer. Questa sezione riassume le opzioni di configurazione disponibili per consumatori e produttori quando utilizzano i backend per accedere ai servizi di pubblicazione.
Configurazione del consumatore
Questa tabella descrive i bilanciatori del carico dei consumer supportati dai backend Private Service Connect per i servizi pubblicati, inclusi i protocolli di servizio di backend che possono essere utilizzati con ciascun bilanciatore del carico del consumer. I bilanciatori del carico consumer possono accedere ai servizi pubblicati ospitati su bilanciatori del carico dei produttori supportati.
Bilanciatore del carico dei consumatori | Protocolli | Versione IP |
---|---|---|
Bilanciatore del carico delle applicazioni esterno globale (supporta più regioni) Nota:il bilanciatore del carico delle applicazioni classico non è supportato. |
|
IPv4 |
Bilanciatore del carico delle applicazioni esterno regionale |
|
IPv4 |
Bilanciatore del carico delle applicazioni interno regionale |
|
IPv4 |
Bilanciatore del carico delle applicazioni interno tra regioni |
|
IPv4 |
|
IPv4 | |
|
IPv4 | |
|
IPv4 | |
Bilanciatore del carico di rete proxy esterno globale Per associare questo bilanciatore del carico a un NEG Private Service Connect, utilizza Google Cloud CLI o invia una richiesta API. Nota:Network Load Balancer proxy classico non è supportato. |
|
IPv4 |
Configurazione del produttore
Questa tabella descrive la configurazione dei bilanciatori del carico dei producer supportati dai backend Private Service Connect per i servizi pubblicati.
Configurazione | Bilanciatore del carico dei produttori | ||
---|---|---|---|
Bilanciatore del carico di rete passthrough interno | Bilanciatore del carico delle applicazioni interno regionale | Bilanciatore del carico di rete proxy interno regionale | |
Backend del produttore supportati |
|
|
|
Protocolli delle regole di forwarding |
|
|
|
Porte delle regole di forwarding | Ti consigliamo di utilizzare una singola porta. Consulta la sezione Configurazione della porta del produttore | Supporta una singola porta | Supporta una singola porta |
Protocollo PROXY | |||
Versione IP | IPv4 | IPv4 | IPv4 |
Configurazione della porta del producer
Quando un backend del consumatore si connette a un servizio pubblicato ospitato su un bilanciatore del carico di rete passthrough interno, Google Cloud sceglie una porta da utilizzare per il consumatore. La porta viene scelta in base alla configurazione della porta regola di forwarding del produttore. Tieni presente quanto segue quando crei la regola di forwarding per il bilanciatore del carico del produttore:
- Ti consigliamo di specificare una singola porta. In questa configurazione, il backend consumer utilizza la stessa porta.
Se specifichi più porte, si applica quanto segue:
- Se è inclusa la porta
443
, il backend del consumatore utilizza la porta443
. - Se la porta
443
non è inclusa, il backend del consumatore utilizza la prima porta nell'elenco, dopo che l'elenco è stato ordinato in ordine alfabetico. Ad esempio, se specifichi la porta80
e la porta1111
, il backend consumer utilizza la porta1111
. La modifica delle porte utilizzate dai backend dei produttori potrebbe comportare un'interruzione del servizio per i consumatori.
Ad esempio, supponiamo di creare un servizio pubblicato con una regola di forwarding che utilizza le porte
443
e8443
e le VM di backend che rispondono sulle porte443
e8443
. Quando il backend di un consumatore si connette a questo servizio, utilizza la porta443
per la comunicazione.Se modifichi le VM di backend in modo che rispondano solo sulla porta
8443
, il backend consumer non può più raggiungere il servizio pubblicato.
- Se è inclusa la porta
Non utilizzare
--port=ALL
. Se viene utilizzata questa configurazione, il backend consumer utilizza la porta1
, che non funziona.
VPC condiviso
Gli amministratori dei progetti di servizio possono creare attacchi di servizio nei progetti di servizio VPC condiviso che si connettono alle risorse nelle reti VPC condivise.
La configurazione è la stessa di un normale allegato del 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 del servizio utilizza una sottorete Private Service Connect della 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 sottorete 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 è dipiegato l'endpoint Private Service Connect si trova in un perimetro dei Controlli di servizio VPC, l'endpoint fa parte dello stesso perimetro. Tutti i servizi supportati da Controlli di servizio VPC a cui si accede tramite l'endpoint sono soggetti ai criteri del perimetro di 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. L'impostazione 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 di uscita. La comunicazione con i servizi supportati da Controlli di servizio VPC tramite l'endpoint è protetta dal perimetro di Controlli di servizio VPC.
Visualizzazione delle informazioni di collegamento dei consumatori
Per impostazione predefinita, Private Service Connect traduce l'indirizzo IP di origine del consumer in un indirizzo di una delle sottoreti Private Service Connect nella rete VPC del producer di servizi. Se vuoi visualizzare l'indirizzo IP di origine originale del consumer, puoi attivare il protocollo PROXY quando pubblichi un servizio. Private Service Connect supporta la versione 2 del protocollo PROXY.
Non tutti i servizi supportano il protocollo PROXY. Per saperne di più, consulta la sezione Funzionalità e compatibilità.
Se il protocollo PROXY è attivato, puoi recuperare l'indirizzo IP di origine e l'ID connessione PSC (pscConnectionId
) del consumatore dall'intestazione del protocollo PROXY.
Il formato delle intestazioni del protocollo PROXY dipende dalla versione IP dell'endpoint consumer. Se il bilanciatore del carico dell'attacco del servizio ha un indirizzo IPv6, i consumatori possono connettersi sia con indirizzi IPv4 sia con indirizzi IPv6. Configura l'applicazione in modo da ricevere e leggere le intestazioni del protocollo PROXY per la versione IP del traffico che deve ricevere.
Per il traffico dei consumer che passa attraverso una connessione propagata, l'indirizzo IP di origine del consumer e l'ID connessione PSC fanno riferimento all'endpoint Private Service Connect propagato.
Quando attivi il protocollo PROXY per un allegato del servizio, la modifica si applica solo alle nuove connessioni. Le connessioni esistenti non includono l'intestazione del protocollo PROXY.
Se attivi il protocollo PROXY, consulta la documentazione del software del tuo server web di backend per informazioni sull'analisi e sull'elaborazione delle intestazioni del protocollo PROXY in arrivo nei payload TCP della connessione del client. Se il protocollo PROXY è attivo nell'attacco del servizio, ma il server web di backend non è configurato per elaborare le intestazioni del protocollo PROXY, le richieste web potrebbero essere con formato non valido. Se le richieste non sono valide, il server non può interpretarle.
L'ID connessione Private Service Connect (pscConnectionId
) è codificato nell'intestazione del protocollo PROXY in formato TLV (Type-Length-Value).
Campo | Lunghezza del campo | Valore campo |
---|---|---|
Tipo | 1 byte | 0xE0 (PP2_TYPE_GCP)
|
Lunghezza | 2 byte | 0x8 (8 byte) |
Valore | 8 byte | Il valore pscConnectionId di 8 byte in ordine di rete |
Puoi visualizzare il valore pscConnectionId
di 8 byte dalla regola di inoltro consumer o dall'allegato del servizio producer.
Il valore pscConnectionId
è univoco a livello globale per tutte le connessioni attive in un determinato momento. Tuttavia, nel tempo, un pscConnectionId
potrebbe essere riutilizzato in questi scenari:
All'interno di una determinata rete VPC, se elimini un endpoint (regola di forwarding) e ne crei uno nuovo utilizzando lo stesso indirizzo IP, potrebbe essere utilizzato lo stesso valore
pscConnectionId
.Se elimini una rete VPC contenente endpoint (regole di inoltro), dopo un periodo di attesa di sette giorni, il valore
pscConnectionId
utilizzato per questi endpoint potrebbe essere utilizzato per un endpoint diverso in un'altra rete VPC.
Puoi utilizzare i valori pscConnectionId
per il debug e per tracciare le origini dei pacchetti.
Un ID collegamento di servizio Private Service Connect (pscServiceAttachmentId
) distinto di 16 byte è disponibile nel collegamento del servizio producer.
Il valore pscServiceAttachmentId
è un ID univoco a livello globale che identifica un collegamento del servizio di Private Service Connect. Puoi utilizzare il valore pscServiceAttachmentId
per la visibilità e il debug. Questo valore non è incluso nell'intestazione del protocollo PROXY.
Prezzi
I prezzi di Private Service Connect sono descritti nella pagina dei prezzi di VPC.
Quote
Il numero totale di endpoint Private Service Connect e di
connessioni propagate, da qualsiasi consumer, che possono accedere alla rete VPC del producer è controllato dalla
quota PSC ILB consumer forwarding rules per producer VPC network
.
Gli endpoint contribuiscono a questa quota finché non vengono eliminati, anche se il collegamento al servizio associato viene eliminato o configurato per rifiutare la connessione. Le connessioni propagate contribuiscono a questa quota fino all'eliminazione dell'endpoint associato, anche se la propagazione delle connessioni è disattivata nell'hub di Network Connectivity Center o se viene eliminato lo spoke della connessione propagata.
Accesso on-premise
I servizi Private Service Connect vengono resi disponibili utilizzando gli endpoint. A questi endpoint è possibile accedere da host on-premise collegati supportati. Per saperne di più, vedi Accedere all'endpoint da host on-premise.
Limitazioni
I servizi pubblicati presentano le seguenti limitazioni:
- I bilanciatori del carico dei produttori non supportano le seguenti funzionalità:
- Più
regole di inoltro che utilizzano un indirizzo IP condiviso
(
SHARED_LOADBALANCER_VIP
) - Sottoinsieme di backend
- Il mirroring dei pacchetti non può eseguire il mirroring dei pacchetti per il traffico dei servizi pubblicati di Private Service Connect.
- Devi utilizzare Google Cloud CLI o l'API per creare un allegato del servizio che punti a una regola di forwarding utilizzata per il forwarding del protocollo interno.
Per problemi e soluzioni alternative, consulta Problemi noti.