Mithilfe eines AWS ELB hinter dem Lack - ist es möglich?
Ich versuche, eine Gruppe von EC2-instances hinter ein paar Lack-Server. Unser Lack-Konfiguration nur sehr selten ändert (einmal oder zweimal im Jahr), aber wir sind immer hinzufügen/entfernen/ersetzen von web-backends für alle Arten von Gründen (updates, Probleme, load spikes). Das schafft Probleme, weil wir immer aktualisieren unsere Lack-Konfiguration, was dazu geführt hat, Fehler und Herzschmerz.
Was ich tun möchte, ist zu verwalten die Menge der back-End-Servern einfach durch hinzufügen oder entfernen von einem Elastic Load Balancer. Ich habe versucht, die Angabe der ELB-Endpunkt als backend, aber ich bekomme diese Fehlermeldung:
Message from VCC-compiler:
Backend host "XXXXXXXXXXX-123456789.us-east-1.elb.amazonaws.com": resolves to multiple IPv4 addresses.
Only one address is allowed.
Please specify which exact address you want to use, we found these:
123.123.123.1
63.123.23.2
31.13.67.3
('input' Line 2 Pos 17)
.host = "XXXXXXXXXXX-123456789.us-east-1.elb.amazonaws.com";
Nur einheitliches interface ELB bietet seinen DNS-Namen. Der Satz von IP-Adressen dieser DNS-name aufgelöst wird, um Veränderungen über die Zeit und mit Last.
In diesem Fall würde ich eher NICHT geben Sie eine genaue Adresse - ich möchte round-robin zwischen Ihnen, was zurück kommt von der DNS. Ist das möglich? Oder könnte jemand empfehlen eine andere Lösung, die das gleiche erreichen?
Dank,
Sam
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnten Sie ein NGINX Webserver auf den Umgang mit den CNAME-Auflösung problem:
Haben Sie ein Konfigurations-Beispiel in diesem Beitrag: http://blog.domenech.org/2013/09/using-varnish-proxy-cache-with-amazon-web-services-elastic-load-balancer-elb.html
Juan
Ich würde nicht empfehlen, ein ELB hinter Lack.
Dies ist ein interessanter Artikel könnten Sie wie zu Lesen.
Ja, Sie können.
in Ihrem Standard.vcl setzen:
und setzen Sie backend:
so, dieses Skript zu erstellen backends.vcl:
Ich das Drehbuch schrieb, einen Weg zu haben, die für die automatische Aktualisierung der vcl einmal eine neue
Instanz kommt nach oben oder unten.
erfordert es, dass der .vcl hat eine include-backend.vcl
Dieses Skript ist nur ein Teil der Lösung, die Aufgaben sollten sein:
1. erhalten Sie neue servername und IP (auto scale) kann mithilfe von AWS-API-Befehle zu tun, auch via bash
2. update vcl (dieses script)
3. reload Lack
Das script ist hier
http://felipeferreira.net/?p=1358
Anderen pepole haben es verschiedene Möglichkeiten
http://blog.cloudreach.co.uk/2013/01/varnish-and-autoscaling-love-story.html
Sie don bekommen zu 10K Petitionen wenn hatte zum auflösen einer ip auf jeden. Lack beheben ips auf starten und nicht aktualisieren, es sei denn, Ihre neu gestartet o-reloaded. In der Tat Lack weigert sich zu starten, wenn sich zwei ip für einen dns-Namen in eine backend-definition, wie die ip zurückgegeben für multi-az-ELBs.
So lösten wir ein anderes Problem Platzierung varnish vor nginx. Nginx definieren können, ein ELB als backend so Lack-backend ist eine lokale ein nginx nginx-backend ist in den ELB.
Aber ich habe nicht das Gefühl bequem mit dieser Lösung.
Können Sie die ELB, in Ihr eigenes VPC, so dass eine lokale ip. Auf diese Weise müssen Sie nicht alle DNS-Art von Cnames oder irgendetwas, das Lack nicht unterstützen so leicht.
Mithilfe der internen ELB hilft nicht das problem, denn Sie haben in der Regel 2 Interne IP ' s!
Backend-host "internal-XXX.us-east-1.elb.amazonaws.com": behebt mehrere IPv4-Adressen.
Nur eine Adresse erlaubt ist.
Bitte geben Sie die genaue Adresse, die Sie verwenden möchten, fanden wir diese:
10.30.10.134
10.30.10.46
('input' Zeile 13 Pos 12)
Was ich bin nicht sicher, ob das IPs wird immer gleich bleiben oder können Sie sich ändern? wer?
Ich meine Vorherige Antwort (mehr als drei Jahre her) hatte ich nicht dieses Problem zu lösen, mein [nginx - Lack - nxinx ] -> ELB Lösung gearbeitet, bis ELB änderungen IPs
Aber von vor einiger Zeit sind wir mit dem gleichen setup, aber mit nginx kompiliert mit jdomain plugin
Also die Idee ist, um ein nginx in der gleichen host, der Lack eines dort konfigurieren den upstream-wie diese:
dass upstream wird automatisch neu konfigurieren den upstream-ips die IP, wenn der ELB änderungen seiner Adressen
Könnte es nicht sein, die Lösung mit den Lack, aber es funktioniert wie erwartet