Ein ELB ist im Kern nur eine Sammlung von EC2-Instanzen. Wenn Sie eine ELB erstellen , geben Sie die Verfügbarkeitszonen an, in denen sich der Load Balancer befinden soll. In diesen Zonen werden dann Instanzen zum Erstellen des Load Balancers erstellt. Sie vermeiden hier einen einzelnen Fehlerpunkt, indem Sie beim Ausführen einer DNS-Suche mehrere IP-Adressen zurückgeben. Beispielsweise:
- Die DNS-Suche nach website.example.com gibt CNAME website-elb-12345.eu-west-1.elb.amazonaws.com zurück
- Die Suche gibt auch die Informationen für website-elb-12345.eu-west-1.elb.amazonaws.com zurück. Es wird angegeben, dass die Site die IP-Adresse 1.2.3.4 und die IP-Adresse 2.3.4.5 hat
Es ist Aufgabe des Clients, die IP-Adresse für die Herstellung einer Verbindung auszuwählen. Die IP-Adressen werden von der DNS-Suche nicht immer in derselben Reihenfolge zurückgegeben. Ein Client kann eine alternative IP-Adresse erneut versuchen, wenn er beim ersten Versuch keine Verbindung herstellen kann.
Die TTL in den DNS-Einträgen für eine ELB beträgt nur 60 Sekunden. Sollte eine ELB-Instanz sterben und ersetzt werden, wird die DNS überall ziemlich schnell aktualisiert.
Es könnte tatsächlich ein SPoF sein, aber ich glaube, es wäre nur ein SPoF innerhalb derselben Region.
Aus diesem Grund schlägt AWS vor, die Integritätsprüfung nach Route 53 zu verwenden, um Verkehr zu erkennen und umzuleiten, der zu einer ungesunden ELB führen würde.
Mithilfe der Integritätsprüfungs- und DNS-Failover-Funktionen von Amazon Route 53 können Sie die Verfügbarkeit der Anwendungen verbessern, die hinter Elastic Load Balancers ausgeführt werden. Route 53 fällt von einem Load Balancer aus aus, wenn beim Load Balancer keine fehlerfreien EC2-Instanzen registriert sind oder wenn der Load Balancer selbst fehlerhaft ist .
Quelle: http://aws.amazon.com/elasticloadbalancing/
quelle
Sie können Ihr einzelnes AZ SPoF umgehen, indem Sie eine Autoscaling-Gruppe erstellen. Wenn Ihr einzelnes ELB den X-Faktor nicht erfüllt, wird ein neues ELB erstellt, unabhängig davon, ob es sich um eine Last, eine Reaktionszeit usw. handelt. ELBs sind im Wesentlichen EC2-Instanzen, auf denen proprietärer AWS-Code ausgeführt wird.
quelle