Überblick über Auto-Scaling-Richtlinien - Amazon SageMaker AI

Überblick über Auto-Scaling-Richtlinien

Um Auto Scaling zu verwenden, definieren Sie eine Skalierungsrichtlinie, die die Anzahl der Instances für Ihre Produktionsvariante als Reaktion auf die tatsächlichen Workloads erhöht oder verringert.

Für die automatische Skalierung bei Veränderungen der Workload haben Sie zwei Optionen: Zielverfolgungs-Skalierungsrichtlinien oder Richtlinien zur schrittweisen Skalierung.

In den meisten Fällen empfehlen wir die Verwendung von Zielverfolgungs-Skalierungsrichtlinien. Bei der Zielverfolgung wählen Sie eine Amazon-CloudWatch-Metrik und einen Zielwert aus. Auto Scaling erstellt und verwaltet die CloudWatch-Alarme, die die Skalierungsrichtlinie auslösen, und berechnet die Skalierungsanpassung basierend auf der Metrik und dem Zielwert. Durch die Richtlinie werden so viele Instances wie erforderlich hinzugefügt und entfernt, damit die Metrik auf oder nahe am Zielwert gehalten wird. Hierbei kann z. B. eine Skalierungsrichtlinie, die die vorab definierte InvocationsPerInstance-Kennzahl mit einem Zielwert von 70 verwendet, InvocationsPerInstance auf oder fast auf 70 halten. Weitere Informationen finden Sie in den Skalierungsrichtlinien für die Ziel-Nachverfolgung im Benutzerhandbuch für Application Auto Scaling.

Sie können die schrittweise Skalierung verwenden, wenn Sie eine erweiterte Konfiguration benötigen, z. B. angeben, wie viele Instances unter welchen Bedingungen bereitgestellt werden sollen. Die schrittweise Skalierung ist beispielsweise dann erforderlich, wenn ein Endpunkt in der Lage sein soll, von null aktiven Instances aus aufzuskalieren. Einen Überblick über die Richtlinien zur schrittweisen Skalierung und ihre Funktionsweise finden Sie unter Richtlinien zur schrittweisen Skalierung im Benutzerhandbuch zum Auto Scaling von Anwendungen.

Zum Erstellen einer Skalierungsrichtlinie für die Ziel-Nachverfolgung geben Sie Folgendes an:

  • Metrik – die CloudWatch-Metrik, die verfolgt werden soll, z. B. die durchschnittliche Anzahl der Aufrufe pro Instance

  • Zielwert – der Zielwert für die Metrik, z. B. 70 Aufrufe pro Instance pro Minute

Sie können Skalierungsrichtlinien zur Zielverfolgung mit vordefinierten oder benutzerdefinierten Metriken erstellen. Eine vorab definierte Metrik ist in einer Aufzählung definiert, sodass Sie sie im Code namentlich angeben oder in der SageMaker-AI-Konsole verwenden können. Alternativ können Sie entweder die AWS CLI oder die API zum Auto Scaling von Anwendungen verwenden, um eine Skalierungsrichtlinie für die Zielnachverfolgung anzuwenden, die auf einer vor- oder benutzerdefinierten Metrik basiert.

Beachten Sie, dass den Skalierungsaktivitäten Ruhephasen liegen, um schnelle Kapazitätsschwankungen zu vermeiden. Sie können die Ruhephasen für Ihre Richtlinie optional konfigurieren.

Weitere Informationen zu den Schlüsselkonzepten des Auto Scaling finden Sie im folgenden Abschnitt.

Zeitplanbasierte Skalierung

Sie können auch geplante Aktionen erstellen, um Skalierungsaktivitäten zu bestimmten Zeitpunkten durchzuführen. Sie können geplante Aktionen erstellen, die nur einmal skalieren oder wiederholt geplant ausgeführt werden. Nachdem eine geplante Aktion ausgeführt wurde, kann Ihre Skalierungsrichtlinie weiterhin Entscheidungen darüber treffen, ob eine dynamische Skalierung erfolgen soll, wenn sich die Workload ändert. Die geplante Skalierung kann nur über die AWS CLI oder die Application Auto Scaling API verwaltet werden. Weitere Informationen finden Sie unter Geplante Skalierung im Benutzerhandbuch für Application Auto Scaling.

