Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Legen Sie die standardmäßige Instance-Vorbereitung für eine Auto-Scaling-Gruppe fest
CloudWatch sammelt und aggregiert Nutzungsdaten wie CPU und Netzwerk I/O in Ihren Auto Scaling-Instances. Sie verwenden diese Metriken, um Skalierungsrichtlinien zu erstellen, welche die Anzahl der Instances in Ihrer Auto-Scaling-Gruppe anpassen, wenn der Wert der ausgewählten Metrik steigt und abnimmt.
Sie können angeben, wie lange eine Instance, nachdem sie den InService Status erreicht hat, wartet, bevor sie Nutzungsdaten zu den aggregierten Metriken beiträgt. Diese angegebene Zeit wird als Standard-Instance-Warmup bezeichnet. Dadurch wird verhindert, dass die dynamische Skalierung durch Metriken für einzelne Instances beeinträchtigt wird, die den Anwendungsdatenverkehr noch nicht verarbeiten und bei denen möglicherweise vorübergehend eine hohe Auslastung der Rechenressourcen auftritt.
Um die Leistung Ihrer Target-Tracking- und Step-Scaling-Richtlinien zu optimieren, empfehlen wir Ihnen dringend, das Standard-Instance-Warmup zu aktivieren und zu konfigurieren. Es ist standardmäßig nicht aktiviert oder konfiguriert.
Wenn Sie das Standard-Instance-Warmup aktivieren, denken Sie daran, dass Sie verhindern können, dass Instances vor Abschluss der Initialisierung auf den Mindestprozentsatz für fehlerfreie Instanzen angerechnet werden, wenn Ihre Auto Scaling-Gruppe so eingerichtet ist, dass sie eine Instanzwartungsrichtlinie verwendet, oder Sie eine Instance-Aktualisierung verwenden, um Instances zu ersetzen.
Inhalt
Leistungsaspekte der Skalierung
Für die meisten Anwendungen ist es sinnvoll, eine Standard-Instance-Aufwärmzeit zu haben, die für alle Funktionen gilt, und nicht unterschiedliche Aufwärmzeiten für verschiedene Funktionen. Wenn Sie beispielsweise kein Standard-Warmup für Instances festlegen, verwendet die Funktion zur Instanzaktualisierung die Kulanzzeit für die Integritätsprüfung als Standard-Aufwärmzeit. Wenn Sie Richtlinien für Zielverfolgung und Schrittskalierung haben, verwenden diese den für die Standard-Abklingzeit festgelegten Wert als Standard-Aufwärmzeit. Wenn Sie über Richtlinien für die prädiktive Skalierung verfügen, gibt es für diese keine standardmäßige Aufwärmzeit.
Während sich die Instances aufwärmen, skalieren Ihre Richtlinien für dynamische Skalierung nur dann, wenn der Metrikwert von Instances, die sich nicht aufwärmen, den Schwellenwert für Alarm-Höchstwerte der Richtlinie (oder die Zielauslastung einer Ziel-Skalierungsrichtlinie für das Tracking) überschreitet. Wenn die Nachfrage sinkt, wird die dynamische Skalierung konservativer, um die Verfügbarkeit Ihrer Anwendung zu schützen. Dadurch wird die Skalierung der Aktivitäten für die dynamische Skalierung blockiert, bis die neuen Instanzen mit der Aufwärmphase fertig sind.
Beim Scaling Out berücksichtigt Amazon EC2 Auto Scaling Instances, die sich gerade aufwärmen, als Teil der Kapazität der Gruppe, wenn es darum geht, wie viele Instances der Gruppe hinzugefügt werden sollen. Daher führen mehrere Alarmverletzungen, für deren Hinzufügen eine ähnliche Menge an Kapazität erforderlich ist, zu einer einzigen Skalierungsaktivität. Es ist beabsichtigt, die Skalierung kontinuierlich durchzuführen, ohne dies übermäßig zu tun.
Wenn die Standard-Instance-Aufwärmphase nicht aktiviert ist, variiert die Wartezeit einer Instance, bevor sie Metriken an sie sendet CloudWatch und sie auf die aktuelle Kapazität anrechnet, von Instance zu Instance. Es besteht also die Möglichkeit, dass Ihre Skalierungsrichtlinien im Vergleich zur tatsächlich anfallenden Arbeitslast eine unvorhersehbare Leistung erbringen.
Stellen Sie sich zum Beispiel eine Anwendung mit einem wiederkehrenden Workload-Muster mit Unterbrechungen vor. Eine prädiktive Skalierungsrichtlinie wird verwendet, um wiederkehrende Entscheidungen darüber zu treffen, ob die Anzahl der Instances erhöht werden soll. Da es keine standardmäßige Aufwärmzeit für Richtlinien zur prädiktiven Skalierung gibt, tragen die Instances sofort zu den aggregierten Metriken bei. Wenn diese Instances beim Start eine höhere Ressourcennutzung haben, kann das Hinzufügen von Instances zu einem Anstieg der aggregierten Metriken führen. Abhängig davon, wie lange es dauert, bis sich die Nutzung stabilisiert hat, kann sich dies auf alle dynamischen Skalierungsrichtlinien auswirken, die diese Metriken verwenden. Wird der hohe Alarmschwellenwert einer dynamischen Skalierungsrichtlinie überschritten, nimmt die Größe der Gruppe wieder zu. Während sich die neuen Instanzen aufwärmen, werden Aktivitäten zur Skalierung blockiert.
Wählen Sie die Standard-Aufwärmzeit der Instance
Der Schlüssel zur Einstellung der standardmäßigen Instance-Vorbereitung besteht darin, zu bestimmen, wie lange Ihre Instances benötigen, bis die Initialisierung abgeschlossen ist und wie lange der Ressourcenverbrauch benötigt, um sich zu stabilisieren, nachdem sie den InService-Status erreicht haben. Achten Sie bei der Auswahl der Aufwärmzeit der Instance auf ein optimales Gleichgewicht zwischen der Erfassung von Nutzungsdaten für legitimen Traffic und der Minimierung der Datenerfassung im Zusammenhang mit temporären Nutzungsspitzen beim Start.
Angenommen, Sie haben eine Auto-Scaling-Gruppe mit einem Elastic-Load-Balancing-Load-Balancer verbunden. Wenn der Start neuer Instances abgeschlossen ist, werden sie beim Load Balancer registriert, bevor sie in den Status InService wechseln. Nachdem die Instances den Status InService erreicht haben, kann der Ressourcenverbrauch immer noch vorübergehende Spitzen erleben und braucht Zeit, um sich zu stabilisieren. Beispielsweise dauert die Stabilisierung des Ressourcenverbrauchs für einen Anwendungsserver, der große Assets herunterladen und zwischenspeichern muss, länger als bei einem leichtgewichtigen Webserver, der keine großen Assets herunterzuladen hat. Die Instance-Vorbereitung bietet die Zeitverzögerung, die für die Stabilisierung des Ressourcenverbrauchs erforderlich ist.
Wichtig
Wenn Sie sich nicht sicher sind, wie viel Zeit Sie für die Aufwärmzeit benötigen, können Sie mit 300 Sekunden beginnen. Verringern oder erhöhen Sie den Wert dann schrittweise, bis Sie die beste Skalierungsleistung für Ihre Anwendung erhalten. Möglicherweise müssen Sie dies einige Male tun, um es richtig zu machen. Wenn Sie Skalierungsrichtlinien haben, die eine eigene Aufwärmzeit (EstimatedInstanceWarmup) haben, können Sie alternativ diesen Wert verwenden, um zu beginnen. Weitere Informationen finden Sie unter Suchen Sie nach Skalierungsrichtlinien mit einer zuvor festgelegten Aufwärmzeit der Instanz.
Erwägen Sie, Lebenszyklus-Hooks für Anwendungsfälle zu verwenden, in denen Konfigurationsaufgaben oder Skripte beim Start ausgeführt werden sollen. Lebenszyklus-Hooks können verzögern, dass neue Instances in Betrieb genommen werden, bis sie die Initialisierung abgeschlossen haben. Sie sind besonders nützlich, wenn Sie Bootstrapping-Skripte haben, die einige Zeit in Anspruch nehmen. Wenn Sie einen Lebenszyklus-Hook hinzufügen, können Sie den Wert der standardmäßigen Instance-Vorbereitung reduzieren. Weitere Informationen über das Verwenden von Lebenszyklus-Hooks finden Sie unter Lebenszyklus-Hooks bei Amazon EC2 Auto Scaling.