Nutze Canary Traffic Shifting - 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.

Nutze Canary Traffic Shifting

Mit Canary Traffic Shifting können Sie einen Teil Ihres Endpunktverkehrs auf der neuen Flotte testen, während die alte Flotte den Rest des Datenverkehrs abwickelt. Bei diesem Testschritt handelt es sich um eine Sicherheitsleitplanke, mit der die Funktionalität der neuen Flotte überprüft wird, bevor Ihr gesamter Verkehr auf die neue Flotte verlagert wird. Sie haben immer noch die Vorteile einer blauen/grünen Implementierung, und mit der zusätzlichen Canary-Funktion können Sie sicherstellen, dass Ihre neue (grüne) Flotte Rückschlüsse verarbeiten kann, bevor sie den gesamten Verkehr bewältigen kann.

Der Teil Ihrer grünen Flotte, der aktiviert wird, um Traffic zu empfangen, wird als Kanarienvogel bezeichnet, und Sie können die Größe dieses Kanarienvogels wählen. Beachten Sie, dass die Kanariengröße höchstens 50% der Kapazität der neuen Flotte betragen sollte. Sobald die Backzeit abgelaufen ist und keine vordefinierten CloudWatch Amazon-Alarme ausgelöst werden, verlagert sich der Rest des Verkehrs von der alten (blauen) Flotte auf die grüne Flotte. Canary Traffic Shifting bietet Ihnen mehr Sicherheit bei der Bereitstellung, da alle Probleme mit dem aktualisierten Modell nur den Canary betreffen.

Das folgende Diagramm zeigt, wie Canary Traffic Shifting die Verteilung des Verkehrs zwischen den blauen und grünen Flotten regelt.

Eine erfolgreiche zweistufige Verlagerung des kanarischen Datenverkehrs von der alten zu der neuen Flotte.

Sobald die SageMaker grüne Flotte bereitgestellt ist, wird SageMaker ein Teil des eingehenden Datenverkehrs (z. B. 25%) an die Kanarienflotte weitergeleitet. Dann beginnt die Backphase, in der Ihre CloudWatch Alarmanlagen die Leistung der grünen Flotte überwachen. Während dieser Zeit sind sowohl die blaue als auch die grüne Flotte teilweise aktiv und empfangen Verkehr. Wenn einer der Alarme während der Backphase ausgelöst wird, wird ein SageMaker Rollback eingeleitet und der gesamte Verkehr kehrt zur blauen Flotte zurück. Wenn keiner der Alarme ausgelöst wird, wird der gesamte Verkehr auf die grüne Flotte verlagert und es gibt eine letzte Backphase. Wenn die letzte Backphase endet, ohne dass ein Alarm ausgelöst wurde, bedient die grüne Flotte den gesamten Verkehr und SageMaker beendet die blaue Flotte.

Voraussetzungen

Bevor Sie eine Bereitstellung mit Canary Traffic Shifting einrichten, müssen Sie CloudWatch Amazon-Alarme erstellen, um Metriken von Ihrem Endpunkt aus zu überwachen. Die Alarme sind während der Backphase aktiv, und wenn Alarme ausgelöst werden, wird der gesamte Endpunktverkehr auf die blaue Flotte zurückgesetzt. Informationen zum Einrichten von CloudWatch Alarmen auf einem Endpunkt finden Sie auf der Seite mit den VoraussetzungenKonfiguration und Überwachung von Auto-Rollback. Weitere Informationen zu CloudWatch Alarmen finden Sie unter Verwenden von CloudWatch Amazon-Alarmen im CloudWatch Amazon-Benutzerhandbuch.

Konfigurieren Sie Canary Traffic Shifting

Sobald Sie für Ihre Bereitstellung bereit sind und CloudWatch Amazon-Alarme für Ihren Endpunkt eingerichtet haben, können Sie entweder den Befehl Amazon SageMaker UpdateEndpointAPIoder den Befehl update-endpoint in der verwenden, AWS CLI um die Bereitstellung zu initiieren.

Wie aktualisiert man einen Endpunkt () API

Das folgende Beispiel UpdateEndpointAPIzeigt, wie Sie einen Endpunkt mit Canary Traffic Shifting aktualisieren können.

import boto3 client = boto3.client("sagemaker") response = client.update_endpoint( EndpointName="<your-endpoint-name>", EndpointConfigName="<your-config-name>", DeploymentConfig={ "BlueGreenUpdatePolicy": { "TrafficRoutingConfiguration": { "Type": "CANARY", "CanarySize": { "Type": "CAPACITY_PERCENT", "Value": 30 }, "WaitIntervalInSeconds": 600 }, "TerminationWaitInSeconds": 600, "MaximumExecutionTimeoutInSeconds": 1800 }, "AutoRollbackConfiguration": { "Alarms": [ { "AlarmName": "<your-cw-alarm>" } ] } } )

