Risolvere i problemi relativi ai bilanciatori del carico di rete passthrough esterni

Questa guida descrive come risolvere i problemi di configurazione per un bilanciatore del carico di rete passthrough esterno diGoogle Cloud . Prima di esaminare i problemi, acquisisci familiarità con le seguenti pagine:

Risolvere i problemi comuni di Network Analyzer

Network Analyzer monitora automaticamente la configurazione di rete VPC e rileva sia le configurazioni non ottimali sia quelle errate. Identifica gli errori di rete, fornisce informazioni sulla causa principale e suggerisce possibili soluzioni. Per scoprire i diversi scenari di configurazione errata rilevati automaticamente da Network Analyzer, consulta Approfondimenti sul bilanciatore del carico nella documentazione di Network Analyzer.

Network Analyzer è disponibile nella console Google Cloud come parte di Network Intelligence Center.

Vai a Network Analyzer

Risolvere i problemi di configurazione

I backend hanno modalità di bilanciamento incompatibili

Quando crei un bilanciatore del carico, potresti visualizzare l'errore:

Validation failed for instance group INSTANCE_GROUP:

backend services 1 and 2 point to the same instance group
but the backends have incompatible balancing_mode. Values should be the same.

Ciò si verifica quando tenti di utilizzare lo stesso backend in due bilanciatori del carico diversi e i backend non hanno modalità di bilanciamento compatibili.

Per ulteriori informazioni, consulta le seguenti risorse:

Risolvere i problemi di connettività generali

Se non riesci a connetterti al bilanciatore del carico di rete passthrough esterno, controlla i seguenti problemi comuni:

  • Verifica le regole firewall.

    • Assicurati che le regole firewall di autorizzazione in entrata siano definite per consentire i controlli di integrità alle VM di backend.
    • Assicurati che le regole firewall di autorizzazione in entrata consentano il traffico verso le VM di backend dai client.
    • Assicurati che esistano regole firewall pertinenti per consentire al traffico di raggiungere le VM di backend sulle porte utilizzate dal bilanciatore del carico.
    • Se utilizzi tag di destinazione per le regole firewall, assicurati che le VM di backend del bilanciatore del carico siano taggate in modo appropriato.

    Per scoprire come configurare le regole firewall richieste dal bilanciatore del carico di rete passthrough esterno, consulta Configurazione delle regole firewall.

  • Verifica che l'agente guest di Google sia in esecuzione sulla VM di backend. Se riesci a connetterti a una VM di backend integra, ma non riesci a connetterti al bilanciatore del carico, è possibile che l'agente guest Google (in precedenza, l'ambiente guest Windows o Linux) sulla VM non sia in esecuzione o non sia in grado di comunicare con il server di metadati (metadata.google.internal, 169.254.169.254).

    Verifica quanto segue:

    • Assicurati che l'agente guest Google sia installato e in esecuzione sulla VM di backend.
    • Assicurati che le regole firewall all'interno del sistema operativo guest della VM di backend (iptables o Windows Firewall) non blocchino l'accesso al server di metadati.
  • Verifica che le VM di backend accettino i pacchetti inviati al bilanciatore del carico. Ogni VM di backend deve essere configurata per accettare i pacchetti inviati al bilanciatore del carico. ovvero la destinazione dei pacchetti inviati alle VM di backend è l'indirizzo IP del bilanciatore del carico. Nella maggior parte dei casi, questa operazione viene implementata con una route locale.

    Per le VM create da immagini Google Cloud , l'agente guest installa la route locale per l'indirizzo IP del bilanciatore del carico. Le istanze Google Kubernetes Engine basate su Container-Optimized OS implementano questa funzionalità utilizzando invece iptables.

    Su una VM di backend Linux, puoi verificare la presenza della route locale eseguendo il seguente comando. Sostituisci LOAD_BALANCER_IP con l'indirizzo IP del bilanciatore del carico:

    sudo ip route list table local | grep LOAD_BALANCER_IP
    
  • Verifica l'associazione di indirizzo IP e porta del servizio sulle VM di backend. I pacchetti inviati a un bilanciatore del carico di rete passthrough esterno arrivano alle VM di backend con l'indirizzo IP di destinazione del bilanciatore del carico stesso. Questo tipo di bilanciatore del carico non è un proxy e questo è il comportamento previsto.

    Per visualizzare i servizi in ascolto su una porta, esegui questo comando:

    netstat -nl | grep ':PORT'
    

    Il software in esecuzione sulla VM di backend deve:

    • In ascolto (associato) all'indirizzo IP del bilanciatore del carico o a qualsiasi indirizzo IP (0.0.0.0 o ::)
    • In ascolto (associato) a una porta inclusa nella regola di forwarding del bilanciatore del carico

    Per testare questa funzionalità, connettiti a una VM di backend utilizzando SSH o RDP. Poi esegui i seguenti test utilizzando curl, telnet o uno strumento simile:

    • Tenta di raggiungere il servizio contattandolo utilizzando l'indirizzo IP interno della VM di backend stessa, 127.0.0.1 o localhost.
    • Tenta di raggiungere il servizio contattandolo utilizzando l'indirizzo IP della regola di forwarding del bilanciatore del carico.
  • Verifica che il traffico del controllo di integrità possa raggiungere le VM di backend. Per verificare che il traffico del controllo di integrità raggiunga le VM di backend, abilita il logging del controllo di integrità e cerca le voci di log riuscite.

Risolvere i problemi del VPC condiviso

Se utilizzi un VPC condiviso e non riesci a creare un nuovo bilanciatore del carico di rete pass-through esterno in una determinata subnet, la causa potrebbe essere un criterio dell'organizzazione. Nella policy dell'organizzazione, aggiungi la subnet all'elenco delle subnet consentite o contatta l'amministratore dell'organizzazione. Per ulteriori informazioni, consulta il vincolo constraints/compute.restrictSharedVpcSubnetworks.

Risolvere i problemi di failover

Se hai configurato il failover per un bilanciatore del carico di rete passthrough esterno, segui questi passaggi per verificare la configurazione:

  • Assicurati di comprendere i concetti di selezione e monitoraggio della connessione backend e di failover.
  • Assicurati di aver designato almeno un backend di failover.
  • Esamina quali backend sono integri utilizzando la console Google Cloud o gcloud compute backend-services get-health per determinare quali VM sono backend idonei.
  • Assicurati che il rapporto di failover sia impostato correttamente.
  • Sconsigliamo di utilizzare gruppi di istanze gestite con la scalabilità automatica abilitata in combinazione con il failover, perché la scalabilità automatica modifica il numero di backend primari, backend di failover o entrambi. Ciò può comportare la modifica imprevista dell'insieme di backend idonei perché il rapporto di failover è fisso.
  • Se una VM client è anche una VM di backend con bilanciamento del carico, le connessioni all'indirizzo IP della regola di forwarding del bilanciatore del carico vengono inviate alla VM di backend stessa. Per maggiori informazioni, consulta Test da un singolo client.

Risolvere i problemi di logging

Se configuri la registrazione per un bilanciatore del carico di rete passthrough esterno, potrebbero verificarsi i seguenti problemi:

  • Le misurazioni RTT, come i valori dei byte, potrebbero mancare in alcuni log se non vengono campionati pacchetti sufficienti per acquisire l'RTT. È più probabile che ciò accada per le connessioni a basso volume.
  • I valori RTT sono disponibili solo per i flussi TCP.
  • Alcuni pacchetti vengono inviati senza payload. Se vengono campionati pacchetti solo di intestazione, il valore dei byte è 0.