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.

Estensione del mesh di servizi Cloud Service Mesh a località on-premise o multi-cloud utilizzando backend FQDN tramite la connettività ibrida.
Estensione del mesh di servizi Cloud Service Mesh a località on-premise o multi-cloud utilizzando backend FQDN tramite la connettività ibrida (fai clic per ingrandire)

Puoi anche instradare il traffico a servizi raggiungibili sulla rete internet pubblica.

Estensione del mesh di servizi Cloud Service Mesh a un servizio internet tramite backend FQDN.
Estensione del mesh di servizi Cloud Service Mesh a un servizio internet tramite backend FQDN (fai clic per ingrandire)

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

Passaggi successivi