Wir betreiben einige Webserver auf AWS in einer kleinen Gruppe mit automatischer Skalierung (normalerweise 2-4 Instanzen). Der Integritätscheck basiert auf dem ELB-Integritätscheck, sodass einer der Webserver, der nicht mehr reagiert, durch eine neue Instanz ersetzt wird.
Dies funktioniert derzeit gut. Bei einem Ausfall werden die nicht reagierenden Server beendet und neue hochgefahren, um ihren Platz einzunehmen.
Das Problem ist, dass wir derzeit keine Ahnung haben, warum die Server ausfallen. Einige unserer Protokolle geben uns einen Verdacht, aber wir können uns nicht mehr beim Server anmelden und die Webprotokolle, die Systemprotokolle oder sonst etwas durchsehen.
Ich weiß, dass es eine Möglichkeit gibt, Instanzen manuell von einer Auto-Scaling-Gruppe zu trennen, aber gibt es eine Möglichkeit, dies im Falle eines Fehlers automatisch zu tun?
Ich möchte, dass ein Server bei einem Ausfall weiterläuft, aber aus der Auto-Scaling-Gruppe entfernt wird, damit wir ihn analysieren und feststellen können, was schiefgelaufen ist. Ein offensichtlicher Vorteil wäre, die Häufigkeit dieses Auftretens zu begrenzen, damit wir nicht mit Hunderten von getrennten Instanzen dastehen, wenn aus irgendeinem Grund immer wieder Server ausgetauscht werden.
Kann dies also irgendwie gemacht werden und wenn ja, wie?
Antwort1
Dafür gibt es einige Möglichkeiten.
Sie können die Aktion "Beenden" in der ASG -> Details -> Bearbeiten -> Prozess anhalten -> "Beenden" unterbrechen. Es wird kein Rechner beendet.
Sie können auch eine bestimmte Instanz vor ASG -> Instanzen -> Aktionen -> Instanzschutz schützen.
Dann gibt es unkonventionelle Methoden, wie etwa das Ausschließen der Instanz aus der ASG, wenn ein Ereignis eintritt.