Dieser hybride Auto-Scaling- Ansatz scheint leider nicht sofort verfügbar zu sein.
Möglicherweise können Sie diese Einschränkung jedoch wie folgt umgehen (ungetestet, nur ein Systemdesign, mit dem ich schon eine Weile jongliert habe):
Mögliche Problemumgehung
Wie unter Verwenden der automatischen Skalierung zum Starten von Spot-Instanzen beschrieben , ist das Spot-Preis-Gebot ein Parameter der verwendeten Startkonfiguration . Wie Sie bereits betont haben, ist keine Hybridstartkonfiguration verfügbar, sondern muss entweder bei Bedarf oder vor Ort sein. Dies bedeutet, dass für den Anwendungsfall zwei verschiedene Startkonfigurationen erforderlich sind.
Dies scheint nicht sofort zu helfen, da Sie einer Auto Scaling-Gruppe jeweils nur eine Startkonfiguration mit den folgenden (teilweise veralteten) Einschränkungen zuordnen können (siehe Startkonfiguration ):
Wenn Sie Ihrer Auto Scaling-Gruppe eine neue oder aktualisierte Startkonfiguration hinzufügen, werden alle neuen Instanzen mit den neuen Konfigurationsparametern gestartet. Bestehende Instanzen sind nicht betroffen . Wenn die automatische Skalierung verkleinert werden muss, werden zuerst Instanzen mit einer älteren Startkonfiguration beendet . [Hervorhebung von mir]
Die betonten Teile sind der Schlüssel aber mit dem ehemaligen der Forderung Deckung der On-Demand - Instanzen zu halten , nachdem sie von der jeweiligen Anfangs On-Demand - Startkonfiguration der zusätzlichen Punktstartkonfiguration zu ändern läuft, und diese nicht unbedingt der Fall sein mehr aufgrund Die kürzlich eingeführten Richtlinien zur Beendigung der automatischen Skalierung (zur Abwechslung gab es normalerweise keine Fanfare über einen begleitenden AWS-Blogbeitrag), dokumentiert in der Richtlinie zur Beendigung der automatischen Skalierung für Ihre automatische Skalierungsgruppe :
Bevor die automatische Skalierung eine zu beendende Instanz auswählt, wird zunächst die Verfügbarkeitszone identifiziert, die mehr Instanzen als die anderen von der Gruppe verwendeten Verfügbarkeitszonen enthält. Wenn alle Verfügbarkeitszonen dieselbe Anzahl von Instanzen haben, wird eine zufällige Verfügbarkeitszone identifiziert. Innerhalb der identifizierten Verfügbarkeitszone verwendet die automatische Skalierung die Beendigungsrichtlinie, um die Instanz für die Beendigung auszuwählen . [Hervorhebung von mir]
Wie in umrissener Wie Sie Ihre Kündigung Politik Works , können Sie nun festlegen , NewestInstance , wenn Sie die letzte Instanz gestartet wollen beendet werden , die vor kurzem ins Leben gerufen Spot - Instanzen eine der sein würde:
Die automatische Skalierung verwendet die Startzeit der Instanz, um die Instanz zu identifizieren, die zuletzt gestartet wurde.
Natürlich kann dies etwas mehr sein, z. B. können Sie entweder eine der Richtlinien als eigenständige Richtlinie angeben oder mehrere Richtlinien in einer geordneten Liste auflisten. Dieser Ansatz sollte jedoch sicherstellen, dass alle Instanzen in die Liste einbezogen werden automatische Skalierung von Messungen und Triggern ; Eine Einschränkung bleibt jedoch:
Vorbehalt
Wenn der Load Balancer eine der On-Demand-Instanzen aus einem anderen Grund beendet (z. B. weil sie an sich ungesund geworden ist), wird sie nicht automatisch durch eine On-Demand-Instanz ersetzt. Sie müssen dieses Ereignis also separat überwachen und berücksichtigen, z. B. indem Sie die On-Demand-Startkonfiguration vorübergehend erneut aktivieren.
Viel Glück!