Cloud Service Mesh con gruppi di endpoint di rete internet
Puoi configurare Cloud Service Mesh per l'utilizzo di
gruppi di endpoint di rete (NEG) internet
di tipo INTERNET_FQDN_PORT
. Il servizio esterno è rappresentato dal nome di dominio completo (FQDN) e dal numero di porta nel NEG. Il NEG può contenere solo una coppia FQDN:Port
e il servizio di backend può contenere solo un NEG di questo tipo. Il nome di dominio completo viene risolto utilizzando l'ordine di risoluzione dei nomi della rete Virtual Private Cloud (VPC) sottostante.
Espandi il mesh di servizi Cloud Service Mesh utilizzando i backend FQDN
Il mesh di servizi Cloud Service Mesh può instradare il traffico a servizi privati raggiungibili tramite connettività ibrida, inclusi servizi on-premise, multi-cloud e internet. Il nome di dominio completo fa riferimento al servizio remoto.
Puoi anche instradare il traffico a servizi raggiungibili sulla rete internet pubblica.
Risorse e architettura di Google Cloud
Questa sezione descrive le risorse e l'architettura per configurare Cloud Service Mesh con un NEG internet.
INTERNET_FQDN_PORT
gruppo di endpoint di rete
Per instradare il traffico a un servizio esterno a cui fa riferimento il relativo nome di dominio completo, utilizza il NEG internet globale di tipo INTERNET_FQDN_PORT
. Il NEG contiene il nome di dominio completo del servizio e il relativo numero di porta. Cloud Service Mesh programma il nome di dominio completo nei proxy Envoy utilizzando la configurazione xDS.
Cloud Service Mesh non garantisce la risoluzione dei nomi e la connettività degli endpoint remoti. Il nome di dominio completo deve essere risolvibile in base all'ordine di risoluzione dei nomi della rete VPC a cui sono collegati i proxy Envoy, mentre gli endpoint risolti devono essere raggiungibili dai proxy Envoy.
Controlli di integrità
Il comportamento del controllo di integrità per gli endpoint di rete di tipo INTERNET_FQDN_PORT
differisce dal comportamento del controllo di integrità per altri tipi di endpoint di rete utilizzati
con Cloud Load Balancing e Cloud Service Mesh. Mentre la maggior parte degli altri tipi di endpoint di rete utilizza il sistema centralizzato di controllo di integrità di Google Cloud, i NEG utilizzati per gli endpoint in ambienti multi-cloud (INTERNET_FQDN_PORT
e NON_GCP_PRIVATE_IP_PORT
) utilizzano il meccanismo di controllo di integrità distribuito di Envoy.
Envoy supporta i seguenti protocolli per il controllo di integrità:
- HTTP
- HTTPS
- HTTP/2
- TCP
Per configurare i controlli di integrità, devi utilizzare le API Compute Engine.
Considerazioni sul DNS
Ci sono due considerazioni distinte per quanto riguarda il DNS:
- Il server DNS che ospita i record di risorse del servizio esterno.
- La modalità con cui è configurato il proxy Envoy per utilizzare il DNS per la gestione delle connessioni.
Server Cloud DNS
Puoi creare una zona privata gestita di Cloud DNS per ospitare i record DNS nel tuo progetto Google Cloud. Puoi anche utilizzare altre funzionalità di Cloud DNS, ad esempio le zone di forwarding, per recuperare i record da un server DNS on-premise.
Modalità DNS Envoy
La modalità DNS Envoy, chiamata anche service discovery, specifica in che modo il proxy Envoy utilizza i record DNS per gestire le connessioni in uscita. Cloud Service Mesh configura Envoy per utilizzare la modalità DNS rigida. La modalità DNS rigida consente il bilanciamento del carico verso tutti gli endpoint risolti. Rispetta lo stato del controllo di integrità e svuota le connessioni agli endpoint che non sono integro o non più risolti mediante il DNS. Non puoi modificare questa modalità.
Per ulteriori informazioni sul Service Discovery, consulta la documentazione di Envoy.
Connettività e routing
Se instrada il traffico a un servizio privato, di seguito sono riportati i requisiti per la connettività di rete sottostante:
- La connettività ibrida tra la rete VPC e il data center on-premise o il cloud pubblico di terze parti viene stabilita utilizzando Cloud VPN o Cloud Interconnect.
- Le regole e le route del firewall VPC sono configurate correttamente per stabilire la connettività bidirezionale da Envoy agli endpoint di servizio privati e, se applicabile, al server DNS on-premise.
- Per il failover a livello di regione alta, occorre abilitare il routing dinamico globale. Per maggiori dettagli, vedi Modalità di routing dinamico.
Se indirizzi il traffico a un servizio esterno raggiungibile su internet, devi soddisfare i requisiti seguenti:
- Le istanze di macchina virtuale (VM) client nella rete VPC devono avere un indirizzo IP esterno o Cloud NAT.
- La route predefinita deve essere presente al traffico in uscita verso internet.
In entrambi i casi precedenti, il traffico utilizza il routing della rete VPC.
Sicurezza
I backend FQDN sono compatibili con le funzionalità di sicurezza e le API di Cloud Service Mesh. Per le connessioni in uscita al servizio esterno, puoi configurare il nome di dominio completo nell'intestazione SNI utilizzando i criteri TLS del client.
Limitazioni e considerazioni
- I NEG internet di tipo
INTERNET_IP_PORT
non sono supportati con Cloud Service Mesh. - Con i backend FQDN è richiesta la versione 1.15.0 o successiva di Envoy.
- Utilizza Google Cloud CLI o le API REST per configurare Cloud Service Mesh. La configurazione end-to-end tramite la console Google Cloud non è supportata.
- I backend FQDN sono supportati solo con Envoy. gRPC senza proxy non è supportato.
Quando utilizzi il tipo di NEG
INTERNET_FQDN_PORT
con Cloud Service Mesh, i controlli di integrità degli endpoint remoti vengono eseguiti utilizzando il meccanismo di controllo di integrità distribuito di Envoy. Ogni volta che viene aggiunto un nuovo endpoint remoto, tutti i proxy Envoy avviano il controllo di integrità in modo indipendente.Allo stesso modo, quando un nuovo proxy Envoy viene aggiunto al mesh, inizia a controllare tutti gli endpoint remoti. Pertanto, a seconda del numero di proxy Envoy ed endpoint remoti nel deployment, il mesh di controllo di integrità risultante potrebbe causare un traffico di rete significativo e un carico eccessivo sugli endpoint remoti. Puoi scegliere di non configurare i controlli di integrità.
Lo stato del controllo di integrità non è visibile nella console Google Cloud per i backend FQDN.
Il controllo di integrità che utilizza i protocolli UDP, SSL e gRPC non è supportato.
Le seguenti opzioni di controllo di integrità non sono supportate:
- Controllo di integrità HTTP/HTTP2/HTTPS
--proxy-header
--response
- Controllo di integrità TCP
--proxy-header
--request
--response
- Controllo di integrità HTTP/HTTP2/HTTPS
Passaggi successivi
- Per configurare Cloud Service Mesh con NEG internet, consulta Configurare i backend esterni.
- Per saperne di più sui NEG di connettività ibrida, consulta Cloud Service Mesh con NEG di connettività ibrida.