Verkehrsverlagerung 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.

Verkehrsverlagerung 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 die gesamte Verkehrsverlagerung gleichzeitig verwenden, SageMaker leitet 100 % des Datenverkehrs an die neue Flotte (grüne Flotte) weiter. Sobald die grüne Flotte Traffic empfängt, beginnt die Backphase. Die Backphase ist ein festgelegter Zeitraum, in dem vordefinierte Amazon- CloudWatch Alarme die Leistung der grünen Flotte überwachen. Wenn während der Backphase keine Alarme ausgelöst werden, SageMaker beendet die alte Flotte (blaue Flotte). 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 mit einem Datenverkehr auf einmal einrichten, müssen Sie Amazon CloudWatch-Alarme erstellen, um 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 Amazon- CloudWatch Alarmen im Amazon- CloudWatch 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 die SageMaker UpdateEndpoint -API oder den Befehl update-endpoint in verwenden AWS Command Line Interface , um die Bereitstellung zu initiieren.

So aktualisieren Sie einen Endpunkt (API)

Das folgende Beispiel zeigt, wie Sie Ihren Endpunkt mit in UpdateEndpoint der Amazon- SageMaker API auf einmal verlagern können.

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 weist an SageMaker , die angegebene Zeit (in Sekunden) zu warten, nachdem Ihre grüne Flotte vollständig aktiv ist, bevor die Instances in der blauen Flotte beendet werden. In diesem Beispiel SageMaker wartet nach der letzten Backphase 10 Minuten, bevor die blaue Flotte beendet wird.

  • Geben Sie als MaximumExecutionTimeoutInSeconds 1800ein. Dieser Parameter legt den maximalen Zeitraum fest, den 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.

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

Wie aktualisiert man einen Endpunkt mit einer vorhandenen blau/grünen Update-Richtlinie (API)

Wenn Sie die CreateEndpoint API zum Erstellen eines Endpunkts verwenden, können Sie optional eine Bereitstellungskonfiguration angeben, die für zukünftige Endpunktaktualisierungen wiederverwendet werden soll. Sie können dieselben DeploymentConfig Optionen wie im vorherigen UpdateEndpoint API-Beispiel verwenden. Das API CreateEndpoint -Verhalten wird nicht geändert. 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, erfolgt, wenn Sie die UpdateEndpoint -API zum Aktualisieren 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.

Legen Sie beim Aufrufen der UpdateEndpoint API RetainDeploymentConfig auf fest, 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 )

So aktualisieren Sie einen Endpunkt (CLI)

Wenn Sie die verwenden AWS CLI, zeigt das folgende Beispiel, wie Sie eine Blau/Grün-Bereitstellung auf einmal mit dem Befehl update-endpoint 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.

  • deployment-configVerwenden Sie für ein BlueGreenUpdatePolicy JSON-Objekt.

Anmerkung

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