Definieren einer Skalierungsrichtlinie - Amazon SageMaker

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.

Definieren einer Skalierungsrichtlinie

Bevor Sie Ihrem Modell eine Skalierungsrichtlinie hinzufügen, speichern Sie Ihre Richtlinienkonfiguration als JSON-Block in einer Textdatei. Sie verwenden diese Textdatei, wenn Sie die AWS Command Line Interface (AWS CLI) oder die Application Auto Scaling Scaling-API aufrufen. Sie können die Skalierung optimieren, indem Sie eine geeignete CloudWatch Metrik auswählen. Bevor Sie jedoch eine benutzerdefinierte Metrik in der Produktion verwenden, müssen Sie Auto Scaling mit Ihrer benutzerdefinierten Metrik testen.

In diesem Abschnitt finden Sie Beispiele für Richtlinienkonfigurationen für Skalierungsrichtlinien zur Zielverfolgung.

Geben Sie eine vordefinierte Metrik an (CloudWatch Metrik: InvocationsPerInstance)

Im Folgenden finden Sie ein Beispiel für die Konfiguration einer Zielverfolgungsrichtlinie für eine Variante, bei der die durchschnittlichen Aufrufe pro Instance bei 70 belassen werden. Speichern Sie diese Konfiguration in einer Datei mit dem Namen config.json.

{ "TargetValue": 70.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "SageMakerVariantInvocationsPerInstance" } }

Weitere Informationen finden Sie TargetTrackingScalingPolicyConfigurationin der API-Referenz für Application Auto Scaling.

Definieren Sie eine benutzerdefinierte Metrik (CloudWatchMetrik: CPUUtilization)

Um eine Skalierungsrichtlinie für die Zielverfolgung mit einer benutzerdefinierten Metrik zu erstellen, geben Sie den Namen, den Namespace, die Einheit, die Statistik und null oder mehr Dimensionen der Metrik an. Dimensionen bestehen aus einem Dimensionsnamen und einem Dimensionswert. Sie können jede Metrik für Produktionsvarianten verwenden, die sich proportional zur Kapazität ändert.

Die folgende Beispielkonfiguration zeigt eine Skalierungsrichtlinie für die Zielverfolgung mit einer benutzerdefinierten Metrik. Die Richtlinie skaliert die Variante auf der Grundlage einer durchschnittlichen CPU-Auslastung von 50 Prozent über alle Instanzen hinweg. Speichern Sie diese Konfiguration in einer Datei mit dem Namen config.json.

{ "TargetValue": 50.0, "CustomizedMetricSpecification": { "MetricName": "CPUUtilization", "Namespace": "/aws/sagemaker/Endpoints", "Dimensions": [ {"Name": "EndpointName", "Value": "my-endpoint" }, {"Name": "VariantName","Value": "my-variant"} ], "Statistic": "Average", "Unit": "Percent" } }

Weitere Informationen finden Sie CustomizedMetricSpecificationin der API-Referenz für Application Auto Scaling.

Definieren Sie eine benutzerdefinierte Metrik (CloudWatch Metrik: ExplanationsPerInstance)

Wenn für den Endpunkt die Online-Erklärbarkeit aktiviert ist, gibt er eine ExplanationsPerInstance Metrik aus, die die durchschnittliche Anzahl erklärter Datensätze pro Minute und Instanz für eine Variante ausgibt. Die Ressourcennutzung bei der Erklärung von Datensätzen kann sich stärker von der der Vorhersage von Datensätzen unterscheiden. Wir empfehlen dringend, diese Metrik für die zielgerichtete Skalierung von Endpunkten mit aktivierter Online-Erklärbarkeit zu verwenden.

Sie können mehrere Richtlinien zur Zielverfolgung für ein skalierbares Ziel erstellen. Erwägen Sie, die InvocationsPerInstance Richtlinie aus dem Geben Sie eine vordefinierte Metrik an (CloudWatch Metrik: InvocationsPerInstance) Abschnitt hinzuzufügen (zusätzlich zur ExplanationsPerInstance Richtlinie). Wenn die meisten Aufrufe aufgrund des im EnableExplanations Parameter festgelegten Schwellenwerts keine Erklärung zurückgeben, kann der Endpunkt die Richtlinie auswählen. InvocationsPerInstance Wenn eine große Anzahl von Erklärungen vorliegt, kann der Endpunkt die Richtlinie ExplanationsPerInstance verwenden.

Die folgende Beispielkonfiguration zeigt eine Skalierungsrichtlinie für die Zielverfolgung mit einer benutzerdefinierten Metrik. Die Richtlinienskala passt die Anzahl der Varianteninstanzen so an, dass jede Instanz eine ExplanationsPerInstance Metrik von 20 hat. Speichern Sie diese Konfiguration in einer Datei mit dem Namen config.json.

{ "TargetValue": 20.0, "CustomizedMetricSpecification": { "MetricName": "ExplanationsPerInstance", "Namespace": "AWS/SageMaker", "Dimensions": [ {"Name": "EndpointName", "Value": "my-endpoint" }, {"Name": "VariantName","Value": "my-variant"} ], "Statistic": "Sum" } }

Weitere Informationen finden Sie CustomizedMetricSpecificationin der API-Referenz für Application Auto Scaling.

Geben Sie die Abklingzeiten an

Sie können optional Abklingzeiten in Ihrer Skalierungsrichtlinie für die Zielverfolgung definieren, indem Sie die Parameter ScaleOutCooldown und ScaleInCooldown angeben.

Im Folgenden finden Sie ein Beispiel für die Konfiguration einer Ziel-Tracking-Richtlinie für eine Variante, bei der die durchschnittlichen Aufrufe pro Instance bei 70 liegen. Die Richtlinienkonfiguration sieht eine Scale-In-Abklingzeit von 10 Minuten (600 Sekunden) und eine Scale-Out-Abklingzeit von 5 Minuten (300 Sekunden) vor. Speichern Sie diese Konfiguration in einer Datei mit dem Namen config.json.

{ "TargetValue": 70.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "SageMakerVariantInvocationsPerInstance" }, "ScaleInCooldown": 600, "ScaleOutCooldown": 300 }

Weitere Informationen finden Sie TargetTrackingScalingPolicyConfigurationin der API-Referenz für Application Auto Scaling.