Verwenden Sie Traffic Shifting auf einmal - 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.

Verwenden Sie Traffic Shifting auf einmal

Da sich der Verkehr auf einmal verlagert, können Sie schnell ein Endpunkt-Update durchführen, indem Sie die Sicherheitsvorkehrungen einer blau/grünen Implementierung nutzen. Sie können diese Option zur Verkehrsverlagerung verwenden, um die Aktualisierungsdauer zu minimieren und gleichzeitig die Verfügbarkeitsgarantien von Blau/Grün-Bereitstellungen zu nutzen. Mit der Back-Perioden-Funktion können Sie die Leistung und Funktionalität Ihrer neuen Instances überwachen, bevor Sie Ihre alten Instances beenden. So wird sichergestellt, dass Ihre neue Flotte voll funktionsfähig ist.

Das folgende Diagramm zeigt, wie die alten und neuen Flotten mit einer einzigen Verkehrsverlagerung verwaltet werden.

Eine erfolgreiche 100-prozentige Verkehrsverlagerung von der alten zu der neuen Flotte.

Wenn Sie Traffic Shifting auf einmal verwenden, SageMaker werden 100% des Traffics an die neue Flotte (grüne Flotte) weitergeleitet. Sobald die grüne Flotte Traffic empfängt, beginnt die Backphase. Die Backphase ist ein festgelegter Zeitraum, in dem vordefinierte CloudWatch Amazon-Alarme die Leistung der grünen Flotte überwachen. Wenn während der Backphase keine Alarme ausgelöst werden, SageMaker wird die alte Flotte (blaue Flotte) beendet. Wenn während der Backphase Alarme ausgelöst werden, wird ein automatischer Rollback ausgelöst und der Verkehr wird zu 100% wieder auf die blaue Flotte umgestellt.

Voraussetzungen

Bevor Sie eine Bereitstellung einrichten, bei der der gesamte Datenverkehr auf einmal verlagert wird, müssen Sie CloudWatch Amazon-Alarme erstellen, um die Metriken von Ihrem Endpunkt aus zu überwachen. Wenn einer der Alarme während der Backphase ausgelöst wird, wird der Traffic wieder auf Ihre blaue Flotte übertragen. 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 Traffic Shifting auf einmal

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

Wie aktualisiert man einen Endpunkt () API

Das folgende Beispiel zeigt, wie Sie Ihren Endpunkt so aktualisieren können, dass der gesamte Verkehr auf einmal über UpdateEndpointAmazon verlagert wird SageMaker API.

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

Um die Optionen All-at-Once-Datenverkehrs-Verlagerung 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 ALL_AT_ONCE ein. Dies gibt an, dass die Bereitstellung den All-in-Once-Modus zur Verkehrsverlagerung verwendet.

  • Geben Sie als TerminationWaitInSeconds 600ein. Dieser Parameter gibt SageMaker an, dass Sie die angegebene Zeit (in Sekunden) warten müssen, nachdem Ihre grüne Flotte voll aktiv ist, bevor Sie die Instances in der blauen Flotte beenden. 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 All-In-One-Bereitstellung starten.

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

Um die Optionen All-at-Once-Datenverkehrs-Verlagerung 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.