Verwenden historischer Muster für die prädiktive Skalierung von Amazon-ECS-Services - Amazon Elastic Container Service

Verwenden historischer Muster für die prädiktive Skalierung von Amazon-ECS-Services

Die prädiktive Skalierung betrachtet vergangene Lastdaten aus Datenverkehrsströmen, um tägliche oder wöchentliche Muster zu analysieren. Anschließend verwendet sie diese Analyse, um zukünftige Bedürfnisse vorherzusehen und die Aufgaben in Ihrem Service nach Bedarf proaktiv zu erhöhen.

Prädiktives Auto Scaling ist in den folgenden Situationen am nützlichsten:

  • Zyklischer Datenverkehr – Erhöhte Auslastung von Ressourcen während der normalen Geschäftszeiten und niedrige Auslastung von Ressourcen am Abend und am Wochenende

  • Wiederkehrende aktive und ruhende Workload-Muster – z. B. bei der Batch-Verarbeitung, bei Tests oder periodischen Datenanalysen

  • Anwendungen mit langen Startzeiten – Dies kann eine spürbare Latenzauswirkung auf die Anwendungsleistung bei Aufskalierungsereignissen haben.

Sie sollten die prädiktive Skalierung in Betracht ziehen, wenn Sie regelmäßige Datenverkehrszuwächse haben und Anwendungen nutzen, deren Initialisierung lange dauert. Die prädiktive Skalierung hilft Ihnen, schneller zu skalieren, indem sie proaktiv die Anzahl der Aufgaben für prognostizierte Lasten erhöht, anstatt ausschließlich dynamische Skalierungsrichtlinien wie die Ziel-Nachverfolgung oder die schrittweise Skalierung zu verwenden. Durch prädiktive Skalierung können Sie die Möglichkeit einer Überbereitstellung der Anzahl an Aufgaben vermeiden, und Sie können möglicherweise auch Geld sparen.

Nehmen wir als Beispiel eine Anwendung, die eine hohe Auslastung während der Geschäftszeiten und eine geringe Nutzung über Nacht aufweist. Zu Beginn eines jeden Werktages kann die prädiktive Skalierung vor dem ersten Zustrom des Datenverkehrs die Aufgaben aufskalieren. Auf diese Weise kann Ihre Anwendung eine hohe Verfügbarkeit und Leistung aufrechterhalten, wenn sie von einer geringeren Auslastung zu einem Zeitraum mit höherer Auslastung übergeht. Sie müssen nicht warten, bis die dynamische Skalierung auf sich ändernden Datenverkehr reagiert. Sie müssen auch keine Zeit damit verbringen, die Lastmuster Ihrer Anwendung zu überprüfen und mithilfe der geplanten Skalierung die richtige Kapazität zu planen.

Prädiktive Skalierung ist eine Funktion auf Service-Ebene, die die Aufgabe Ihres Services unabhängig von der Skalierung der zugrunde liegenden Rechenkapazität (z. B. EC2 oder Fargate) skaliert. AWS verwaltet und skaliert für Fargate die zugrunde liegende Kapazität automatisch auf der Grundlage der Aufgabenanforderungen. Für EC2-Kapazität können Sie Auto-Scaling-Gruppenkapazitätsanbieter verwenden, um die zugrunde liegenden EC2-Instances automatisch auf der Grundlage der Skalierungsanforderungen Ihrer Aufgaben zu skalieren.

So funktioniert die prädiktive Skalierung in Amazon ECS

Hier erfahren Sie mehr über Überlegungen zur Verwendung der prädiktiven Skalierung, wie sie funktioniert und wo die Grenzen liegen.

Überlegungen zur Verwendung der prädiktiven Skalierung

  • Sie sollten sicherstellen, dass die prädiktive Skalierung für Ihren Workload geeignet ist. Sie können dies überprüfen, indem Sie Skalierungsrichtlinien im Modus Nur Prognosen konfigurieren und herausfinden, was die Konsole empfiehlt. Bevor Sie mit der prädiktiven Skalierung beginnen, sollten Sie die Prognose und die Empfehlungen auswerten.

  • Bevor die prädiktive Skalierung Prognosen erstellen kann, werden mindestens 24 Stunden an historischen Daten benötigt. Je mehr historische Daten verfügbar sind, desto effektiver ist die Prognose, wobei zwei Wochen ideal sind. Außerdem müssen Sie 24 Stunden warten, bis die prädiktive Skalierung neue Prognosen generieren kann, wenn Sie einen Amazon-ECS-Service löschen und einen neuen erstellen. Eine Möglichkeit, dies zu beschleunigen, besteht darin, benutzerdefinierte Metriken zu verwenden, um Metriken über den alten und neuen Amazon-ECS-Service hinweg zu aggregieren.

  • Wählen Sie eine Lastmetrik, die die volle Auslastung Ihrer Anwendung genau wiedergibt und den Aspekt Ihrer Anwendung darstellt, der für die Skalierung am wichtigsten ist.

  • Dynamische Skalierung mit prädiktiver Skalierung hilft Ihnen, die Nachfrage nach Ihrer Anwendung genau zu verfolgen, sodass Sie in Ruhephasen skalieren und bei unerwartetem Anstieg des Datenverkehrs aufskalieren können. Wenn mehrere Skalierungsrichtlinien aktiv sind, bestimmt jede Richtlinie die gewünschte Anzahl an Aufgaben unabhängig, und die gewünschte Anzahl an Aufgaben wird auf das Maximum dieser Richtlinien festgelegt.

  • Sie können prädiktive Skalierung zusammen mit Ihren dynamischen Skalierungsrichtlinien wie Ziel-Nachverfolgung oder schrittweise Skalierung verwenden, sodass Ihre Anwendungen sowohl auf Echtzeit- als auch auf historischen Mustern skaliert werden. Prädiktive Skalierung allein skaliert Ihre Aufgaben nicht ab.

  • Wenn Sie beim Aufrufen der register-scalable-target-API eine benutzerdefinierte Rolle verwenden, wird möglicherweise eine Fehlermeldung angezeigt, die besagt, dass die Richtlinie zur prädiktiven Skalierung nur funktionieren kann, wenn SLR aktiviert ist. In diesem Fall sollten Sie register-scalable-target erneut aufrufen, jedoch ohne role-arn. Verwenden Sie SLR, wenn Sie das skalierbare Ziel registrieren und die put-scaling-policy-API aufrufen.