Mindest- und Höchstwerte für die Skalierung

Bei der Konfiguration von Auto Scaling müssen Sie Ihre Skalierungsgrenzen angeben, bevor Sie eine Skalierungsrichtlinie erstellen. Sie legen Grenzwerte für die Mindest- und die Höchstwerte separat fest.

Der Mindestwert muss mindestens 1 betragen und gleich oder kleiner sein als der Wert, der als Höchstwert angegeben ist.

Der Höchstwert muss größer oder gleich dem angegebenen Mindestwert sein. Auto Scaling von SageMaker AI erzwingt keinen Grenzwert.

Um die Skalierungsgrenzen zu bestimmen, die Sie für einen typischen Datenverkehr benötigen, testen Sie Ihre Auto-Scaling-Konfiguration mit der zu erwartenden Rate des Datenverkehrs für Ihr Modell.

Wenn der Datenverkehr einer Variante gleich Null wird, skaliert SageMaker AI automatisch auf die Mindestanzahl der angegebenen Instances herunter. In diesem Fall gibt SageMaker AI Metriken mit dem Wert Null aus.

Es gibt drei Optionen für die Angabe der minimalen und maximalen Kapazität:

  1. Verwenden Sie die Konsole, um die Einstellungen für Minimale Instance-Anzahl und Maximale Instance-Anzahl zu aktualisieren.

  2. Verwenden Sie die AWS CLI und schließen Sie die Optionen --min-capacity und --max-capacity beim Ausführen des Befehls register-scalable-target ein.

  3. Rufen Sie die RegisterScalableTarget-API auf und geben Sie die Parameter MinCapacity und MaxCapacity.

Tipp

Sie können manuell aufskalieren, indem Sie den Mindestwert erhöhen, oder manuell abskalieren, indem Sie den Höchstwert verringern.

Ruhephase

Eine Ruhephase wird verwendet, um vor einer Überskalierung zu schützen, wenn Ihr Modell abskaliert (die Kapazität reduziert) oder aufskaliert (die Kapazität erhöht). Dabei werden nachfolgende Skalierungsaktivitäten bis zum Ablauf der Phase verlangsamt. Auf diese Weise wird die Löschung von Instances für Abskalieranfragen blockiert und die Erstellung von Instances für Aufskalieranfragen wird begrenzt. Weitere Informationen finden Sie unter Definieren von Ruhephasen im Benutzerhandbuch zum Auto Scaling von Anwendungen.

Sie können die Ruhephase in Ihrer Skalierungsrichtlinie konfigurieren.

Wenn Sie keine Ruhephase zum Abskalieren bzw. Aufskalieren festlegen, verwendet die Skalierungsrichtlinie für jede Aktivität den Standardwert von 300 Sekunden.

Werden Instances zu schnell hinzugefügt oder entfernt, während Sie Ihre Skalierungskonfiguration testen, dann denken Sie daran, diesen Wert zu erhöhen. Sie können dieses Verhalten beobachten, wenn der Datenverkehr in Ihrem Modell zu viele Spitzen aufweist, oder wenn Sie mehrere Skalierungsrichtlinien für eine Variante festgelegt haben.

Wenn Instances nicht schnell genug hinzugefügt werden, um auf den erhöhten Datenverkehr zu antworten, dann sollten Sie diesen Wert verringern.

Weitere Informationen zum Konfigurieren des Auto Scaling finden Sie in den folgenden Ressourcen:

Anmerkung

SageMaker AI hat vor Kurzem neue Inferenzfunktionen eingeführt, die auf Echtzeit-Inferenzendpunkten basieren. Sie erstellen einen SageMaker-AI-Endpunkt mit einer Endpunktkonfiguration, die den Instance-Typ und die anfängliche Anzahl der Instances für den Endpunkt definiert. Anschließend erstellen Sie eine Inferenzkomponente, bei der es sich um ein Hosting-Objekt von SageMaker AI handelt, mit dem Sie ein Modell auf einem Endpunkt bereitstellen können. Informationen zur Skalierung von Inferenzkomponenten finden Sie im AWS-Blog unter SageMaker AI adds new inference capabilities to help reduce foundation model deployment costs and latency und Reduce model deployment costs by 50% on average using the latest features of SageMaker AI.