it-swarm.com.de

AWS Load Balancer und Wartungsseite

Ich verwende AWS Load Balancer mit 3 EC2-Servern und versuche, eine Wartungsseite bereitzustellen, wenn der Standort gewartet wird. 

Diese Seite muss den 503-HTTP-Code zurückgeben, da dies ein geeigneter Code für den Wartungsmodus ist und mögliche Probleme mit der Suchmaschinenoptimierung verhindern.

Wenn ich 503-Code von einem meiner Server zurücksende, wird es von Load Balancer als "Not In Service" festgelegt. Wenn alle Server 503 zurückgeben, gibt die Website eine leere Seite zurück (da alle Server getrennt sind).

Meine Fragen sind:

1) Gibt es eine Möglichkeit, eine benutzerdefinierte statische Seite mit einer Nachricht für Besucher von Load Balancer bereitzustellen, wenn keine fehlerfreien Server vorhanden sind? 

2) Oder wie Sie die Integritätsprüfung von Load Balancer konfigurieren, dass 503 nicht als Grund für die Einstufung des Servers als "ungesund" betrachtet wird?

Vielen Dank!

Sie könnten eine zusätzliche Route in Ihrem App-Server implementieren, beispielsweise/hcm (für die Wartung der Systemüberprüfung), die immer 200 OK antwortet. Wenn es Zeit für die Wartung ist, ändern Sie die ELB-Integritätsprüfung programmgesteuert, um das/hcm-Ziel zu verwenden, das 200 OK anstelle von/oder /index.html zurückgibt, die beide 503-Dienst nicht verfügbar zurückgeben. Stellen Sie diese Änderungen wieder her, wenn Sie die Wartung beenden.

12
jarmod

Die 503-Anforderung wird möglicherweise nicht erfüllt, aber s3 und dns failover sind eine gute Option: https://aws.Amazon.com/blogs/aws/create-a-backup-website-using-route-53-dns -failover-and-s3-website-hosting/

4
anAWS Ninja

Der Load Balancer wird einen 503 für Sie bereitstellen, wenn sich kein gesunder Server mehr im Hintergrund befindet. Sie sollten also nichts Besonderes tun.

Wenn Sie bei der Zustandsprüfung etwas anderes als einen 200 zurückgeben, nimmt ELB die Maschine aus dem Load Balancer, nachdem die konfigurierte Anzahl der Zustandsprüfungen nicht bestanden wurde.

Um es zusammenzufassen: Sie können 503 möglicherweise in der Wartung aus Ihrer App bereitstellen, müssen jedoch 200 immer für Gesundheitschecks zurückgegeben werden. Wenn Sie sich nicht für den Inhalt der Seite interessieren, können Sie einfach die Maschinen aus dem Load Balancer entfernen (oder die Integritätsprüfung nicht bestanden), und der LB wird das Richtige für Sie tun.

0
Mircea