2017-03-16 2 views
0

Ich habe eine Umgebung mit Elastic Beanstalk mit einer EC2-Instanz mit PHP erstellt: Meine Dateien befinden sich in/var/www/html.Neustart meiner EC2-Instanz leert meinen www/html-Ordner

Zuerst erlaubte ich Auto-Scaling/Load Balancer, aber wenn die automatische Skalierung ausgelöst wurde, erstellt es eine andere Instanz und beendete die alte. Und dann wurde mir klar, dass das neue nicht ein Klon des alten war: Ich habe alle meine Configs und meine Dateien verloren, während ich ein SSD-Root-Volume in meiner EB-Konfiguration angehängt habe.

Ich versuchte es erneut und ich erstellte ein AMI-Bild, das ich in meiner EB-Konfiguration (in Custom AMI ID) aufgenommen. Dieses Mal bleibt meine Konfiguration erhalten, aber mein Ordner/var/www/html wird geleert und durch die default index.html Dateien ersetzt.

1. Soll es passieren? Ich dachte, die automatische Skalierung erstellt eine geklonte Instanz?

Also entschied ich mich, automatische Skalierung/Load Balancer zu deaktivieren und in einem einzigen Instanzmodus zu arbeiten. Aber selbst dann, wenn ich meine EC2-Instanz neu starte, wird die Konfiguration beibehalten, aber mein ganzer Ordner/var/www/html wird wieder geleert und nur die Standarddateien sind darin enthalten.

2. Warum? An meine Instanz ist ein EBS-Volume angehängt (EB hat das automatisch gemacht), also sollte es nicht passieren, wenn ich richtig verstehe, wie es funktioniert.

Vielleicht ist es das gleiche Problem für beide, aber ich verstehe wirklich nicht, warum meine Dateien gelöscht werden.

Vielen Dank für Ihre Hilfe! Romain

+0

"Aber selbst dann, wenn ich meine EC2-Instanz neu starte, wird die Konfiguration beibehalten, aber mein gesamter Ordner/var/www/html wird geleert": Doppel-Check wirklich Neustart oder Stop-Start? Das Verhalten kann unterschiedlich sein. – Putnik

Antwort

0

Autoscaling verwendet ein AMI zum Starten neuer Instanzen, und AMIs sind zu einem bestimmten Zeitpunkt nicht mehr als Momentaufnahmen von EC2-Instanzen. Daher muss jedes Mal, wenn Autoscaling eine neue Instanz startet, jeder Unterschied zwischen dem AMI und dem aktuellen gewünschten Status in der Boot-Zeit angewendet werden, bevor neuer Verkehr empfangen wird.

ElasticBeanstalk bietet Tools zum Verwalten von Anwendungsimplementierungen, die in die Autoscaling-Dynamik integriert sind, sowie zum Verwalten von Instanzkonfigurationen. Manchmal werden diese Konfigurationen zu komplex, um sie während des Bootstrap mit den EB-Tools zu erreichen und wenn benutzerdefinierte AMIs nützlich sind. Wenn Sie in eine Autoscaling-Instanz wechseln und manuell Aktionen aus dem Bereich des ElasticBeanstalk-Toolstacks ausführen, gehen all diese Änderungen beim nächsten Autoscaling-Ereignis verloren, es sei denn, Sie speichern ein aktualisiertes AMI aus Ihrer Instanz und wenden es auf Ihre Autoscaling-Funktion an Gruppe.

+0

Das ist sehr klar, danke. Dann werde ich mit eb-config-Dateien konfigurieren, um sicherzustellen, dass bei jeder neuen Instanz der richtige Inhalt und die richtige Konfiguration enthalten sind. – Paganel

Verwandte Themen