So funktioniert Auto Scaling

Sie verwenden die prädiktive Skalierung, indem Sie eine Richtlinie für pradiktive Skalierung erstellen, die die zu überwachende und zu analysierende CloudWatch-Metrik festlegt. Die prädiktive Skalierung muss mindestens 24 Stunden an Daten enthalten, um mit der Prognose von zukünftigen Werten zu beginnen.

Nachdem Sie die Richtlinie erstellt haben, beginnt die prädiktive Skalierung mit der Analyse von Metrikdaten der letzten 14 Tage, um Muster zu identifizieren. Diese Analyse wird verwendet, um stündliche Prognosen für die Anforderungen der nächsten 48 Stunden zu generieren. Die neuesten CloudWatch-Daten werden verwendet, um die Prognose alle sechs Stunden zu aktualisieren. Wenn neue Daten eintreffen, verbessert die prädiktive Skalierung kontinuierlich die Genauigkeit zukünftiger Prognosen.

Wenn Sie die prädiktive Skalierung zum ersten Mal aktivieren, wird sie im Modus nur Prognose ausgeführt. In diesem Modus werden Prognosen generiert, Ihr Amazon-ECS-Service wird jedoch nicht auf der Grundlage dieser Prognosen skaliert. Das bedeutet, dass Sie die Genauigkeit und Eignung der Prognose bewerten können. Sie können Prognosedaten mithilfe des GetPredictiveScalingForecast-API-Vorgangs oder der AWS Management Console anzeigen.

Wenn Sie sich entscheiden, prädiktive Skalierung zu verwenden, schalten Sie die Skalierungsrichtlinie in den Modus Prognose und Skalierung um. In diesem Modus passiert Folgendes.

Ihr Amazon-ECS-Service wird standardmäßig zu Beginn jeder Stunde auf der Grundlage der Prognose für diese Stunde skaliert. Sie können wählen, ob Sie früher beginnen möchten, indem Sie die SchedulingBufferTime-Eigenschaft im PutScalingPolicy-API-Vorgang verwenden. Dadurch werden neue Aufgaben vor dem prognostizierten Bedarf gestartet und sie haben Zeit, den Vorgang zu starten und für den Datenverkehr bereit zu sein.

Maximale Grenze für Aufgaben

Wenn Sie Amazon-ECS-Services für die Skalierung registrieren, definieren Sie eine maximale Anzahl von Aufgaben, die pro Service gestartet werden können. Wenn Skalierungsrichtlinien festgelegt sind, können sie die Anzahl der Aufgaben standardmäßig nicht über die Höchstgrenze bringen.

Alternativ können Sie zulassen, dass die maximale Anzahl von Aufgaben des Service automatisch erhöht wird, wenn sich die Prognose der maximalen Anzahl von Aufgaben des Amazon-ECS-Service nähert oder diese überschreitet.

Warnung

Seien Sie vorsichtig, wenn Sie zulassen, dass die maximale Anzahl von Aufgaben automatisch erhöht wird. Dies kann dazu führen, dass mehr Aufgaben als vorgesehen gestartet werden, wenn die erhöhte maximale Anzahl von Aufgaben nicht überwacht und verwaltet wird. Die erhöhte maximale Anzahl von Aufgaben wird dann zur neuen normalen Höchstanzahl von Aufgaben für den Amazon-ECS-Service, bis Sie sie manuell aktualisieren. Die maximale Anzahl von Aufgaben wird nicht automatisch auf das ursprüngliche Maximum zurückgesetzt.

Unterstützte -Regionen

  • USA Ost (Nord-Virginia)

  • USA Ost (Ohio)

  • USA West (Nordkalifornien)

  • USA West (Oregon)

  • Africa (Cape Town)

  • Asien-Pazifik (Hongkong)

  • Asien-Pazifik (Jakarta)

  • Asien-Pazifik (Mumbai)

  • Asien-Pazifik (Osaka)

  • Asien-Pazifik (Seoul)

  • Asien-Pazifik (Singapur)

  • Asien-Pazifik (Sydney)

  • Asien-Pazifik (Tokio)

  • Canada (Central)

  • China (Peking)

  • China (Ningxia)

  • Europe (Frankfurt)

  • Europa (Irland)

  • Europa (London)

  • Europa (Milan)

  • Europe (Paris)

  • Europe (Stockholm)

  • Middle East (Bahrain)

  • Südamerika (São Paulo)

  • AWS GovCloud (USA-Ost)

  • AWS GovCloud (USA-West)