Um die Optionen Canary Traffic Shifting zu konfigurieren, machen Sie Folgendes:

  • Verwenden Sie für EndpointName den Namen des vorhandenen Endpunkts, den Sie aktualisieren möchten.

  • Verwenden Sie für EndpointConfigName den Namen der Endpunkt-Konfiguration, die Sie verwenden möchten.

  • Stellen Sie unter DeploymentConfig und BlueGreenUpdatePolicy, in TrafficRoutingConfiguration, den Type Parameter auf ein CANARY. Dies gibt an, dass die Bereitstellung Canary Traffic Shifting verwendet.

  • Im Feld CanarySize können Sie die Größe des Canary ändern, indem Sie die Parameter Type und Value ändern. Für Type, verwenden Sie CAPACITY_PERCENT, also den Prozentsatz Ihrer grünen Flotte, den Sie als Canary verwenden möchten, und setzen Sie dann Value auf 30. In diesem Beispiel nutzen Sie 30% der Kapazität der grünen Flotte als Kanarienvogel. Beachten Sie, dass die Größe des Kanarienvogels 50% oder weniger der Kapazität der grünen Flotte entsprechen sollte.

  • Geben Sie als WaitIntervalInSeconds 600ein. Der Parameter weist SageMaker an, dass zwischen den einzelnen Intervallverschiebungen die angegebene Zeit (in Sekunden) abgewartet werden soll. Dieses Intervall entspricht der Dauer der Kanarienbackzeit. Im vorherigen Beispiel wird nach der Canary-Shift 10 Minuten SageMaker gewartet und dann die zweite und letzte Verkehrsschicht abgeschlossen.

  • Geben Sie als TerminationWaitInSeconds 600ein. Dieser Parameter weist SageMaker an, dass Sie die angegebene Zeit (in Sekunden) warten sollen, nachdem Ihre grüne Flotte voll aktiv ist, bevor die Instances in der blauen Flotte beendet werden. In diesem Beispiel wird nach der letzten Backphase 10 Minuten SageMaker gewartet, bevor die blaue Flotte beendet wird.

  • Geben Sie als MaximumExecutionTimeoutInSeconds 1800ein. Dieser Parameter legt die maximale Zeit fest, die die Bereitstellung ausgeführt werden kann, bevor eine Zeitbeschränkung auftritt. Im vorherigen Beispiel gilt für Ihre Bereitstellung ein Limit von 30 Minuten bis zum Abschluss.

  • AutoRollbackConfigurationIn dem Alarms Feld können Sie Ihre CloudWatch Alarme nach Namen hinzufügen. Erstellen Sie einen AlarmName: <your-cw-alarm> Eintrag für jeden Alarm, den Sie verwenden möchten.

So aktualisieren Sie einen Endpunkt mit einer vorhandenen blau/grünen Aktualisierungsrichtlinie () API

Wenn Sie den verwenden, CreateEndpointAPIum einen Endpunkt zu erstellen, können Sie optional eine Bereitstellungskonfiguration angeben, die für future Endpunkt-Updates wiederverwendet werden soll. Sie können dieselben DeploymentConfig Optionen wie im vorherigen UpdateEndpoint API Beispiel verwenden. Es gibt keine Änderungen am CreateEndpoint API Verhalten. Durch die Angabe der Bereitstellungskonfiguration wird nicht automatisch ein blau/grünes Update auf Ihrem Endpunkt durchgeführt.

Die Option, eine frühere Bereitstellungskonfiguration zu verwenden, wird angezeigt, wenn Sie den UpdateEndpointAPIzur Aktualisierung Ihres Endpunkts verwenden. Wenn Sie Ihren Endpunkt aktualisieren, können Sie die RetainDeploymentConfig Option verwenden, um die Bereitstellungskonfiguration beizubehalten, die Sie bei der Erstellung des Endpunkts angegeben haben.

Stellen Sie beim Aufrufen von RetainDeploymentConfig auf ein UpdateEndpointAPI, True um die DeploymentConfig Optionen aus Ihrer ursprünglichen Endpunktkonfiguration beizubehalten.

response = client.update_endpoint( EndpointName="<your-endpoint-name>", EndpointConfigName="<your-config-name>", RetainDeploymentConfig=True )

Wie aktualisiert man einen Endpunkt (CLI)

Wenn Sie den verwenden AWS CLI, zeigt das folgende Beispiel, wie Sie mit dem Befehl update-endpoint eine blaue/grüne Canary-Bereitstellung starten.

update-endpoint --endpoint-name <your-endpoint-name> --endpoint-config-name <your-config-name> --deployment-config '"BlueGreenUpdatePolicy": {"TrafficRoutingConfiguration": {"Type": "CANARY", "CanarySize": {"Type": "CAPACITY_PERCENT", "Value": 30}, "WaitIntervalInSeconds": 600}, "TerminationWaitInSeconds": 600, "MaximumExecutionTimeoutInSeconds": 1800}, "AutoRollbackConfiguration": {"Alarms": [{"AlarmName": "<your-alarm>"}]}'

Um die Optionen Canary Traffic Shifting zu konfigurieren, machen Sie Folgendes:

  • Verwenden Sie für endpoint-name den Namen des Endpunkts, den Sie aktualisieren möchten.

  • Verwenden Sie für endpoint-config-name den Namen der Endpunkt-Konfiguration, die Sie verwenden möchten.

  • Verwenden Sie für deployment-config ein Objekt. BlueGreenUpdatePolicyJSON

Anmerkung

Wenn Sie Ihr JSON Objekt lieber in einer Datei speichern möchten, finden Sie weitere Informationen unter Generieren von AWS CLI Skelett- und Eingabeparametern im AWS CLI Benutzerhandbuch.