Legen Sie die standardmäßige Instance-Vorbereitung für eine Auto-Scaling-Gruppe fest - Amazon EC2 Auto Scaling

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 Netzwerk-I/O, in Ihren Auto Scaling 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, bis 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 noch keinen Anwendungsdatenverkehr verarbeiten und bei denen möglicherweise vorübergehend eine hohe Auslastung von Rechenressourcen auftritt.

Um die Leistung Ihrer Target-Tracking- und Step-Scaling-Richtlinien zu optimieren, empfehlen wir Ihnen dringend, das standardmäßige Instance-Warmup zu aktivieren und zu konfigurieren. Es ist standardmäßig nicht aktiviert oder konfiguriert.

Wenn Sie das standardmäßige Instance-Warmup aktivieren, sollten Sie bedenken, dass Sie verhindern können, dass Instances auf den Mindestwert für den fehlerfreien Zustand angerechnet werden, wenn Sie Instances durch eine Instanzaktualisierung ersetzen, wenn Ihre Auto Scaling Scaling-Gruppe so eingestellt ist, dass sie vor Abschluss der Initialisierung auf den Mindestwert für intakte Instanzen angerechnet werden.

Leistungsaspekte der Skalierung

Für die meisten Anwendungen ist es sinnvoll, eine Standardinstanz-Aufwärmzeit festzulegen, die für alle Funktionen gilt, und nicht unterschiedliche Aufwärmzeiten für verschiedene Funktionen. Wenn Sie beispielsweise keine Standardinstanzaufwärmzeit festlegen, verwendet die Funktion zur Instanzaktualisierung den Kulanzzeitraum für die Integritätsprüfung als Standard-Aufwärmzeit. Wenn Sie über Richtlinien zur Zielverfolgung und schrittweisen Skalierung verfügen, verwenden diese den für die Standard-Abklingzeit festgelegten Wert als Standard-Aufwärmzeit. Wenn Sie über Richtlinien für vorausschauende Skalierung verfügen, haben diese keine standardmäßige Aufwärmzeit.

Während sich Instances in der Warmlaufphase befinden, werden Ihre dynamischen Skalierungsrichtlinien nur dann skaliert, wenn der Metrikwert von Instances, die sich nicht in der Warmlaufphase befinden, höher ist als der Schwellenwert für die Alarmhöhe der Richtlinie (oder die Zielauslastung einer Skalierungsrichtlinie für die Zielverfolgung). Wenn die Nachfrage sinkt, wird die dynamische Skalierung konservativer, um die Verfügbarkeit Ihrer Anwendung zu schützen. Dadurch wird der Umfang der Aktivitäten für die dynamische Skalierung blockiert, bis die neuen Instances vollständig warmlaufen.

Bei der Skalierung berücksichtigt Amazon EC2 Auto Scaling Instances, die sich gerade aufwärmen, als Teil der Kapazität der Gruppe, wenn entschieden wird, wie viele Instances der Gruppe hinzugefügt werden sollen. Daher führen mehrere Sicherheitslücken, für die eine ähnliche Menge an Kapazität hinzugefügt werden muss, zu einer einzigen Skalierungsaktivität. Es ist beabsichtigt, kontinuierlich zu skalieren, ohne dies übermäßig zu tun.

Wenn das standardmäßige Aufwärmen von Instances nicht aktiviert ist, variiert die Zeit, die eine Instance wartet, bevor sie Metriken an die aktuelle Kapazität sendet CloudWatch und diese 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 unvorhersehbar funktionieren.

Stellen Sie sich zum Beispiel eine Anwendung mit einem wiederkehrenden on-and-off Workload-Muster 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 vorausschauenden Skalierung gibt, beginnen die Instances sofort, zu den aggregierten Metriken beizutragen. 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 Instances im Aufwärmmodus befinden, wird die Skalierung der Aktivitäten blockiert.

Wählen Sie die Standard-Aufwärmzeit der Instanz

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 Wahl der Instance-Aufwärmzeit auf ein optimales Gleichgewicht zwischen der Erfassung von Nutzungsdaten für legitimen Datenverkehr 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 sie 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 über eine eigene Aufwärmzeit (EstimatedInstanceWarmup) verfügen, können Sie alternativ diesen Wert für den Start verwenden. Weitere Informationen finden Sie unter Suchen Sie nach Skalierungsrichtlinien mit einer zuvor festgelegten Aufwärmzeit für Instanzen.

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.