Ich versuche, meine elastischen Bohnen (Test) -Umgebungen über Nacht herunterzufahren/zu starten, um Ressourcen zu sparen, wenn die Server nicht benötigt werden. Auf der Webkonsole von EB kann ich zeitbasierte Skalierungen eingeben, die ausgelöst werden.Zeitbasierte Skalierung auf Elastic Beanstalk
Aber wenn ich eine Konfigurationsdatei im .exerxtensions-Ordner hinzufügen, die das gleiche tun sollte, skalieren die Server überhaupt nicht.
Nach der documentation (Suche nach „Beispielen für Zeitbasierte Skalierung Option Einstellungsdateien“) von Elastic Beanstalk ist es möglich, eine .ebextension Datei mit der zeitbasierten Skalierung Konfiguration hinzuzufügen.
So eingestellt ich das Beispiel und hinzugefügt, um die nach Definition des Projekts:
{ [ { "Namespace": "aws:autoscaling:scheduledaction", "ResourceName": "OvernightShutdown", "OptionName": "MinSize", "Value": "0" }, { "Namespace": "aws:autoscaling:scheduledaction", "ResourceName": "OvernightShutdown", "OptionName": "MaxSize", "Value": "0" }, { "Namespace": "aws:autoscaling:scheduledaction", "ResourceName": "OvernightShutdown", "OptionName": "DesiredCapacity", "Value": "0" }, { "Namespace": "aws:autoscaling:scheduledaction", "ResourceName": "OvernightShutdown", "OptionName": "StartTime", "Value": "2015-11-18T16:50:00Z" }, { "Namespace": "aws:autoscaling:scheduledaction", "ResourceName": "OvernightShutdown", "OptionName": "Recurrence", "Value": "00 21 * * 1-5" }, { "Namespace": "aws:autoscaling:scheduledaction", "ResourceName": "MorningStartup", "OptionName": "MinSize", "Value": "1" }, { "Namespace": "aws:autoscaling:scheduledaction", "ResourceName": "MorningStartup", "OptionName": "MaxSize", "Value": "1" }, { "Namespace": "aws:autoscaling:scheduledaction", "ResourceName": "MorningStartup", "OptionName": "DesiredCapacity", "Value": "1" }, { "Namespace": "aws:autoscaling:scheduledaction", "ResourceName": "MorningStartup", "OptionName": "StartTime", "Value": "2015-11-19T05:00:00Z" }, { "Namespace": "aws:autoscaling:scheduledaction", "ResourceName": "MorningStartup", "OptionName": "Recurrence", "Value": "00 07 * * 1-5" } ] }
Im Grunde ist dies nach meinen Bedürfnissen & geklebt und leicht angepasst kopieren. Ich habe es in die Datei .ebxtensions/autoscaling.config in meinem Projekt eingefügt und es in EB implementiert.
Die Server sollten nun um 21:00 Uhr UTC auf 0 ("OvernightShutdown") herunterskalieren und um 7 Uhr UTC ("MorningStartup") hochskalieren.
Aber die "OvernightShutdown" und die "MorningStartup" werden nicht ausgelöst, wenn sie sollten.
Ich hatte auch einmal einen Tippfehler in der Datei, dann EB sagte mir, dass es nicht parsen kann, also weiß ich, dass ich die Datei liest, aber offensichtlich nicht die Konfigurationen auf die Umgebung anwenden.
Jemand hat eine Ahnung, was könnte das Problem sein? Ist meine Konfiguration falsch? Da gibt es nicht viel sind Beispiele, wie die Datei, wie ich aus dem EB documentation
Ich möchte es in meiner Codebasis haben und es für andere Projekte bei Bedarf wiederverwenden. Dies spart etwas Zeit im Vergleich zur Ausführung über die Website (wenn es ohne weiteres funktionieren würde) – kadoga
Ist 0 ein gültiger Wert für die minimale und maximale Größe? Ich denke, der minimal gültige Wert ist 1, es sei denn, etwas hat sich seit der letzten Einrichtung einer Elastic Beanstalk App geändert. –
Ja, 0 ist eine gültige Nummer. Wenn ich die Konfiguration über die Website mache, skaliert EB min/max/sinted-Instanzen auf 0 und beendet es im Grunde. – kadoga