Cloud Service Mesh con gruppi di endpoint di rete internet

Puoi configurare Cloud Service Mesh in modo da utilizzare gruppi di endpoint di rete (NEG) internet di tipo INTERNET_FQDN_PORT. Il servizio esterno è rappresentato dal suo nome di dominio completo (FQDN) e numero di porta nel NEG. Il NEG può contenere solo una coppia FQDN:Port e il servizio di backend può contenere solo una NEG di questo tipo. Il nome di dominio completo viene risolto utilizzando l'elemento sottostante della rete VPC (Virtual Private Cloud) ordine di risoluzione dei nomi.

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 che sono raggiungibili tramite la connettività ibrida, anche denominata on-premise, servizi internet e multi-cloud. Il servizio remoto viene fatto riferimento dal relativo FQDN.

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 agli ambienti on-premise o multi-cloud che utilizzano backend FQDN su connettività ibrida (fai clic per ingrandire)

Puoi anche indirizzare il traffico verso servizi raggiungibili tramite internet pubblico.

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

Risorse e architettura di Google Cloud

Questa sezione descrive le risorse e l'architettura per la configurazione di Cloud Service Mesh con un NEG su internet.

INTERNET_FQDN_PORT gruppo di endpoint di rete

Per instradare il traffico a un servizio esterno a cui viene fatto riferimento tramite il relativo FQDN, utilizza il NEG internet globale di tipo INTERNET_FQDN_PORT. Il NEG contiene il nome di dominio completo e il numero di porta del servizio. Cloud Service Mesh programma la FQDN 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 dalla risoluzione del nome nell'ordine della rete VPC a cui sono collegati i proxy Envoy, e gli endpoint risolti devono essere raggiungibili dai proxy Envoy.

Controlli di integrità

Il comportamento dei controlli di integrità per gli endpoint di rete di tipo INTERNET_FQDN_PORT è diverso da quello per altri tipi di endpoint di rete utilizzati con Cloud Load Balancing e Cloud Service Mesh. Sebbene la maggior parte degli altri tipi di endpoint di rete utilizzi il sistema di controllo dell'integrità centralizzato 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 dell'integrità distribuito di Envoy.

Envoy supporta i seguenti protocolli per i controlli di integrità:

  • HTTP
  • HTTPS
  • HTTP/2
  • TCP

Configura i controlli di integrità utilizzando 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 connessione gestione dei dispositivi.

Server Cloud DNS

Puoi creare una zona privata gestita Cloud DNS per ospitare i record DNS nel tuo progetto Google Cloud. Puoi anche utilizzare altre funzionalità di Cloud DNS, come le zone di inoltro, per recuperare i record da un server DNS on-premise.

Modalità DNS Envoy

La modalità DNS di 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 l'utilizzo della modalità DNS rigida. La modalità DNS rigida consente il bilanciamento del carico verso tutti gli endpoint risolti. Tiene conto dello stato del controllo di salute e scarica le connessioni agli endpoint non operativi o che non vengono più risolti utilizzando il DNS. Non puoi modificare questa modalità.

Per ulteriori informazioni sul discovery dei servizi, consulta la documentazione di Envoy.

Connettività e routing

Se stai indirizzando il traffico a un servizio privato, di seguito sono riportate le per la connettività di rete sottostante:

  • Connettività ibrida tra la rete VPC e la rete on-premise o un cloud pubblico di terze parti si basa su Cloud VPN o Cloud Interconnect.
  • Le regole e le route del firewall VPC sono configurate correttamente per stabilire la raggiungibilità bidirezionale da Envoy agli endpoint dei servizi privati e, se applicabile, al server DNS on-premise.
  • Per un failover ad alta disponibilità a livello di regione, il routing dinamico globale deve essere abilitato. Per ulteriori dettagli, vedi modalità di routing dinamico.

Se indirizzi il traffico a un servizio esterno accessibile su internet, i requisiti sono i seguenti:

  • Le istanze di macchina virtuale (VM) client nella rete VPC deve avere un indirizzo IP esterno o Cloud NAT.
  • La route predefinita deve essere presente per il traffico in uscita su internet.

In entrambi i casi precedenti, il traffico utilizza il routing della rete VPC.

Sicurezza

I backend FQDN sono compatibili Funzionalità di sicurezza di Cloud Service Mesh e API. Nelle connessioni in uscita al servizio esterno, puoi configurare il FQDN nell'intestazione SNI utilizzando i criteri TLS client.

Limitazioni e considerazioni

  • I NEG di internet di tipo INTERNET_IP_PORT non sono supportati con Cloud Service Mesh.
  • Con i backend FQDN è necessaria la versione 1.15.0 o successive di Envoy.
  • Utilizza l'interfaccia a riga di comando Google Cloud 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 NEG INTERNET_FQDN_PORT con Cloud Service Mesh, i controlli di stato degli endpoint remoti vengono eseguiti utilizzando il meccanismo di controllo di stato distribuito di Envoy. Ogni volta che viene aggiunto un nuovo endpoint remoto, tutti i proxy Envoy avviano il controllo di integrità in modo indipendente.

    Analogamente, quando un nuovo proxy Envoy viene aggiunto al mesh, questo inizia a controllare per tutti gli endpoint remoti. Pertanto, a seconda del numero di proxy Envoy ed endpoint remoti deployment, il mesh di controllo di integrità risultante potrebbe causare 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 il nome di dominio completo di backend.

  • 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