Il bilanciamento del carico elastico di AWS è un singolo punto di errore?


15

Sto cercando di spostare la nostra applicazione su Amazon Web Services. Il piano è quello di avere tutte le istanze EC2 specchiate su due zone di disponibilità. A causa dei costi di trasferimento dei dati, alloggeremo in un'unica regione AWS (Oregon).

Le AZ multiple si liberano del singolo punto di errore per i nostri server di applicazioni e database, ma che dire dell'ELB? Se ho un unico ELB che distribuisce il traffico su due AZ, l'ELB è ospitato anche su quelle due AZ?

Cosa fa Amazon per impedire all'ELB di essere uno SPoF?

Risposte:


13

Al suo centro, un ELB è solo una raccolta di istanze EC2. Quando si crea un ELB , si specificano le zone di disponibilità in cui si desidera posizionare il bilanciamento del carico. In tali zone verranno quindi create le istanze per costituire il bilanciamento del carico. Il modo in cui evitano un singolo punto di errore qui è restituendo più indirizzi IP quando si esegue una ricerca DNS. Per esempio:

  • La ricerca DNS per website.example.com restituisce il sito Web CNAME-elb-12345.eu-west-1.elb.amazonaws.com
  • La ricerca restituisce anche le informazioni per website-elb-12345.eu-west-1.elb.amazonaws.com. Indica che il sito ha l'indirizzo IP 1.2.3.4 e l'indirizzo IP 2.3.4.5

Spetta al cliente scegliere quale indirizzo IP utilizzare per stabilire una connessione. Gli indirizzi IP non verranno sempre restituiti nello stesso ordine dalla ricerca DNS. Un client potrebbe riprovare su un indirizzo IP alternativo se non riesce a connettersi al primo tentativo.

Il TTL sui record DNS per un ELB è di soli 60 secondi, il che significa che se un'istanza ELB muore e viene sostituita, il DNS verrà aggiornato ovunque abbastanza rapidamente.


Quindi, dato che distribuirò le istanze EC2 della mia applicazione su più zone, quando creerò ELB per quella regione, verrà automaticamente ospitato su istanze EC2 distribuite su quelle stesse due zone?
Chris.B,

Quando si crea ELB, tramite l'API o la console, verrà richiesto di selezionare le zone di disponibilità in cui si desidera far funzionare l'ELB. È sufficiente selezionare le stesse zone di disponibilità in cui si troveranno le istanze.
Richard

3

In realtà potrebbe essere uno SPoF ma credo che sarebbe uno SPoF solo all'interno della stessa regione.

Ecco perché AWS sta suggerendo di utilizzare il controllo dello stato della Route 53 per rilevare e reindirizzare il traffico che finirebbe con un ELB non integro.

Puoi utilizzare le funzionalità di verifica dello stato di Amazon Route 53 e di failover DNS per migliorare la disponibilità delle applicazioni in esecuzione dietro Elastic Load Balancer. La route 53 fallirà da un bilanciamento del carico se non ci sono istanze EC2 valide registrate con il bilanciamento del carico o se il bilanciamento del carico stesso non è integro .

Fonte: http://aws.amazon.com/elasticloadbalancing/


Quindi c'è un modo per impostare più di un ELB in una singola regione. Ne hai uno come primario e uno come standby? O la Route 53 è in grado di avviare una nuova istanza ELB?
Chris.B,

Non credo che la Route 53 possa impostare automaticamente un ELB, dovresti consultare la guida degli sviluppatori.
Alex,

1

Puoi aggirare il tuo singolo AZ SPoF creando un gruppo di scalabilità automatica in cui se il tuo singolo ELB non soddisfa il fattore X, sia per carico, tempo di risposta, ecc., Viene creato un nuovo ELB. Gli ELB sono essenzialmente istanze EC2 che eseguono codice AWS proprietario.


Pensavo che l'ELB si ridimensionasse automaticamente per gestire gli aumenti di carico, ecc.
Chris.B,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.