Ci sono due tipi di Health Check per gruppi auto in scala:
- EC2 Health Check: Questo utilizza la EC2 status check per determinare se l'istanza è sano. Funziona solo a livello di hypervisor e non può vedere lo stato di salute di un'applicazione in esecuzione su un'istanza.
- Controllo dello stato del bilanciamento del carico elastico (ELB): Questo fa sì che il gruppo di ridimensionamento automatico deleghi il controllo dello stato a Elastic Load Balancer, che è in grado di controllare un URL (S) specifico. Ciò significa che può controllare che un'applicazione stia funzionando correttamente su un'istanza.
Dato che il sistema sta utilizzando un controllo dello stato ELB, il ridimensionamento automatico si affiderà ai risultati del controllo dello stato ELB per determinare lo stato di ogni istanza EC2. Questo può essere leggermente pericoloso perché, se l'istanza richiede un po 'di tempo per iniziare, il controllo dello stato potrebbe contrassegnare erroneamente l'istanza come non salutare. Questo, a sua volta, farebbe sì che Auto Scaling terminasse l'istanza e avvii una sostituzione.
Per evitare questa situazione, è disponibile l'impostazione periodo di tolleranza di integrità (in secondi) nella configurazione del gruppo di ridimensionamento automatico. Questo indica per quanto tempo Auto Scaling deve attendere fino a quando non inizia a utilizzare il controllo dello stato ELB (che, a sua volta, ha le impostazioni per quanto spesso controllare e quanti controlli sono necessari per contrassegnare un'istanza come Sana/Non salutare).
Quindi, se l'applicazione impiega 3 minuti per l'avvio, impostare il periodo di tolleranza di controllo integrità su un minimo di 180 secondi (3 minuti). La documentazione non indica se la tempistica inizia dal momento in cui un'istanza è contrassegnata come "In esecuzione" o se è quando i controlli di stato sono completi, quindi esegue alcuni test di temporizzazione per evitare situazioni di "rimbalzo".
Infatti, Si consiglia di impostare il periodo di tolleranza di controllo integrità su un valore significativamente superiore (ad esempio, raddoppiare il tempo richiesto). Ciò non influirà sul funzionamento del sistema poiché un'istanza sana inizierà a servire il traffico non appena viene verificato il controllo dello stato ELB, che prima del periodo di tolleranza del ridimensionamento automatico. Il caso peggiore è che un'istanza veramente malsana verrà terminata pochi minuti dopo, ma questo dovrebbe essere un evento raro.
fonte
2014-12-14 04:42:24
la verifica dello stato ELB funziona con ALB? – kintuparantu
@kintuparantu I contatori di stato dell'applicazione Load Balancer sono configurati su il gruppo target Vedi: [Health Checks per i tuoi gruppi target] (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/target-group-health-checks.html) Se hai ulteriori domande, per favore inizia una nuova domanda piuttosto che chiedere tramite un commento su una vecchia domanda. –