Risoluzione dei problemi relativi al Network Load Balancer - Sistema di bilanciamento del carico elastico

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Risoluzione dei problemi relativi al Network Load Balancer

Le informazioni seguenti possono essere utili per risolvere i problemi relativi al Network Load Balancer.

Un target registrato non è in servizio

Se un oggetto richiede più tempo del previsto per inserire lo InService stato, è possibile che i controlli dello stato non siano stati superati. Il target non è in servizio finché non passa un controllo dello stato. Per ulteriori informazioni, consulta Controlli dello stato per i gruppi target.

Verificare che l'istanza non superi i controlli dello stato e quindi verificare le seguenti:

Un gruppo di sicurezza non consente il traffico

I gruppi di sicurezza associati a un'istanza devono consentire il traffico dal sistema di bilanciamento del carico utilizzando la porta di controllo dello stato e il protocollo di controllo dello stato. Per ulteriori informazioni, consulta Gruppi di sicurezza target.

Una lista di controllo accessi di rete (ACL) non consente il traffico

L'ACL di rete associata alle sottoreti delle istanze e alle sottoreti del sistema di bilanciamento del carico deve consentire il traffico e i controlli dell'integrità da parte del sistema di bilanciamento del carico. Per ulteriori informazioni, consulta Liste di controllo accessi (ACL) di rete.

Le richieste vengono instradate ai target.

Verifica quanto segue:

Un gruppo di sicurezza non consente il traffico

I gruppi di sicurezza associati con le istanze devono consentire il traffico sulla porta listener da indirizzi IP client (se i target sono specificati dall'ID istanza) o sui nodi di bilanciamento del carico (se i target sono specificati dall'indirizzo IP). Per ulteriori informazioni, consulta Gruppi di sicurezza target.

Una lista di controllo accessi di rete (ACL) non consente il traffico

Le liste di controllo degli accessi di rete associati con le sottoreti per il VPC devono consentire la comunicazione da parte del sistema di bilanciamento del carico e del target in entrambe le direzioni sulla porta listener. Per ulteriori informazioni, consulta Liste di controllo accessi (ACL) di rete.

l target si trovano in una zona di disponibilità non abilitata

Se si registrano target in una zona di disponibilità, ma non si abilita la zona di disponibilità, questi target registrati non sono in grado di ricevere traffico dal sistema di bilanciamento del carico.

L'istanza si trova in un VPC collegato in peering

Se in un VPC sono presenti istanze collegate in peering al VPC del sistema di bilanciamento del carico, è necessario registrarle con il sistema di bilanciamento del carico in base all'indirizzo IP e non all'ID istanza.

I target ricevono più richieste di controllo dello stato del previsto

I controlli dell'integrità per un Network Load Balancer vengono distribuiti e utilizzano un meccanismo di consenso per determinare lo stato di integrità della destinazione. Pertanto, i target ricevono più del numero di controlli dello stato configurato attraverso l’impostazione HealthCheckIntervalSeconds.

I target ricevono meno richieste di controllo dello stato del previsto

Controlla se net.ipv4.tcp_tw_recycle è abilitato. Questa impostazione è nota per causare problemi con i sistemi di bilanciamento del carico. L'impostazione net.ipv4.tcp_tw_reuse è considerata un'alternativa più sicura.

I target danneggiati ricevono richieste dal sistema di bilanciamento del carico

Ciò si verifica quando tutte le destinazioni registrate non sono integre. Se è presente almeno una destinazione registrata integra, il Network Load Balancer instrada le richieste solo verso tale destinazione.

Quando tutte le destinazioni sono non integre, il Network Load Balancer instrada le richieste verso tutte le destinazioni registrate, con una modalità denominata fail-open. Il Network Load Balancer esegue questa operazione invece di rimuovere tutti gli indirizzi IP dal DNS quando tutte le destinazioni non sono integre e le rispettive zone di disponibilità non dispongono di destinazioni integre a cui inviare le richieste.

Il target non riesce a controllare l'integrità HTTP o HTTPS a causa della mancata corrispondenza dell'intestazione dell’host

