Come faccio a risolvere e correggere gli errori del controllo dell'integrità degli Application Load Balancer?
I target registrati nell’Application Load Balancer non sono integri. Come faccio a capire perché i target non superano i controlli dell’integrità?
Risoluzione
Per risolvere e correggere gli errori del controllo dell'integrità dell’Application Load Balancer:
- Controlla l’integrità dei target per trovare il codice del motivo e la descrizione del problema.
- Segui i passaggi seguenti per risolvere l'errore ricevuto.
Elb.InitialHealthChecking
Descrizione: controlli dell’integrità iniziali in corso.
Risoluzione: per poter ricevere richieste dal sistema di bilanciamento del carico, il target deve superare i controlli dell’integrità iniziali. Attendi che il target superi i controlli dell’integrità iniziali e verifica nuovamente il suo stato di integrità.
Elb.RegistrationInProgress
Descrizione: la registrazione del target è in corso.
Risoluzione: il sistema di bilanciamento del carico inizia a instradare le richieste verso il target non appena il processo di registrazione viene completato e il target supera i controlli dell’integrità iniziali.
Target.DeregistrationInProgress
Descrizione: l’annullamento della registrazione del target è in corso.
Risoluzione: quando viene annullata la registrazione di un target, il sistema di bilanciamento del carico attende il completamento delle richieste in transito. Questo procedimento è noto come ritardo di annullamento della registrazione. Per impostazione predefinita, Elastic Load Balancing attende 300 secondi prima di completare il processo di annullamento della registrazione. Tuttavia è possibile personalizzare questo valore.
Se un target in fase di annullamento della registrazione non presenta richieste in transito o connessioni attive, Elastic Load Balancing annulla immediatamente la registrazione senza attendere il termine del ritardo di annullamento della registrazione. Lo stato iniziale di un target in fase di annullamento della registrazione è in svuotamento. Una volta trascorso il ritardo di annullamento della registrazione, il processo di annullamento della registrazione viene completato e lo stato del target è inutilizzato. Se il target fa parte di un gruppo con dimensionamento automatico, è possibile terminarlo e sostituirlo.
Target.FailedHealthChecks
Descrizione: il sistema di bilanciamento del carico ha ricevuto un errore durante la creazione di una connessione al target oppure il formato della risposta del target non è valido.
Risoluzione:
- Verifica che l'applicazione sia in esecuzione. Usa il comando service per verificare lo stato dei servizi per i target Linux. Per i target Windows, controlla la scheda Servizi in Gestione attività Windows. Avvia il servizio se risulta interrotto. Se il servizio non viene riconosciuto, verifica che il servizio richiesto sia installato.
- Verifica che il target sia in ascolto del traffico sulla porta di controllo dell’integrità. Per i target Linux, usa il comando ss per verificare su quali porte il server è in ascolto. Per i target Windows, puoi usare il comando netstat.
- Verifica che l'applicazione risponda correttamente alle richieste di controllo dell’integrità inviate dal sistema di bilanciamento del carico. L'esempio seguente mostra una tipica richiesta di controllo dell’integrità di Application Load Balancer che i target devono restituire con una risposta HTTP valida. Il valore dell'intestazione Host contiene l'indirizzo IP privato del target, seguito dalla porta del controllo dell’integrità. User-Agent è impostato su ELB-HealthChecker/2.0. Il carattere di terminazione di riga per i campi di intestazione del messaggio è la sequenza CRLF e l'intestazione termina alla prima riga vuota seguita da un CRLF. Se necessario, aggiungi un host virtuale predefinito alla configurazione del server Web per ricevere le richieste di controllo dell’integrità.
GET / HTTP/1.1 Host: 10.0.0.1:80 Connection: close User-Agent: ELB-HealthChecker/2.0 Accept-Encoding: gzip, compressed
- Il tipo di target del gruppo target determina a quale interfaccia di rete il sistema di bilanciamento del carico invia i controlli dell’integrità sui target. Ad esempio, è possibile registrare gli ID delle istanze, gli indirizzi IP e le funzioni Lambda. Se il tipo di target è l'ID dell'istanza, il sistema di bilanciamento del carico invia le richieste di controllo dell’integrità all'interfaccia di rete principale dei target. Se il tipo di target è l'indirizzo IP, il sistema di bilanciamento del carico invia le richieste di controllo dell’integrità all'interfaccia di rete associata all'indirizzo IP corrispondente. Se ai target sono collegate più interfacce, verifica che l'applicazione sia in ascolto sull'interfaccia di rete corretta.
- La policy di sicurezza ELBSecurityPolicy-2016-08 viene utilizzata per le connessioni ai target e i controlli dell’integrità HTTPS. Verifica che il target fornisca un certificato del server e una chiave nel formato specificato nella policy di sicurezza. Verifica inoltre che il target supporti una o più crittografie corrispondenti e un protocollo fornito dal sistema di bilanciamento del carico per stabilire l'handshake TLS.
Target.InvalidState
Descrizione: lo stato del target è interrotto o terminato.
Risoluzione: se il target è un'istanza Amazon Elastic Compute Cloud (Amazon EC2), apri la console Amazon EC2. Quindi, verifica che l'istanza sia in esecuzione. Avvia l'istanza se necessario.
Target.IpUnusable
Descrizione: l'indirizzo IP non può essere utilizzato come target perché è utilizzato da un sistema di bilanciamento del carico.
Risoluzione: durante la creazione di un gruppo target, è necessario specificare il tipo di target. Se il tipo di target è IP, non è possibile scegliere un indirizzo IP già utilizzato da un sistema di bilanciamento del carico.
Target.NotInUse
Descrizione: il gruppo target non è utilizzato da alcun sistema di bilanciamento del carico o il target si trova in una zona di disponibilità che non è abilitata per il sistema di bilanciamento del carico.
Risoluzione:
- Controlla il gruppo target e verifica che sia configurato per ricevere traffico dal sistema di bilanciamento del carico.
- Verifica che la zona di disponibilità del target sia abilitata per il sistema di bilanciamento del carico.
Target.NotRegistered
Descrizione: Il target non è registrato nel gruppo target.
Risoluzione: verifica che il target sia registrato nel gruppo target.
Target.ResponseCodeMismatch
Descrizione: i controlli dell’integrità non hanno restituito il codice HTTP previsto.
Risoluzione:
- I codici di esito positivo sono i codici HTTP da utilizzare per verificare la corretta risposta di un target. È possibile specificare valori o intervalli di valori compresi tra 200 e 499. Il valore predefinito è 200. Controlla la configurazione dei controlli dell’integrità del sistema di bilanciamento del carico per verificare i codici di esito positivo previsti. Quindi, controlla i log di accesso al server Web per accertarti che vengano restituiti i codici di esito positivo previsti. Modifica il valore del codice di esito positivo se necessario.
- Verifica che il percorso ping sia valido. Il percorso ping è la destinazione sui target per i controlli dell’integrità. Assicurati di specificare un URI valido (/path?query). Il valore predefinito è /. Modifica il valore del percorso ping se necessario.
Target.Timeout
Descrizione: richiesta scaduta.
Risoluzione: se riesci a connetterti, la pagina di destinazione potrebbe non rispondere prima del termine periodo di timeout del controllo dell’integrità. La maggior parte dei server Web, come NGINX e IIS, consente di registrare il tempo impiegato dal server per rispondere. Se le richieste di controllo dell’integrità impiegano più tempo del periodo di timeout configurato:
- Scegli una pagina di destinazione più semplice per il controllo dell’integrità.
- Modifica le impostazioni del controllo dell’integrità.
Se non riesci a connetterti:
- Verifica che il gruppo di sicurezza associato al target consenta il traffico proveniente dal sistema di bilanciamento del carico utilizzando la porta del controllo dell’integrità e il protocollo di controllo dell’integrità. È possibile aggiungere una regola per il gruppo di sicurezza per consentire tutto il traffico proveniente dal gruppo di sicurezza del sistema di bilanciamento del carico. Inoltre, il gruppo di sicurezza del sistema di bilanciamento del carico deve consentire il traffico verso i target.
- Verifica che la lista di controllo degli accessi (ACL) di rete associata alle sottoreti del target consenta il traffico in entrata sulla porta del controllo dell’integrità. Verifica che consenta anche il traffico in uscita sulle porte temporanee (1024-65535).
- Verifica che l'ACL di rete associata alle sottoreti per i nodi del sistema di bilanciamento del carico consenta il traffico in entrata sulle porte temporanee. Verifica che consenta anche il traffico in uscita sulla porta del controllo dell’integrità e sulle porte temporanee.
- Verifica che tutti i firewall a livello di sistema operativo sul target consentano il traffico in entrata e in uscita del controllo dell’integrità.
- Verifica che la tabella di routing per le sottoreti associate al target contenga una voce che consente il traffico del controllo dell’integrità verso il sistema di bilanciamento del carico.
- Verifica che l'utilizzo della memoria e della CPU dei target rientri nei limiti accettabili. Se l'utilizzo della memoria o della CPU è troppo elevato, aggiungi ulteriori target oppure aumenta la capacità del gruppo con dimensionamento automatici. Se il target è un'istanza EC2, è anche possibile aggiornare l'istanza a un tipo di istanza superiore.
Informazioni correlate
Video correlati
Contenuto pertinente
- AWS UFFICIALEAggiornata 2 anni fa
- AWS UFFICIALEAggiornata 2 anni fa
- AWS UFFICIALEAggiornata 2 anni fa
- AWS UFFICIALEAggiornata un anno fa