Ist es möglich, eine statische Seite anzuzeigen, wenn alle von ELB registrierten Instanzen nicht verfügbar sind?


8

Wir verwenden AWS ELB, um SSL auszulagern und den eingehenden Datenverkehr auszugleichen. Wenn alle Instanzen ausgefallen / fehlerhaft sind, sendet die ELB nur eine leere Seite mit dem HTTP-Status 503 zurück.

Ist es möglich, eine statische Seite zu senden, um beispielsweise die Wartung anzuzeigen?

Antworten:


8

Sie haben ein paar Möglichkeiten, die mir einfallen:

  1. Stellen Sie das Cloudfront-CDN von AWS vor Ihre ELB und passen Sie die Fehlerantwort für 503 Fehler an. Details dazu finden Sie in den AWS-Dokumenten. Dies kann über die CLI oder die Konsole erfolgen.
  2. Verwenden Sie das DNS-Failover von AWS Route53 (oder einen anderen DNS-Anbieter, falls dieser etwas Ähnliches anbietet), um zu erkennen, wenn Ihre ELB ausgefallen ist, und zeigen Sie DNS auf etwas anderes wie einen Sicherungsserver oder einen S3-Bucket. Details dazu finden Sie erneut in den AWS-Dokumenten .

3
Oder kombinieren Sie die zwei und verwenden Route 53 Failover den Rekord für die sich ändern Ursprungsserver , dass Cloudfront eine Verbindung zu, von ELB auf einen Eimer (mit dem gleichen Namen wie der normale Ursprung Host), mit Umadressierungsregel in den Eimer zu ändern 403 zu senden / 404 zurück zu /... es klingt ein wenig verworren, vermeidet jedoch unangenehmes Browser-Caching von DNS, wodurch Browser entweder beim ELB oder beim Fallback-Host bleiben können, bis alle Browserfenster geschlossen sind. Entdeckte dies auf die harte Tour und testete das Route 53-Failover. Im Gegensatz dazu berücksichtigt CloudFront DNS-TTLs bei der Suche nach dem Hostnamen des Ursprungsservers.
Michael - sqlbot
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.