L'intestazione dell’host HTTP nella richiesta di controllo dello stato contiene l'indirizzo IP del nodo del sistema di bilanciamento del carico e la porta del listener anziché l'indirizzo IP della destinazione e la porta di controllo dello stato. Se si esegue il mapping delle richieste in ingresso per l’intestazione dell’host, è necessario assicurarsi che i controlli di integrità corrispondano a qualsiasi intestazione dell’host HTTP. Un'altra opzione consiste nell'aggiungere un servizio HTTP separato su una porta diversa e configurare il gruppo di destinazione in modo che utilizzi tale porta per i controlli di integrità. In alternativa, prendere in considerazione l'utilizzo dei controlli di integrità TCP.

Impossibile associare un gruppo di sicurezza a un sistema di bilanciamento del carico

Se il Network Load Balancer è stato creato senza gruppi di sicurezza, non è in grado di supportarli dopo la creazione. Puoi associare un gruppo di sicurezza a un sistema di bilanciamento del carico soltanto durante la creazione. In alternativa, puoi associarlo a un sistema di bilanciamento del carico esistente che è stato originariamente creato con gruppi di sicurezza.

Impossibile rimuovere tutti i gruppi di sicurezza

Se il Network Load Balancer è stato creato con gruppi di sicurezza, deve essere sempre associato almeno un gruppo di sicurezza. Non è possibile rimuovere tutti i gruppi di sicurezza dal sistema di bilanciamento del carico contemporaneamente.

Aumento del parametro TCP_ELB_Reset_Count

Per ogni richiesta TCP eseguita da un client tramite un Network Load Balancer, viene monitorato lo stato della connessione. Se non vengono inviati dati tramite la connessione dal client o dalla destinazione per un periodo superiore al tempo di inattività, la connessione viene chiusa. Se un client o un target invia i dati dopo la scadenza del tempo di inattività, riceve un pacchetto RST TCP che indica che la connessione non è più valida. Inoltre, se una destinazione diventa non integra, il sistema di bilanciamento del carico invia un RST TCP per i pacchetti ricevuti sulle connessioni client associate alla destinazione, a meno che la destinazione non integra non provochi il fail-open da parte del sistema di bilanciamento del carico.

Se noti un picco nel parametro TCP_ELB_Reset_Count poco prima o subito dopo l'incremento del parametro UnhealthyHostCount, è probabile che i pacchetti RST TCP siano stati inviati perché la destinazione presentava degli errori ma non era stata contrassegnata come non integra. Se noti aumenti persistenti nel parametro TCP_ELB_Reset_Count ma le destinazioni vengano contrassegnate ancora come integre, puoi controllare i log di flusso VPC per i client che inviano dati sui flussi scaduti.

Connessioni scadute per le richieste provenienti da un target al sistema di bilanciamento del carico

Verifica se la conservazione dell'IP client è abilitata sul gruppo di destinazione. Il loopback NAT, noto anche come hairpinning, non è supportato quando è abilitata la conservazione dell'IP client. Se un'istanza è un client di un sistema di bilanciamento del carico con cui è registrata e ha la conservazione dell'IP client abilitata, la connessione va a buon fine solo se la richiesta viene instradata a un'istanza diversa. Se la richiesta viene indirizzata alla stessa istanza da cui è stata inviata, la connessione scade perché gli indirizzi IP di origine e di destinazione sono gli stessi.

Se un'istanza deve inviare le richieste a un sistema di bilanciamento del carico registrato, procedere in uno dei seguenti modi:

  • Disabilitare la conservazione dell'IP client.

  • Verificare che i container che devono comunicare siano su diverse istanze di container.

Diminuzione delle prestazioni durante lo spostamento delle destinazioni verso un Network Load Balancer

Sia i Classic Load Balancer che gli Application Load Balancer utilizzano il multiplexing delle connessioni, al contrario dei Network Load Balancer. Pertanto, le destinazioni possono ricevere più connessioni TCP dietro un Network Load Balancer. Assicurati che i target siano preparati a gestire il volume di richieste di connessione che potrebbero ricevere.

Se il Network Load Balancer è associato a un servizio endpoint VPC, il sistema supporta 55.000 connessioni simultanee o circa 55.000 connessioni al minuto per ogni destinazione univoca (indirizzo IP e porta). Se si superano queste connessioni, aumenta il rischio di errori di allocazione delle porte. Gli errori di allocazione delle porte possono essere tracciati utilizzando il parametro PortAllocationErrorCount. Per risolvere gli errori di allocazione delle porte, aggiungi altre destinazioni al gruppo di destinazione. Per ulteriori informazioni, consulta CloudWatch metriche per il tuo Network Load Balancer.

Errore di connessione intermittente quando è abilitata la conservazione dell'IP client

Quando la conservazione dell'IP client è abilitata, potrebbero verificarsi limitazioni delle connessioni TCP/IP legate al riutilizzo dei socket osservati sulle destinazioni. Queste limitazioni di connessione possono verificarsi quando un client, o un dispositivo NAT davanti al client, utilizza lo stesso indirizzo IP di origine e la stessa porta di origine quando si connette a più nodi del sistema di bilanciamento del carico contemporaneamente. Se il sistema di bilanciamento del carico indirizza queste connessioni alla stessa destinazione, le connessioni vengono visualizzate come se provenissero dallo stesso socket di origine, con conseguenti errori di connessione. In tal caso, i client possono tentare nuovamente l'operazione (se la connessione ha esito negativo) o riconnettersi (se la connessione viene interrotta). È possibile ridurre questo tipo di errore di connessione aumentando il numero di porte temporanee di origine o aumentando il numero di destinazioni per il sistema di bilanciamento del carico. È possibile prevenire questo tipo di errore di connessione disabilitando la conservazione dell'IP client o disabilitando il sistema di bilanciamento del carico tra zone.

Inoltre, quando la conservazione dell'IP client è abilitata, la connettività potrebbe fallire se i client che si connettono al Network Load Balancer sono collegati anche a destinazioni dietro il sistema di bilanciamento del carico. Per risolvere questo problema, è possibile disabilitare la conservazione dell'IP client sui gruppi di destinazione interessati. In alternativa, i client possono connettersi solo al Network Load Balancer o solo alle destinazioni, ma non a entrambi.

Ritardi nella connessione TCP

Quando sono abilitati sia il bilanciamento del carico tra zone che la conservazione dell'IP client, un client che si connette a IP diversi sullo stesso sistema di bilanciamento del carico può essere indirizzato alla stessa destinazione. Se il client utilizza la stessa porta di origine per entrambe le connessioni, la destinazione riceverà quella che sembra essere una connessione duplicata, il che può causare errori di connessione e ritardi TCP nello stabilire nuove connessioni. È possibile prevenire questo tipo di errore di connessione disabilitando il sistema di bilanciamento del carico tra zone. Per ulteriori informazioni, consulta Bilanciamento del carico su più zone.

Potenziale errore durante il provisioning del sistema di bilanciamento del carico

L'utilizzo di un indirizzo IP già assegnato o allocato altrove (ad esempio, assegnato come indirizzo IP secondario per un'istanza EC2) potrebbe comportare la presenza di errori in un Network Load Balancer in fase di provisioning. Questo indirizzo IP impedisce la configurazione del sistema di bilanciamento del carico, con conseguente visualizzazione dello stato failed. Per risolvere questo problema, è possibile rimuovere l'allocazione dell'indirizzo IP associato e tentare nuovamente il processo di creazione.

La risoluzione dei nomi DNS contiene meno indirizzi IP rispetto alle zone di disponibilità abilitate

Idealmente, il Network Load Balancer fornisce un indirizzo IP per ogni zona di disponibilità abilitata quando è presente almeno un host integro. Quando non sono presenti host integri in una determinata zona di disponibilità e il bilanciamento del carico tra zone è disabilitato, l'indirizzo IP del Network Load Balancer corrispondente a quella zona di disponibilità verrà rimosso dal DNS.

Ad esempio, supponiamo che il Network Load Balancer abbia tre zone di disponibilità abilitate, tutte con almeno un'istanza di destinazione registrata integra.

  • Se le istanze di destinazione registrate nella zona di disponibilità A non sono integre, l'indirizzo IP corrispondente a tale zona per il Network Load Balancer viene rimosso dal DNS.

  • Se in due zone di disponibilità qualsiasi abilitate non sono presenti istanze di destinazione registrate integre, i rispettivi due indirizzi IP del Network Load Balancer verranno rimossi dal DNS.

  • Se non sono presenti istanze di destinazione registrate integre in tutte le zone di disponibilità abilitate, verrà attivata la modalità fail-open e il DNS fornirà tutti gli indirizzi IP delle tre zone di disponibilità abilitate nel risultato.